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