Имя: Пароль:
1C
 
Конвертация: Выгрузить Справочник в Справочник и Регистр сведений
0 НубВ1С8
 
01.06.15
11:50
Есть база - источник, в ней справочник Водители, их водительские удостоверения и паспорты прописаны как реквизиты.
Есть база - приемник, Справочник Водители + документы водителей - регистр сведений.
Выгружаю по ссылке, нужные документы собираю произвольным алгоритмом.
Как сделать так, чтобы при выгрузке водителя выгружался еще набор данных для регистра сведений - запись о ВУ + запись о паспорте?
1 mehfk
 
01.06.15
11:56
Посмотри как в типовых обменах контактная информация выгружается
2 Naumov
 
01.06.15
11:57
Посмотри в любых типовых правилах обмена как выгружаются ФИО для физ.ли, где они в РС хранятся. Например.
3 mehfk
 
01.06.15
11:57
Или, например, как ФИОФизЛиц, или паспортные данные.
4 НубВ1С8
 
01.06.15
12:14
а откуда взять этот типовой обмен посмотреть?
5 Aleksey
 
01.06.15
12:16
(4) В типовых конфигурациях
6 Timon1405
 
01.06.15
12:18
(4) Из правил обмена в шаблоне установки конфигурации ищите папку типа
...trade\11_1_6_17\Синхронизация данных\
7 НубВ1С8
 
01.06.15
12:22
(6) нашел, спасибо
8 НубВ1С8
 
01.06.15
13:05
(1) (2) - в типовых все
по правилу 1 источник - выгрузитьПоПравилу() - т.е. 1 к 1, а мне надо 1 к 2-3...
9 НубВ1С8
 
01.06.15
13:14
т.е. неужели надо несколько ПВД?
10 Naumov
 
01.06.15
13:27
(8) Ты что-то не там смотришь.
Найди выгрузку контрагента, посмотри событие "после выгрузки" для этого ПКО. ТАм должна выгружаться контактная информация в РС.
11 Naumov
 
01.06.15
13:27
(9) НЕсколько ПВД тоже решаеют вопрос. Ничего зазорного в этом нет.
12 НубВ1С8
 
01.06.15
18:42
(10) в каком правиле?
я смотрел Бух-УТ
13 НубВ1С8
 
03.06.15
08:13
как я сделал: (а то у кого-нибудь будет подобная ситуация, а посмотреть негде)

В ПКО выгрузки справочника - источника, который конвертируется в справочник-приемник и 1-2 записи регистра сведений в ПередЗагрузкой:

Сообщить("В правиле КонтВодители Источник:" + ТипЗнч(Источник) + " " + Источник );
ИсходящиеДанные = Источник;

ВУ = Новый Структура;
ВУ.Вставить("Активность", ИСТИНА);
ВУ.Вставить("Контрагент", Источник.Ссылка);
ВУ.Вставить("ВидДокумента", Справочники.ДокументыУдостоверяющиеЛичность.ВодУдРФ);  //ВУ
ВУ.Вставить("Серия", Источник.СерияУдост); //Серия ВУ
ВУ.Вставить("Номер", Источник.НомерУдост); //Номер ВУ
ВУ.Вставить("ДатаВыдачи", Источник.ДатаУдост);
ВУ.Вставить("КемВыдан");
ВУ.Вставить("ЯвляетсяДокументомУдостоверяющимЛичность");
ВУ.Вставить("Период");

ВыгрузитьПоПравилу(ВУ, ,, ,"КонтДокументыУчастниковСтраховых");

Если ЗначениеЗаполнено(Источник.ВидДокумента) тогда
Паспорт = Новый Структура;
Паспорт.Вставить("Активность", ИСТИНА);
Паспорт.Вставить("Контрагент", Источник.Ссылка);
Паспорт.Вставить("ВидДокумента", Источник.ВидДокумента);  //Паспорт
Паспорт.Вставить("Серия", Источник.Серия); //Серия
Паспорт.Вставить("Номер", Источник.Номер); //Номер
Паспорт.Вставить("ДатаВыдачи");
Паспорт.Вставить("КемВыдан");
Паспорт.Вставить("Период");
Паспорт.Вставить("ЯвляетсяДокументомУдостоверяющимЛичность",ИСТИНА);
ВыгрузитьПоПравилу(Паспорт, ,, ,"КонтДокументыУчастниковСтраховых");

КонецЕсли;

+ добавил в ПКС Контрагент ПКО КонтДокументыУчастниковСтраховых еще одно ПКО КонтВодители2 без этого кода, чтоб не было циклической ссылки.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший