Конвертация контрагентов и их договоров с контакт. данными

1. Manticor 66 20.05.13 10:59 Сейчас в теме
Создаю правила конвертации из конкурентных закупок 1.0.2 в УПП 1.3 контрагентов, договоров контрагентов и контактные данные контрагентов.
Правила прикрепил.

В результате переноса вид контрагента(юр/физ лицо) не переносится, в договоре контрагента поля организация и валюта взаиморасчетов остаются незаполненными.
Соответственно контактная информация не переносится и - при выгрузке данных из закупок пишет ошибку:
скрин ОшибкаКонтактнаяИнфа

Для переноса контактных данных создаю новое ПКО - с имтоником СправочникСсылка.Контрагенты приемник РегистрСведенийЗапись.КонтактнаяИнформация, перед выгрузкой такой код:
Если Не Источник.ЭтоГруппа Тогда
 Отбор = Новый Структура("Объект");
 Отбор.Объект = Источник.Ссылка; 
 ВыборкаИнформации =   РегистрыСведений.КонтактнаяИнформация.Выбрать(Отбор);
 
    Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	
    Запись.Объект = Источник.Ссылка;
    Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
    Запись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
	Запись.Пердставление = Источник.ЮридическийАдрес;
	Запись.Записать();
    Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
	
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
    Запись.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента;
	Запись.Пердставление = Источник.ФактическийАдрес;
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
	Запись.Записать();
	
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
    Запись.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
	Запись.Пердставление = Источник.Телефон;
    Запись.Записать();
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
	
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты;
    Запись.Вид = Справочники.ВидыКонтактнойИнформации.EmailФизЛица;
	Запись.Пердставление = Источник.ЭлектроннаяПочта;
    Запись.Записать();
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);

КонецЕсли; 
Показать
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
7. Sabfir 20.05.13 12:22 Сейчас в теме
Дальше по ошибкам.
Если вы указываете перенос ссылочного типа, то необходимо создавать ПКО для них и указывать их.
см. вложение Контрагенты. Красным выделены незаполненные поля, которые надо заполнить.
Ошибка касается не только этого принсткрина. Везде проверьте, что вы указали правило конвертации для ссылочных типов.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. evn-zorin 33 20.05.13 11:29 Сейчас в теме
А как создавали правила и КД последняя, актуальная ли? Ещё зависит от релизов конечных конфигураций, для которых пишете правила, желательно всё посвежее взять.
3. Manticor 66 20.05.13 11:36 Сейчас в теме
(2) evn-zorin, да все делается на свежих релизах)
4. Aleks1973 20.05.13 11:50 Сейчас в теме
Отбор = Новый Структура("Объект");
Отбор.Объект = Источник.Ссылка;


СТРАННЫЙ КОД
5. Sabfir 20.05.13 12:11 Сейчас в теме
Запись.Пердставление = Источник.ЮридическийАдрес;

Что это за свойство Пердставление
Ошибка говорит, что какой то свойство не обнаружено.
Может не Перд, а Пред? :)
6. doom2good 141 20.05.13 12:18 Сейчас в теме
перед выгрузкой такой код:

Код в обработчике "перед выгрузкой" выполняется на стороне источника. Т.е. ты перед выгрузкой контрагентов "из конкурентных закупок" заполняешь РС "КонтактнаяИнформация". Зачем? Там вообще есть этот регистр то?
16. Manticor 66 20.05.13 14:52 Сейчас в теме
(6) doom2good, а как же тогда мжно добыть информация по источнику, как не перед выгрузкой

Если Не Источник.ЭтоГруппа Тогда
Отбор = Новый Структура("Объект");
Отбор.Объект = Источник.Ссылка;

Как иначе получить источник для переноса контактов?
7. Sabfir 20.05.13 12:22 Сейчас в теме
Дальше по ошибкам.
Если вы указываете перенос ссылочного типа, то необходимо создавать ПКО для них и указывать их.
см. вложение Контрагенты. Красным выделены незаполненные поля, которые надо заполнить.
Ошибка касается не только этого принсткрина. Везде проверьте, что вы указали правило конвертации для ссылочных типов.
Прикрепленные файлы:
8. Manticor 66 20.05.13 12:29 Сейчас в теме
(7) Sabfir, как это правило создать, если мне нужно лишь жестко задать название организации и валюту? И в источнике нет спр Организации и валюты??
9. Sabfir 20.05.13 12:33 Сейчас в теме
Правила - это и есть ПКО.
Создай для Валюты ПКО (если оно ещ ене создано) и заполни в поле, где переноситься реквизит Валюта.
И так для всех реквиитов ссылочного типа.
Брось мне правила, я посмотрю.
10. Sabfir 20.05.13 12:37 Сейчас в теме
Если каких то данных нет в базе источнике, но они есть в базе приемнике, тогда их заполнение необходимо делать тогда, когда доступна база приемник.
Например, в обработчике После загрузки (ПКО).
Прикрепленные файлы:
12. Manticor 66 20.05.13 12:56 Сейчас в теме
(10) Sabfir, получилось с организацией и валютой взаиморасчетов.
Прописал после загрузки в соответствующем ПКО
Объект.Организация = Справочники.Организации.НайтиПоКоду("000000001");
Объект.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду("643");

А как быть с физлицом - поскольку нужно сделать проверку

Если НЕ ЗначениеЗаполнено(Источник.ИНН) И СтрДлина(Источник.ИНН) = 12
	Тогда Объект.ЮрФизЛицо = "ФизЛицо"
КонецЕсли


Когда прописываю так после загрузки в ПКО контрагенты, то при загрузке в приемник пишет
Значение не является значением объектного типа (ИНН)
14. Sabfir 20.05.13 13:03 Сейчас в теме
(12) Manticor, думаю надо еще проверить на группу.
Если Не Источник.ЭтоГруппа() Тогда
15. Manticor 66 20.05.13 14:38 Сейчас в теме
(14) Sabfir,
в ПКС контрагентов где ЮрФизЛицо перед выгрузкой проверяю на группу.
Если Не Источник.ЭтоГруппа() тогда
	Если НЕ ЗначениеЗаполнено(Источник.ИНН) ИЛИ СтрДлина(Источник.ИНН) = 12
		Тогда Значение = "ФизЛицо";
		//Сообщить("Это физЛицо");
	Иначе
		Значение = "ЮрЛицо";
		//Сообщить("Это юр лицо");
	КонецЕсли
КонецЕсли
Показать

А так заработал перенос ЮрФизЛица))

Для Регистра КИ необходимо, чтобы его реквизиты были загружены. А ты их не загрузил и нечего заполнять.

Скажите подробнее куда залесть нужно, не могу понять))
Прикрепленные файлы:
17. Sabfir 20.05.13 16:15 Сейчас в теме
(15) Manticor,
А так заработал перенос ЮрФизЛица))

о-чудо)
Скажите подробнее куда залесть нужно, не могу понять))

А откуда у вас взялись правила? Я так понимаю, что вы сами загружали метаданные конфигураций?
Надо обновить метаданные конфигурации, в которую вы льете данные, то есть УПП. Предварительно необходимо с УПП с помощью обработки "MD82Exp" выгрузить эти метаданные, после чего загрузить их в Конвертацию данных. (см. принтскрин "Загрузка метаданных в КД")
Прикрепленные файлы:
18. Manticor 66 20.05.13 17:19 Сейчас в теме
(17) Sabfir, не понимаю при чем тут струтура метданных. Я не обновлял никакую конфу))
11. Manticor 66 20.05.13 12:41 Сейчас в теме
Прикрепил правила
Прикрепленные файлы:
ПравилаОбменаДанными.xml
13. Sabfir 20.05.13 13:01 Сейчас в теме
Проверь выгрузку Контрагентов и Договоров.
Для Регистра КИ необходимо, чтобы его реквизиты были загружены. А ты их не загрузил и нечего заполнять.
Прикрепленные файлы:
ПравилаОбменаДанными_2.xml
19. Sabfir 20.05.13 17:44 Сейчас в теме
Это печально.
Проблема в том, что чтобы конвертировать данные КИ с БП в УПП необходимо дать конвертации данных понять что такое Регистр сведений КИ и какие свойства (Измерения, ресурсы и реквизиты) у этого регистра есть.
На данный момент конвертация данных не знает ничего о свойствах УПП-шного регистра КИ. Доказательством этого есть скрин "Конвертация не знает"
Поэтому надо обновить метаданные УПП в КД.
Как это сделать я описал выше. Могу только добавить, что на этапе выгрузки метаданных с УПП необходимо указать выгрузку метаданных регистров сведений (см скрин "Выгрузка метаданных")
Прикрепленные файлы:
20. Manticor 66 20.05.13 17:52 Сейчас в теме
(19) Sabfir, в описании конфигурации УПП нашел следующее:
Прикрепленные файлы:
21. Sabfir 20.05.13 17:58 Сейчас в теме
Странно, потому что в тех правилах, которые вы мне выслали описание выглядит таким образом. см вложение "Описание конфигурации".
Прикрепленные файлы:
22. Manticor 66 20.05.13 18:11 Сейчас в теме
(21) Sabfir, В общем попробовал пойти таким путем:
в ПКО "КонтактнаяИнформация" создал ПКС с источником "ПолноеНаименование" для получения Источника.

При выгрузке у каждого ПКС прописал тот же код:

Отбор = Новый Структура("Объект");
 Отбор.Объект = Источник.Ссылка; 
 ВыборкаИнформации =   РегистрыСведений.КонтактнаяИнформация.Выбрать(Отбор);
 
 //Пока ВыборкаИнформации.Следующий() Цикл
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
	Запись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
	Запись.Представление = Источник.ЮридическийАдрес;
	Запись.Записать();
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
	
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
	Запись.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента;
	Запись.Представление = Источник.ФактическийАдрес;
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
	Запись.Записать();
	
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
	Запись.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
	Запись.Представление = Источник.Телефон;
	Запись.Записать();
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
	
	Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
	Запись.Объект = Источник.Ссылка;
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты;
	Запись.Вид = Справочники.ВидыКонтактнойИнформации.EmailФизЛица;
	Запись.Представление = Источник.ЭлектроннаяПочта;
	Запись.Записать();
	Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление);
Показать

В итоге куча ошибок и не грузит контакты. Знатоки подскажите плиз как такое сделать?
Прикрепленные файлы:
23. Sabfir 20.05.13 18:13 Сейчас в теме
У тебя типовая УПП?
Если хочешь, то давай тебе быстренько создам правила, потому что объяснить не получается.
24. Manticor 66 20.05.13 23:34 Сейчас в теме
(23) Sabfir, контрагенты, договора контрагентов + контактная информация - не переписаны, от УПП 1.3.
Мне бы на примере увидеть как это решается))
25. Sabfir 21.05.13 09:21 Сейчас в теме
Примеры ты можешь посмотреть в демо версии КД.
Очень хорошие видеоуроки по КД есть у Гилева.
26. Manticor 66 21.05.13 10:54 Сейчас в теме
(25) Sabfir, демо- примеры не совсем под мое задание. А на курсы пока средств нет) Можете сказать как правило для пререноса контактов создать?
Оставьте свое сообщение

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