Добрый день!
Подскажите, необходимо сделать импорт в BPM через excel, по стандарту они идут на русском языке,есть ли возможность настроить на en.
Экспорт происходит посредством API.

Нравится

5 комментариев

Пожалуйста, уточните версию продукта.

версия 7.8,пробывали импортировать посредством API но отказались от этой идеи
здорово если можно было настроить заголовки столбцов на en

Добрый день Илья!!!

вот ссылка на Академию террасофт где описывается, что делать в том случае если Название колонок в Базе отличаются от названия колонок в Эксель. Данная проблема с выходом 7.8 была решена. Как выполнить импорт клиентской базы

Вы наверное не поняли мой вопрос,я хочу как раз этого избежать,потому что у меня заголовки на en а выбрать нужно на ru,нужно чтоб автоматически они подставлялись

Илья а кто мешает вам после получения данных и сохранения в Эксель формате, открыть Эксель и переименовать столбцы. Вы же данную процедуру если и выполняете то не каждый день, а если данная процедура выполняется у вас каждый день, и формат к примеру файла у вас одинаковый, и вы не желаете пользоваться стандартным методом Импорта данных, то я бы рекомендовал создать Модальное окно + Бизнес-процесс в котором бы у вас выполнялся Импорт. Процедура импорта описывается в бизнес-процессе на языке C#.

Но лучше конечно использовать стандартный импорт, разработанный командой Террасофт.

Показать все комментарии

Подскажите пожалуйста есть ли вариант полного переноса базы(всех данных) из Террасофт 3.2 в 1С 8.3 Управление торговлей 11.1 (управление продажами недвижимости)?
Операционная система WinXP.

Нравится

1 комментарий

Перенос данных из Terrasoft 3.2 в 1С 8.3 Управление торговлей 11.1 возможен в рамках индивидуального проектного решения.

Возможно, что на стороне 1С 8.3 Управление торговлей 11.1 есть специальные утилиты для импорта данных из других сторонних систем.

Показать все комментарии

Подскажите пожалуйста, я никогда не работал с этой программой, но передо мной стоит задача экспортировать всю базу Террасофт Риэлт в 1с:Управление недвижимостью, возможно ли это вообще сделать? Если да, то как?
Или может, возможен експорт всей базы в формат Exсel?

Нравится

1 комментарий

Здравствуйте!

Программный продукт TS CRM Realty – это разработка нашего партнера ‘Альфа-Информ’.

Для уточнения деталей реализации и возможностей интеграции с другими программными системами свяжитесь, пожалуйста, с компанией ‘Альфа-Информ’ по телефонам, указанным на их сайте: http://www.olp.ru/

Показать все комментарии

Добрый день.

Есть некий web-service (wcf и использует wsHttpBinding) и методы для работы с ним.
Необходимо из террасофта работать с данными методами.

Есть понимание как это сделать в Visual Studio например на с#
Для этого к проекту добавляется ServiceReference (с указание ссылки на наш веб-сервис), на его основе создается объект и дальнейшая работа (авторизация и обращение к методам) происходит через этот объект. Примерно так...

SomeServiceReference.ServiceClient client = new SomeServiceReference.ServiceClient();
if (client.ClientCredentials != null)
{
client.ClientCredentials.UserName.UserName = "UserName";
client.ClientCredentials.UserName.Password = "Password";
client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
}

try
{
return client.InvokeMethod( parameter );
}
catch( Exception ex )
{
client.Abort();
throw ex;
}
finally
{
if( client != null ) client.Close();
}

В с# также есть возможность программно создать экземпляр System.ServiceModel.WSHttpBinding и с помощью него организовать взаимодействие со сторонним веб-сервисом.
А вот как организовать подобную схему из Террасофта не понятно.

Прошу прощения если не достаточно ясно излагаю мысли :smile: Сталкиваюсь с данной тематикой впервые. Возможно кому то уже приходилось реализовывать что то подобное.

Спасибо.

Нравится

1 комментарий

Можно Вашу разработку на C# переделать в COM-объект. А затем этот объект в Terrasoft 3.Х вызывать из скрипта.

