Top.Mail.Ru
Заказать консультацию
специалиста 1С
Отправить заявку

Бесшовная интеграция

Власов Денис Посмотреть все статьи >> Специалист по внедрению 1С партнёрской сети "ИнфоСофт".
25.01.2024
2064
Время прочтения - 7 мин.
Заказать консультацию

1С:Документооборот (далее – ДО) это программный продукт предназначенный для облегчения и автоматизации внутреннего круговорота документов в организации. Удобно, когда для согласования командировки или приказа на отпуск нет необходимости обходить множество кабинетов и этажей для сбора необходимых подписей, а достаточно только завести этот документ в ДО, отправить по необходимому процессу согласования и получить подписанный и согласованный документ. В 2022 году фирма 1С выпустила новую версию конфигурации ДО, а именно, редакцию 3.0. С выпуском нового релиза развитие функциональности конфигурации ДО редакции 2.1 прекратилось, и новые пользователи, которых интересует функциональность именно КОРП версии, как правило, подключают себе именно ДО 3.0, так как стоимость КОРП версий у 2.1 и 3.0 не отличаются, но новый функционал будет появляться только в последней.

Также важный факт, что, как правило, ДО это не единственная учетная система компании. В любой из версий ДО есть возможность настроить бесшовную интеграцию между ней и большинством стандартных решений 1С:Предприятие 8. Бесшовная интеграция позволяет пользователю не переключаться между базой ДО и интегрируемой системой (далее ИС), а вести деятельность непосредственно в ИС, а именно: создавать документы в ДО, выполнять задачи, запускать и контролировать процессы согласования и т.д. И все это не входя в базу ДО.

В данной статье будут рассмотрены некоторые ситуации при работе с бесшовной интеграцией между базами ДО 3.0 и ИС, которые, казалось бы, решаются очень просто, но, тем не менее, потребовали некоторого времени на их разбор.

Настройка интеграции происходит Администрирование -> Интеграция с 1С: Документооборотом (на стороне ИС) и Настройка -> Настройки интеграции (на стороне ДО). По сравнению с бесшовной интеграцией в ДО 2.1, в ДО 3.0 необходимо, чтобы помимо базы ДО была опубликована на web сервере так же и база ИС.

Первоначально правила интеграции создаются на стороне ДО. Создаем новое правило:

1й.png

Указываем интегрируемые объекты.

2й.png

Заполняем соответствие реквизитов, записываем. 1С предложит создать связанное правило в ИС, соглашаемся.

3й.png

Соответствующие настройки проводим со стороны ИС. Находим нужный объект интеграции и открываем существующие правила, видим автоматически созданное правило.

4й.png

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


Проблема обновления реквизитов

Изначально механизмом бесшовной интеграции предусмотрена возможность обновлять реквизиты в связанных объектах между ДО и интегрированной системой. Для этого на форме настройки бесшовной интеграции устанавливаем галку «Обновлять связанные объекты» и в правилах интеграции у необходимых реквизитов ставим галку «Обновлять».

5й.png

6й.png

В тех случаях, когда по какой-то причине данные не обновляются, стоит обратить внимание на следующие моменты:

1) Отрабатывают ли регламентные задания по расписанию в обеих базах. В базе ДО за это отвечает регламентное задание «Обмен данными с интегрированными системами», а в интегрируемой - «Обмен данными с 1С:Документооборотом».

2) Проверить, нет ли зафиксированных ошибок по данному объекту. Ошибки можно отследить в регистре сведений «Очередь сообщений в интегрированные системы» (со стороны ДО) и в регистре сведений «Очередь сообщений в 1С:Документооборот» (со стороны ИС). В ДО попасть в регистр можно из формы настройки бесшовной интеграции.

 7й.png

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

8й.jpg

Подпишитесь на дайджест!
Подпишитесь на дайджест, и получайте ежемесячно подборку полезных статей.

Работа с внутренним языком при бесшовной интеграции

При настройке правил интеграции со стороны ИС может возникнуть потребность обрабатывать заполнение реквизитов на встроенном языке. Для начала нужно определить, какие свойства объектаXDTO передаются при интеграции.

Во-первых, список свойств перечислен в справочной информации, но она может оказаться неактуальной. Так, например, свойства источника «recipient» - получатель не существует, и при попытке обратиться к этому свойству возникнет ошибка.

 9й.png

Во-вторых, список актуальных свойств можно получить, выполнив следующий код:

//Когда Источник - ОбъектXDTO
Свойства = Параметры.Источник.Свойства();

  Для Каждого Свойство Из Свойства Цикл;
         Сообщить(Свойство);
КонецЦикла;

  //Когда Источник – Структура
Для Каждого Свойство Из Источник Цикл;
         Сообщить(Свойство);
КонецЦикла;

Нажимаем «Проверить» и в сообщениях видим все актуальные свойства, среди них находим свойство «correspondent», это и есть наш получатель.

й.png

Если перейти по гиперссылке к любому из свойств, будет открыто описание веб-сервисов с перечисленными классами и их свойствами, находим там класс «correspondent» и ознакомимся с его свойствами.

 11й.png

Теперь можем, например, найти контрагента в базе ИС по реквизиту «ИНН».

Источник = Параметры.Источник;
Параметры.Результат = "";
Если Источник.Установлено("correspondent") Тогда //Когда Источник - ОбъектXDTO
Если НЕ Источник.Correspondent = Неопределено Тогда // Когда Источник - Структура
 Параметры.Результат=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",Источник.Correspondent.Получить("Inn"));
КонецЕсли

Бывает ситуация, когда не удается установить прямую связь данных, например, в интеграционной системе в документе «Платежное поручение» статья расходов — это реквизит документа (Справочник ссылка Статьи движения ДДС), а то время как в ДО, Статьи ДДС это табличная часть с реквизитом «Статья ДДС». В данном случае тоже нужно использовать выражение на встроенном языке. Для работы с табличной частью можно использовать следующий код:

 

Источник = Параметры.Источник;
Параметры.Результат = "";
Если Источник.Установлено("cashFlowRows") Тогда //Когда Источник - ОбъектXDTO
Если НЕ Источник.cashFlowRows = Неопределено Тогда //Когда Источник - Структура
         ТЧ = Источник.cashFlowRows.ПолучитьСписок("rows");
         Для Каждого Строка Из ТЧ Цикл
                   Параметры.Результат = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию(Строка.Item.Получить("Name"));
         КонецЦикла;
КонецЕсли;
 

12й.png

И рассмотрим ситуацию, когда есть необходимость обрабатывать значение Дополнительного реквизита в ДО. Для обхода дополнительных реквизитов источника воспользуемся кодом:

  Для Каждого ДопСвойство Из Параметры.Источник.additionalProperties Цикл
    Если ДопСвойство.name = "Название доп реквизита" Тогда                                  
        Параметры.Результат = ДопСвойство.propertySimpleValue; //если доп свойство простой тип
        Параметры.Результат = ДопСвойство.propertyObjectValue; //если доп свойство объект
    КонецЕсли;
КонецЦикла;
 

Название дополнительного реквизита прописано в справочной информации.

 13й.png

В данной статье были рассмотрены некоторые ситуации, с которыми можно столкнуться при работе с бесшовной интеграцией между базами ДО 3.0 и ИС.




Заказать консультацию специалиста 1С
Оставьте заявку и наши эксперты проконсультируют вас по данной статье.
Отправить заявку
Рассказать друзьям
1С:Документооборот
Вам может быть интересно: