1с документооборот при фоновой маршрутизации процесса произошла ошибка

Доброго времени суток.

Подскажите, пожалуйста, идеи по удалению данной ошибки:

Имеется — Документооборот 8 КОРП, редакция 1.4 (1.4.7.1)

Создан Комплексный БП с несколькими подпроцессами (ознакомление), в которых указаны только исполнители и наименования с описаниями.

При старте БП, запускается первая задача, выполняю ее.

Вылетает ошибка:

При фоновой маршрутизации процесса «***» произошла ошибка: {БизнесПроцесс.КомплексныйПроцесс.МодульОбъекта(309)}: Эта задача не может быть выполнена.

В информационной базе уже существует пользователь с таким именем: (совпадают первые 0 символов)

Если открыть сам процесс, перезаписать в нем исполнителя на того же, то БП двигается дальше.

… И так далее до завершения всех подпроцессов.

+ после завершения всех подзадач сам Комплексный процесс висит

Обновлено: 27.01.2023

Нет понятия исходящие договора или входящие договора. Есть просто договора. В лгике Документооборота договор это вид ВНУТРЕННЕГО документа, с включенной соответствующей галочкой. Тогда при заведении карточки будут доступны поля, характерные для договора — контрагент, с которым заключается договор, сумма договора и т.д

Для чего тогда предназначены входящие документы и исходящие?

Вх. и ис. — это письма, в том числе и электронные. Делайте на основании входящего документа внутренний, согласуйте, регистрируйте, делайте исходящий документ, отправляйте контрагента.

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

а вы добиться-то чего в итоге хотите? Зачем это все делаете?

короче, тут причина непоняток в том, что автоматизировать кинулись до того, как поняли, что надо автоматизировать. Насколько я угадываю, здесь имеет место быть хитрый процесс заключения договоров, и, как минимум, двух этапов: 1. Согласование договора — когда внутри компании рождается проект соглашения 2. Согласование проекта с контрагентом (или контрагентами) — когда проект показывают контрагенту, он охреневает от размаха полета мысли и предлагает правки, чтобы это соглашение стало для него возможным 3. Подписание (о нем в топике речи не идет, но без этого этапа смысла во всем процессе не очень много) И исходящий договор — это проект. А входящий — это перемешанный в одну кучу протокол разногласий и, собственно, уже согласованный сторонами договор на подпись. Я угадал?

то есть, вопрос «что в этом случае делать?» надо задавать тому, кому нужна автоматизация. Что заказчику надо, чтобы происходило с этим протоколом и зачем?

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

а вы купили коробку с документооборотом? там вышла обновленная версия желтых книг, там все доходчиво написано, особенно про то, что для договором нужно использовать внутренние документы. в общем, рекомендую книги из коробки, очень хорошо все расписано.

процесс комплексный — создаем шаблон . и поехали ЗЫ а вообще в сети ДОФИГИЩА вебинаров и материалов — даже запустив сам документооборот и жмякнув на главной — где помощь из интернетов

там вопрос не как сделать, а — нахрена им, собственно, ДО. Судя по у ИТ нет ни четкой цели автоматизации, ни хоть как-то описанных процессов, которые надо автоматизировать. А это инструментами не решается.

Можно настроить связи между видами внутренних документов, например, «Относится к договору», «Документы к договору». Таким образом у тебя вся цепочка может быть связана.

1. Четкого описания процесса у ИТ нет 2.Зато есть четкий срок выполнения, и он близок. 3.Мегатонны вебинаров просмотрены, по результатам вопросы. 4.Поставка документооборота оплачена, желтые книжки ожидаются через неделю. Как раз после завершения проекта. 5. Да,вы угадали. Мне вот и не понятно — подготовка проекта исходящего договора — это БП один, а согласование после контрагента — это другой? То есть я делаю БП согласование проекта договора, завершается процесс при передаче проекта договора контрагенту. И второй БП по согласованию договора от контрагента. Тогда нужно видеть протокол согласования проекта договора (нашей организацией) тогда. когда приходит договор от контрагента без замечаний. В этом случае например, главбух не должен повторно согласовывать договор. Как это сделать? Спасибо всем, кто отвечает.

Совет понятный. Попробую сделать аналогично и для протокола согласования.

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

+ А насчет главбуха имелось в виду , если без замечаний. Но автоматом вряд ли определишь есть замечания или нет, все равно кто-то (скорее всего ответственный) должен принять решение согласовывать повторно или утверждать и подписывать.

комплексный процесс — почитай , сначала согласование потом подтверждение, есть еще такая штука как бизнес процесс, проще поставить ДО, и поиграться на копии ЗЫ комплексный процесс позволяет настраивать несколько «кругов» согласований подтверждений ознакомлений

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

В шаблоне процесса согласования, там где назначается каким видам документов есть флаг «Запретить изменение процессов созданных по этому шаблону». Это по Документообороту 1.4.

Подскажите. Можно ли перестартануть задачу? Например, нужно чтобы задача выполнилась заново.

Процесс остановился, тк след задача должна была прийти руководителю организации. А он не был указан. Висит «ожидание маршрутизации процесса». Хотелось бы рестартануть предыдущую задача, чтобы продолжить процесс. Руководителя указали. Как перестартануть?

можно сделать и так, и эдак, и как угодно. Тут заказчик должен сказать, как ему надо. Это возвращает нас к вопросу об описании требуемых бизнес процессов. >1. Четкого описания процесса у ИТ нет >2. Зато есть четкий срок выполнения, и он близок. это означает, что задача не поставлена и сроки будут гарантированно просраны. Нужно прямо сейчас об этом заказчику сказать и перейти уже наконец к постановке

> Висит «ожидание маршрутизации процесса» что у вас висит? скрин покажите

Запустить процесс заново не всегда желательно (так как например часть согласования уже прошла). Возникла новая проблема. Задача приходит по роли исполнителя «Юридическая служба». А вот пользователь в зависимости от организации не подбирается. В справочнике «Исполнители роли» указано «используется с объектами адресации» — «Организация». В программу заведен пользователь Юрист, который исполняет роль Юр служба по нашей организации. Все указано в спр Роли исполнителя. Но проблема в том, что задача висит. у нее исполнитель — Юр служба, а не пользователь Юрист. Захожу в программу под пользователем юрист и у него нет задачи. Под администраторм я вижу эту задачу на юр службе.

запустить заново выполненную задачу вариантов нет. задача так и будет на «юрслужбе». Просто пользователь с ролью «Юрслужба» из другой организации ее не увидит. Почему не видит — через форум не видно. Возможно огранизация у пользователя не та или дополнительный реквизит адресации в роли был включен после того, как задача была создана. Вариантов дофигища.

