Вопрос по конвертации данных

1. wladimirpav 15.11.22 14:51 Сейчас в теме
Переношу из Источника регистр накопления в табличную часть документа приемника. В ПВД следующее:
Если ТипЗнч(ИсходящиеДанные) <> Тип("Структура") Тогда
	ИсходящиеДанные = Новый Структура;
КонецЕсли; 

Запрос = Новый Запрос;

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

В ПКО для ТЧ Материалы установлено значение "Получать из входящих данных". Номенклатура у меня выгружается по двум правилам, в зависимости от того, заполнено ли в базе источнике значение Номенклатура.Артикул. Как это проверить через ВходящиеДанные?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
3. maks_20 164 15.11.22 16:10 Сейчас в теме +0.5 $m
В табличной части в ПКС для номенклатуры ПередВыгрузкой пишите

Если ЗначениеЗаполнено(ОбъектКоллекции.Номенклатура.Артикул) Тогда
ИмяПКО="НоменклатураСАртикулом";
Иначе
ИмяПКО="НоменклатураБезАртикула";
КонецЕсли;

В самом пкс поле "правило" оставляете пустым.
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user1203706 13 15.11.22 16:03 Сейчас в теме
(1) зачем это проверять ?, когда проще в тексте запроса сразу поиметь нужную номенклатуру в зависимости от артикула.... не ?
4. maks_20 164 15.11.22 16:14 Сейчас в теме
(2) вот для примера скрин
Прикрепленные файлы:
3. maks_20 164 15.11.22 16:10 Сейчас в теме +0.5 $m
В табличной части в ПКС для номенклатуры ПередВыгрузкой пишите

Если ЗначениеЗаполнено(ОбъектКоллекции.Номенклатура.Артикул) Тогда
ИмяПКО="НоменклатураСАртикулом";
Иначе
ИмяПКО="НоменклатураБезАртикула";
КонецЕсли;

В самом пкс поле "правило" оставляете пустым.
5. user1203706 13 15.11.22 16:19 Сейчас в теме
(4) реквизит объекта коллекции не может быть с типом структура..
Что-то вас не туда занесло :)
6. maks_20 164 15.11.22 16:25 Сейчас в теме
(5) с чего бы это не может) если вы туда структуру передадите, то спокойно будет. Пример из рабочих правил. Другой момент, что сообщение это я автору хотел написать, а не Вам, промахнулся немного)
7. wladimirpav 15.11.22 18:41 Сейчас в теме
(3) А я пробовал так Если ЗначениеЗаполнено(ВходящиеДанные.Материалы.Номенклатура.Артикул) - теперь понятно, как должно работать
Оставьте свое сообщение

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