ПРОДАЖА И ВНЕДРЕНИЕ 1С

по всей России

+7 (495) 223-32-11

Заказать обратный звонок

8 (800) 775-90-01

Бесплатно по России

Получить

Скорую 1С помощь

Получить

Проконсультироваться
со специалистом 1С

Консультироваться

Вариант 1: В процедуре ПриПолученииДанных
Код 1C v 8.х
 Перем Запрос;
      
Процедура ПриОткрытии()

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Рег.Номенклатура,
| Рег.КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| ,
| Склад = &Склад
| И Номенклатура В (&Номенклатура)) КАК Рег";

Запрос.УстановитьПараметр("Склад", Склад);
КонецПроцедуры

Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Если Элемент.Колонки.Остаток.Видимость Тогда
МассивНоменклатуры = Новый Массив;
Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл
Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда
МассивНоменклатуры.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
КонецЕсли;
КонецЦикла;

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

Вариант 2: Кэширование остатков в тз при открытии
Код 1C v 8.х
 Перем тзОстатки;
      
Процедура ПриОткрытии()

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Рег.Номенклатура,
| Рег.КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| ,
| Склад = &Склад) КАК Рег";

Запрос.УстановитьПараметр("Склад", Склад);
тзОстатки = Запрос.Выполнить().Выгрузить();
КонецПроцедуры

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


Заказать обратный звонок

Позвонить
Отправлено! В самое ближайшее время наш менеджер свяжется с Вами.