У роли — использование только с объектами адресации Основной реквизит — организация до.реквизит организация У пользователя указано осн реквизит «Наша ООО», доп реквизит «Наша ООО» и все равно не работает

надо программиста позвать, чтобы он взял консоль запросов и отладчик, посмотрел и сказал, что вы сделали не так.

Подойдем к проблеме другим образом. У нас несколько организаций. И несколько юр служб. Мне нужно, чтобы при закрытии карточки договора стартовался БП и задача приходила юристу по той организации, которая указана в договоре. Как это сделать?

без фото, можно подходить любым образом. результат будет тот-же ))

Ну давайте проведем голосование, чье фото мне загрузить,. Беленькой, черненькой, рыженькой дамочки.. Все рано достоверность проверить невозможно..пустая болтовня

у меня возникло предположение, что когда в БП я указываю исполнителя задачи — юр служба..там я еще могу дополнительно указать организацию. Я так понимаю, что именно тут объект адресации указывается.Ну тогда это маразм какой то. Я ж не буду БП создавать для каждой организации. Вариант 1. Придется в задаче для каждого исполнителя писать условия (юр служба по орг 1, если документ.организация = орг1). Вариант2: В ролях объекты не использовать, а использовать ограничения например на уровен групп доступа. Тогда задачи будут приходить просто в юр службу без отбора по организации, а видимость задачи будет определяться по группе доступа по договору. Кто может сказать что то полезное по данному вопросу?

давай голосование. в этом тебе должно помочь: «Управление процессами -> Условия маршрутизации»

Уже. и давно. только мараз. писать Если это организация 1 Потом создавать условия 2, и писать. если это органиазция2..А у нас 6 организаций..

но вариант 1 работает. спору нет..Вариант 2 тоже — если для каждой организации указать свою папку документов и настроить права. Мне предпочтительным кажется вариант 1.

С исполнителями ролей стало все понятно. Теперь новая проблема. Не подставляется руководитель организации. При создании задачи в БП, адресованной через автоподстановку руководителю задачи программа пишет ошибку «Не найдены исполнители для автоподстановки «Договор.Руководитель организации».» так это и естественно. У внутреннего документа договор нет поля руководитель организации. откуда оно должно браться? как это работает?

«У нас несколько организаций. » все в одной базе ДО или у каждого своя?

чтобы быстро получить ответы — рекомендую пройти курс «Настройка и администрирование 1с Документооборот». 3 дня и вы уже не задаете глупые вопросы на форуме

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

Как в итоге реализовали адресацию для юристов по организациям?

у роли юристы сделала адресацию по организации. в задаче в ТЧ исполнители задала несколько строк: 1)юристы, адресация =орг1.. в этой же строке указала условие основнойоюъект.организация = орг1 2)юристы, адресация =орг2.. в этой же строке указала условие основнойоюъект.организация = орг2

Тогда не поняла, а для чего объекты адресации в роли используются, если все равно нужно прописывать условия??

Анна Викулина

Внедрение 1С ЭДО

Типовой функционал, встроенный в прикладные решения 1С

1С:Документооборот версии КОРП

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

Настройка 1С:Документооборот

Настройка и доработка 1С:Документооборот для борьбы с ошибками. Гарантия на все результаты работ.

Консультации по 1С:Документооборот

Оперативные консультации по 1С:Документооборот без предоплаты. Первая консультация бесплатно.

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

Чтобы настроить условия маршрутизации в 1С Документооборот, переходим в раздел «Управление процессами» и выбираем меню «Условия маршрутизации».

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

Внизу окна видны комментарии к условию, по которым легче найти и отобрать необходимое. Каким же образом настроить нужное нам условие?

Для установки условия следует выбрать объект, на основании значения реквизитов которого это условие будет работать.

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

  • В режиме конструктора;
  • На встроенном языке;
  • Комбинация из других условий.

Давайте разберемся, что каждый из этих вариантов означает.

Создание условий в режиме конструктора

Позволяет сконструировать нужное нам условие из состояния или комбинации состояний реквизитов выбранного выше объекта.

Выбрав реквизит, нужно определить требование к его содержанию – вид сравнения. Выбор вариантов сравнения зависит от типа реквизита, но, как правило, это: Равно, Не равно, Заполнено, Не заполнено, В списке, Не в списке. Последнее сравнение предполагает ввод списка значений, с которым будет сравниваться значение реквизита.

Отборы можно объединять в группы по разным условиям взаимного применения – группа И, группа ИЛИ, группа НЕ. В результате, если использовано объединение в группу И, должны будут выполняться все строчки условий, в группу НЕ, наоборот, – будет проверяться невыполнение всех строчек условия, а в группу ИЛИ – хотя бы одно из условий. При этом в группе ИЛИ условия будут проверяться по порядку их ввода, поэтому приоритет, то есть порядок, можно регулировать соответствующими кнопками.

Если нужно составить сложное условие, но при этом его невозможно построить с помощью конструктора условий и реквизитов объекта, можно построить требующееся условие на встроенном языке.

Условие на встроенном языке

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

Комбинация существующих условий

Еще один вариант составления условий – комбинация из других, уже существующих условий. То есть, используя группировку по принципу логического И, логического ИЛИ или логического НЕ, можно составить достаточно сложное условие маршрутизации.

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

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

Рис.10 Комплексный процесс для маршрутизации шагов процесса

Рис.10 Комплексный процесс для маршрутизации шагов процесса

Для установки условий выполнения действия комплексного процесса перейдем по ссылке «Порядок выполнения» в действии и открыть меню настройки маршрутизации. Здесь можно установить порядок совместного применения, если условий несколько – логическое И или логическое ИЛИ. То есть действие будет стартовать при выполнении сразу всех отмеченных ниже действий или при выполнении любого из отмеченных ниже действий.

В данном примере шаг регистрации будет выполняться, если согласован документ с большой суммой и подписан договор аренды на большую сумму.

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

Например, нужно перед согласованием договора проверить, согласовывался ли ранее контрагент, и если нет – то сначала согласовать контрагента, а уже потом договор.

Для этого на первом шаге процесса устанавливаем условие старта шага процесса – Контрагент НЕ согласован. А в настройке самого условия указываем, что «Вид контрагента» должен быть равен значению «Юридическое лицо», а «Группа доступа» – «Несогласованные контрагенты».

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

Например, в выше рассмотренном примере с согласованием контрагента по условию нужно обязательно предусмотреть вариант, когда контрагент согласован, и первый шаг запускаться не будет. Чтобы процесс не выдал ошибку, нужно во втором шаге включить условие При старте, обратное условию на первом шаге – Контрагент согласован.

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

В настройке условия можно использовать результаты действий, предметы или создавать произвольные условия. Создание условий на основе предмета процесса мы уже рассматривали на примерах процессов с настройкой в таблице. Результат действий – настройка условия в зависимости от результата того или иного шага процесса, например, согласования с положительным результатом. Произвольное условие может быть построено на произвольных параметрах.

Графическая схема процесса упрощает управление выходами условия, его параметрами и составом, поэтому сейчас для более простого и наглядного конструирования в системе 1С:Документооборот развивается схематичное построение комплексных бизнес-процессов. Схемы процессов можно распечатывать и сохранять в электронных форматах, что позволяет их использовать в проектной и эксплуатационной документации системы.

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

Для настройки параметров маршрутизации в программе 1С:Документооборот, нужно перейти во вкладку «Управление процессами», выбрать в появившемся меню строчку «Условия маршрутизации».

В выплывшем окне слева располагается полный список объектов, где будет выполнена маршрутизация, с правой стороны – условия по тому объекту, который будет выбран.

Внизу программы, в окошке примечания можно увидеть возможные комментарии к выбранным условиям, с помощью которых выбор того или иного условия упрощается. Настроить необходимое условие можно следующим образом:

Выбрать объект, параметры которого будут являться основанием для корректной работы заданного условия.

Объектами в этом случае могут выступать: документы (входящие, внутренние, исходящие), файлы, проекты, мероприятия, проектные задачи, различные контрагенты. После выбора объекта определяем один из трех способов задания условий:

  • В режиме конструктора;
  • На встроенном языке;
  • Комбинация из других условий.

Остановимся подробнее на каждом из способов.

Создание условий в режиме конструктора

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

После того, как реквизит выбран, необходимо определиться с будущим содержанием с помощью вариантов сравнения. Вариант сравнения имеет прямую зависимость от типа выбранного реквизита и может быть: Заполнено, Не заполнено, Равно, Не равно, В списке, Не в списке. В последнем случае будет сравниваться введенный список значений со значениями выбранного реквизита.

Отборы можно объединять по различным параметрам (И, ИЛИ, НЕ). При использовании параметра «И», будут выполняться все строки заданных условий. Если задан параметр «НЕ», то наоборот, указанные условия при группировке, буду исключаться. Если же указать параметр «ИЛИ», то результат отбора будет группироваться в зависимости одного из указанных условий. При этом, порядком ввода условий в группу «ИЛИ» можно самостоятельно управлять с помощью соответствующих кнопок.

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

Условие на встроенном языке

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

Комбинация существующих условий

Третий способ создания условий – комбинирование из уже существующих условий. Например, создать сложное условие маршрутизации можно группировкой их по принципу логического «И», «ИЛИ», «НЕ».

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

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

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

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

Используя различные условия внутри несложных процессов в ходе выполнения различных действий, задавая сложные условия маршрутизации различными способами (на встроенном языке, комбинированные варианты), можно сконструировать сложнейшие, многоуровневые бизнес-процессы для обработки и согласования документов, контрагентов и прочего.

Как вариант, вначале проверяется согласовывался ли ранее контрагент, а потом уже согласовывается договор. Если подобные действия не производились, то вначале нужно выполнить следующий алгоритм действий:

В настройке условия указываем «Вид контрагента» — «Юридическое лицо», в «Группе доступа» пишем «Несогласованные контрагенты», затем устанавливаем условие начала процесса – Контрагент НЕ согласован.

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

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

Аналогично происходит построение условий, где вместо таблицы используются схемы в шаблоне процесса.

Настройка условий предусматривает использование различных результатов действий, произвольные данные или предметы. Например, в работе с настройкой процессов в таблице мы уже создавали условия на основе предмета. Как результат – получили процесс согласования контрагента. При необходимости, произвести действия с произвольными условиями можно, задав произвольные параметры.

Схематичное отражение процесса облегчает восприятие и делает управление параметрами, составом и выходами условий более простым, поэтому в системе 1С:Документооборот внедряется графическое построение бизнес-процессов. Подобные схемы можно сохранять в электронном виде, распечатывать и использовать в эксплуатационной и проектной документации.

Отключить безопасный режим и перезапустить программу.

Что появилось:

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

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

Как это работает (пример по демо базе):

В результате отправки на повторное согласование в основном предмете процесса (Договор на поставку бетона по примеру) виза Зеленца «Не согласованно» уйдет в историю, а виза Мишина «Согласовано» останется среди действующих (в типовой логике все ранее установленные визы помещаются в историю). Повторно задача согласования будет отправлена только Зеленцу.

В результате завершения процесса согласования на Закладке Визы в документе, а так же в печатных формах «Лист согласования» и «Лист согласования с историей», будут корректные данные в соответствии с процессом.

Расширение разрабатывалось для версии 1С Документооборот 8 КОРП, редакция 2.1 (2.1.13.28). Тестировалось на 2.1.14/15/16 ПРОФ, КОРП, ДГУ и Document management(тексты с переводом на eng).

Работает на платформах начиная с версий 8.3.12.

Если будут вопросы и предложения к функционалу расширения, пишите в комментариях к публикации, учту в новом релизе.

Версия 1.2: Первичная версия

— Исправлено исключение не установивших визы при поочередном согласовании

Читайте также:

  • Обзор китайских мп3 модулей блютуз
  • Почему ноутбук не подключается к wifi от телефона айфон
  • Киа селтос настроить карплей через блютуз
  • Ariston wifi бойлер настройка
  • Как увидеть скрытые блютуз

Содержание

  1. Маршрутизация процессов в 1С Документооборот
  2. Создание условий в режиме конструктора
  3. Условие на встроенном языке
  4. Комбинация существующих условий
  5. Процессы и задачи
  6. Общее описание
  7. Внутренне устройство
  8. Работа процессов
  9. Рекомендации
  10. Комплексные процессы
  11. Рекомендации
  12. Ролевая маршрутизация
  13. Рекомендации
  14. Шаблоны процессов
  15. Рекомендации
  16. Предметы процессов и задач
  17. Рекомендации
  18. Запуск процессов
  19. Условия маршрутизации
  20. Фоновое выполнение процессов
  21. Возможные проблемы при фоновом выполнении процессов
  22. Выполнение задач по почте
  23. Рекомендации
  24. Выполнение процессов в РИБ
  25. Общая логика
  26. Ограничения и особенности
  27. Как это работает
  28. Возможные проблемы при использовании процессов в РИБ
  29. Рекомендации
  30. Права доступа

Маршрутизация процессов в 1С Документооборот

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

Для настройки параметров маршрутизации в программе 1С:Документооборот, нужно перейти во вкладку «Управление процессами», выбрать в появившемся меню строчку «Условия маршрутизации».

В выплывшем окне слева располагается полный список объектов, где будет выполнена маршрутизация, с правой стороны – условия по тому объекту, который будет выбран.

Внизу программы, в окошке примечания можно увидеть возможные комментарии к выбранным условиям, с помощью которых выбор того или иного условия упрощается. Настроить необходимое условие можно следующим образом:

Выбрать объект, параметры которого будут являться основанием для корректной работы заданного условия.

Объектами в этом случае могут выступать: документы (входящие, внутренние, исходящие), файлы, проекты, мероприятия, проектные задачи, различные контрагенты. После выбора объекта определяем один из трех способов задания условий:

  • В режиме конструктора;
  • На встроенном языке;
  • Комбинация из других условий.

Остановимся подробнее на каждом из способов.

Создание условий в режиме конструктора

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

После того, как реквизит выбран, необходимо определиться с будущим содержанием с помощью вариантов сравнения. Вариант сравнения имеет прямую зависимость от типа выбранного реквизита и может быть: Заполнено, Не заполнено, Равно, Не равно, В списке, Не в списке. В последнем случае будет сравниваться введенный список значений со значениями выбранного реквизита.

Отборы можно объединять по различным параметрам (И, ИЛИ, НЕ). При использовании параметра «И», будут выполняться все строки заданных условий. Если задан параметр «НЕ», то наоборот, указанные условия при группировке, буду исключаться. Если же указать параметр «ИЛИ», то результат отбора будет группироваться в зависимости одного из указанных условий. При этом, порядком ввода условий в группу «ИЛИ» можно самостоятельно управлять с помощью соответствующих кнопок.

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

Условие на встроенном языке

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

Комбинация существующих условий

Третий способ создания условий – комбинирование из уже существующих условий. Например, создать сложное условие маршрутизации можно группировкой их по принципу логического «И», «ИЛИ», «НЕ».

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

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

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

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

Используя различные условия внутри несложных процессов в ходе выполнения различных действий, задавая сложные условия маршрутизации различными способами (на встроенном языке, комбинированные варианты), можно сконструировать сложнейшие, многоуровневые бизнес-процессы для обработки и согласования документов, контрагентов и прочего.

Как вариант, вначале проверяется согласовывался ли ранее контрагент, а потом уже согласовывается договор. Если подобные действия не производились, то вначале нужно выполнить следующий алгоритм действий:

В настройке условия указываем «Вид контрагента» — «Юридическое лицо», в «Группе доступа» пишем «Несогласованные контрагенты», затем устанавливаем условие начала процесса – Контрагент НЕ согласован.

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

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

Аналогично происходит построение условий, где вместо таблицы используются схемы в шаблоне процесса.

Настройка условий предусматривает использование различных результатов действий, произвольные данные или предметы. Например, в работе с настройкой процессов в таблице мы уже создавали условия на основе предмета. Как результат – получили процесс согласования контрагента. При необходимости, произвести действия с произвольными условиями можно, задав произвольные параметры.

Схематичное отражение процесса облегчает восприятие и делает управление параметрами, составом и выходами условий более простым, поэтому в системе 1С:Документооборот внедряется графическое построение бизнес-процессов. Подобные схемы можно сохранять в электронном виде, распечатывать и использовать в эксплуатационной и проектной документации.

Источник

Процессы и задачи

Общее описание

Блок бизнес-процессов и задач предназначен для автоматизации порядка взаимодействия пользователей при совместной работе.

В программе предусмотрено несколько «простых» типовых процессов, на основе которых можно построить сложные составные и комплексные процессы.

Каждый «простой» типовой процесс при выполнении порождает задачи. Выполнение задач продвигает процесс по его карте маршрута. Процесс считается завершенным, когда выполнены все его задачи.

«Простые» типовые процессы можно разделить на процессы с одним и несколькими исполнителями.

Для некоторых процессов с несколькими исполнителями есть возможность настроить порядок выполнения задач. Этим порядком определяется создание задачи для конкретного исполнителя.

Комплексный процесс строится на основании «простых» типовых процессов с возможностью настроить порядок их выполнения.

Составные процессы построены на основе простых процессов, но порядок их выполнения жестко определен и недоступен для изменения в режиме «Предприятие». В программе есть три составных процесса обработки документов: обработка внутренних, входящих и исходящих документов.

Для работы с процессами и задачами предусмотрены специальные рабочие места. Подробнее в таблице ниже.

Рабочее место Описание
Мои процессы Содержит значения возможных вариантов уведомлений. Содержит список процессов, автором которых является текущий пользователь.
В списке не отображаются процессы Ознакомления, Решения вопросов выполнения задач, а так же процессы, которые являются действиями сложных процессов (например, в списке не будет отображен процесс согласования, который является действием комплексного процесса).
Как открыть: Совместная работа – Мои процессы
Список процессов В списке отображаются все процессы доступные пользователю.
Как открыть: Совместная работа – Процессы
Задачи мне Список задач текущего пользователя. Отображаются в том числе ролевые и делегированные задачи.
Как открыть: Совместная работа – Задачи мне
Задачи от меня Все задачи, в которых текущий пользователь является автором.
Как открыть: Совместная работа – Задачи от меня.
Все задачи Список всех доступных задач.
Как открыть: Совместная работа – Все задачи.
Задачи отдела Список с задачами подчиненных пользователей в соответствии с иерархией структуры предприятия.
Как открыть: Совместная работа – Задачи отдела
Помощник создания процессов Форма отображающая список доступных процессов для запуска.
Форма открывается при создании процесса из главного меню (Главное – Создать — Процесс), а также из меню «Отправить» и «Подзадачи» в рабочих местах и карточках объектов.

Внутренне устройство

Блок «Процессы и задачи» использует ряд механизмов. Наиболее важные описаны ниже.

Работа процессов

Работа всех процессов определяется картой маршрута. У каждой точки карты маршрута есть свои обработчики, в которых содержится код, обеспечивающий функциональность процесса. Более подробно про объект конфигурации бизнес-процесс и его работу можно почитать в документации к платформе в главе «Бизнес-процессы и задачи».

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

Такой подход встречается в процессах Приглашение, Рассмотрение, Регистрация, Согласование, Утверждение. Поведение обусловлено тем, что в случае положительного выполнения процесса (например, все согласовано, замечаний нет) автору больше не нужно ничего делать с предметами, и процесс можно считать завершенным. Это справедливо тогда, когда вышеперечисленные процессы являются частью комплексного процесса и их положительное завершение не должно зависеть от автора процесса. То есть если процесс завершился положительно, то комплексный процесс должен перейти к следующим действиям. Реализуется это путем переноса создания задачи ознакомления в точку маршрута Завершение (см. пример).

