Здравствуйте, подскажите пожалуйста как модифицировать запрос или как лучше по уму доделать.
(пустая конфигурация с нуля)
Есть документ Наряд заказ, на основании его создается Акт диагностики, который содержит табличную часть с номенклатурой. (допустим - Пила 1шт, Цепь 1шт)
Сделал таблицу значений Остаток материалов на форме, которая заполняется при наведении на Наряд заказ, показывая номенклатуру указанную в Акте диагностики.
Проблема в том что, если я создам какой либо другой документ на основании Наряд заказа, допустим Передача заказа, то ТЗ не заполняется, я думаю потому-что он смотрит регистр накопления(последнюю запись), а это Передача заказа(которая не содержит табличную часть с номенклатурой). Так как если будет только Акт, то все формируется или Передачу заказа сформирую ранней датой. Тоесть Акт в 12ч, а Передача в 11.
Запрос вот.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВнутренниеЗаказыОстатки.Номенклатура,
| ВнутренниеЗаказыОстатки.КоличествоОстаток,
| ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК ОстатокНаСкладе,
| ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК РезервНаСкладе
|ИЗ
| РегистрНакопления.ВнутренниеЗаказы.Остатки(&Дата, ВнутреннийЗаказ = &ВнутреннийЗаказ) КАК ВнутренниеЗаказыОстатки";
Если ЭлементыФормы.НарядЗаказы.ТекущаяСтрока.Склад.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда
Запрос.Текст = Запрос.Текст + "
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&Дата, Склад = &Склад) КАК ТоварыНаСкладахОстатки ";
Иначе
Запрос.Текст = Запрос.Текст + "
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Склад = &Склад) КАК ТоварыНаСкладахОстатки";
КонецЕсли;
Запрос.Текст = Запрос.Текст + "
| ПО ВнутренниеЗаказыОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(
| &Дата,
| Склад = &Склад
| И ДокументРезерва = &ВнутреннийЗаказ) КАК ТоварыВРезервеНаСкладахОстатки
| ПО ВнутренниеЗаказыОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура";
Запрос.УстановитьПараметр("ВнутреннийЗаказ", ЭлементыФормы.НарядЗаказы.ТекущаяСтрока.Ссылка);
Запрос.УстановитьПараметр("Склад", ЭлементыФормы.НарядЗаказы.ТекущаяСтрока.Склад);
Запрос.УстановитьПараметр("Дата", КонецДня(РабочаяДата));
ТЗ = Запрос.Выполнить().Выгрузить();
Для каждого стр из ТЗ Цикл
стрТаб = Материалы.Добавить();
СтрТаб.Номенклатура = Стр.Номенклатура;
СтрТаб.Требуется = Стр.КоличествоОстаток;
СтрТаб.ВНаличии = Стр.ОстатокНаСкладе;
СтрТаб.Нехватает = Макс(СтрТаб.Требуется - СтрТаб.ВНаличии, 0);
СтрТаб.РезервНаСкладе = Стр.РезервНаСкладе;
КонецЦикла;
ЭлементыФормы.Материалы.Значение = Материалы;
ЭлементыФормы.Материалы.СоздатьКолонки();
Показать
Догадка в этом Запрос.УстановитьПараметр("Дата", КонецДня(РабочаяДата)); он последнюю запись смотрит...
Подскажите как по уму сделать?)