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

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

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

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

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

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

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

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

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

Программист 1С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

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

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

1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день