|
Помогите разобраться с конвертацией данных. | ☑ | ||
---|---|---|---|---|
0
Igor1_777
23.08.18
✎
22:26
|
Ошибка получения коллекции подчиненных объектов из входящих данных. Имеем выгрузку из Розница 2.2 в УТ 11.3. Выгружаю документ "ВводНачальныхОстатковУзла" ТЗ-ТоварыОрганизаций, запросом выбераю строки табличной части. В ПКО Источник не выбран, в приемнике ДокументСсылка.ВводОстатков.
|
|||
1
Igor1_777
23.08.18
✎
22:27
|
в пвд. ВыборкаОрг = Справочники.Организации.Выбрать();
Пока ВыборкаОрг.Следующий() Цикл //Сообщить(ВыборкаОрг); ВыборкаСкладов = Справочники.Склады.Выбрать(); Пока ВыборкаСкладов.Следующий() Цикл Сообщить("1"); Запросы.ВводОстатковПоОрганизации.УстановитьПараметр("Организация",ВыборкаОрг.Ссылка); Запросы.ВводОстатковПоОрганизации.УстановитьПараметр("Склад",ВыборкаСкладов.Ссылка); Результат = Запросы.ВводОстатковПоОрганизации.Выполнить(); Выгрузка = Результат.Выгрузить(); //Если НЕ Результат.Пустой() Тогда Флаг = 0; ВходящиеДанные = Новый Структура; Товары = Новый ТаблицаЗначений; Товары.Колонки.Добавить("Количество"); Товары.Колонки.Добавить("Номенклатура"); Для Каждого Строка Из Выгрузка Цикл Сообщить("2"); Если НЕ Строка.Количество = 0 Тогда Сообщить("3"); ВходящиеДанные.Вставить("Номер",Объект.Номер); //ВходящиеДанные.Вставить("Дата",Объект.Дата); ВходящиеДанные.Вставить("Организация",Строка.Организация); ВходящиеДанные.Вставить("Склад",Строка.Склад); //ВходящиеДанные.Вставить("Номенклатура",Строка.Номенклатура); //ВходящиеДанные.Вставить("Количество",Строка.Количество); ВходящиеДанные.Вставить("Комментарий","Документ сформирован из розница 2.2 документ "); //ВходящиеДанные.Вставить("СуммаПолучения",Строка.Сумма); НовСтрока = Товары.Добавить(); НовСтрока.Номенклатура = Строка.Номенклатура; НовСтрока.Количество = Строка.Количество; Если НЕ Товары.Количество() = 0 Тогда ВходящиеДанные.Вставить("Товары",Товары); ВыгрузитьПоПравилу(ВходящиеДанные,,,,"ВводОстатков"); КонецЕсли; Иначе Флаг = 1; //Сообщить(Строка.Организация); //Сообщить(Строка.Склад); Отказ = ИСТИНА; КонецЕсли; Сообщить("4"); КонецЦикла; Сообщить("5"); //Если НЕ Выгрузка.Количество() = 0 Тогда //Если НЕ Товары.Количество() = 0 Тогда // ВходящиеДанные.Вставить("Товары",Товары); // ВыгрузитьПоПравилу(ВходящиеДанные,,,,"ВводОстатков"); //КонецЕсли; //Иначе // Сообщить(ВыборкаОрг.Ссылка +" "+ВыборкаСкладов.Ссылка); // Сообщить("Нет данных"); // Отказ = ИСТИНА; //КонецЕсли; КонецЦикла; КонецЦикла; |
|||
2
MuxaH
24.08.18
✎
06:37
|
ВходящиеДанные, насколько я помню, третьим параметром должны идти. Первые 2 Источник и Преемник. Ну а в правиле конвертации объектов должна стоять галка Получить из входящих данных. Либо если с галкой не прокатывает, то там в правиле конвертации свойств (которая твоя ТЧ) надо написать КоллекцияОбъектов = ВходящиеДанные.Товары
|
|||
3
azt-yur
24.08.18
✎
07:00
|
в (2) на счет порядка параметра ВходящиеДанные прав.
Но я бы рекомендовал не делать входящими данными, источником может выступать и твоя структура, убери просто во всех ПКС галочку "Получить из входящих данных" и должно сработать (в структуре конечно должны быть все свойства твоего ПКО). И по самому коду не корректно: не там делаешь выгрузку. ВыгрузитьПоПравилу должно быть после цикла по товарам, а то у тебя получится что выгрузится столько документов сколько у тебя товаров, и в каждом следующем документе на 1 строчку больше чем в предыдущем |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |