Имя: Пароль:
1C
1С v8
Конвертация 3-х реквизитов в табличную часть
0 Aleksey1989
 
18.03.14
15:09
Добрый день. Подскажите, пожалуйста, каким образом настроить правила конвертации так, чтобы 3 реквизита справочника "Контрагенты" конфигурации-источника были записаны в табличную часть справочника "Контрагенты" конфигурации-приемника в виде строк табличной части? Значения реквизитов табличной части имеет непримитивный вид.
1 Йохохо
 
18.03.14
15:16
в ПКО создать ПКГС имени ТЧ. В ПКГС ПередОбработкой создать и заполнить КоллекцияОбъектов как ТЗ
2 Fram
 
18.03.14
15:16
(0) Перед выгрузкой формируешь ВходящиеДанные
А для Таб части приемника ставишь "Получить из входящих данных"
3 Fram
 
18.03.14
15:17
+(2) Структура должна совпадать
4 Йохохо
 
18.03.14
15:20
5 Aleksey1989
 
18.03.14
15:33
(1) Про этот способ я знаю, но вся проблема в том, что некоторые реквизиты табличной части имеют не примитивный, а ссылочный тип, в частности ссылаются на план видов характеристик конфигурации-приемника.
6 Йохохо
 
18.03.14
15:42
(5) попробуй указывать ИмяПКО в зависимости от типа
7 Fram
 
18.03.14
15:47
(4) Мой способ проще.
(5) Через Входящие данные, при наличии правил для объектов по ссылкам, проблем не будет.
8 Aleksey1989
 
18.03.14
16:37
(2) Подскажите, пожалуйста, каким образом эти входящие данные формировать? Очень давно уже делал подобное, но уже ничего не помню.
9 vicof
 
18.03.14
16:38
(8) В помощи по КД все доступно описано
10 Зойч
 
18.03.14
16:39
КоллекцияОбъектов = Новый ТаблицаЗначений;
КоллекцияОбъектов.Колонки.Добавить

НоваяСтрока = КоллецияОбъектов.Добавить()
НоваяСтрока.Значение = Источник.Реквизит1
...
НоваяСтрока = КоллецияОбъектов.Добавить()
НоваяСтрока.Значение = Источник.РеквизитN
11 Fram
 
18.03.14
19:25
(8) Создаешь структуру под названием ВходящиеДанные. Элементы соответствует всем полям с пометкой "Получить из входящих данных". Если это табчасть, то элемент типа ТаблицаЗначений
12 Aleksey1989
 
18.03.14
22:13
(10)(11) Как создавать коллекциюОбъектов я знаю, я не могу понять, каким образом для значений колонок коллекцииОбъектов присваивать значения из плана видов характеристик конфигурации-приемника.

Раньше это я для отдельных свойств ПКО делал через переменную "Выражение", как это можно сделать при создании коллекцииОбъектов описанными Вами способом?
13 Зойч
 
18.03.14
22:27
(12) НоваяСтрока.Свойство= "ИмяСвойства"

в ПКС Свойство
Выражение = "ПВХ.Свойства." + ОбъектКоллекции.Свойство
14 Fram
 
19.03.14
15:10
(12)
ВходящиеДанные = Новый Структура("Строки, ПредставлениеСтр");
ВходящиеДанные.ПредставлениеСтр = Строка(Источник);
ВходящиеДанные.Строки = Новый ТаблицаЗначений;
ВходящиеДанные.Строки.Колонки.Добавить("ВидВзаиморасчетов");
ВходящиеДанные.Строки.Колонки.Добавить("Сумма");
Для каждого Стр из Источник.РасшифровкаПлатежа Цикл
    Если Стр.ДоговорКонтрагента.ауВидВзаиморасчетов.Пустая() Тогда
        Продолжить
    КонецЕсли;
    НовСтр = ВходящиеДанные.Строки.Добавить();
    НовСтр.ВидВзаиморасчетов = Стр.ДоговорКонтрагента.ауВидВзаиморасчетов;
    НовСтр.Сумма = Стр.СуммаПлатежа;
КонецЦикла;
ВходящиеДанные.Строки.Свернуть("ВидВзаиморасчетов", "Сумма");

При этом ПредставлениеСтр - реквизит шапки приемника, Строки  - таб. часть приемника с реквизитами "ВидВзаиморасчетов", "Сумма"