Условие отказа от создания задачи ознакомления

Создание задачи ознакомления при завершении процесса:

Рекомендации

На внедрении может возникнуть ситуация, при которой требуется вообще отключить формирование задачи ознакомления. Для этого достаточно закомментировать код по созданию задачи знакомления.

Комплексные процессы

Работа комплексных процессов также обеспечивается картой маршрута, но только для того, чтобы процесс завершился при выполнении всех подчиненных действий. Остальная логика работы процесса (порядок создания действий) определена вне карты маршрута.

Запуск подчиненных действий определяется процедурой СтартоватьНовыеДействия в модуле объекта комплексного процесса. Процедура вызывается изначально при создании подчиненных действий в точке маршрута «Выполнить все действия процесса».

Далее каждый раз при выполнении ведущей задачи действия комплексного процесса (подписка на событие ЗадачаКомплексногоПроцессаПриВыполнении ).

Процедурой СтартоватьНовыеДействия определяются следующие действия для старта процесса в соответствии с настроенным порядком и условиями маршрутизации.

Рекомендации

Не рекомендуется менять типовое поведение программы касаемо комплексных процессов из-за достаточно сложной логики их работы.

Ролевая маршрутизация

При настройке исполнителей любого процесса помимо указания конкретного пользователя можно использовать роли.

Для каждой роли в программе есть возможность определить несколько исполнителей.

При старте процесса для роли создается одна задача. Задача видна всем исполнителям роли, и любой из них может исполнить эту задачу.

Для настройки ролей предусмотрена отдельная форма, которая открывается по команде Управление процессами – Роли исполнителей .

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

При использовании объектов адресации следует учесть следующую особенность – ролевые задачи с указанными объектами адресации доступны и могут быть исполнены только исполнителями роли с такими же объектами адресации. То есть задачу, направленную роли «Секретарь» с объектом адресации организация «ООО Меркурий Проект» не сможет исполнить исполнитель роли с другим объектом адресации или без объекта адресации.

Роли исполнителей содержатся в справочнике РолиИсполнителей , а соответствие исполнителей задач в регистре сведений ИсполнителиЗадач .

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

  • План видов характеристик ОбъектыАдресацииЗадач ,
  • Справочники Пользователи , РолиИсполнителей , Корреспонденты , Проекты , СтруктураПредприятия , Организации .

Корреспонденты, Проекты, СтруктураПредприятия, Организации используются в качестве разрезов ролевой маршрутизации. Это определяется в плане видов характеристик ОбъектыАдресацииЗадач .

Рекомендации

Для самостоятельного расширения списка возможных разрезов необходимо расшить тип и добавить свои предопределенные элементы в плане видов характеристик ОбъектыАдресацииЗадач .

Шаблоны процессов

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

Для работы с шаблонами процессов предусмотрено рабочее место, которые открывается по команде Управление процессами – Шаблоны процессов .

Каждый шаблон процесса может быть назначен нескольким видам документов. Если процесс создается на основании документа, то назначенные шаблоны отображаются как рекомендованные в помощнике создания процессов.

Шаблоны процессов в программе хранятся в справочниках Шаблоны .

Также в этих справочниках хранятся «служебные» шаблоны процессов. Это такие шаблоны, которые выступают в качестве настроек действий шаблонов комплексных процессов и самих процессов. Они по умолчанию не отображаются в списке. Поэтому, например, в списке шаблонов комплексных процессов можно наблюдать 1 элемент, а обращаясь запросом – несколько тысяч.

Для заполнения по шаблону используется процедура ЗаполнитьПоШаблону модуля объекта процесса.

Заполнение процесса по шаблону происходит в трех случаях:

  • Создание процесса с помощью помощника процессов.
  • Создание процесса при интерактивном старте.
  • Заполнение по шаблону из карточки процесса.

Но следует учесть, что при заполнении может использоваться и другая логика – например, заполнение по проектной задаче, проекту в обработчике заполнения нового объекта (процедура ОбработкаЗаполнения ).Чтобы понять логику заполнения процесса в том или ином случае можно поставить точку останов в процедуре ЗаполнитьПоШаблону, посмотреть стек вызовов и проанализировать «соседний код».

Рекомендации

В программе для каждого процесса предусмотрен специальный метод заполнения процесса по шаблону и предмету — ЗаполнитьПоШаблонуИПредмету . Он не используется в типовой конфигурации и предназначен для программного создания процессов при доработке.

Предметы процессов и задач

Часто совместная работа сотрудников направлена на обработку данных или результатом их работы являются некие данные. Такие данные по отношению к процессам и задачам в конфигурации называются предметами. Для каждого процесса/задачи может быть определено любое количество предметов. Каждый такой предмет процесса имеет свою роль по отношению к процессу. В конфигурации предусмотрено три роли предмета:

О ролях предметов можно подробнее ознакомиться в статье «Бизнес-процессы».

Предметы могут добавляться к процессу, шаблону или задаче. При добавлении к задаче предметы всегда добавляются как вспомогательные и могут быть удалены в карточке задачи. Предметам, добавленным в процесс, можно присвоить любую роль, доступную для текущего предмета (возможные роли для предметов определены в коде конфигурации).

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

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

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

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

Среди предметов процессов и задач могут быть файлы, добавленные с диска. Такие файлы являются неотъемлемой частью процесса и его задач. Они не передаются ни при каких условиях в другие процессы. Чтобы файл передавался в другие процессы по вышеописанной логике, его следует предварительно разместить в хранилище файлов, а в процесс добавлять из хранилища.

Все предметы сохраняются в табличной части Предметы процессов и их задач. При операциях над предметами происходит синхронизация этих табличных частей.

Синхронизация предметов происходит по имени предмета (реквизит ИмяПредмета в табличной части Предметы ), а сам предмет содержится в реквизите Предмет . Роль предмета определяется значением РольПредмета .

ИмяПредмета – ссылка на элемент справочника ИменаПредметов .

РольПредмета – ссылка на значение перечисления РолиПредметов .

Для управления видимостью предметов задач в процессах предусмотрена табличная часть ПредметыЗадач . В ней содержится информация о том, в какой точке маршрута содержится предмет.

Работа с предметами обеспечивается процедурами и функциями в общих модулях Мультипредметность .

Рекомендации

Не рекомендуется менять типовое поведение работы механизма предметов из-за достаточно сложной логики его работы.

Запуск процессов

В программе предусмотрено несколько вариантов запуска процессов:

  • По общей команде Главное – Создать — Процесс ;
  • На основании объекта или задачи – меню Отправить или Подзадачи в рабочих местах или карточках соответствующих объектов и задач;
  • Интерактивный (при выполнении действий в карточках документов)
  • Полностью автоматический запуск процесс (при возникновении определенных событий).

