Отбор по номенклатуре в Журнале документов.

1. EvilMilko 03.03.22 08:05 Сейчас в теме
Хочу сделать отбор по номенклатуре из ЖурналДокументовЗакупки в УТ11, как сделать с минимальным количеством костылей, т.к. там составной тип.
По теме из базы знаний
Найденные решения
3. SlavaKron 03.03.22 08:43 Сейчас в теме
(1) Обычно, если мне надо было найти какой-либо документ закупки по номенклатуре, я заходил в форму списка конкретного вида документа и там делал стандартный отбор по номенклатуре. Для вашей задачи можно изменить текст запроса, чтобы в доступных полях отбора появилась ТЧ Товары. Например так:
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
	
	Список = Форма.Элементы.СписокДокументыЗакупки;

	ТекстЗапроса = Форма.СписокДокументыЗакупки.ТекстЗапроса;

	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Товары КАК Товары,"
	+ Сред(ТекстЗапроса, 8);
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
		"РегистрСведений.РеестрДокументов КАК РеестрДокументов",
		"РегистрСведений.РеестрДокументов КАК РеестрДокументов
		|	{ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
		|		ПО РеестрДокументов.Ссылка = ПриобретениеТоваровУслуг.Ссылка}");
	
	Форма.СписокДокументыЗакупки.ТекстЗапроса = ТекстЗапроса;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
EvilMilko; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. SlavaKron 03.03.22 08:43 Сейчас в теме
(1) Обычно, если мне надо было найти какой-либо документ закупки по номенклатуре, я заходил в форму списка конкретного вида документа и там делал стандартный отбор по номенклатуре. Для вашей задачи можно изменить текст запроса, чтобы в доступных полях отбора появилась ТЧ Товары. Например так:
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
	
	Список = Форма.Элементы.СписокДокументыЗакупки;

	ТекстЗапроса = Форма.СписокДокументыЗакупки.ТекстЗапроса;

	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Товары КАК Товары,"
	+ Сред(ТекстЗапроса, 8);
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
		"РегистрСведений.РеестрДокументов КАК РеестрДокументов",
		"РегистрСведений.РеестрДокументов КАК РеестрДокументов
		|	{ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
		|		ПО РеестрДокументов.Ссылка = ПриобретениеТоваровУслуг.Ссылка}");
	
	Форма.СписокДокументыЗакупки.ТекстЗапроса = ТекстЗапроса;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
EvilMilko; +1 Ответить
2. x_under 13 03.03.22 08:29 Сейчас в теме
Очень спорное решение с точки зрения производительности.
А какую задачу вы решаете? Чем не устраивает отчет о закупках, например?
4. SlavaKron 03.03.22 09:06 Сейчас в теме
Хотя, лучше сделать своё поле отбора по номенклатуре на форме, заполнение которого устанавливает отбор по ссылкам.
5. ivan453 14.02.23 17:06 Сейчас в теме
ну или новый объект завести "критерий отбора" с типом номенклатуры ТЧ
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот