Копировать ссылку на страницу
1.C помощью утилиты Импорт разработки системы DIRECTUM выполните импорт из папки дистрибутива:

DIT\Connector1C<Номер версии 1С>\Dev

2.С помощью сценария Импорт записей справочников выполните импорт записей из XML-файла:

DIT\Connector1C<Номер версии 1С>\Templates\Acc20\Template1C<Номер версии 1С>.xml

Например, файл Template1C82.xml для коннектора к системе 1С версии 8.2.

Во время импорта в окне «Выбор справочников для импорта» укажите справочники Интегрированные системы и Настройки обмена данными с интегрированными системами:

Щелкните для увеличения изображения

3.В справочнике Интегрированные системы откройте карточку импортированной на предыдущем шаге записи. Наименование записи соответствует наименованию конфигурации 1С. Например, запись «1С:Бухгалтерия предприятия 2.0».
4.В карточке:
на закладке «Настройки системы» в табличной части «Параметры» укажите параметры подключения к системе 1С. Подробнее о параметрах см. в разделе «Параметры интегрированной системы».
на закладке «Настройки обмена данными»:

Щелкните для увеличения изображения

в поле *Файлы обмена укажите каталог для хранения файлов обмена;
в поле *Протоколы укажите каталог для хранения протоколов обмена;
в группе «Выгрузка из DIRECTUM» перейдите по ссылке Настроить.
5.В открывшемся списке записей справочника Настройки обмена данными с интегрированными системами последовательно для каждой записи создайте текст XSL-преобразования. Для этого:
откройте карточку записи;
на вкладке Главная в группе XSL нажмите на кнопку Создать.
6.Доработайте текст XSL-преобразования для соответствия объекта DIRECTUM Договоры объекту системы Договоры контрагентов:
в карточке записи данного соответствия на вкладке Главная в группе XSL нажмите на кнопку Редактировать;
измените список ключевых реквизитов. Для этого фрагмент преобразования

 

' Список ключевых реквизитов системы DIRECTUM для каждого справочника
 ListOfDIRECTUMKeyRequisitesNames = Array(Array("НашаОрг2", "Организация", "Персона", "Реквизит2", "Дата"), Array("IntNumber3"), Array("Наименование"), Array("Наименование"), Array("Наименование"), Array("Наименование", "Дата"), Array("НашаОрг", "Наименование"))
' Список ключевых реквизитов интегрируемой системы для каждого справочника
 ListOfIntegratedSystemKeyRequisitesNames = Array(Array("Организация", "Owner", "Owner", "Номер", "Дата"), Array("Code"), Array("Description"), Array("Description"), Array("Description"), Array("Description", "ДатаРождения"), Array("Организация", "Description"))

 

замените на код:

 

' Список ключевых реквизитов системы DIRECTUM для каждого справочника
 ListOfDIRECTUMKeyRequisitesNames = Array(Array("НашаОрг2", "Организация", "Персона", "Реквизит2", "Дата"), Array("IntNumber3"), Array("Наименование"), Array("Наименование"), Array("Наименование"), Array("Наименование"), Array("НашаОрг", "Наименование"))
' Список ключевых реквизитов интегрируемой системы для каждого справочника
 ListOfIntegratedSystemKeyRequisitesNames = Array(Array("Организация", "Owner", "Owner", "Номер", "Дата"), Array("Code"), Array("Description"), Array("Description"), Array("Description"), Array("НаименованиеПолное"), Array("Организация", "Description"))

 

измените преобразование реквизита Owner. Для этого фрагмент кода

 

<Owner xsi:type="CatalogRef.Контрагенты"><xsl:value-of select='ext:GetIntegratedSystemRecordUUID(Requisite[@Name="Организация"], $DataCache)' />

</Owner>

 

замените на код:

 

<Owner xsi:type="CatalogRef.Контрагенты">

 <xsl:choose>

   <xsl:when test='Requisite[@Name="Организация"]=""'>

     <xsl:value-of select='ext:GetIntegratedSystemRecordUUID(Requisite[@Name="Персона"], $DataCache)' />

   </xsl:when>

    <xsl:otherwise>

     <xsl:value-of select='ext:GetIntegratedSystemRecordUUID(Requisite[@Name="Организация"], $DataCache)' />

   </xsl:otherwise>

 </xsl:choose>

</Owner>

 

7.Доработайте текст XSL-преобразования для соответствия объекта DIRECTUM Организации объекту системы Контрагенты:
в карточке записи данного соответствия на вкладке Главная в группе XSL нажмите на кнопку Редактировать;
измените преобразование реквизита Ref. Для этого фрагмент кода

 

<Ref>
 <xsl:value-of
    select="ext:GetIntegratedSystemRecordUUID($RecordID, $DataCache)"/>
</Ref>

 

замените на код:

 

<xsl:variable name="Ref"
select='ext:GetIntegratedSystemRecordUUID($RecordID, $DataCache)'/>
<Ref>
 <xsl:value-of select="$Ref"/>
</Ref>

 

измените преобразование реквизита ГоловнойКонтрагент. Для этого фрагмент кода

 

<ГоловнойКонтрагент><xsl:value-of
select='ext:GetIntegratedSystemRecordUUID(Requisite[@Name="Организация"], $DataCache)'/>
</ГоловнойКонтрагент>

 

замените на код:

 

<xsl:variable name='Org'
select='ext:GetIntegratedSystemRecordUUID(Requisite[@Name="Организация"],
  $DataCache)'/>
<ГоловнойКонтрагент>
 <xsl:choose>
 <xsl:when test='$Org="00000000-0000-0000-0000-
  000000000000"'><xsl:value-of select='$Ref'/></xsl:when>
 <xsl:otherwise><xsl:value-of
  select='$Org'/></xsl:otherwise>
 </xsl:choose>
</ГоловнойКонтрагент>

 

8.Доработайте текст XSL-преобразования для соответствия объекта DIRECTUM Контактные лица организаций объекту системы Контактные лица:
в карточке записи данного соответствия на вкладке Главная в группе XSL нажмите на кнопку Редактировать;
измените преобразование для реквизита ОбъектВладелец. Для этого фрагмент кода

 

<ОбъектВладелец>

 

замените на код:

 

<ОбъектВладелец xsi:type="CatalogRef.Контрагенты">

 

9.Доработайте текст XSL-преобразования для соответствия объекта DIRECTUM Контактные лица организаций объекту системы Контактная информация:
в карточке записи данного соответствия на вкладке Главная в группе XSL нажмите на кнопку Редактировать;
замените код функции GetDataCache на фрагмент кода

 

Function GetDataCache(XMLDocumentElement)

' В следующих списках первый элемент должен обязательно относиться к синхронизируемому справочнику.
' Имя синхронизируемого и связанных с ним справочников DIRECTUM.
 ListOfDIRECTUMReferenceName = Array("КНТ", "КНТ", "ОРГ", "ПРС")
' Имя синхронизируемого и связанных с ним справочников интегрируемой системы.
 ListOfIntegratedSystemReferenceName = Array("КонтактнаяИнформация", "КонтактныеЛица", "Контрагенты", "ФизическиеЛица")
' Тип синхронизируемого и связанных с ним объектов интегрируемой системы.
 ListOfIntegratedSystemObjectType = Array("InformationRegister", "Reference", "Reference", "Reference")
' Список ключевых реквизитов системы DIRECTUM для каждого справочника.
 ListOfDIRECTUMKeyRequisitesNames = Array(Array("КонтактноеЛицо", "Тип", "Вид"), Array("Наименование"), Array("Наименование"), Array("Наименование", "Дата"))
