Документооборот: Сложный порядок выполнения в Комплексных процессах, включающий сложные комбинации групп И и ИЛИ

09.09.15

Функциональные - Документооборот и делопроизводство (СЭД)

Комплексные процессы состоят из под-процессов «этапы». Эти «этапы» могут запускаться после «старта процесса» или выполнения других «этапов».
Что мы имеем:
Если этап должен выполниться, когда выполнился весь «набор этапов», то выбираем вариант «Стартовать действие после выполнения всех отмеченных ниже действий».
Если этап должен выполниться, когда достаточно выполнения одного этапа из «набора этапов», то выбираем «Стартовать действие после выполнения любого из отмеченных ниже действий».
По сути первое – это логическое И, а второе – это логическое ИЛИ.
Проблема: Комбинация наборов этапов из блоков И и блоков ИЛИ на уровне расстановки галочек (в форме "НастройкаПредшественниковЭтапаКомплексногоПроцесса") не доступна.
В статье предлагается способ настройки таких процессов, подразумевающий незначительную доработку 1С:Документооборот КОРП (1 фоновое задание и 1 константа).

Способы решения:
1) Условие маршрутизации. К каждому из этапов можно (в том числе с широкими возможностями языка 1С) приписать условие. Чтобы сгруппировать таким образом блоки И и блоки ИЛИ надо будет написать приличный код на языке 1С. Этот код надо будет поддерживать от версии к версии и он будет не простым ИМХО.

2) Создать роль (скажем Робот) и автоматически «Выполнять» все задачи (фоновым заданием), которые с этой ролью. Код фонового задания элементарнейший. Это даёт нам возможность в качестве этапов группировать наборы в блоки И и блоки ИЛИ. А уже результат их выполнения использовать для решения задачи "Сложного порядка выполнения". На мой взгляд это так же выглядит нагляднее и проще в настройке, чем вариант 1), но, возможно, более затратно по ресурсам (не тестировали, т.к. в конкретном внедрении более низкая стоимость решения и последующей поддержки важнее). Даже продвинутый пользователь сможет это освоить при необходимости. Всё что нужно указать роль исполнителя Робот в таком этапе.

3) возможно, я что то упустил - предлагайте свои варианты решения задачи, решительно)

4) дождаться дружеского интерфейса от 1С, если фирма 1С посчитает полезным таковой разработать. В Условиях маршрутизации аналогичные группировки (+ группировка НЕ) реализованы и это очень удобно. В 1С пожелание такое зафиксировано и на фейсбуке утверждают, что приоритет его после моей публикации повысился (что это значит и есть ли у нас шансы сами понимаете - без гарантий, но надежда есть), пруф.

Принтскрин части одного из шаблонов процесса (старая версия из тестовой базы) прилагается.

 

Собственно сам код фонового задания:

Процедура ПроталкиваниеЗадачРобота()
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Задачи.Ссылка
	|ИЗ
	|	Задача.ЗадачаИсполнителя КАК Задачи
	|ГДЕ
	|	НЕ Задачи.Отменена
	|	И НЕ Задачи.Выполнена
	|	И Задачи.РольИсполнителя = &РольИсполнителя
	|	И Задачи.БизнесПроцесс.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Прерван)";
	
	Запрос.УстановитьПараметр("РольИсполнителя", Константы.grdРольРобот.Получить());	
	РезультатЗапроса = Запрос.Выполнить();
	
	Если НЕ РезультатЗапроса.Пустой() Тогда
		Выборка = РезультатЗапроса.Выбрать();
		
		НачатьТранзакцию();
		Пока Выборка.Следующий() Цикл
			тЗадача = Выборка.Ссылка.ПолучитьОбъект();
			тЗадача.ВыполнитьЗадачу();
		КонецЦикла;
		ЗафиксироватьТранзакцию();
	КонецЕсли;
КонецПроцедуры

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Бухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот! Покупайте в Инфостарт и получайте 15% бонусов на наши услуги, сервисы и мероприятия!

63100 руб.

19.02.2016    115109    158    5    

122

1С:Предприятие 8 Платные (руб)

"1С:Архив" – это универсальная система для надежного долговременного хранения документов с гарантией юридической значимости на неограниченный срок. Решение разработано на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов: от попадания в архив до уничтожения, и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. С 1 апреля 2026 года стоимость изменится на 14%, успейте купить решение по цене 2025 года!

117000 руб.

24.10.2022    8060    12    1    

11

Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram/max, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    42656    58    60    

87

ЭДО и ОФД Учет документов 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время – организует полностью соответствующий закону архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. Выявляет все возможные ошибки в ЭДО и помогает в несколько кликов их исправить. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 5-ти летний опыт 60+ клиентов.

29890 руб.

17.12.2018    51036    83    65    

86

Печатные формы Учет документов Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    98455    78    107    

109

Email рассылки Взаиморасчеты Акт сверки Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7930 руб.

12.02.2019    37737    42    24    

32

Печатные формы Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для печати договоров с приложением из шаблонов. Быстрая подготовка заполненных договоров без ручного заполнения. Возможность использования дополнительных реквизитов контрагентов и номенклатуры Быстрое сохранение файлов договоров и отправка по электронной почте. Решение в Реестре отечественного ПО.

15000 руб.

20.04.2016    69061    197    107    

108
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Just 3 11.09.15 03:55 Сейчас в теме
Что за процедура или метод
тЗадача.ВыполнитьЗадачу();
у меня нет такой в док. оброте?
Вы там выполняете что-то типо Задачи.Выполнена = Истина?
2. kitaevay 37 11.09.15 10:28 Сейчас в теме
(1) Just, нет, это метод объекта Задача

ЗадачаОбъект.<Имя задачи> (TaskObject.<Имя задачи>)
ВыполнитьЗадачу (ExecuteTask)
Синтаксис:

ВыполнитьЗадачу()
Описание:

Выполняет задачу. Для задачи свойство Выполнена устанавливается равным Истина и она записывается. При выполнении этого метода бизнес-процесс, породивший задачу, получает соответствующую нотификацию и выполняет переход к следующей точке маршрута бизнес-процесса. В процессе выполнения этого метода происходит вызов событий ПередВыполнением и ПриВыполнении у задачи и соответствующей ей точке маршрута.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

Если ТекущаяЗадача.ПроверитьВыполнение() Тогда
    ТекущаяЗадача.ВыполнитьЗадачу();
КонецЕсли
 

Показать
3. kitaevay 37 11.09.15 10:34 Сейчас в теме
Я вынес эту процедуру в отдельный общий модуль (Экспортная, соответственно, галочка Сервер), если планируется команда для ручного проталкивания, то ещё галочка Вызов Сервера (собственно ради этого и вынес в общий модуль).
4. simargle 93 06.10.16 04:22 Сейчас в теме
Публикация не новая, тем не менее способ все еще актуален для сложных маршрутов. Спасибо!
Как вариант, чтобы не включать в конфигурации возможность изменений, можно написать обработчик произошедших бизнес-событий, который повесить на бизнес-событие "Создание задачи". В самом обработчике можно проверить - если задача пришла на служебную роль "Робот", то осуществить автовыполнение задачи. Также, в свежей редакции (2.1) для этих нужд можно использовать механизм эскалации задач.
ketr; kitaevay; +2 Ответить
Для отправки сообщения требуется регистрация/авторизация