Запрос к регистру накопления

1. user606894_schana1w3 21.08.17 15:41 Сейчас в теме
Здравствуйте, подскажите пожалуйста как модифицировать запрос или как лучше по уму доделать.
(пустая конфигурация с нуля)
Есть документ Наряд заказ, на основании его создается Акт диагностики, который содержит табличную часть с номенклатурой. (допустим - Пила 1шт, Цепь 1шт)
Сделал таблицу значений Остаток материалов на форме, которая заполняется при наведении на Наряд заказ, показывая номенклатуру указанную в Акте диагностики.
Проблема в том что, если я создам какой либо другой документ на основании Наряд заказа, допустим Передача заказа, то ТЗ не заполняется, я думаю потому-что он смотрит регистр накопления(последнюю запись), а это Передача заказа(которая не содержит табличную часть с номенклатурой). Так как если будет только Акт, то все формируется или Передачу заказа сформирую ранней датой. Тоесть Акт в 12ч, а Передача в 11.

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

Догадка в этом Запрос.УстановитьПараметр("Дата", КонецДня(РабочаяДата)); он последнюю запись смотрит...
Подскажите как по уму сделать?)
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. BackinSoda 21.08.17 15:54 Сейчас в теме
(1) Так остатки в 0 уходят судя по всему, что он вам должен вывести в следующем документе?
и как это "которая заполняется при наведении на Наряд заказ"
5. user606894_schana1w3 21.08.17 15:58 Сейчас в теме
(3)Ну в любом случае номенклатуру то должен вывести)
Прикрепленные файлы:
7. BackinSoda 21.08.17 16:10 Сейчас в теме
(5) если надо вывести содержимое товаров того документа по которому кликаете в верхней т.ч. то запрос надо с отбором по ссылке делать, и не использовать таблицу остатки. Возьмите лучше таблицу с документами, и в условии "Где ссылка = &ссылка" будут текущие данные док.Акта
8. user606894_schana1w3 22.08.17 09:16 Сейчас в теме
(7)а как я тогда получу остатки номенклатуры указанной в табличной части?) так что по документу уже не вариант)
9. BackinSoda 22.08.17 09:26 Сейчас в теме
(8) так изначальный запрос и получал остатки, они были равны 0, вот ничего и не выходило
10. user606894_schana1w3 22.08.17 09:46 Сейчас в теме
(9)Вроде как ему без разницы, если я проведу документ передачи заказчику, то он опять не будет видеть номенклатуру и там в остатках явно не 0
Прикрепленные файлы:
11. BackinSoda 22.08.17 10:09 Сейчас в теме
(10) "если я проведу документ передачи заказчику, то он опять не будет видеть номенклатуру " это как раз и подтверждает теорию что они списываются в 0. проверьте по регистру, сделайте отбор по номенклатуре и другим измерениям.
4. dmbarchenkov 21.08.17 15:56 Сейчас в теме
(1) а документ Передача заказа что делает?
6. user606894_schana1w3 21.08.17 15:59 Сейчас в теме
(4)Это как бы выдача отремонтированного товара заказчику.
Как реализация работает
2. user606894_schana1w3 21.08.17 15:43 Сейчас в теме
Как выглядит регистр накопления.(на скрине)
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день