В случае создания процесса по общей команде, через меню Отправить , меню Подзадачи для выбора шаблона процесса или нового процесса используется Помощник создания процессов (общая форма СозданиеБизнесПроцесса ).

Меню Отправить и Подзадачи находятся в карточках и списках ряда объектов. Для каждого объекта эти меню имеют свой состав, но для открытия помощника используется процедура ОткрытьПомощникСозданияОсновныхПроцессов в общем модуле РаботаСБизнесПроцессамиКлиент.

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

Запуск по событиям выполняется без интерактивного участия пользователя при помощи механизма бизнес-событий.

Об интерактивном и автоматическом запуске процессов можно подробнее ознакомиться в статье «Автостарт бизнес-процессов».

Условия маршрутизации

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

Условия могут быть определены при помощи конструктора (используется механизм компоновки данных), кодом встроенного языка «1С» или составлены из комбинаций других условий.

Условия проверяются при непосредственной маршрутизации комплексных процессов. Если условие не выполнено, то действие (подчиненный процесс) комплексного процесса не создается.

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

Условия маршрутизации хранятся в справочнике УсловияМаршрутизации . За проверку условий отвечают процедуры и функции общего модуля РаботаСУсловиямиМаршрутизации .

Фоновое выполнение процессов

Для увеличения отзывчивости конфигурации предусмотрено несколько механизмов фонового выполнения процессов:

  • Фоновый старт процессов;
  • Фоновое выполнение задач;
  • Фоновая маршрутизация комплексных процессов.

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

Очередь процессов хранится в регистре сведений ПроцессыДляЗапуска . Добавление процессов происходит при записи процессов из карточек при помощи методов регистра сведений. За обработку очереди на сервере отвечает регламентное задание СтартПроцессов. Все процедуры по фоновому старту находятся в общих модулях СтартПроцессов . Фоновое выполнение включается/отключается константой ИспользоватьФоновыйСтартПроцессов .

Фоновое выполнение задач работает аналогично фоновому старту процессов. Очередь хранится в регистре сведений ЗадачиДляВыполнения . Обрабатывается она при помощи регламентного задания ВыполнениеЗадач . Процедуры и функции находятся в общих модулях – ВыполнениеЗадач , включается/отключается константой ИспользоватьФоновоеВыполнениеЗадач .

Фоновая маршрутизация комплексных процессов работает немного иначе. После завершения каждого действия (при выполнении задачи) для исходного комплексного процесса создается фиктивная задача (задача без исполнителей) и само действие помещается в специальную очередь. Фиктивная задача нигде не отображается и используется только для того, чтобы остановить выполнение комплексного процесса и продолжить его в специальном регламентном задании. Далее очередь на сервере – для каждого позиции определяются и стартуют следующие действия, фиктивная задача выполняется (чтобы завершить комплексный процесс, если у него больше нет действий) и удаляется из программы (используется непосредственное удаление). Также удаляется и запись из очереди. Очередь содержится в регистре ОчередьМаршрутизацииКомплексныхПроцессов .

Помещение в очередь происходит в подписке на событие ЗадачаКомплексногоПроцессаПриВыполнении .

За обработку очереди отвечает регламентное задание ФоноваяМаршрутизацияКомплексныхПроцессов. Механизм включается/отключается константой ИспользоватьФоновуюМаршрутизациюКомплексныхПроцессов .

Возможные проблемы при фоновом выполнении процессов

При возникновении любых ошибок в работе этих механизмов автор процесса или исполнитель задачи получат уведомления программы и могут вовремя сообщить о проблеме администратору.

Ошибки могут возникать по разным причинам – от ошибки в коде программы, до неправильно спроектированного действия комплексного процесса. Для диагностики ошибок рекомендуется отключить соответствующее регламентное задание, написать свою обработку, в коде которой разместить вызов процедуры регламентного задания и выполнить обработку в сеансе пользователя с полными правами. Далее расследование ошибки следует проводить в режиме «Конфигуратор».

Если ошибку не удается быстро диагностировать и нужно возобновить работу, то можно отключить фоновое выполнение (при помощи констант) – все новые процессы и задачи будут выполняться в сеансах пользователей. А расследование продолжить, выполняя код регламентных заданий вручную (например, скопировать и поправить код соответствующих процедур регламентных заданий в обработку).

Большинство ошибок можно устранить, внимательно прочитав сообщение ошибке в уведомлении программы.

Также следует отметить, что фоновое выполнение процессов работает только в клиент-серверном варианте работы программы. Фоновое выполнение задач может использоваться и в файловом варианте, если используется распределенная информационная база (Далее РИБ).

Выполнение задач по почте

В программе есть возможность выполнять задачи в сторонних почтовых клиентах.

Принцип работы механизма выполнения задач по почте заключается в следующем:

  1. Пользователю направляется уведомление о новой задаче. В уведомление включены специальные ссылки для формирования ответного письма. Каждая ссылка соответствует кнопке с результатом в задаче.
  2. Пользователь нажимает на ссылку, вписывает комментарий в новое письмо и отправляет его (адрес заполняется автоматически).
  3. Программа принимает данное письмо и на основании его содержимого находит и выполняет задачу.

Для рассылки уведомлений используются стандартный механизм уведомлений.

Выполнение задач по почте обеспечивается процедурами общих модулей ВыполнениеЗадачПоПочте . При рассылке уведомлений используются особая тема и текст. Как они формируются можно посмотреть в общем модуле РаботаСУведомлениями , при помощи поиска по строке ВыполнениеЗадачПоПочтеСервер .

За обработку ответов (писем с результатами выполнения задач) отвечает регламентное задание ВыполнениеЗадачПоПочте . Обработка протоколируется в регистре ПротоколВыполненияЗадачПоПочте.

Рекомендации

На внедрении может возникнуть потребность доработать тексты формируемых уведомлений и варианты выполнения задач.

  • Текст уведомлений формируется при помощи процедуры СформироватьТекстУведомленияПоЗадачеСВозможностьюВыполненияПоПочте в модуле ВыполнениеЗадачПоПочтеСервер .
  • Варианты выполнения задач определяются функциями ВариантыОтветовДляВыполненияЗадачиПоПочте в модулях объектов процессов.

Выполнение процессов в РИБ

В отличии от других объектов программы, обмен процессами и задачами в РИБ при использовании плана обмена Полный происходит особым образом.

Общая логика

  1. У каждого процесса есть так называемый «Мастер-узел». Это узел, в котором был создан и стартован процесс. Мастер-узел для процесса определяется реквизитом УзелОбмена . В реквизите сохранен уникальный идентификатор узла обмена. Значение реквизита УзелОбмена в процессе соответствует значению реквизита ИдентификаторУзла в плане обмена Полный .
  2. Продвижение процессов происходит только в мастер-узле. Под продвижением следует понимать выполнение задач и маршрутизацию комплексных процессов, так как она тоже завязана на выполнении ведущих задач. Это позволяет исключить коллизии и зависание процессов при выполнении задач в разных узлах РИБ.
  3. Для передачи данных между узлами РИБ используется особая логика объединения данных. При этом стандартная обработка коллизий платформы отключена.

Ограничения и особенности

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

Как это работает

При первой записи узла плана обмена Полный определяется его идентификатор (реквизит ИдентификаторУзла ).

При первой записи процесса заполняется его реквизит УзелОбмена в подписке на событие ПередЗаписьюБизнесПроцесса .

Если используется фоновый старт процессов, то процесс обрабатывается регламентными заданиями СтартПроцессов и СтартОтложенныхПроцессов только в мастер узле. Текущий узел при этом определяется функцией ЭтотУзелОбменаДляОбработкиПроцессов общего модуля РаботаСБизнесПроцессами. Если фоновый старт не используется, то процесс стартует сразу.

Задачи всегда выполняются при помощи механизма фонового выполнения. При этом в регламентных заданиях ВыполнениеЗадач и ВыполнениеЗадачПоПочте учитывается отношение задачи к текущему узлу через реквизит УзелОбмена . То есть задачи, относящиеся к процессам, у которых УзелОбмена не равен текущему идентификатору узла, не обрабатываются.

Обработка процессов только текущего мастер-узла также учитывается в регламентных задания ПовторениеБизнесПроцессов и ФоноваяМаршрутизацияКомплексныхПроцессов.

При загрузке процессов как из главного, так и из подчиненного узла происходит одинаковая обработка. Это переопределено в обработчиках ПриПолученииДанныхОтГлавного и ПриПолученииДанныхОтПодчиненного плана обмена Полный . Но обработка получения данных для каждого процесса своя. За это отвечает процедура ОбработатьПолучениеПроцессаИзУзлаРИБ в модуле менеджера каждого процесса.

Сама процедура получения данных процесса разделена на две части:

  • Получение процесса в мастер-узле.
  • Получение процесса в другом узле.

При получении процесса в мастер-узле загруженные данные процесса игнорируются . Но имеющийся процесс дополняется из загруженного предметами, которых у него нет. Если имеющийся процесс в мастер-узле был измен (дополнен предметами), то регистрируются изменения для всех известных узлов плана обмена Полный . Иначе происходит сверка загруженного процесса с текущим. При сверке игнорируются реквизиты и табличные части, в которых указаны исполнители задач (для некоторых процессов, в том числе и Автор ). Если между ними есть разница, то в мастер-узле регистрируется изменения для известных узлов. Таким образом мастер-узел отвергает изменения, произошедшие в других узлах и инициирует обновление процесса в других узлах на основании своих данных.

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

При обработке задач происходит то же самое – загрузка в мастер-узле и других узлах. В мастер-узле логика загрузки не отличается от процессов. При загрузке в другие узлы происходит то же самое, что и в процессах, но так как у задач не меняется итерация, то это и не обрабатывается. У задач нет разных точек маршрутов, то есть информация о загруженных исполнителях принимается из других узлов, только если задача выполнена.

При выполнении задач не в мастер-узлах информация с актуальными данными о результате выполнения, исполнителе и т.д. передается через механику фонового выполнения. А именно: при помещении задачи в очередь для выполнения (регистр ЗадачиДляВыполнения ) вместе с ссылкой на задачу помещаются параметры выполнение (ресурс Параметры в регистре). Ресурс хранит структуру, запакованную в виде хранилище значений. Эта структура обрабатывается при выполнении задачи в мастер-узле. Параметры обрабатываются в процедурах ВыполнениеЗадачСервер.ВыполнитьЗадачуСПараметрами , ОбработкаПередВыполнениемЗадачи и ОбработкаПослеВыполненияЗадачи модуля менеджера процесса, и ПередЗаписью в модуле объекта процесса. В модуле объекта код по обработке можно найти по строке поиска «ТекущаяЗадача».

Возможные проблемы при использовании процессов в РИБ

Если процессы в РИБ использовались до версии 2.0.8, то при переходе на новую версию происходит заполнение идентификаторов узлов в плане обмене Полный и сопоставление процессов этим узлам (заполнение реквизита УзелОбмена в процессах). Процессы для привязки к текущему узлу определяются по автору. Если для автора процессов существует пользователь информационной базы, то все его процессы относятся к текущему узлу.

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

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

Чтобы исправить данную ситуацию необходимо удалить лишних пользователей и обновить реквизит у процессов с полненным реквизитом УзелОбмена во всех узлах РИБ. Код для обновления следует написать самостоятельно. За основу можно взять процедуру ЗаполнитьУзелОбменаВПроцессах в общем модуле ОбновлениеИнформационнойБазыДокументооборот .

Рекомендации

Не рекомендуется менять типовое поведение механики выполнения процессов в РИБ.

Права доступа

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

Источник

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

Чтобы настроить условия маршрутизации в 1С Документооборот, переходим в раздел «Управление процессами» и выбираем меню «Условия маршрутизации».

Рис.1 Условия маршрутизации
Рис.1 Условия маршрутизации

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

Рис.2 Вкладка Условия маршрутизации
Рис.2 Вкладка Условия маршрутизации

Внизу окна видны комментарии к условию, по которым легче найти и отобрать необходимое. Каким же образом настроить нужное нам условие?

Рис.3 Настройка условия маршрутизации
Рис.3 Настройка условия маршрутизации

Для установки условия следует выбрать объект, на основании значения реквизитов которого это условие будет работать.

Рис.4 Выбор объекта
Рис.4 Выбор объекта

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

  • В режиме конструктора;
  • На встроенном языке;
  • Комбинация из других условий.

Давайте разберемся, что каждый из этих вариантов означает.

Создание условий в режиме конструктора

Позволяет сконструировать нужное нам условие из состояния или комбинации состояний реквизитов выбранного выше объекта.

Рис.5 Создание условия в режиме конструктора
Рис.5 Создание условия в режиме конструктора

Выбрав реквизит, нужно определить требование к его содержанию – вид сравнения. Выбор вариантов сравнения зависит от типа реквизита, но, как правило, это: Равно, Не равно, Заполнено, Не заполнено, В списке, Не в списке. Последнее сравнение предполагает ввод списка значений, с которым будет сравниваться значение реквизита.

Рис.6 Выбор вариантов сравнения
Рис.6 Выбор вариантов сравнения

Отборы можно объединять в группы по разным условиям взаимного применения – группа И, группа ИЛИ, группа НЕ. В результате, если использовано объединение в группу И, должны будут выполняться все строчки условий, в группу НЕ, наоборот, – будет проверяться невыполнение всех строчек условия, а в группу ИЛИ – хотя бы одно из условий. При этом в группе ИЛИ условия будут проверяться по порядку их ввода, поэтому приоритет, то есть порядок, можно регулировать соответствующими кнопками.

Если нужно составить сложное условие, но при этом его невозможно построить с помощью конструктора условий и реквизитов объекта, можно построить требующееся условие на встроенном языке.

Условие на встроенном языке

Рис.7 Условие на встроенном языке
Рис.7 Условие на встроенном языке

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

Комбинация существующих условий

Еще один вариант составления условий – комбинация из других, уже существующих условий. То есть, используя группировку по принципу логического И, логического ИЛИ или логического НЕ, можно составить достаточно сложное условие маршрутизации.

Рис.8 Сложное условие маршрутизации
Рис.8 Сложное условие маршрутизации

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

Рис.9 Использование условий в простых процессах
Рис.9 Использование условий в простых процессах

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

Рис.10 Комплексный процесс для маршрутизации шагов процесса
Рис.10 Комплексный процесс для маршрутизации шагов процесса

Для установки условий выполнения действия комплексного процесса перейдем по ссылке «Порядок выполнения» в действии и открыть меню настройки маршрутизации. Здесь можно установить порядок совместного применения, если условий несколько – логическое И или логическое ИЛИ. То есть действие будет стартовать при выполнении сразу всех отмеченных ниже действий или при выполнении любого из отмеченных ниже действий.

Рис.11 Настройка маршрутизации
Рис.11 Настройка маршрутизации

В данном примере шаг регистрации будет выполняться, если согласован документ с большой суммой и подписан договор аренды на большую сумму.

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

Например, нужно перед согласованием договора проверить, согласовывался ли ранее контрагент, и если нет – то сначала согласовать контрагента, а уже потом договор.

Рис.12 Согласование контрагента
Рис.12 Согласование контрагента

Для этого на первом шаге процесса устанавливаем условие старта шага процесса – Контрагент НЕ согласован. А в настройке самого условия указываем, что «Вид контрагента» должен быть равен значению «Юридическое лицо», а «Группа доступа» – «Несогласованные контрагенты».

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

Например, в выше рассмотренном примере с согласованием контрагента по условию нужно обязательно предусмотреть вариант, когда контрагент согласован, и первый шаг запускаться не будет. Чтобы процесс не выдал ошибку, нужно во втором шаге включить условие При старте, обратное условию на первом шаге – Контрагент согласован.

Рис.13 Включение условия
Рис.13 Включение условия

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

Рис.14 Условие маршрутизации в шаблоне процесса
Рис.14 Условие маршрутизации в шаблоне процесса
Рис.15 Вкладка Настройка условия
Рис.15 Вкладка Настройка условия

В настройке условия можно использовать результаты действий, предметы или создавать произвольные условия. Создание условий на основе предмета процесса мы уже рассматривали на примерах процессов с настройкой в таблице. Результат действий – настройка условия в зависимости от результата того или иного шага процесса, например, согласования с положительным результатом. Произвольное условие может быть построено на произвольных параметрах.

Графическая схема процесса упрощает управление выходами условия, его параметрами и составом, поэтому сейчас для более простого и наглядного конструирования в системе 1С:Документооборот развивается схематичное построение комплексных бизнес-процессов. Схемы процессов можно распечатывать и сохранять в электронных форматах, что позволяет их использовать в проектной и эксплуатационной документации системы.

Версия Платформы: 1С:Предприятие 8.3 (8.3.10.2299); версия 1С: документооборота: Документооборот 8 КОРП, редакция 2.1 (2.1.12.2).
Зависли бизнес-процессы. В журнале регистрации появляется ошибка выполнения заданий. Кто-нибудь сталкивался? Код ошибки:

{ОбщийМодуль.РаботаСЭП.Модуль(1031)}: Ошибка при вызове метода контекста (ЗаблокироватьДанныеДляРедактирования)
				ЗаблокироватьДанныеДляРедактирования(ПодписанныйОбъект,, ИдентификаторФормы);
по причине:
Ошибка блокировки объекта. Объект уже заблокирован:


{РегистрСведений.ЗадачиДляВыполнения.МодульМенеджера(212)}: Ошибка при вызове метода контекста (Заблокировать)
по причине:

по причине:
В данной транзакции уже происходили ошибки!


  • Вопрос задан

    более двух лет назад

  • 1201 просмотр

Да, я помню такой кусочек кода — в ДО очень любят перед манипуляциями делать проверку с помощью ЗаблокироватьДанныеДляРедактирования(). А еще я помню, что там куча фоновых висит, включая бесконечный пересчет прав. И еще пользователи могли работать с браузера или мобильного клиента и их сессия зависла… Короче нужно сервер рестартануть.

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

P.S. Или можете настроить расширенное логирование технологического журнала и при следующей ошибке на блокировке отследить по истории кто там его ранее блокировал — человек или регламентное задание. Далее решение по обстоятельствам.

UPD. Если вы подключены к системе взаимодействия, то можете сами снять блокировку без необходимости перегружать сервер. Из задачи, которую не можете выполнить заходите в предмет (как я понимаю, речь о внутреннем документе) и попытайтесь его отредактировать. Вам будет предложено снять блокировку. Подробнее тут:
https://wonderland.v8.1c.ru/blog/vzaimodeystvie-pr…

Пригласить эксперта

Такое возникает, если есть сеанс в котором этот объект заблокирован для редактирования. Либо программно (например параллельное фоновое задание), либо интерактивно — открыт клиент 1ски и в нем открыт этот объект и начато его изменение. Проще всего сначала срубить все сеансы, а потом проверить ещё раз. Вообще в тексте ошибки должен писать, что за пользователь у того сеанса, который установил блокировку, и так можно найти, откуда она взялась.


  • Показать ещё
    Загружается…

21 июн. 2023, в 14:43

6000 руб./за проект

21 июн. 2023, в 14:18

10000 руб./за проект

21 июн. 2023, в 14:17

250000 руб./за проект

Минуточку внимания

  • 1с документооборот ошибка при вызове метода контекста записать
  • 1с документооборот ошибка для настройки действий комплексного процесса не предусмотрено вариантов
  • 1с динамический список ошибка получения информации набора данных
  • 1с вызвать сообщение об ошибке
  • 1с вызвать ошибку принудительно