В версии 5.5 разработан новый коннектор к учетной системе «1С:Предприятие», который позволит упростить внедрение механизма интеграции в любой организации.
Со стороны DIRECTUM коннектор использует механизмы набора средств интеграции (DIT). Со стороны 1С мы выбрали механизм Универсальный механизм обмена данными в формате XML. Этот механизм широко используется самой 1С для обмена между базами 1С с различными конфигурациями, т.е. с разной прикладной разработкой, что схоже с нашей ситуацией:
Условно можно сказать, что до DIRECTUM 5.5 использовался коннектор к 1С версии 1.0. Сейчас мы выпустили коннектор к 1С версии 2.0. В системе он называется так:
Почему решили изменить коннектор? Коннектор версии 1.0 перестал покрывать встречающиеся сценарии использования на проектах внедрения. Организации дорабатывали его под себя либо разрабатывали собственную интеграцию с 1С.
Мы хотим, чтобы работа в системе была вам понятна на всех этапах использования.
В справочнике Интегрированные системы вынесли общие настройки на одну закладку:
Если вы не подготовили папки для настройки обмена, то они создадутся сами при синхронизации. Просто укажите нужный путь в полях *Файл обмена и *Протоколы.
Поле Код теперь блокируется от изменений, если обмен данными был выполнен хотя бы раз. Это нужно, чтобы не разорвать связи объектов 1С и DIRECTUM по GUID-ИД. Связи хранятся в разрезе кодов интегрированных систем.
Сократилось количество параметров с 22 до 12, что также упрощает настройку.
Теперь при выполнении сеанса обмена настройки применяются в той очередности, которую задает разработчик в поле Очередность. Чем меньше значение, тем раньше применится настройка.
XSL-преобразования в новом коннекторе нет, есть правила преобразования. Текст правил генерируется автоматически после каждого сохранения измененной настройки, например, состава реквизитов. Вручную делать ничего не нужно.
Если все же возникла необходимость изменить текст преобразования, то автогенерация текста отключится, об этом уведомит система:
Подсказка в записях сохраняется. Таким образом разработчик всегда может видеть, в каких настройках обмена внесены ручные изменения.
При ручном формировании текста преобразования по кнопке Сгенерировать запись с настройкой переходит в режим редактирования, поэтому заданные настройки в любой момент можно откатить. Ранее она сохранялась сразу.
В новом коннекторе используется механизм событий. События — это своеобразные точки расширения коннектора. Они применяются, когда не хватает возможностей визуальной настройки. В коннекторе 1.0 тоже были предпосылки к созданию событий – это кнопка Установить фильтр и реквизит «Сценарий DIRECTUM». В новом коннекторе они переехали на закладку «События и фильтры», и сам список событий и фильтров существенно расширился.
Добавлено поле Наименование настройки обмена данными для удобства обращения к записи. Вдобавок это позволило оптимизировать процесс импорта настроек обмена. Ранее этот процесс был менее прозрачным, и при переносе настроек обмена могли создаваться дубли. Теперь записи с настройками обмена определяются по Наименованию и по Интегрированной системе.
Вынесли поля Тип объекта DIRECTUM и Тип объекта системы, чтобы проще определять, для каких типов объектов настраивается синхронизация. Например, в 1С объект Статьи затрат может являться как справочником, так и планом видов характеристик.
В окне выбора объекта системы и реквизита 1С добавлены колонки Имя типа объекта и Имя раздела. Значения полей пригодятся при написании вычислений на реквизитах или в событиях.
На этапе разработки интеграции, в начале тестовой или опытно-промышленной эксплуатации рекомендуется включать режим отладки. Он поможет быстрее разобраться при возникновении ошибок обмена. Чтобы включить режим отладки, в параметре интегрированной системы DebugMode установите значение Да. А также задайте параметр SaveExchangeFiles для сохранения временных файлов.
Отладка при загрузке данных в DIRECTUM
Если при загрузке данных в DIRECTUM возникли ошибки, ищите причину ошибок в лог-файле. Если сведений недостаточно, вы можете посмотреть:
При отладке особое внимание уделите колонке ID. Если запись нужно обновить в DIRECTUM, то эта колонка должна быть заполнена. Если запись нужно создать, то колонка не заполняется. Если колонка ID заполнена не так как ожидает разработчик, то нужно проверить, что алгоритм поиска записей в DIRECTUM удовлетворяет поставленным требованиям.
По умолчанию система выполняет поиск записей по GUID-ИД и по ключевым реквизитам, если они заданы. Если запись не найдена, то создается новая. Ошибки могут возникать из-за отсутствия связей GUID-ИД, когда они ожидаются по алгоритму, либо задана неуникальная комбинация ключевых реквизитов.
Разработчик может переопределить алгоритм поиска записей с помощью события «Перед загрузкой в DIRECTUM», тогда ошибки обмена надо искать в вычислениях этого события.
Записи, которые не загрузились, попадут в очередной сеанс обмена.
Отладка при выгрузке данных из DIRECTUM
Ошибки выгрузки также записываются в лог-файл. Дополнительно вы можете проверить:
Развитие нового коннектора продолжится в следующей версии 5.6. Мы ожидаем от вас обратной связи и желаем успешной настройки интеграции!
Чтобы узнать больше о новинках, обратитесь к закрепленному менеджеру или воспользуйтесь формой «Заказать демонстрацию» на нашем сайте.
Спасибо за новый коннектор, описано много ожидавшихся изменений. Есть комментарий и вопрос:
1) Несмотря на документацию 1С, GUID объектов в рамках одной конфигурации не всегда уникален, поэтому закладываться лишь на него не совсем правильно. Разработчики 1С не могут менять присвоенный системой GUID, но могут установить требуемый GUID при создании новой записи, чем иногда и пользуются.
2) Планируется ли развитие возможностей коннектора/интеграции в сторону использования веб-сервисов 1С?
3) По возможности, опишите, пожалуйста, детальнее правильный с вашей точки зрения порядок перевода настроек коннектора с версии 1.0 на 2.0 (хотя бы коробочных/типовых настроек).
На первый вопрос могу ответить я, в новом коннекторе есть событие «Перед загрузкой в DIRECTUM», которое позволяет прикладному разработчику на ISBL переопределить поиск записи по любой комбинации реквизитов и/или другим условиям. Если выполняется заданный разработчиком алгоритм поиска, то стандартные механизмы игнорируются
1. По первому вопросу еще дополню. В 1С в рамках одного справочника GUID будет уникальным, поэтому связи GUID 1С - ID DIRECTUM хранятся в разрезе метаданных 1С. Записи с одинаковыми GUID из разных справочников 1С коннектор обработает корректно.
2. Текущую архитектуру коннектора вполне можно адаптировать под веб-сервисы 1С. Информации о появлении в стандартной версии такой возможности пока нет. Данные работы могут быть выполнены по запросу заказчиков в рамках внедрения или сопровождения.
3. Что нужно учитывать при переходе на новый коннектор.
Во-первых, для ранее синхронизированных записей нужно заполнить таблицу IntegratedSystemsObjectLinks. Описание структуры таблицы приведено в справке.
Во-вторых, настройки обмена находящиеся в разных направлениях обмена можно переводить в разное время.
В-третьих, если справочники связанны между собой и синхронизируются в одном направлении, то переводить их нужно одновременно.
В-четвертых, начинать рекомендуется с более простых справочников.
Например, в DIRECTUM имеется одна интегрированная система для 1С ERP. В ней настроена загрузка из 1С в DIRECUTM Орг. структуры (Подразделения, Персоны, Работники), и настроена выгрузка из DIRECTUM в 1С Контрагентов и Договоров. Т.к. в настройке обмена договоров есть реквизит Контрагент, т.е. справочники связанные, то Договора и Контрагенты нужно переводить одновременно, аналогично и с орг. структурой. Поэтому порядок перевода может быть следующим:
Авторизуйтесь, чтобы написать комментарий