Показать все комментарии

Есть такой код:

var adods_WebSite = GetSingleItemByCode('adods_WebSiteRecord');
        adods_WebSite.Close();
        adods_WebSite.Parameters('ID').Value=Dataset('ID').substr(1,36);
        adods_WebSite.Open();
        if(adods_WebSite.RecordsCount>0){
                Dataset('Name')=adods_WebSite('Name');
        }
        adods_WebSite.Close();

при выполнении adods_WebSite.Open(); выбивает ошибку "rowset position cannot be restarted".
что интересно, когда Dataset('ID').substr(1,36); заменить на Dataset('ID').substr(1,35); или Dataset('ID').substr(2,36); то ошибки нет, но результат ничего не возвращает. Как избавится от этой ошибки?

Нравится

7 комментариев

Добрый день
Подскажите, а какая СУБД находится на другой стороне? И для чего Вам делать substr?

My SQL.
Если делать без substr, то ошибки нет, но возвращается пустой результат

Вы можете посмотреть какой запрос уходит на my sql?
Также, можно попробовать вместо Dataset('ID').subst(1, 35) поставить известный ID (константу), чтобы убедится, что формат id подходит

К сожалению там нет SQLText.
Я пробую разные варианты

SELECT `ID`, `Name` 
FROM `tbl_tyre`
where '{'+CAST(ID AS char(36))+'}' = :ID

пробовал и через like.
Такое впечатление что оно знает чего мне нужно и упорно препятствует мне...

Похоже, дело именно в неправильном запросе, уходящем в MySQL.
Надо попробовать найти программу-профайлер для MySQL и посмотреть, что за запрос идёт на базу.

Проблема в параметре, без него все работает хорошо...

Показать все комментарии

Здравствуйте!

В террасофт, в разделе E-mail мы мы можем видеть Входящие письма (в папке Входящие).
Но все остальные папки (Исходящие,Отправленные и т.д. пустые).
В чем может быть причина? где крутить?

Настройки пользоватлеля такие:

настройки

Нравится

12 комментариев

Здравствуйте.
Попробуйте поиграться с "галкой" "Игнорировать адрес отправителя". Также обращаю Ваше внимание на то, что автоматически почта привязывается только к контактам и контрагентам на детали "Средства связи" которых указан e-mail.

спасибо за отклик)

попробовал убрать и ставить галку "Игнорировать адрес отправителя", без изменений

Я тестирую на себе. У меня в средстах связи указана почта, иначе наверное и входящие не подгружались, но они грузятся нормально. Но вот почему нет остальных?

Здравствуйте, Андрей.
Возможно у Вас используется несколько разных "ящиков"? Попробуйте привязать отправленное письмо из Outlook в ручном режиме к какой-то сущности (в Outlook - "Надстройки\Интеграция с Террасофт") и посмотреть его в группе "Отправленные" в разделе [E-mail] Террасофт. А вообще работу с почтой лучше организовать через почтовый клиент. В Террасофт же хранится связь писем с записями системы.

Здравствуйте, Александр!

да действительно обнаружил еще один ящик, кроме моего именного ящика есть еще ящик Файл данных Outlook. и там есть такие же папки (не пустые, но заполненые по какому то непонятному принципу).

Попробовал привязать письмо вручную через надстройки, письма действительно появились в террасофт!:smile:

Как с этим бороться, где настроить чтоб письма из нужного мне ящика попадали в террасофт автоматически?

Здравствуйте. Сделайте его ящиком по умолчанию и проверьте, что письма отображаются в папке "Отправленные" в Outlook.

Александр, ящик уже стоит по умолчанию, и письма в "Отправленные" отображаются

Андрей, насколько я знаю, то Террасофт не подразумевался для использования в качестве почтового клиента, а лишь для привязки писем к сущностям (контрагенты, контакты и т. д.) системы. Прикреплённая корреспонденция хранится в отдельной таблице (tbl_MailMessage) и отображается на детали E-mail. Соответственно, для работы с почтой целесообразно использовать почтовый клиент. Автоматически письма могут привязываться к контактам или контрагентам если у них указан E-mailна детали [Средства связи].

Мария, да для работы с почтой мы действительно используем почтовый клиент (Outlook), а террасофт используем для привязки писем. Вот как раз сейчас интересует вопрос почему эта привязка не работает, т.е. работает частично, Входящие письма привязывает и отображает в папке Входящее в терасофт, а все остальные не превязывает.

причем как выяснилось остальные он тоже привязывает, когда привязку делаешь в ручную через наДстройки Outlook. А входящие письма он привязвает автоматически. Интересно как привязывать все остальные письма автоматически

Добрый день, Андрей.
Отслеживать факт "привязки" письма нужно не в разделе [E-Mail], а на детали [E-Mail] соответствующего раздела. Повторюсь, но проверьте, что зафиксирован адрес электронной почты на детали [Средства связи]. Следующий момент - это "почтовик". В зависимости от того, какой используется, могут быть нюансы. Рекомендую обратить внимание на пост: http://www.community.terrasoft.ru/forum/topic/9759

Мария, добрый день!

спасибо за ссылку! все сделал как там советуют. Не помогает :sad:

Андрей, затруднюсь добавить что-то новое к рекомендациям, которые были предоставлены в данной теме. Попробуйте ещё раз перепроверить все настройки. Убедитесь, что есть e-mail на детали [Средства связи] и т.д.. Как вариант, я бы попробовала проверить ситуацию с альтернативным "почтовиком". Таким образом, как минимум, можно будет сузить место поиска источника проблемы. Ещё, если не ошибаюсь, на текущий момент версия Terrasoft 3.x не развивается...

Показать все комментарии

Здравствуйте. Я знаю C# и T-SQL, но в BPM'online только начал работать. Я прошу вас помочь мне в следующем.
1) Создать бизнес процесс, который по событию добавления/обновления записи выгружает информацию в шлюзовую таблицу и вызывает хранимую процедуру (которая, как я понимаю, перезаписывает данные из шлюзовой таблицы в целевую). Как это сделать?
2) Выполнить интеграцию по клиентам (физ. лицам, юр. лицам и индивидуальным предпринимателям), договорам, заявкам - после создания в СРМ системе клиента информация попадает в БД на MS SQL Server. После обновления данных информация попадает в БД на MS SQL Server. Как это сделать?
3) Выполнить первичный импорт даннных в CRM-систему из БД на MS SQL Server. Как это сделать?

Нравится

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

Здравствуйте, Евгений!
По вашим второму и третьему вопросам созданы отдельные темы:
http://www.community.terrasoft.ua/forum/topic/12869
http://www.community.terrasoft.ua/forum/topic/12870

Здравствуйте!

Для отслеживания создания/изменения/удаления записи Вы можете использовать начальный элемент сигнал. В сигнале необходимо указать объект в bpm'online, в котором должны произойти изменения. Далее элементом "Чтение данных" Вы считываете измененный объект.
Далее элементом "Задание сценарий" Вы можете либо:

  1. вызвать веб сервис для интеграции (описание вызова веб сервиса прикреплено)
  2. вызвать хранимую процедуру

