КД 2 Две таблицы в одну

1. applesound 1 13.02.19 12:18 Сейчас в теме
Добрый день.
Выгружаю данные из УТ 10.3 в БП 3.0
Остановился на документе Возврат товаров от покупателя. В УТ 10.3 документ содержит 2 табличные части Товары и Услуги. БП 3.0 содержит только одну Товары.
Пробовал варианты:
1.Сопоставляю Товары - Товары и Услуги - Товары = Очищаются товары, остаются услуги
2.Сопоставляю Товары - Услуги и Товары - Товары = Очищаются услуги, остаются товары

Подскажите как правильно сделать.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. a45 88 13.02.19 12:49 Сейчас в теме
В группе "Товары" событие перед обработкой можно заполнить КоллекцияОбъектов

например так:

КоллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("Номенклатура");
КоллекцияОбъектов.Колонки.Добавить("Количество");
....
....

Для каждого СтрТ из Объект.Товары цикл

     НовСтр = КоллекцияОбъектов.Добавить();
     НовСтр.Номенклктура = СтрТ.Номенкдатура;
     ....
     ....

КонецЦикла;

Для каждого СтрТ из Объект.Услугицикл

     НовСтр = КоллекцияОбъектов.Добавить();
     НовСтр.Номенклктура = СтрТ.Номенкдатура;
     ....
     ...

КонецЦикла;
Показать
3. applesound 1 13.02.19 12:59 Сейчас в теме
(2) ПКС можно не создавать, всё описываю в ПКГС Товары?
4. a45 88 13.02.19 13:02 Сейчас в теме
(3) пкс нужны

Товары
   |
   - Номенклатура
   - Количество 
   ....
5. applesound 1 13.02.19 13:04 Сейчас в теме
6. a45 88 13.02.19 13:14 Сейчас в теме
(4) источники можно пустые, но чтобы совпадали с колонками КоллекцияОбъектов
7. applesound 1 13.02.19 13:30 Сейчас в теме
Думаю Объект необходимо заменить на Источник
Ошибки:

Начало выгрузки: 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
Прикрепленные файлы:
ПравилаОбменаДанными.xml
8. a45 88 13.02.19 15:13 Сейчас в теме
(7) да, Вместо Объект. Источник. не изменяется ответ ..
9. applesound 1 13.02.19 15:57 Сейчас в теме
(8)
Изменил Объект на Источник

Чем имя колонки не нравится?


Начало выгрузки: 13.02.2019 14:56:19

Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
ПКГС = 6 (Товары --> Товары)
Объект = Возврат товаров от покупателя УТНД0000002 от 04.01.2018 13:27:15 (Возврат товаров от покупателя)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
ПозицияМодуля = (7)
КодСообщения = 48

Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7773)}: Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = ВозвратТоваровОтПокупателя (Документ: Возврат товаров от покупателя)
ПКГС = 6 (Товары --> Товары)
Объект = Возврат товаров от покупателя УТНД0000002 от 04.01.2018 13:27:15 (Возврат товаров от покупателя)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
ПозицияМодуля = (7)
КодСообщения = 48
10. applesound 1 27.02.19 15:39 Сейчас в теме
Всем Спасибо!!!

Работает таким образом: ПКГС Товары

К
оллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("Номенклатура");
КоллекцияОбъектов.Колонки.Добавить("Количество");
КоллекцияОбъектов.Колонки.Добавить("Сумма");
КоллекцияОбъектов.Колонки.Добавить("СтавкаНДС");
КоллекцияОбъектов.Колонки.Добавить("СуммаНДС");
КоллекцияОбъектов.Колонки.Добавить("Цена");

Для каждого СтрТ из Источник .Товары Цикл
    
    НовСтр = КоллекцияОбъектов.Добавить();
    НовСтр.Номенклатура = СтрТ.Номенклатура;
    НовСтр.Количество = СтрТ.Количество;
    НовСтр.Сумма = СтрТ.Сумма;
    НовСтр.СтавкаНДС = СтрТ.СтавкаНДС;
    НовСтр.Сумма = СтрТ.Сумма;
    НовСтр.СуммаНДС = СтрТ.СуммаНДС;
    НовСтр.Цена = СтрТ.Цена;
    
КонецЦикла;

Для каждого СтрТ из Источник .Услуги Цикл
    
    НовСтр = КоллекцияОбъектов.Добавить();
    НовСтр.Номенклатура = СтрТ.Номенклатура;
    НовСтр.Количество = СтрТ.Количество;
    НовСтр.Сумма = СтрТ.Сумма;
    НовСтр.СтавкаНДС = СтрТ.СтавкаНДС;
    НовСтр.Сумма = СтрТ.Сумма;
    НовСтр.СуммаНДС = СтрТ.СуммаНДС;
    НовСтр.Цена = СтрТ.Цена;
    
    
КонецЦикла;
Показать



Если кому пригодится правила ниже по ссылке.
Конвертация данных, редакция 2.1 (2.1.8.2)
Источник УправлениеТорговлей 10.3.14.5
Приёмник БухгалтерияПредприятия 3.0.67.70
Документы:
ПриходныйКассовыйОрдер
ОплатаОтПокупателяПлатежнойКартой
РасходныйКассовыйОрдер
ПоступлениеТоваровУслуг
РеализацияТоваровУслуг
ВозвратТоваровОтПокупателя
https://drive.google.com/open?id=1AiCnWsttUpkVJ8yHWv4HOHjb1DHmlMLv

Чтоб явно не указывать имена реквизитов, можно использовать метод: ЗаполнитьЗначенияСвойств
11. fenixnow 269 04.03.19 13:48 Сейчас в теме
Страшные вы люди.... два цикла умудрились накатать, плюс описать таблицу значений :))))


Сделайте проще, запрос объединение двух таб. частей, а потом коллекции присвойте результат выгрузки запроса.

Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|	Товары.Номенклатура,
|	Товары.ХарактеристикаНоменклатуры КАК Характеристика,
|	Товары.Количество
|ИЗ
|	Документ.ВозвратТоваровОтПокупателя.Товары КАК Товары
|ГДЕ
|	Товары.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|	ВозвратнаяТара.Номенклатура,
|	ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
|	ВозвратнаяТара.Количество
|ИЗ
|	Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратнаяТара
|ГДЕ
|	ВозвратнаяТара.Ссылка = &Ссылка"

Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
	
КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();

Показать


чем городит огород
12. t278 56 04.10.21 05:55 Сейчас в теме
нашёл такое решение.
В табличной части в обработчике "ПередОбработкой".
КоллекцияОбъектов = Источник.ПерваяТабличнаяЧасть.Выгрузить();
Для Каждого СтрокаТЧ Из Источник.ВтораяТабличнаяЧасть Цикл
    НоваяСтрока= КоллекцияОбъектов.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЦикла;
yasar92; user1528978; user1109821; user728942; angel4evil; Sana555; +6 Ответить
Оставьте свое сообщение

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