logo

[ELMA3] Запуск бизнес-процесса из 1С

В данной статье рассмотрен пример запуска бизнес-процесса из 1С.

Для запуска бизнес-процесса из 1С необходимо:

1. В 1С 8.2 открыть в конфигураторе дерево метаданных нужной конфигурации, зайти в раздел Общие - WS-ссылки, нажать кнопку Добавить и в появившееся окно вставить адрес WS-ссылки.

Вид WS-ссылки:
адрес_сервера/Modules/EleWise.ELMA.Workflow.Processes.Web/WFPWebService.asmx?WSDL/

В данном примере используется следующий адрес WS-ссылки:
http://127.0.0.1:8007/Modules/EleWise.ELMA.Workflow.Processes.Web/WFPWebService.asmx?WSDL

Рисунок 1.Создание WS-ссылки

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

Для подключения к сервису используется метод СоздатьWSПрокси:

  • В первом параметре передается URL пространства имен.

Данный параметр определяет название набора пространства имен: названий веб-сервиса, операций, параметров, типов данных и т.д.

URL-пространства имен указан в разделе WS-ссылка − Модель данных − Пакет.

В примере используется пространство имен

http://www.elma-bpm.ru/WFPWebService/

  • Второй параметр − Наименование Web-сервиса. Оно указано в разделе WS-ссылка − Web-сервисы. В данном случае наименованием

Web-сервиса является WFPWebService.

Рисунок 3.Наименование Web-сервиса

  • Далее предается Наименование Порта, оно указано в разделе WS-ссылка − Web-сервисы − WFPWebService. В примере наименованием порта является WFPWebServiceSoap.

Рисунок 4. Наименование Порта

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

Логин и пароль – это логин и пароль пользователя в системе ELMA.

Токен процесса – это ключ процесса. Каждый бизнес-процесс имеет уникальный ключ, который нужен, во-первых, для идентификации бизнес-процесса, во-вторых, для обеспечения безопасности.

Наименование контекстной переменной должно быть в точности такое же, как наименование переменной, объявленной в процедуре внешней обработке при определении параметров метода.

Рисунок 5. Необходимые параметры для запуска процесса

2. Создать в 1С внешнюю обработку, которая позволяет запустить бизнес-процесс через Web-сервис WorkflowRun и передать необходимые данные. Пример текста процедуры внешней обработки:

// создание подключения к Web-сервису
URI = "http://www.elma-bpm.ru/WFPWebService/";
НаименованиеВебСервиса = "WFPWebService";
НаименованиеПорта = "WFPWebServiceSoap";
Сервис = WSСсылки.WSСсылка1.СоздатьWSПрокси(URI, НаименованиеВебСервиса, НаименованиеПорта);
Фабрика = Сервис.ФабрикаXDTO;
Пакет = Фабрика.Пакеты.Получить(URI);
//получение типов параметров
ТипWebData = Пакет.Получить("WebData");
 
ТипWebDataItem = Пакет.Получить("WebDataItem");
 ТипArrayWebDataItem = Пакет.Получить("ArrayOfWebDataItem");
 WebDataItem = Фабрика.Создать(ТипWebDataItem, );
 WebDataItem.Name = "Name"; //где "Name" –это имя свойства контекстной переменной процесса
 WebDataItem.Value = "Значение Контекстной Переменной"; //задаем значение Контекстной Переменной "Name"
 ItemsArr = Фабрика.Создать(ТипArrayWebDataItem, );
 ItemsArr.WebDataItem.Добавить(WebDataItem);
 WebData = Фабрика.Создать(ТипWebData, );
 WebData.ItemsArr = ItemsArr;
 UserName = "admin";
 Password = "";
 Token = "3c102c4f-910e-4d68-99e3-26d0ff3a6ad1";
 ProcessName = "Наименование экземпляра процесса";
 //Запуск процесса
IdInstance = Сервис.Run(UserName, Password, Token, ProcessName, WebData); //Метод возвращает Id запущенного процесса

3. Затем открыть в конфигураторе файл созданной внешней обработки и проверить, правильно ли указано имя WS-ссылки, путь до файла конфигурации, а также правильно ли указаны входные переменные для метода Run.

Прикрепленные файлы