Хранимая процедура предварительно должна быть создана в системе (для этого перейдите в конфигурацию и на вкладке SQL-сценарии добавьте процедуру.

Большое спасибо за помощь.

Показать все комментарии

Есть шаблон сообщения, в него нужно вставить данные с договора и данные с детали продуктов.
Сделал выборку, размещаю ее в шаблоне, макросы полей с договора вставляются нормально, а когда пытаюсь вставить деталь пишет вот что:

Пробовал создавать шаблон с нуля - не помогло, кто имел дело с данной проблемой прошу помощи.

Нравится

10 комментариев

Виталий, добрый день!

Из-за отсутствия изображения не совсем понятно, что за ошибка.
Перезалейте, пожалуйста, скриншот.

"Вильшанский Дмитрий" написал:

Виталий, добрый день!

Из-за отсутствия изображения не совсем понятно, что за ошибка.

Перезалейте, пожалуйста, скриншот.


Исправил

Виталий, добрый день!

Укажите пожалуйста версию Terrasoft, операционной системы и версию MS Outlook.

Terrasoft: 3.4.1.127
операционная система: Windiws Server 2012 R2 Datacenter 64 разрядная
MS Outlook: 20077

Выполните такую последовательность действий:

  1. 1.Закройте все приложения MS Office и Terrasoft
  2. 2. Очистите кэш: C:\Users\[Имя пользователя]\AppData\Roaming\Terrasoft\[Версия Terrasoft]\Cache
  3. 3. Запустите Terrasoft
  4. 4. Запустите MS Outlook и установите соединение с Terrasoft
  5. 5. После чего выполните повторно действия по изменению шаблона

"Терещук Павел" написал:

Выполните такую последовательность действий:


Не помогло....
еще иногда выбивает такое сообщение:

"Радчук Виталий Владимирович" написал:
еще иногда выбивает такое сообщение:



Такое сообщение значит, что пытаетесь вставить деталь внутрь другой таблицы, а движок такого не позволяет.

"Зверев Александр" написал:Такое сообщение значит, что пытаетесь вставить деталь внутрь другой таблицы, а движок такого не позволяет.

я от отчаяния пробовал вставлять везде))) і в готовом шаблоне і в чистом.
Меня интересует первая ошибка, там где "Данная команда недоступна"

Можно попробовать вставлять деталь не по кнопке, а вручную рисовать таблицу.

Проблема решена!
Вручную также нельзя было вставить таблицу, но я не обратил на это внимание, а зря.
Проблема вот в чем:
стоял оутлук 2007, а ворд 2013, поэтому оно не хотело вставлять деталь и рисовать таблицу!

Показать все комментарии

Подскажите, каким образом можно организовать вызов внешнего скрипта (к примеру вызовом URL) при добавлении/правке данных в bpmonline в автоматическом режиме.

(Внешний скрипт будет производить синхронизацию данных)

Нравится

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

Здравствуйте.
Уточните, пожалуйста, о какой версии BPM'online (5.x, 7.x) идёт речь?

Версия BPM'online 7.5.0.1337

Здравствуйте.
Правильно ли я понимаю, что Вы пытаетесь настроить интеграцию?

Для отслеживания добавления/изменения записи в раздел используйте бизнес процесс с двумя стартовыми сигналами:

  • Добавление записи
  • Изменение записи

Есть еще вариант "Удаление записи", но не знаю удаляете ли Вы данные в bpm'online.
После стартового сигнала используйте элемент "Задание-сценарий". Описание кода этого элемента в прикрепленное ниже инструкции.
Конец процесса.

Для интеграции с внешним ресурсом используйте веб-сервис. Инструкцию по созданию веб-сервиса прикрепляю.

Показать все комментарии

Здравствуйте!
Террасофт 3.5.1, 1С 8.3.
Есть настроенная интеграция: экспорт контрагентов из ТС в 1С. Все нужные поля экспортируются.
Понадобилось добавить экспорт e-mail'ов контрагентов. В ТС и 1С эти поля есть. Но в 1С это поле на форме. А в реквизитах в 1С нет этого значения (EmailКонтрагента).
Добавил в реквизиты Контрагентов в 1С реквизит EmailКонтрагента. В ТС выполнил Загрузка метаданных 1С. Но в ТС для Контрагентов не появился этот реквизит. См. скриншоты.

Как добавить реквизит EmailКонтрагента в ТС?

Нравится

14 комментариев

Добрый день.
Сохраняли, компилировали конфигурацию 1с? Дайте скриншот реквизитов из 1с Конфигуратора, скриншот поля с формы не подходит, т.к. как вы верно заметили, далеко не факт, что он ссылается на реквизит объекта :)

Спасибо, Дмитрий. Да, я не скомпилировал конфигурацию.
Сейчас скомпилировал, поле EmailКонтрагента появилось в ТС.
Выполняю в OnBeforeRecordExport стандартную функцию:

Select1C.EmailКонтрагента =  'test@test2015.ru';  

Но, в 1С в поле email ничего не пишется. Такое ощущение, что созданный мною реквизит в 1С не привязан к поле email на форме Контрагента.
Как его можно привязать?

А покажите свойства поля, там возможно где-то указывается реквизит, к которому оно привязано?

Но, если в 1С выполнить Запрос выбора данного контрагента, то там в поле EmailКонтрагента есть 'test@test2015.ru'.(см. скриншот) Значит скрипт отработал и записал. Только непонятно, почему на форме не отображается этот email. Или это поле на форме привязано к другому полю?
Вот картинка: синим это email на форме. Справа его свойства. При открытии ПутькДанным открывается окно Выбор Реквизита...

Записал в 1С вручную в этом поле email 123@aaa.ru. Выполнил запрос в 1С и увидел данный email в другом поле, но в таком виде:

Теперь как из ТС в 1С это экспортировать...

Что-то мне напоминает это поведение эту тему:

http://www.community.terrasoft.ru/forum/topic/11984#comment-51983

пс: я, к сожалению, с таким не сталкивался.

Дмитрий, посмотрел тему. У меня в 1с по запросу выдает email в КонтактнаяИнформация (если email забить в ручную в 1С): (скриншот)

email находится в полях: Представление, АдресЭП и в поле ЗначенияПолей (xml формат).
Т.к. мы в 1С в ручную заносим email в одно поле, то потом, видимо скрипт 1С разносит email по другим полям.
Можно ли попробовать записать программно email хотя бы в поле Представление или АдресЭП?

Добрый день.
Конечно можно. Но, по-моему это регистр сведений. Нужно делать подчиненную настройку.
Там еще проблемы с маппингом будут, поэтому лучше всего - перед импортом и экспортом очищать контактную информацию как в тс так и в 1с (это если у вас двусторонняя интеграция).

Дмитрий, у меня только Экспорт в 1С.
"Нужно делать подчиненную настройку."
Можете показать пример как программно (в OnBeforeRecordExport ) это сделать?

Вот примерчик с одного из проектов, может поможет.

Экспорт:

function OnAfterRecordExport(Param, Dataset, Select1C) {
	//удалить  все адреса и средства связи	
	var ci1C = Param.Obj1C.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); 
	ci1C.Отбор.Объект.Установить(Select1C.Ссылка);
	//[не регистрируем изменения на стороне 1с	
	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');
			//[не регистрируем изменения на стороне 1с	
			ci1CMain.ОбменДанными.Получатели.АвтоЗаполнение = false;
			//]	
			try {				
			ci1CMain.Записать(false); } catch(e) {}
		}		
		ds.GotoNext();
	}
	ds.Close();					
	//Средства связи	
	var ds = Services.GetNewItemByUSI('ds_AccountCommunication');
	ApplyDatasetFilter(ds, 'AccountID', AccountID, true);
	ds.Open();
 
	//[найти одинаковые типы средств связи
	while(!ds.IsEOF) {
		var CommTypeID = ds('CommunicationTypeID');
		var indx = Contains(ObjExport.CommTypeArray, CommTypeID);
		if(indx == false && typeof indx == 'boolean') {
			ObjExport.CommTypeArray.push([ds('CommunicationTypeID'), ds('Number')]);
		} else {
			ObjExport.CommTypeArray[indx] = [CommTypeID, (ObjExport.CommTypeArray[indx][1] +';'+ ds('Number'))]; 
		}
		ds.GotoNext();
	} 	
	//] 
	var phone = '';	
	for (var i = 0; i < ObjExport.CommTypeArray.length; i++) {
		var ci1CMain = Param.Obj1C.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
		var ci1C = ci1CMain.Добавить();
		ci1C.Объект = Select1C.Ссылка;
		var CommunicationTypeID = ObjExport.CommTypeArray[i][0];		
		var Values = GetDatasetFieldValuesByIDEx('ds_CommunicationType', 
			CommunicationTypeID, ['UID1C', 'IsPhone']);
		if(IsEmptyValue(Values)) {
			continue;
		}
		if(Values('IsPhone')) {
			var ci1C2Main = Param.Obj1C.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
			var ci1C2 = ci1C2Main.Добавить();
			ci1C2.Объект = Select1C.Ссылка;		
			var met=Param.Obj1C.Метаданные.Перечисления.Найти("ТипыКонтактнойИнформации");
			var meta=met.ЗначенияПеречисления.Найти('Телефон');
			var metalink = Param.Obj1C.Перечисления.ТипыКонтактнойИнформации[meta.Имя];
			ci1C2.Тип = metalink;
			var CommunicationTypeUID1C = Values('UID1C');
			var CommunicationType1CLink;
			if(!IsEmptyValue(CommunicationTypeUID1C)) {
				CommunicationType1CLink = GetObjectLinkByUID(
					Param.Obj1C.Справочники.ВидыКонтактнойИнформации, 
					CommunicationTypeUID1C, Param);	
				ci1C2.Вид = !CommunicationType1CLink.Пустая() ? CommunicationType1CLink : null;
		    }
			phone = ObjExport.CommTypeArray[i][1];
			ci1C2.Представление = phone;	
			ci1C2.Поле3 = phone;
			try {
				//[не регистрируем изменения на стороне 1с	
				ci1C2Main.ОбменДанными.Получатели.АвтоЗаполнение = false;
				//]				
				ci1C2Main.Записать(false);	
			} catch(e) {}			
		} else {			
			var CommunicationTypeUID1C = Values('UID1C');
			var CommunicationType1CLink;
			if(!IsEmptyValue(CommunicationTypeUID1C)) {
				CommunicationType1CLink = GetObjectLinkByUID(
						Param.Obj1C.Справочники.ВидыКонтактнойИнформации, 
						CommunicationTypeUID1C, Param);	
				ci1C.Вид = !CommunicationType1CLink.Пустая() ? CommunicationType1CLink : null;
				ci1C.Тип = CommunicationType1CLink.Тип;
				ci1C.Представление = ObjExport.CommTypeArray[i][1];
				try {
					//[не регистрируем изменения на стороне 1с	
					ci1CMain.ОбменДанными.Получатели.АвтоЗаполнение = false;
					//]					
					try {
					ci1CMain.Записать(false); } catch(e) {}
				} catch(e) {}
			}	
		} 		
		ds.GotoNext();
	}	
	ds.Close();
}

Импорт:

