gifts2017

Формирование маршрута согласования через веб-сервис фоновым заданием на примере связки 1С ERP 2.0.10.115 и 1С Документооборот 1.4.1.10

Опубликовал Александр Соколов (mefalcon) в раздел Программирование - Практика программирования

Известно, что все типовые решения на 1С представляют собой приложение, неспособное обрабатывать несколько пользовательских задач одновременно. Например, после нажатия на кнопку, скажем, "Провести" в документе с табличной частью из 1000 строк пользователь может смело пойти попить кофе, если на запуск второго сеанса недостаточно пользовательских лицензий. Если таких "провести" в день много, это порядком надоедает. Хочется многозадачности. На помощь приходят всем в 1С мире известные фоновые задания, позволяющие распараллелить бизнес-логику на сервере. Эта технология уже активно применяется, но лишь при формировании отчетов, в большинстве типовых решений от 1С на управляемых формах. Нажав на кнопку сформировать, Вы наблюдаете на форме анимированную "гифку", подвижность которой свидетельствует об активности пользовательского интерфейса - его готовности принимать команды от пользователя. Эту технологию я решил применить в обработке "ИнтеграцияС1СДокументооборот", переписав алгоритм открытия формы СозданиеБизнесПроцесса с применением фоновых заданий. Основная часть алгоритма в файле обработки, в форме СозданиеБизнесПроцесса. Для его работоспособности необходимо выполнить действия по инструкции ниже.

Изменялся только код в форме СозданиеБизнесПроцесса.

Для работы обработки необходимо:

1)Открыть модуль объекта обработки, скопировать размещенный там код и разместить его в любом неглобальном общем модуле, который может быть выполнен на сервере.

2)Затем заменить в тексте модуля формы  СозданиеБизнесПроцесса строки "ИмяОбщегоМодуля" на наименование выбранного Вами общего модуля.

3)Подцепить обработку в конфигурацию.

4) Запуск процесса согласования возможен из документа, который указан в свойстве "Тип параметра команды"  общей команды ИнтеграцияС1СДокументооборотСоздатьБизнесПроцесс, либо любым удобным Вам способом (например своей кнопкой в документе)

Код команды ИнтеграцияС1СДокументооборотСоздатьБизнесПроцесс  вызывает открытие формы обработки СозданиеБизнесПроцесса:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

        ИнтеграцияС1СДокументооборотКлиент.СоздатьБизнесПроцесс(ПараметрКоманды);

 КонецПроцедуры

Процедура СоздатьБизнесПроцесс(СсылкаНаВнешнийОбъект = Неопределено, ГлавнаяЗадача = Неопределено, ОписаниеОповещенияОЗакрытии = Неопределено) Экспорт

// получение дерева шаблонов процессов.
Если ИнтеграцияС1СДокументооборотКлиентПовтИсп.ДоступенФункционалВерсииСервиса("1.2.6.2") Тогда
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ВнешнийОбъект",СсылкаНаВнешнийОбъект);
ПараметрыФормы.Вставить("ГлавнаяЗадача",ГлавнаяЗадача);
Оповещение = Новый ОписаниеОповещения("СоздатьБизнесПроцессЗавершение", ИнтеграцияС1СДокументооборотКлиент, ОписаниеОповещенияОЗакрытии);
ОткрытьФорму("Обработка.ИнтеграцияС1СДокументооборот.Форма.СозданиеБизнесПроцесса",ПараметрыФормы,,,,, Оповещение);
Иначе
ПоддержкаСовместимости_СоздатьБизнесПроцесс(СсылкаНаВнешнийОбъект);
КонецЕсли;

КонецПроцедуры

Скачать файлы

Наименование Файл Версия Размер
ИнтеграцияС1СДокументооборот 3
.epf 602,34Kb
26.07.16
3
.epf 602,34Kb Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа