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

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С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

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

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

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

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)