При первоначальном обмене данными с 1С:
1. | Запустите сценарий Выполнить подготовку объектов 1С к загрузке в DIRECTUM. Сценарий регистрирует изменения всех объектов, включенных в план обмена, для выбранной системы 1С. Это необходимо, чтобы при синхронизации данных коннектор учитывал все данные объектов, в том числе измененные до настройки обмена с DIRECTUM. |
Если объекты не добавлены в план обмена, появляется соответствующее предупреждение.
Примечание
В дальнейшем сценарий запускается повторно при изменении состава объектов плана обмена.
2. | Запустите обмен данными в пакетном режиме. |
Первый обмен данными может выполняться долго, так как синхронизируются все записи из настроенных справочников. При следующих сеансах обмена будут синхронизироваться только измененные данные.
При повторном обмене данными запустите обмен:
• | в пакетном режиме, если необходимо синхронизировать все записи справочника; |
• | в online-режиме, если необходимо синхронизировать отдельно каждую измененную запись справочника. |
Обмен данными в online-режиме можно также запустить из системы 1С, для этого необходимо разработать вычисление на языке 1С для вызова сценария интеграции:
1. | Создайте процедуру LaunchDIRECTUMIntegrationAction: |
• | запустите конфигуратор 1С; |
• | в меню Конфигурация выберите пункт Открыть конфигурацию; |
• | в контекстном меню узла <Название конфигурации> выберите пункт Открыть модуль приложения (для тонкого клиента Открыть модуль управляемого приложения); |
• | в модуль приложения между описанием переменных и функций добавьте код процедуры: |
// Процедура запуска действия интеграции из DIRECTUM.
// Параметры:
// DIRECTUMSystemCode – код системы DIRECTUM;
// IntegrationAction – имя действия интеграции;
// AddParams – дополнительные параметры для действия интеграции.
Procedure LaunchDIRECTUMIntegrationAction(DIRECTUMSystemCode,
IntegrationAction, AddParams) Export
// Создать подключение к системе DIRECTUM.
ConnectionParams = "SystemCode=" + DIRECTUMSystemCode;
LoginPoint = GetCOMObject("", "SBLogon.LoginPoint");
DirectumApplication = LoginPoint.GetApplication(ConnectionParams);
// Получить сценарий выполнения действий интеграции
// и задать его параметры.
IntegrationActionScript = DirectumApplication.ScriptFactory.GetObjectByName("LaunchIntegrationAction");
IntegrationActionScript.Params.Add("Action", IntegrationAction);
IntegrationActionScript.Params.Add("AddParams", AddParams);
IntegrationActionScript.Execute();
EndProcedure
2. | Настройте обработку событий, в какой момент будет вызываться сценарий интеграции, например, при сохранении записи или при нажатии на кнопку. |
Выгрузка данных из системы DIRECTUM и загрузка в систему 1С в скрытом online-режиме
// Определить параметры. DIRECTUMSystemCode = "<Код системы DIRECTUM>"; IntegrationAction = "ImportDataToIntegratedSystem"; V8SystemCode = "<Код интегрированной системы 1С>"; ObjectName = "<Имя справочника системы 1С>"; ObjectGUID = <Уникальный идентификатор записи справочника 1С>; AddParams = "IntegratedSystemCode=" + V8SystemCode + ";Mode=Online;HiddenMode=-1;ObjectInfo=Справочник." + ObjectName + "." + ObjectGUID;
// Выполнить действие интеграции. LaunchDIRECTUMIntegrationAction(DIRECTUMSystemCode, IntegrationAction, AddParams); DIRECTUMSystemCode. Код системы DIRECTUM. V8SystemCode. Код записи справочника Интегрированные системы, в которой настроена синхронизация для данной системы 1С. ObjectName. Имя справочника системы 1С. ObjectGUID. Уникальный идентификатор записи справочника 1С. Это может быть код на языке 1С, который возвращает уникальный идентификатор текущего объекта. Например, Ссылка.УникальныйИдентификатор(). |
Загрузка данных из 1С в систему DIRECTUM в визуальном online-режиме с отключенными событиями
После загрузки данных будет выведено сообщение о завершении загрузки:
// Определить параметры. DIRECTUMSystemCode = "<Код системы DIRECTUM>"; IntegrationAction = "ExportDataFromIntegratedSystem"; V8SystemCode = "<Код интегрированной системы 1С>"; ObjectName = "<Имя справочника системы 1С>"; ObjectGUID = <Уникальный идентификатор записи справочника 1С>; AddParams = "IntegratedSystemCode=" + V8SystemCode + ";Mode=Online;DisableEvents=-1;HiddenMode=0;ObjectInfo=Справочник." + ObjectName + "." + ObjectGUID;
// Выполнить действие интеграции. LaunchDIRECTUMIntegrationAction(DIRECTUMSystemCode, IntegrationAction, AddParams);
DIRECTUMSystemCode. Код системы DIRECTUM. V8SystemCode. Код записи справочника Интегрированные системы, в которой настроена синхронизация для данной системы 1С. ObjectName. Имя справочника системы 1С. ObjectGUID. Уникальный идентификатор записи справочника 1С. Это может быть код на языке 1С, который возвращает уникальный идентификатор текущего объекта. Например, Ссылка.УникальныйИдентификатор(). |
Открытие окна со списком документов DIRECTUM, связанных с объектом системы 1С
// Определить параметры. DIRECTUMSystemCode = "<Код системы DIRECTUM>"; IntegrationAction = "OpenBoundEDocumentsList"; ObjectType = "<Тип объекта 1С>"; ObjectKey = "<Уникальный идентификатор объекта 1С>"; V8SystemCode = "<Код интегрированной системы 1С>"; AddParams = "IntegratedSystemCode=" + V8SystemCode + ";ObjectType=" + ObjectType + ";ObjectKey=" + ObjectKey;
// Выполнить действие интеграции. LaunchDIRECTUMIntegrationAction(DIRECTUMSystemCode, IntegrationAction, AddParams);
DIRECTUMSystemCode. Код системы DIRECTUM. ObjectType. Строка с типом объекта 1С. В зависимости от типа объекта 1С данная строка может иметь вид:
ObjectKey. Строка, которая уникально идентифицирует объект 1С. В качестве идентификатора может выступать:
V8SystemCode. Код записи справочника Интегрированные системы, в которой настроена синхронизация для данной системы 1С. |
Отправка объекта системы 1С вложением в задачу DIRECTUM
// Определить параметры. DIRECTUMSystemCode = ""<Код системы DIRECTUM>"; IntegrationAction = "SendExternalObjectAsTaskAttachment"; ObjectType = "<Тип объекта 1С>"; ObjectKey = "<Уникальный идентификатор объекта 1С>"; V8SystemCode = ""<Код интегрированной системы 1С>"; AddParams = "IntegratedSystemCode=" + V8SystemCode + ";ObjectType=" + ObjectType + ";ObjectKey=" + ObjectKey + ";HiddenMode=0";
// Выполнить действие интеграции. LaunchDIRECTUMIntegrationAction(DIRECTUMSystemCode, IntegrationAction, AddParams);
DIRECTUMSystemCode. Код системы DIRECTUM. ObjectType. Строка с типом объекта 1С. В зависимости от типа объекта 1С данная строка может иметь вид:
ObjectKey. Строка, которая уникально идентифицирует объект 1С. В качестве идентификатора может выступать:
V8SystemCode. Код записи справочника Интегрированные системы, в которой настроена синхронизация для данной системы 1С. |
3. | При обмене данными выполняется подключение к системе DIRECTUM. Если используется Windows-аутентификация, то подключение осуществляется от имени текущего пользователя. В остальных случаях для подключения к DIRECTUM будут запрошены имя и пароль пользователя. |
Выдайте права пользователю, от имени которого будет выполняться подключение к системе DIRECTUM:
• | справочник Интегрированные системы – права на изменение; |
• | справочник Настройки интегрированных систем – права на просмотр; |
• | все справочники, данные которых будут синхронизироваться, – полный доступ; |
• | сценарий Выполнить действие интеграции – выполнение. |
Примечание
При выдаче прав нужно учитывать, что в одном справочнике могут быть обращения к другим справочникам. В этом случае нужно выдавать права на изменение всех связанных справочников. Например, если синхронизируется справочник Работники, то при синхронизации будет изменяться также используемая им запись справочника Наши организации. На данный справочник также нужно выдавать права на изменение.
Пример настройки прав доступа на справочники при синхронизации работников:
• | Работники – полный доступ; |
• | Персоны – полный доступ; |
• | Подразделения – изменение; |
• | Подразделения организаций – изменение; |
• | Наши организации – изменение; |
• | Организации – изменение; |
• | Пользователи – изменение; |
• | Замещение пользователей – изменение; |
• | Форматы номеров записей справочников – чтение. |
4. | Для учетной записи операционной системы настройте права на запись в папки обмена. Путь до расположения папок указан в записи справочника Интегрированные системы. |
Чтобы проверить результаты обмена данными, откройте протокол выгрузки или загрузки. Для этого в справочнике Настройки обмена данными с интегрированными системами в группе «Загрузка в DIRECTUM» или «Выгрузка из DIRECTUM» перейдите по ссылке Протокол.
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |