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

Подскажите как правильно сделать.
1 Ёпрст
 
13.02.19
13:41
(0) В ПКГС определи коллекцию свою и выгружай.
2 Ёпрст
 
13.02.19
13:41
коллекцию заполни на основании 2-х табличных частей.
Усё
3 applesound
 
13.02.19
16:02
В ПКГС Товары создал коллекцию и поместил её в обработчик КоллекцияОбъектов
///////////////////////////////////////////////////////
КоллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("Номенклатура");
КоллекцияОбъектов.Колонки.Добавить("Количество");
КоллекцияОбъектов.Колонки.Добавить("Сумма");
КоллекцияОбъектов.Колонки.Добавить("СтавкаНДС");
КоллекцияОбъектов.Колонки.Добавить("Сумма");
КоллекцияОбъектов.Колонки.Добавить("СуммаНДС");
КоллекцияОбъектов.Колонки.Добавить("Цена");

Для каждого СтрТ из Источник .Товары Цикл

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

КонецЦикла;

Для каждого СтрТ из Источник .Услуги Цикл

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


КонецЦикла;
///////////////////////////////////////////////////////

В итоге получил ошибку

Начало выгрузки:   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
4 applesound
 
13.02.19
16:04
5 Ёпрст
 
13.02.19
16:09
(3) есть методы Выгрузить() + ЗаполнитьЗначенияСвойств
6 Aleksey
 
13.02.19
16:09
(3) Немного оффтопика

Для каждого СтрТ из Источник .Товары Цикл
  НовСтр = КоллекцияОбъектов.Добавить();
  ЗаполнитьЗначенияСвойств(НовСтр,СтрТ);
КонецЦикла;
7 applesound
 
13.02.19
16:24
Заменил описание каждой строки на ЗаполнитьЗначенияСвойств(НовСтр,СтрТ);

Получил туже-самую ошибку.
ОписаниеОшибки         =  Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
Чем имя колонки не нравится?
8 Ёпрст
 
13.02.19
16:26
(7) вот это воткни  и всё

КоллекцияОбъектов  = Источник .Товары.Выгрузить();
Для каждого СтрокаДокумента из Источник .Услуги Цикл
  НоваяСтрока = КоллекцияОбъектов.Добавить();
  ЗаполнитьЗначенияСвойств(НоваяСтрока ,СтрокаДокумента);
КонецЦикла;
9 malem13
 
13.02.19
17:17
КоллекцияОбъектов.Колонки.Добавить("Сумма");
КоллекцияОбъектов.Колонки.Добавить("СтавкаНДС");
КоллекцияОбъектов.Колонки.Добавить("Сумма");

2 раза добавляется одна и та же колонка
10 applesound
 
13.02.19
18:50
Спасибо!!! Пойду делать.
11 applesound
 
14.02.19
13:34
Завелось!!!
Всем Спасибо!!!
Работает таким образом: ПКГС Товары

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

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

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


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


Ссылка на правила
https://drive.google.com/open?id=1AiCnWsttUpkVJ8yHWv4HOHjb1DHmlMLv
12 Ёпрст
 
14.02.19
13:53
(11) см (8) . Не надо создавать колонки руками.
13 Ёпрст
 
14.02.19
13:53
+ не надо явно указывать Имена реквизитов, когда есть ЗаполнитьЗначенияСвойств
14 applesound
 
27.02.19
15:41
(13) Ранее не знал о этом методе, уже буду знать.
AdBlock убивает бесплатный контент. 1Сергей