' Список ключевых реквизитов интегрируемой системы для каждого справочника.
 ListOfIntegratedSystemKeyRequisitesNames = Array(Array("Объект", "Тип", "Вид"), Array("Description"), Array("Description"), Array("Description", "ДатаРождения"))

 

измените настройки реквизитов. Для этого фрагмент преобразования:

 

Set RefRequisites = XMLDocumentElement.item(0).selectNodes("//Object[@Name=""" +
 ListOfDIRECTUMReferenceName(0) + """]//Requisite[@Type=""Reference""]")

 

замените на код:

 

Set RefRequisites = XMLDocumentElement.item(0).selectNodes("//Object[@Name=""" +
 ListOfDIRECTUMReferenceName(0) + """]//Requisite[@Type=""Reference"" or @Name=""КонтактноеЛицо""]")

 

измените преобразование для реквизита Объект. Для этого фрагмент преобразования (встречается в двух местах)

 
<Объект>
 ...
</Объект>

 

замените на код:

 

<Объект xsi:type="CatalogRef.КонтактныеЛица">
   <xsl:value-of
    select='ext:GetIntegratedSystemRecordUUID(Requisite[@Name="КонтактноеЛицо"],
       $DataCache)' />
</Объект>

 

измените преобразование для реквизита Вид. Для этого фрагмент кода (встречается в двух местах)

 

<Вид>

 

замените на код:

 

<Вид xsi:type="CatalogRef.ВидыКонтактнойИнформации">

 

после кода:

 

Call ScriptControl.AddObject("VApp", VApp)
Set CurrentCatalog = ScriptControl.Eval("VApp." + MetaDataObjectsName + "." +
 IntegratedSystemReferenceName)

 

вставьте фрагмент:

 

Set ContactKind =
 ScriptControl.Eval("VApp.Catalogs.ВидыКонтактнойИнформации.
   ТелефонКонтактногоЛица")
ContactKindUUID = VApp.String(ContactKind.UUID())

 

после кода:

 

Set DestXMLRecordNode = CreateXMLElement("Record", "", Array("ID"), Array(SourceXMLRecordID), CatalogData)

 

вставьте фрагмент:

 

' Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтактногоЛица
Set XMLRequisiteNode = CreateXMLElement("Requisite", ContactKindUUID,
Array("Name"), Array("Вид"), CatalogData)
Call DestXMLRecordNode.appendChild(XMLRequisiteNode)

 

10.Доработайте текст XSL-преобразования для соответствия объекта DIRECTUM Работники объекту системы Сотрудники организации:
в карточке записи данного соответствия на вкладке Главная в группе XSL нажмите на кнопку Редактировать;
фрагмент кода:

 

 ListOfIntegratedSystemReferenceName = Array("СотрудникиОрганизаций", "ДолжностиОрганизаций", "Организации", "ПодразделенияОрганизаций", "Контрагенты")

 

замените на код:

 

 ListOfIntegratedSystemReferenceName = Array("СотрудникиОрганизаций", "ДолжностиОрганизаций", "Организации", "ПодразделенияОрганизаций", "ФизическиеЛица")

 

11.Доработайте текст XSL-преобразования для соответствия объекта DIRECTUM Персоны объекту системы Контрагенты:
в карточке записи данного соответствия на вкладке Главная в группе XSL нажмите на кнопку Редактировать;
фрагмент кода:

 

WherePart = WherePart + "C." + IntegratedSystemRequisiteName + " = """ + Join(Split(RequisiteValue, """"), """""") + """ and" + CR

 

замените на код:

 

If IntegratedSystemRequisiteName = "НаименованиеПолное" Then
 WherePart = WherePart + "C." + IntegratedSystemRequisiteName + " ПОДОБНО """ + Join(Split(RequisiteValue, """"), """""") + """ and" + CR
Else
 WherePart = WherePart + "C." + IntegratedSystemRequisiteName + " = """ + Join(Split(RequisiteValue, """"), """""") + """ and" + CR
End If

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM