Задание: Сделать импорт/экспорт данных контрагента/адресов и средств связи с контактной информацией
Сделано: работает импорт/экспорт контрагентов, импорт адресов, телефонов, емайлов, веб
Проблема: не могу экспортировать Адреса. Пишет "Экспорт детали не закончен". Смотрел эту тему: https://community.terrasoft.ua/forum/topic/7046 - мало помогло.
Скрин
тип прописал в функции OnBeforeRecordExport(Param, Dataset, Select1C)

Select1C.Тип = Param.Obj1C.Перечисления.ТипыКонтактнойИнформации.Адрес;

Нравится

3 комментария

покажите по какому полю у вас связаны подчиненная и родительская настройки.

Значение полей "Поле родителя в 1С" и "Поле родителя в TSCRM" такие же как у вас на скрине.

Я экспорт адресов реализовывал вручную скриптом, на событии OnAfterRecordExport сущности "Контрагенты":

пс: у меня там еще используется план обмена, поэтому на строки где встречается "ОбменДанными" не обращайте внимание.

//удалить  все адреса и средства связи	
	var ci1C = Param.Obj1C.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); 
	ci1C.Отбор.Объект.Установить(Select1C.Ссылка);
	ci1C.ОбменДанными.Получатели.АвтоЗаполнение = false;
	ci1C.Записать(); 
//Адреса
	var AccountID = Dataset('ID');	
	var ds = Services.GetNewItemByUSI('ds_AccountAddress');
	ApplyDatasetFilter(ds, 'AccountID', AccountID, true);
	ds.Open();
	while(!ds.IsEOF) {
		var ci1CMain = Param.Obj1C.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
		var ci1C = ci1CMain.Добавить();
		ci1C.Объект = Select1C.Ссылка;
		var met=Param.Obj1C.Метаданные.Перечисления.Найти("ТипыКонтактнойИнформации");
		var meta=met.ЗначенияПеречисления.Найти('Адрес');
		var metalink = Param.Obj1C.Перечисления.ТипыКонтактнойИнформации[meta.Имя];
		ci1C.Тип = metalink;
		var AdrTypeID = ds('KLADRAddressTypeID');
		var AdrTypeUID1C = GetDatasetFieldValueByID('ds_AddressType',
			AdrTypeID, 'UID1C');
		var AddressType1CLink;
		if(!IsEmptyValue(AdrTypeUID1C)) {
			AddressType1CLink = GetObjectLinkByUID(
					Param.Obj1C.Справочники.ВидыКонтактнойИнформации, AdrTypeUID1C, Param);	
			ci1C.Вид = !AddressType1CLink.Пустая() ? AddressType1CLink : null;
			ci1C.Представление = ds('KLADRAddress');
			ci1C.Поле1 = ds('KLADRAddressZIP');
			ci1C.Поле2 = ds('KLADRAddressSubject');
			ci1C.Поле3 = ds('KLADRAddressRegion');
			ci1C.Поле4 = ds('KLADRAddressDistrictCenter');
			ci1C.Поле5 = ds('KLADRAddressCity');
			ci1C.Поле6 = ds('KLADRAddressStreet');
			ci1C.Поле7 = ds('KLADRAddressHouse');
			ci1C.Поле8 = ds('KLADRAddressCase');
			ci1C.Поле9 = ds('KLADRAddressFlat');
			ci1CMain.ОбменДанными.Получатели.АвтоЗаполнение = false;	
			ci1CMain.Записать(false);
		}		
		ds.GotoNext();
	}
	ds.Close();
//средства связи
Показать все комментарии