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