function OnBeforeRecordImport(Param, Dataset, Select1C) {
	//очистка
	Obj.AccountID = Dataset('AccountID');
	if(Obj.IsTrue != true) {
		var dq = Services.GetNewItemByUSI('dq_clearAccountCommunication');
		SetParameterValue(dq.Parameters, 'AccountID', Obj.AccountID, true);
		dq.Execute();
		Obj.IsTrue = true;
	}
	//
	var Type1C = Param.Obj1C.XMLString(Select1C.Тип);	
	switch (Type1C) {
		case ('Телефон'):
			if(Param.Obj1C.String(Select1C.Вид) == 'Факсы') {
				if(Obj.IsThree != true) {
					ImportAccountUU.Position = 3;
					Obj.IsThree = true;	
				} else {
					ImportAccountUU.Position = 6;	
				}
				break;	
			}
			if(Obj.IsOne != true) {
				ImportAccountUU.Position = 1;
				Obj.IsOne = true;	
			} else if(Obj.IsTwo != true) {
				ImportAccountUU.Position = 2;
				Obj.IsTwo = true;	
			} else {
				ImportAccountUU.Position = 6;	
			}			
		break;
		case ('Факсы'):
			if(Obj.IsThree != true) {
				ImportAccountUU.Position = 3;
				Obj.IsThree = true;	
			} else {
				ImportAccountUU.Position = 6;	
			}				
		break;
		case ('ВебСтраница'):
			if(Obj.IsFour != true) {
				ImportAccountUU.Position = 4;
				Obj.IsFour = true;	
			} else {
				ImportAccountUU.Position = 6;	
			}
		break;
		case ('АдресЭлектроннойПочты'):
			if(Obj.IsFive != true) {
				ImportAccountUU.Position = 5;
				Obj.IsFive = true;	
			} else {
				ImportAccountUU.Position = 6;	
			}
		break;		
		default:
			ImportAccountUU.Position = 6;
			break;
	}	
	//ImportAccountUU.Position++;
	Dataset('Position') = ImportAccountUU.Position;	
	Dataset('RF') = 1;
	var CommunicationTypeID = Dataset('CommunicationTypeID');
	var Num = Dataset('Number');
	//Digits
	Dataset('Digits') = DigitsFromString(Num);
	var AccountID = Dataset('AccountID');
	Obj.AccountID = AccountID;	
	//разбивка	
	if(Num.indexOf(';') != -1) {
		var a = false;
		var b = false;		
		while(Num.indexOf(';') != -1) {
			Numb = Num.split(';');
			var NewNumber = Numb[0];
			var DS = Services.GetNewItemByUSI('ds_AccountCommunication');
			DS.DisableEvents();
			DS.Append();
			DS('ID') = Connector.GenGUID();
			DS('AccountID') = Dataset('AccountID');
			DS('Number') = NewNumber;
			DS('Digits') = DigitsFromString(NewNumber);
			DS('RF') = 1;
			DS('CommunicationTypeID') = Dataset('CommunicationTypeID');
			if(a == false) {
				DS('Position') = Dataset('Position');			
				a = true;
			} else if (b == false){
				DS('Position') = Dataset('Position') == 1 ? 2 : 6;			
				b = true;	
			} else {
				DS('Position') = 6;			
				b = true;	
			}
			if(!IsEmptyValue(DS('Number'))) {
				DS.Post();
			}
			Num = '';
			for(var i = 1; i < Numb.length; i++){
				if(i == Numb.length - 1) {
					Num += Numb[i];
				} else {
					Num += Numb[i] + ';';	
				}
			}
			if(Num.indexOf(';') == -1)	{
				DS.Append();
				DS('ID') = Connector.GenGUID();
				DS('AccountID') = Dataset('AccountID');
				DS('Number') = Num;
				DS('CommunicationTypeID') = Dataset('CommunicationTypeID');
				DS('RF') = 1;
				if(a == false) {
					DS('Position') = Dataset('Position');			
					a = true;
				} else if (b == false){
					DS('Position') = Dataset('Position') == 1 ? 2 : 6;			
					b = true;
					Obj.IsTwo = true;	
				} else {
					DS('Position') = 6;			
					b = true;	
				}
				if(!IsEmptyValue(DS('Number'))) {
					DS('Digits') = DigitsFromString(Num);
					DS.Post();
				}	
			}
		}
		return true;
	}
}

Т.е. экспорт - без подчиненной (на AfterRecordExport), а импорт с подчиненной (на скрине настройки)

Дмитрий, Спасибо!
Сделал Экспорт КонтакнойИнформации в 1С на AfterRecordExport. Все работает.
Вместо РегистрыСведений сделал:

var Contragent = Select1C.Ссылка.ПолучитьОбъект();
var newAddress= Contragent.КонтактнаяИнформация.Добавить();
newAddress.Представление = Communication4;
     ...
Contragent.Записать();

Т.к. 8.3 с РегистрыСведений как-то не работает.

Email пишет в 1С в нужное место в Представление, в ЗначениеПоле (XML формат) и т.п. И отображается на форме.
Но, только один момент который не работает - это предварительное удаление записей в КонтактнаяИнформация. Иначе одна и таже запись там будет накапливаться.
Код выше с удалением ("//удалить все адреса и средства связи"), не срабатывает.
Подскажите, как в моем случае удалить предварительно КИ?

Не могу попробовать... Так не работает?

var Contragent = Select1C.Ссылка.ПолучитьОбъект();
var ci1C = Contragent.КонтактнаяИнформация.СоздатьНаборЗаписей(); 
ci1C.Отбор.Объект.Установить(Select1C.Ссылка);        
ci1C.Записать();
Показать все комментарии