Управление задачами и процессами в 1С:Документооборот 2.1 (ДО 2) — это ключевой элемент автоматизации бизнес-процессов. Часто возникает необходимость программно прервать или завершить текущую задачу и автоматически инициировать следующую, например, при отсутствии исполнителя, истечении срока или при специфических условиях бизнес-логики. Давайте вместе разберем, как мы можем эффективно управлять этим процессом, учитывая все нюансы, особенно те, что связаны с использованием электронной подписи (ЭЦП).
Один из наиболее мощных и предусмотренных разработчиками способов автоматического управления задачами — это механизм эскалации задач. Мы выясним, как он работает и почему он так полезен.
Что такое эскалация задач?
Эскалация задач в 1С:Документооборот 2.1 предоставляет широкие возможности для автоматического выполнения или перенаправления задач при наступлении определенных условий. Это может быть полезно, когда требуется программно завершить текущую задачу и инициировать следующую без ручного вмешательства. По сути, система сама «нажмет кнопку» за пользователя, основываясь на заранее заданных правилах.
Условия для срабатывания эскалации
Мы можем настроить различные условия, при которых будет срабатывать эскалация. Рассмотрим подробнее основные из них:
Действия, доступные при эскалации
После срабатывания условия эскалации, система может выполнить одно из следующих действий:
Таким образом, мы видим, что эскалация позволяет решить проблему, когда, например, сотрудник уволен, и его задачи необходимо передать И.О.Царя, как было упомянуто в обсуждении. Это стандартный и рекомендуемый функционал для подобных ситуаций.
В более сложных или нестандартных сценариях, когда функционала эскалации недостаточно, мы можем прибегнуть к программному управлению задачами с помощью встроенного языка 1С. Это дает нам максимальную гибкость, но требует более глубокого понимания архитектуры системы.
Выполнение задачи в режиме обмена данными
Иногда возникает необходимость выполнить задачу программно, обходя некоторые стандартные проверки или механизмы, которые обычно требуют интерактивного участия пользователя (например, ввод дополнительных данных или подтверждение ЭЦП). Один из подходов, который обсуждался на форуме, — это выполнение задачи в режиме, когда переменная ОбменДанными.Загрузка установлена в Истина. Это может позволить выполнить задачу, минуя некоторые проверки, которые срабатывают только при интерактивной работе пользователя.
Мы можем использовать следующий подход:
ОбменДанными.Загрузка = Истина;
Попытка
// Здесь располагается код для программного выполнения задачи
// Например, обращение к методу объекта задачи
// ЗадачаОбъект.Выполнить(...);
// Или ЗадачаОбъект.Записать(...);
Исключение
// Обработка ошибок
КонецПопытки;
ОбменДанными.Загрузка = Ложь; // Важно вернуть значение в исходное состояние
Важно: Такой подход следует использовать с крайней осторожностью и только после тщательного анализа возможных последствий, особенно в части юридической значимости документов и подписей.
Программное прерывание и остановка процессов
В 1С:Документообороте предусмотрены два основных способа прекращения выполнения процесса, которые мы можем вызвать программно:
Для программного управления мы можем использовать методы объекта процесса, например, ПрерватьПроцесс() или ОстановитьПроцесс().
Отмена задачи
Существует также возможность отменить задачу. Для задач-поручений, созданных вне функционала обработки документа, отмена позволяет вернуть задачу на доработку и снова активировать ее. Если же задача создана в рамках обработки документа, отмена задачи в большинстве случаев имеет функционал прерывания и является необратимой.
Вопрос с электронной подписью является одним из наиболее критичных при программном управлении задачами. Мы проанализируем эту ситуацию и выясним основные риски.
Отсутствие интерактивного участия пользователя
1С:Документооборот поддерживает работу с различными видами электронных подписей (простая, неквалифицированная, квалифицированная). ЭЦП может использоваться для подписания файлов, карточек документов, виз согласования и резолюций. Однако, при автоматическом выполнении задачи или ее перенаправлении через эскалацию, пользователь не взаимодействует с системой напрямую.
Это означает, что если подразумевается, что задача должна быть подписана ЭЦП, то автоматическое выполнение без участия пользователя, владеющего ключом ЭЦП, может привести к тому, что подпись не будет поставлена или будет поставлена «простой» ЭП, не имеющей юридической силы, если иное не предусмотрено внутренними регламентами.
Неполный комплект подписей
В случае, когда требуется несколько подписей, а задача выполняется программно, необходимо учитывать, что программное завершение задачи одним исполнителем не заменяет подпись другого. Система может быть настроена на проверку наличия всех необходимых подписей перед завершением этапа. Если этап предполагает несколько подписей, а задача программно завершается, это может привести к неполному комплекту подписей на документе или вложении, как было упомянуто в исходной теме форума ("одна подпись вместо 2-х штатных").
Влияние режима ОбменДанными.Загрузка = Истина
Если мы используем прием с установкой ОбменДанными.Загрузка = Истина для программного выполнения задачи, это может привести к тому, что система пропустит обязательные проверки на наличие ЭЦП. В результате задача будет считаться выполненной, но юридически значимая подпись отсутствовать. Крайне важно понимать риски и согласовывать такие решения с юридическим отделом.
Контроль исполнителя подписи
Настройки программы позволяют определить, кто является фактическим исполнителем задачи при ее выполнении (например, тот, кому назначена задача, или текущий пользователь, который ее отметил). Это важно для корректного отражения авторства подписи. При программном выполнении мы должны явным образом указывать, от чьего имени выполняется задача, чтобы обеспечить корректное отображение в истории.
Мы рассмотрели основные подходы к программному управлению задачами в 1С:Документооборот 2.1. Всегда предпочтительнее использовать стандартные механизмы, такие как эскалация задач, поскольку они являются более надежными и поддерживаемыми. Программное вмешательство через встроенный язык требует глубокого понимания системы и потенциальных юридических рисков, особенно когда речь идет о работе с электронной подписью. Всегда тщательно анализируйте последствия ваших действий и консультируйтесь с соответствующими специалистами.
← К списку