Перем Запрос; Процедура ПриОткрытии() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Рег.Номенклатура, | Рег.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | , | Склад = &Склад | И Номенклатура В (&Номенклатура)) КАК Рег"; Запрос.УстановитьПараметр("Склад", Склад); КонецПроцедуры Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок) Если Элемент.Колонки.Остаток.Видимость Тогда МассивНоменклатуры = Новый Массив; Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда МассивНоменклатуры.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка); КонецЕсли; КонецЦикла; Запрос.УстановитьПараметр("Номенклатура", МассивНоменклатуры); тзОстатки = Запрос.Выполнить().Выгрузить(); // Для ускорения - вместо тзОстатки еще можно использовать Соответствие, // оно проиндексировано и работает быстрее таблицы значений Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда СтрТЗ = тзОстатки.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Номенклатура"); Если СтрТЗ <> Неопределено Тогда ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(СтрТЗ.КоличествоОстаток); КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры
Перем тзОстатки; Процедура ПриОткрытии() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Рег.Номенклатура, | Рег.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | , | Склад = &Склад) КАК Рег"; Запрос.УстановитьПараметр("Склад", Склад); тзОстатки = Запрос.Выполнить().Выгрузить(); КонецПроцедуры Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок) Если Элемент.Колонки.Остаток.Видимость Тогда Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда СтрТЗ = тзОстатки.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Номенклатура"); Если СтрТЗ <> Неопределено Тогда ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(СтрТЗ.КоличествоОстаток); КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры