Добрый день.
Выгружаю данные из УТ 10.3 в БП 3.0
Остановился на документе Возврат товаров от покупателя. В УТ 10.3 документ содержит 2 табличные части Товары и Услуги. БП 3.0 содержит только одну Товары.
Пробовал варианты:
1.Сопоставляю Товары - Товары и Услуги - Товары = Очищаются товары, остаются услуги
2.Сопоставляю Товары - Услуги и Товары - Товары = Очищаются услуги, остаются товары
В группе "Товары" событие перед обработкой можно заполнить КоллекцияОбъектов
например так:
КоллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("Номенклатура");
КоллекцияОбъектов.Колонки.Добавить("Количество");
....
....
Для каждого СтрТ из Объект.Товары цикл
НовСтр = КоллекцияОбъектов.Добавить();
НовСтр.Номенклктура = СтрТ.Номенкдатура;
....
....
КонецЦикла;
Для каждого СтрТ из Объект.Услугицикл
НовСтр = КоллекцияОбъектов.Добавить();
НовСтр.Номенклктура = СтрТ.Номенкдатура;
....
...
КонецЦикла;
Думаю Объект необходимо заменить на Источник
Ошибки:
Начало выгрузки: 13.02.2019 12:28:21
Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
ПКГС = 6 (Товары --> Товары)
Объект = Возврат товаров от покупателя УТНД0000002 от 04.01.2018 13:27:15 (Возврат товаров от покупателя)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(10,21)}: Переменная не определена (Объект)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7753)
КодСообщения = 48
Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7773)}: Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
ПКГС = 6 (Товары --> Товары)
Объект = Возврат товаров от покупателя УТНД0000002 от 04.01.2018 13:27:15 (Возврат товаров от покупателя)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(10,21)}: Переменная не определена (Объект)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7753)
КодСообщения = 48
Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
ПКГС = 6 (Товары --> Товары)
Объект = Возврат товаров от покупателя УТНД0000002 от 04.01.2018 13:27:15 (Возврат товаров от покупателя)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
ПозицияМодуля = (7)
КодСообщения = 48
Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7773)}: Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
ПКГС = 6 (Товары --> Товары)
Объект = Возврат товаров от покупателя УТНД0000002 от 04.01.2018 13:27:15 (Возврат товаров от покупателя)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
ПозицияМодуля = (7)
КодСообщения = 48
оллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("Номенклатура");
КоллекцияОбъектов.Колонки.Добавить("Количество");
КоллекцияОбъектов.Колонки.Добавить("Сумма");
КоллекцияОбъектов.Колонки.Добавить("СтавкаНДС");
КоллекцияОбъектов.Колонки.Добавить("СуммаНДС");
КоллекцияОбъектов.Колонки.Добавить("Цена");
Для каждого СтрТ из Источник .Товары Цикл
НовСтр = КоллекцияОбъектов.Добавить();
НовСтр.Номенклатура = СтрТ.Номенклатура;
НовСтр.Количество = СтрТ.Количество;
НовСтр.Сумма = СтрТ.Сумма;
НовСтр.СтавкаНДС = СтрТ.СтавкаНДС;
НовСтр.Сумма = СтрТ.Сумма;
НовСтр.СуммаНДС = СтрТ.СуммаНДС;
НовСтр.Цена = СтрТ.Цена;
КонецЦикла;
Для каждого СтрТ из Источник .Услуги Цикл
НовСтр = КоллекцияОбъектов.Добавить();
НовСтр.Номенклатура = СтрТ.Номенклатура;
НовСтр.Количество = СтрТ.Количество;
НовСтр.Сумма = СтрТ.Сумма;
НовСтр.СтавкаНДС = СтрТ.СтавкаНДС;
НовСтр.Сумма = СтрТ.Сумма;
НовСтр.СуммаНДС = СтрТ.СуммаНДС;
НовСтр.Цена = СтрТ.Цена;
КонецЦикла;
Показать
Если кому пригодится правила ниже по ссылке.
Конвертация данных, редакция 2.1 (2.1.8.2)
Источник УправлениеТорговлей 10.3.14.5
Приёмник БухгалтерияПредприятия 3.0.67.70
Документы:
ПриходныйКассовыйОрдер
ОплатаОтПокупателяПлатежнойКартой
РасходныйКассовыйОрдер
ПоступлениеТоваровУслуг
РеализацияТоваровУслуг
ВозвратТоваровОтПокупателя
https://drive.google.com/open?id=1AiCnWsttUpkVJ8yHWv4HOHjb1DHmlMLv
Чтоб явно не указывать имена реквизитов, можно использовать метод: ЗаполнитьЗначенияСвойств
нашёл такое решение.
В табличной части в обработчике "ПередОбработкой".
КоллекцияОбъектов = Источник.ПерваяТабличнаяЧасть.Выгрузить();
Для Каждого СтрокаТЧ Из Источник.ВтораяТабличнаяЧасть Цикл
НоваяСтрока= КоллекцияОбъектов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЦикла;