Типы действий

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

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

Архивация 🔗

Действие предназначено для переноса документов в архивную базу данных. Переносится вся основная информация по документу, включая значения его полей; однако, некоторые данные, такие как, например, файлы, сохраняются на прежних местах. Архивные документы для пользователя выглядят как обычные документы, но в них могут быть запущены только 2 действия: «Архивация» и «Удаление» (поэтому кнопки, имеющие другие действия, в архивных документах автоматически скрываются). По умолчанию, доступ к архивным документам сохраняется таким же, каким он был до архивации. Таким образом, пользователь, переходя по ссылке в архивный документ, может даже не замечать, что работает с архивным документом (это поведение можно изменить, удалив права доступа в момент архивации при помощи действия «Доступ»; можно также в шаблон вывести сообщение о том, что документ находится в архиве при помощи новой переменной ВРЕМЯ АРХИВАЦИИ).

Действие имеет две настройки:

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

Выборка 🔗

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

Настройки действия делятся на две группы:

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

Выполнение 🔗

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

Генератор отчетов 🔗

Действие позволяет настроить формирование отчетов на основе имеющихся в системе документов:

Этот отчет состоит из 6 полей:

  • Название — это значение документа группировки.
  • Входящих — количество входящих документов. По данному полю включены категоризация по состояниям (поэтому в отчете вместо одного столбца выводятся 5 — разбивка осуществляется автоматически) и детализация (значения в столбцах являются гиперссылками, нажатие на которые приводит к открытию окна со списком документов, на основе которых была сформирована каждая конкретная цифра).
  • Исходящих — количество исходящих документов без категоризации, но с детализацией.
  • Количество листов — сумма по одноименному числовому полю входящего документа.
  • Вх + Исх — сумма столбцов Входящих (Итого) и Исходящих.
  • В%И — процент исходящих от входящих документов.

Действие имеет следующие настройки:

  • Документы
    • Группировка. Для консолидации данных в отчете применяется этот параметр. Отчеты могут формироваться в разрезе документов заданного документа (например, отчет по сотрудникам — документам типа «Структура» или по контрагентам) или по времени. Для группировки по типу документа доступна возможность скрытия строк с нулевыми данными, а для группировки по времени можно выбирать временные периоды (дни, месяцы, кварталы, годы — периоды по которым будут сгруппированы данные, то есть для «месяцев» в отчете будут строки с названиями месяцев) и настраивать их отображение (месяцы можно выводить в виде цифр или названий, к дням можно добавить месяц и год, а к месяцам и кварталам — год.
    • Типы документов. К отчету, как правило, подключается один и более типов документов. Например, при формировании отчета по контрагентам, можно подключить входящие и исходящие документы, чтобы иметь возможность вывести количество этих документов в разрезе контрагентов, а также договоры для вывода общей, максимальной и, например, средней суммы договоров по контрагенту.
  • Поля отчета — это столбцы таблицы отчета. Эти поля могут быть следующих типов:
    • Значение поля позволяет вывести в строке отчета любое поле из типа документа группировки. Например, название контрагента. Такое поле имеет следующие настройки:
      • Поле типа документа группировки, которое будет выводиться в данном поле-столбце отчета.
      • Заголовок столбца отчета.
      • Сортировка. Позволяет настроить сортировку по данному столбцу в отчете.
    • Сумма по полю. Можно подсчитать, например, общую сумму договоров по каждому контрагенту. В настройках поля указываются:
      • Тип документа, по полю которого будет выполняться расчет. Здесь же необходимо выбрать поле для связи с группами (строками) отчета. Например, тип документа «Договор», поле для связи - «Контрагент» (если отчет формируется по контрагентам), чтобы генератор сформировал суммы по договорам, относящихся к каждому контрагенту.
      • Поле, по которому будет выполняться расчет. В случае «Договора» - поле «Сумма договора».
      • Заголовок.
      • Сортировка.
      • Фильтры. В этом поле доступна дополнительная вкладка «Фильтры», позволяющая рассчитать сумму по заданному полю не всех документов заданного типа (соответствующих фильтрам на вкладке «Фильтры» действия), относящихся к конкретной группе (к контрагенту, в нашем примере), а отвечающим этим дополнительным фильтрам. Например, можно рассчитывать сумму не по всем договорам с контрагентом, а только по выполненным:
      • Дополнительные настройки:
        • Категоризация по полю. Данные в столбце отчета будут категоризованы по этому полю. Например, можно не просто вывести количество входящих от каждого контрагента, но и категоризовать входящие по их состоянию - в этом случае данный столбец отчета будет разбит на некоторое количество колонок, соответствующих количеству состояний имеющихся входящих документов, и в каждом из них будет отображено количество документов с соответствующим состоянием. Можно выбрать любые поля типа «Строка» или «Время», а также переменные ИМЯ АВТОРА ДОКУМЕНТА, НАЗВАНИЕ ПОДРАЗДЕЛЕНИЯ, НАЗВАНИЕ ТЕКУЩЕЙ ТОЧКИ МАРШРУТА. Для категоризации по полю типа «Время» доступны дополнительные настройки:
          • Период категоризации: день, месяц, квартал, год. Если выбрать, например, месяц, то в отчете будут категории по месяцам.
          • Отображение года (месяца). Для категоризации по дням, месяцам и кварталам можно вывести год, а для дней еще и месяц.
        • Детализация. При включенной детализации пользователь сможет нажимать на ячейки данного поля с данными, чтобы увидеть окно детализации. Это окно отображает таблицу с документами, на основе которых было получено значение поля. Здесь же можно определить набор полей для такой таблицы документов.
        • Итого. Если включить эту настройку, то по данному полю будет подсчитано итоговое значение, которое будет выведено в нижней странице отчета.
    • Минимальное / максимальное / среднее значения заданного поля. Эти типы полностью аналогичны предыдущему типу, с той только разницей, что вычисляется не сумма, а находится минимальное / максимальное / среднее значение поля (например, «Сумма договора»).
    • Количество документов. В таком поле выводится общее количество документов заданного типа со связью с группой по выбранному полю. Например, количество входящих документов по полю «Контрагент». В настройках поля указываются:
      • Тип документов, количество которых будет рассчитываться.
      • Заголовок.
      • Сортировка.
      • Фильтры (см. Сумму по полю ССЫЛКА).
      • Дополнительные (см. Сумму по полю ССЫЛКА)
    • Вычисляемое поле. Это поле позволяет вычислить некий результат на основе существующих полей отчета. Например, вычислить общее количество внешних документов, равное сумме входящих и исходящих документов (по каждому контрагенту).
      Поле имеет следующие настройки:
      • Заголовок.
      • Формула. В формулу могут быть вставлены поля отчета в качестве переменных, а также знаки сложения +, вычитания -, деления /, умножения *, получения остатка от деления %, возведения в степень ** и круглые скобки ().
      • Количество знаков после запятой.
      • Сортировка.
  • Результат.
    • Поле для записи отчета. Отчет формируется в формате поля «Динамическая таблица» (JSON).

Диалог 🔗

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

  • Заголовок окна.
  • Содержимое окна. В этом параметре доступен полноценный редактор шаблона, позволяющий вставлять поля документа и пр. Заголовок и содержимое локализовано, то есть, если в До́кви настроены несколько языков, для каждого из них можно настроить свои заголовок и содержимое.
  • Режим: форма или просмотра. В первом случае пользователь сможет изменить значения полей и сохранить их; во втором пользователю отображается информационное диалоговое окно.

На вкладке «Дополнительные» доступны параметры, позволяющие определить действия в зависимости от события:

  • После сохранения формы. Параметр позволяет переместить документ на заданную точку маршрута после того, как пользователь нажмет на кнопку «Сохранить» в диалоговом окне. Если в результате сохранения значений полей будет запущен контекст изменения, в результате чего документ покинет текущую точку маршрута, перемещение будет отменено.
  • После отмены формы. А этот параметр позволяет изменить точку документа, если пользователь нажмет в окне на кнопку «Отмена».
  • После показа формы. Этот параметр доступен при размещения действия в каком-либо контексте маршрута и позволяет прервать выполнение маршрута.
  • Однократный запуск. Параметр также доступен только в контексте и позволяет ограничить количество запусков действия в рамках одной сессии.
  • Ширина / Высота окна. Ширина и высота могут не устанавливаться, и тогда диалоговое окно определяет свой размер автоматически. Задавать размер нужно с указанием единиц измерения: px, rem, em, %, vw/vh и пр.

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

Доступ 🔗

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

Администратору для настройки действия доступны следующие параметры:

  • Субъект доступа, иначе говоря, кому предоставляется доступ. Здесь можно выбрать поле с документами «Структуры» или одну из переменных: ПОДРАЗДЕЛЕНИЕ ДОКУМЕНТА (подразделение, к которому относился автора на момент создания документа), ТЕКУЩИЙ ПОЛЬЗОВАТЕЛЬ (пользователь, который открывает документ), АВТОР И ЕГО ПОДРАЗДЕЛЕНИЯ (все подразделения, к которым относится автор: Отдел — Департамент … - Компания; кстати, отменить доступ автора документа нельзя), ПРЕЖНЕЕ ЗНАЧЕНИЕ ИЗМЕНЕННОГО ПОЛЯ (эта переменная позволяет, к примеру, отменить доступ тем сотрудникам, которые были в некоем полей «Исполнители» до его изменения).
  • Объект. Доступ может быть настроен для текущего документа, документам из какого-либо поля (как правило, это поле имеет тип «Ссылка»), всем документам заданного типа или типам документам, идентификаторы которых находится в выбранном поле (используйте последние два варианта только тогда, когда есть реальная необходимость в таком использовании, во всех прочих случаях пользуйтесь вкладкой «Доступ»). Перечень заданных объектов (документов) можно расширить всеми их «родственниками» (когда документ Б создается из документа А, оба документа А и Б становятся родственными), или только дочерними (из А создали Б, а из Б создали В — для Б дочерним является В и всего его «дети»), или только родительскими (для Б - родительский А и всего его «предки»). Включение родственных документов особенно полезно тем, что работает даже для тех «детей» которые еще «не родились». Если г-ну Иванову был предоставлен доступ к документу Б и всем его дочерним документам сегодня, то даже созданный завтра из документа Б документ В будет доступен Иванову без каких-либо дополнительных действий.
  • Доступ можно разрешить или запретить. Запретить доступ автору нельзя. Если в качестве субъекта доступа при запрете используется какое-либо подразделение «Структуры», доступ удаляется для всех его сотрудников (включая сотрудников дочерних подразделений). Таким образом, чтобы удалить доступ к документу вообще для всех (кроме автора), достаточно в качестве субъекта доступа передать корневую точку Структуры (то есть организацию).

Запись 🔗

Чаще всего в До́кви изменяются значения полей. Изменять эти значения могут как пользователи, так и сама система. И большинство операций изменения полей системой осуществляются через действие «Запись». Настройки действия поделены на две вкладке, на первой определяется поле, которое будет изменено, а на второй новое значение.

Поле для записи может быть:

  • Обычным полем документа. Обычные поля — это поля, которые есть у каждого документа в системе (они определяются на вкладке «Поля» типа документа). Поэтому для записи в такое поле необходимо определить документ, к которому относится записываемое поле. Это может быть текущий документ (документ, из которого запускается «Запись») или документ по ссылке из заданного поля (например, поле «Ссылка» может содержать один или несколько документов, у которых нужно изменить значение некоего поля; если документов будет несколько, запись будет осуществлена в каждый из них). Во втором случае понадобится указать тип документов из заданного поля. Ну и, конечно, выбрать само поле.
  • Настроечным полем. Настроечные поля, в отличие от обычных, имеют одно значение, не зависящее от документов (они определяются на вкладке «Настройки» типа документа). Поэтому в данном случае не нужно определять документ, а нужно просто выбрать поле (поле может быть из любого типа документа)
  • Поле с ID из поля. ID — это идентификатор поля (у каждого поля в системе есть свой собственный, уникальный идентификатор). Этот вариант полезен, когда разработчик конфигурации не знает в какое именно поле нужно выполнить «Запись», т. к. это поле будет определено только в процессе работы пользователей с системой. Например, поручение может быть создано из внутреннего документа или из входящего. И после выполнения поручения в родительский документ нужно записать результаты выполнения. Тут перед администратором встает проблема, ведь он не знает тип этого родительского документа (это может быть или внутренний, или входящий). Но, если он (администратор) передаст в поручение (при его создании) идентификатор поля, в которое нужно записать результаты выполнения (из внутреннего идентификатор поля внутреннего документа, а из входящего — входящего), проблема будет решена, благодаря возможности записи в поле, идентификатор которого можно получить из другого поля.

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

  • Определить способ записи (метод записи) в выбранное на первой вкладке поле. Почти каждое поле в До́кви, в зависимости от своего типа, позволяет не просто сохранять передаваемые ему данные, но и обрабатывать их при помощи методов записи. Например, в поле типа «Ссылка» можно добавлять идентификаторы документов к уже существующим или удалять (см. методы записи). Настройка записываемого значения зависит от того, какой метод записи будет выбран. Далее мы рассмотрим вариант прямой записи значения в поле (то есть существующее значение будет заменено тем, которое будет сформировано на основе описываемых ниже настроек). Этот вариант называется «Перезаписать содержимое поля».
  • Значение для перезаписи (может быть получено):
    • Из обычного поля, как текущего документа, так и документа, идентификатор которого находится в каком-либо поле (если в поле будет несколько документов, из каждого из них будет загружено соответствующее значение, потом все эти значения будут перечислены через запятую и то, что получится, будет записано в выбранное на первой вкладке поле). Во втором случае необходимо указать тип этого документа. В обоих случаях нужно выбрать поле, из которого будет загружено значения для записи. И в завершении можно будет не просто получить значение выбранного поля, а каким-то образом обработать его при помощи заданного метода чтения этого поля (например, получить сумму хранящегося в поле числа и некоего аргумента, если будет выбрано числовое поле).
    • Из настроечного поля, которое нужно выбрать (при необходимости можно также выбрать метод чтения этого поля (при наличии таких методов в соответствующем типе поля)).
    • Из переменной. Доступны все имеющиеся поля-переменные.
    • Идентификатора поля. В качестве значения будет установлен идентификатор выбранного поля.
    • Идентификатора точки маршрута. В качестве значения будет установлен идентификатор выбранной точки маршрута.
    • Идентификатора кнопки. В качестве значения будет установлен идентификатор выбранной кнопки типа документа.
    • Ввести вручную. В строку ввода можно ввести любое значение. Учтите, что для записи в некоторые поля нужно понимать их внутренний формат значений. Скажем, в ссылочное поля нельзя записать Иванова, - в него нужно записывать идентификаторы из 36 символов.

Запуск 🔗

Данное действие позволяет выполнять команды и запускать программы на сервере. Запуск осуществляется от имени пользователя, под которым работает До́кви. Поскольку действие позволяет запускать любые команды в рамках имеющихся у пользователя привилегий, во-первых, не запускайте До́кви от имени пользователя с административными правами, а, во-вторых, его можно отключить при необходимости при помощи ключа NoStartExec.

Действие «Запуск» имеет следующие параметры:

  • Команда. Полный путь к команде или программе.
  • Аргументы. При необходимости можно добавить аргументы для запуска команды. Аргументы могут быть введены непосредственно либо загружены из указанных полей с использованием методов.
  • Результат запуска команды может быть записан в выбранное поле.
  • Ошибка, возникшая при выполнении команды, может быть записана в выбранное поле.

Импорт из файла 🔗

Действие «Импорт из файла» предназначено для создания документов на основе данных из табличных файлов в форматах CSV (разделитель - запятая) или XLSX. Каждая строка импортируемого файла соответствует новому создаваемому документу.
Для настройки действия администратору доступны параметры, размещенные на двух вкладках.

На вкладке «Данные» доступны следующие настройки:

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

На вкладке «Импорт» определяется процесс импорта данных:

  • Сопоставление. Таблица из двух столбцов: в первом определяется поле создаваемого документа, а во второй номер колонки в импортируемом файле, из которой будет получено значение для этого поля (нумерация начинается с 1).
  • Инициализация. Поля создаваемых в результате импорта документов можно инициализировать заданными в этом параметре значениями. Если одно и то же поле будет и в «Сопоставлении» полей и в колонке импортируемого файла и в данном параметре, приоритет получит значение из сопоставления.
  • Поле для записи результата. Поле, в которое будут записаны идентификаторы всех созданных документов (если их будет несколько, они будут перечислены через запятую)
  • Многопоточность. По умолчанию импортируемые документы создаются параллельно, чтобы ускорить процесс импорта. Но иногда бывают ситуации, когда обработка данных из файла должна выполняться построчно, по порядку, - в этом случае следует отключить многопоточность (это может привести к существенному снижению скорости обработки).

Контроль 🔗

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

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

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

Управление контрольными точками осуществляется на вкладке «Общие».

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

Перейдя на эту вкладку можно добавить необходимое количество действий.

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

Перемещение 🔗

Действие «Перемещение» предназначено для перемещения документа на заданную точку маршрута. Перемещать можно как на отличную от текущей точки маршрута, так и на текущую точку маршрута; во втором случае будет запущен контекст перехода текущей точки. Действие недоступно в контекстах создания и проверки нулевой точки маршрута, т. к. перемещение документов из этих контекстов может привести к ошибкам в документах.

Действие имеет следующие настройки:

  • Перемещаемые документ. Переместить на другую точку маршрута можно как текущий документ (документ, в котором запускается «Перемещение»), так и документ по ссылке из какого-либо поля (это поле должно содержать идентификаторы документов соответствующего типа). Если в поле будет несколько документов, перемещены будут все они.
  • Целевая точка маршрута — точка, на которую будет перемещен документ. Эту точку можно непосредственно выбрать из списка или выбрать поле с ее идентификатором. Последний вариант полезен, когда целевая точка будет определена только в процессе выполнения документа (например, поручение может быть создано из, скажем, внутреннего или входящего документов; чтобы по завершении исполнения поручения переместить родительский документ в рамках одного действия «Перемещение» можно будет передать целевую точку через поле).
  • Многопоточность. Перемещение других документов можно выполнять параллельно, чтобы увеличить быстродействие. Однако, если вам необходимо сначала переместить другой документ, а затем выполнить какие-то операции в текущем, которые зависят от результатов перемещения того другого документа, многопоточность использовать не следует.

Перенаправление 🔗

Действие позволяет перенаправить пользователя из текущего документа в другой документ, журнал или произвольный URL-адрес. У действия только один параметр — поле, которое должно содержать идентификатор целевого документа или журнала или URL-адрес. Если в этом поле будет несколько документов, перенаправление будет осуществляться на первый из них.

Печать 🔗

Действие «Печать» предназначено для вывода на печать документа в настраиваемом шаблоне (Например, документ, выглядящий следующим образом на экране:

может отобразится на бумаге вот так:

Действие имеет одну настройку — Шаблон, настройка которого осуществляется при помощи редактора, применяемого для настройки шаблонов типа документа.

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

Некоторые типы полей (такие как «Коллекция документов», «Хранилище» и пр) на текущий момент не поддерживаются действием.

Повтор 🔗

Данное действие является контейнерным (контейнерное действие — это такое действие, которое содержит другие действия) и позволяет выполнить заданное количество раз настраиваемую группу действий или выполнять эту группу действий до тех пор, пока выполняются заданные условия.

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

Редактирование 🔗

Создание документа пользователем осуществляется при помощи действия «Создание», а для его изменения обычно пользователю делегируется кнопка с действием «Редактирование». Это действие переводит документ из шаблона просмотра в шаблон формы.

Действие имеет следующие настройки:

  • Запуск контекст проверки, определяет необходимость запуска после сохранения измененного документа контекста проверки маршрута.
  • После сохранения формы. Параметр позволяет переместить документ на заданную точку маршрута после того, как пользователь нажмет на кнопку «Сохранить» в редактируемом документе. Если в результате сохранения значений полей будет запущен контекст изменения, в результате чего документ покинет текущую точку маршрута, перемещение будет отменено.
  • После отмены формы. А этот параметр позволяет изменить точку документа, если пользователь нажмет в окне на кнопку «Отмена» в форме редактируемого документа.
  • После показа формы. Этот параметр доступен при размещении действия в каком-либо контексте маршрута и позволяет прервать выполнения маршрута.
  • Однократный запуск. Параметр также доступен только в контексте и позволяет ограничить количество запусков действия в рамках одной сессии.

Поведение последних двух параметров идентично поведению одноименных настроек действия «Диалог».

Регистрация 🔗

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

Настройки действия находятся на двух вкладках: «Номер» и «Настройки».

На вкладке «Номер» настраиваются:

  • Поле для записи регистрационного номера
  • Поле для записи даты регистрации (будет записано время выполнения действия «Регистрация»)
  • Регистрационный номер. Номер можно сформировать из неограниченного количества значений, которые можно получить из обычных полей текущего документа или любых настроечных, из переменных или вводить вручную. Как правило, в числе записываемых значений используется поле, содержащее нумератор (настроечное поле, которое обычно создается для каждого типа документа).

На вкладке «Настройки» можно:

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

Решение 🔗

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

Настройки действия «Решение» разбиты на три вкладки: «Участники», «Настройки» и «Отчет» (в действии может быть и одна вкладка: «Окно» или «Решение»).

Вкладка «Участники» содержит следующие настройки:

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

На вкладке «Настройки» (она доступна только при запуске процесса) определяются:

  • Непринявшие решение участники процесса. В этом поле действие автоматически записывает тех, от кого ожидается принятие решения. Если, к примеру, участники процесса переданы через таблицу с двумя строками, в первой из которых находятся Иванов с Петровым, а во второй — Сидоров, и действие «Решение» только что запустило процесс, в поле для непринявших решение будут записаны Иванов и Петров (кстати, они автоматически получат доступ и уведомление на текущий документ, а также сообщение по электронной почте и в Telegram при наличии соответствующих настроек, а в случае завершения процесса до того, как они примут свое решение (например, решение примет супер-участник), уведомления будут автоматически удалены). Это поле обычно используется для делегирования кнопки с действием «Решение» в режиме показа окна, чтобы Иванов и Петров могли нажать на кнопку и выбрать свой вариант. После того, как, скажем, Иванов «выскажет» свое решение, в поле останется только Петров. А после Петрова действие обработает следующую строку нашей гипотетической таблицы и уведомит и запишет в поле Сидорова, который, благодаря этому сможет открыть документ и нажать на соответствующую кнопку.
  • Номер шага. Поле, в которое будут записываться номер шага последовательного процесса решения. Если, например, в качестве участников процесса решения в действие передается JSON-массив (например, поле "Таблица"), то каждая строка будет выполняться последовательно, и в данное поле будет записываться номер выполняемой строки (нумерация начинается с 1).
  • При отказе можно прервать процесс или продолжить. Это общая настройка на весь процесс, которая может быть переопределена, если в качестве передачи участников процесса использовать поле «Таблица».
  • Уведомлять автора о каждом решении или не уведомлять. Эту настройку также можно переопределить использованием поля «Таблица» для участников процесса принятия решения.
  • Типы уведомлений, которые может направлять действие автору и/или участникам процесса принятия решения. Здесь можно выбрать из всех имеющихся в системе типов уведомлений. Если какой-либо из этих типов не настроен, он не будет выполняться. Если не выбрать ни один тип уведомления, действие будет игнорировать все другие настройки и никого не будет уведомлять.
  • Завершающая точка маршрута, на которую будет перемещен текущий документ, когда у действия не останется ни одного участника.
  • Точка отклонения используется действием для перемещения текущего документа, если настроено прерывание процесса, и соответствующий участник выбрал вариант с отрицательным значением.
  • Супер-участники. Сотрудники в этом поле (полях) становятся супер-участниками процесса решения (в полях могут бы как сотрудники, так и подразделения, сотрудники которых будут супер-участниками). Отличие таких участников от обычных заключается в том, что после их решения завершается либо текущая строка процесса, либо весь процесс, вне зависимости от наличия участников, не успевших высказать свое мнение. Например, документ согласуется многими сотрудниками организации, среди которых есть очень авторитетный и компетентный Иван Иванович, решение которого настолько веско, что после него нет никакого смысла продолжать процесс. Ивана Ивановича имеет смысла сделать супер-участником.

На вкладке «Отчет» (она также доступна только при запуске процесса) определяются:

  • Поле отчета, в которое записывается автоматически формируемый и обновляемый после каждого решения отчет. Отчет в формате HTML, поэтому следует использовать текстовое поле со включенным редактором.
  • Поле для записи истории. В отличие от отчета, в который записываются только окончательные решения участников процесса, в историю записываются все решения.
  • Формат имени. Можно определить формат имени участников процесса, оказавшихся в отчете.
  • Запись решения. Настройки этой группы позволяют, помимо прочего, создать отчет собственного формата либо просто получить те или иные данные для дальнейшей нестандартной обработки. В настройках выбираются поля, в которые будут записывать соответствующие данные после каждого принятия решения. Поля записываются в том порядке, в котором они перечислены в группе (это важно, если будет использоваться запуск контекста изменения для дополнительной обработки решения).

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

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

Для добавления решения необходимо указать:

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

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

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

Создание 🔗

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

Действие имеет следующие настройки:

  • Тип документа. В результате выполнения действия будет создан один или несколько документов этого типа.
  • Значения полей. Эта настройка позволяет инициализировать значения полей создаваемого документа. Значения для полей могут быть получены из полей текущего документа (документа, в котором запускается действие «Создание») или из JSON-объекта (как правило, используется поле «JSON»).
    • Из полей текущего документа
      При выборе этого варианта становится доступной таблица сопоставления из двух столбцов: в левом выбираются поля создаваемого документа для инициализации, а в правом — определяются значения, которые могут быть получены из полей (есть возможность применения методов полей) или введены вручную.
    • Из JSON
      Данный вариант часто применяется, когда данные для создания документов поступает от сервиса «REST API», т. к. позволяет легко создать документы на основе полученного JSON. Этот вариант позволяет не только создавать документы, но и осуществлять поиск существующих документов по ключевым полям, и, в случае нахождения, изменять эти документы вместо создания новых. Для указания таких ключевых полей в таблице сопоставления ключей JSON (которая становится доступной после выбора поля с JSON) и полей создаваемого документа добавляется столбец с переключателем, позволяющем выбирать определенные строки. Работая в режиме «Создание или изменение» действие ищет документы, у которых выбранные ключевые поля имеют значения из полученного JSON, чтобы привести все поля, определенные в таблице, значениям соответствующих ключей.
      JSON может быть массивом. В этом случае действие попытается создать не один документ, а столько, сколько элементов будет в этом массиве. Разумеется, каждый элемент такого массива должен содержать ключи, определяемые в таблице сопоставления ключей и полей.
  • Форма. Этот атрибут доступен, если действие находится в кнопке. Если форма включена, то у пользователя после нажатия на кнопку откроется шаблон формы создаваемого документа. Если форму отключить, то документ будет создан без участия пользователя, и пользователь увидит готовый документ в режиме просмотра.
  • Автор. В До́кви каждый документ должен иметь автора. По умолчанию, автором является текущий пользователь. Но этот пользователь может быть не всегда (например, при запуске маршрута документа от «Таймера») или может быть ситуация, когда документ нужно создать от другого пользователя. В этих случаях используется данный атрибут. Следует отметить, что, если автор не будет найден, документ не будет создан. А если авторов будет несколько (например, из «Ссылки» со множественным выбором), то действие создаст несколько документов — для каждого автора свой.
  • Поле для записи результат. В это поле действие запишет идентификатор созданного документа. Если документов будет несколько действие перечислит их идентификаторы через запятую или сформирует массив JSON.
  • Открытие в модальном окне. Создаваемый документ может быть открыт в модальном окне, если включить этот параметр. Настройка доступна только при использовании действия в кнопке при включенной форме. При включенной настройке появляется возможность включения автоматического закрытия модального окна после сохранения пользователем созданного документа.
  • Исключение из дерева. Создаваемый документ может быть исключен из дерева родственных документов текущего документа. По умолчанию, текущий документ станет «родителем» создаваемого документа
  • Многопоточность. Если текущий и создаваемый документ не зависят друг от друга или, если создается много документов, которые также не зависят ни друг от друга, ни от текущего документа, имеет смысл включить многопоточность, чтобы увеличить скорость создания документов, т. к. в этом случае они будут создаваться одновременно, а не по очереди. Настройка доступна только при запуске действия из маршрута.

Таймер 🔗

Действие «Таймер» позволяет в заданное время в будущем переместить документ на заданную точку или записать название таймера в заданное поле.

На вкладке «Настройка» действия можно:

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

Вкладка «Действия» позволяет определить действия, которой «Таймер» выполнит в момент срабатывания:

  1. Поле, в которое будет записано его название.
  2. Точку маршрута, на которую будет перемещен документ.

Уведомление 🔗

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

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

Переключатель отправки уведомления Web-push на устройства пользователя (если он подписался в ответ на предложение подписки).

Действие имеет следующие настройки:

  • Отправить / удалить уведомление.
  • Получатели уведомления могут быть загружены из поля с возможностью указания метода получения данных (чтения) или выбраны пользователем (в этом случае действие покажет пользователю соответствующее диалоговое окно, в котором можно будет выбрать получателей и ввести текст сообщения; если текст сообщения не будет введен в уведомлениях будет использован заголовок документа). Получателями могут быть как сотрудники, так и подразделения «Структуры». В последнем случае, уведомления получают все сотрудники, находящиеся в заданном подразделении. В частности, если выбрать поле, содержащее компанию (корневой документ «Структуры»), уведомления получат (или оно будет удалено) все сотрудники компании.
  • Документ. Уведомление может быть отправлено (удалено) как на текущий документ, так и на любые иные документы, находящиеся в выбранном в этом параметре поле.
  • Шаблон сообщения позволяет определить текст сообщения. Допускается вставка полей текущего документа и настроечных полей.
  • Переключатель отправки уведомления по электронной почте. Если его включить, сообщение со ссылкой на соответствующий документ будет отправлено получателям по электронной почты (при наличии у них почтового ящика в учетной записи). Дополнительных настроек для почтового сообщения не предусмотрено; если нужны расширенные возможности, следует использовать действие «Электропочта».
  • Переключатель отправки уведомления через Telegram. Если его включить, сообщение со ссылкой на соответствующий документ будет отправлено получателям в Telegram (при включенной интеграции и наличии привязки аккаунта Telegram пользователя в его профиле).

Удаление 🔗

Действие предназначено для удаления документов из системы и имеет следующие настройки:

  • Документ для удаления. Можно удалить текущий документ или документы, идентификаторы которых находятся в заданном поле.
  • Перед удалением выполнить контекст удаления текущей точки документа или переместить документ на заданную точку, чтобы выполнить какие-либо действия перед удалением. Если в результате выполнения этих действий документ покинет точку маршрута, на которой они находятся, удаление будет отменено.

Если «Удаление» запускается через кнопку, пользователь должен подтвердить операцию в появляющемся диалоговом окне.

Условие 🔗

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

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

На вкладках с действиями доступны переключатели, позволяющие:

  • Прервать исполнение контекста, то есть действия, следующие в текущем контексте точки маршрута за «Условием» выполняться не будут. Действия, определенные на соответствующей вкладке самого «Условия» выполнены будут.
  • Полностью остановить дальнейшую обработку документа. Такой переключатель доступен только в контекстах создания и проверки и позволяет прервать создание или сохранение документа.

Экспорт в файл 🔗

Действие «Экспорт в файл» предназначено для выгрузки данных из системы До́кви в файлы следующих типов: DOCX, CSV, PDF, XLSX (при запуске действия из кнопки журнала доступны DOCX и PDF). В зависимости от настроек файл может быть сразу выдан пользователю или записан в файловое хранилище.

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

DOCX 🔗

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

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

Для экспорта в предварительно подготовленный файл DOCX необходимо выбрать поле, в котором будет находиться идентификатор этого файла с шаблоном (как правило, это поле типа «Файл»). Действие загружает этот файл и заменяет в нем вставки вида d_Название_поля на отображаемые значения соответствующих полей (без HTML-разметки). Все символы вставки d_Название_поля должны иметь единый стиль (нельзя сделать одну из букв с другим начертанием, цветом и пр). Очень важно, чтобы офисный редактор вставил строку d_Название_поля без прерывания тегами оформления, поэтому лучшим вариантом вставки такой строки будет ее непосредственный ввод с клавиатуры. Если вы не уверены, что строка получилась правильной, можно добавить к файлу DOCX расширение zip, распаковать его и проверить файл word/document.xml.

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

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

Некоторые типы полей (такие как «Коллекция документов», «Хранилище» и пр) на текущий момент не поддерживаются действием.

CSV 🔗

Для экспорта в CSV необходимо определить следующие параметры:

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

PDF 🔗

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

Для выгрузки в PDF необходимо настроить шаблон, в который можно вставлять поля и использовать HTML. Можно использовать собственные стили CSS (эти стили применяются ко всей системе в целом, чтобы применить стили только к шаблонам PDF можно использовать селекторы, начинающиеся с body.exportf-template), позволяющие переопределить стили по умолчанию (находящиеся в файле template/action/exportf.css, изменять который не следует, т.к. он будет перезаписан при очередном обновлении). При необходимости просмотреть HTML-код, на основе которого будет формироваться PDF-файл, нужно включить режим отладки, запустить действие и изучить файл log/debug.log. Для работы экспорта в PDF на сервере должны быть установлен Wkhtmltopdf.

Некоторые типы полей (такие как «Коллекция документов», «Хранилище» и пр) на текущий момент не поддерживаются действием.

XLSX 🔗

Выгрузка осуществляется в предварительно подготовленный XLSX-файл, который определяется в параметре «Файл с шаблоном». Это обычный файл, который может быть подготовлен в любом табличном редакторе, поддерживающем формат XLSX. Действие создаст копию этого файла и заполнит указанные ячейки соответствующими данными, которые определяются в параметре Сопоставление. Каждая строка таблицы сопоставления соответствует определенном номеру строки в файле XLSX (используется только первый лист книги). А для каждой строки можно определить значения для любой колонки, используя буквенные обозначения этих колонок. Например, можно подготовить XLSX-файл, в ячейку B3 которого необходимо будет ввести название поставщика. В таблице сопоставления необходимо будет добавить строку с номером 3, в нее добавить колонку с индексом B и определить для нее значение. Значение может быть загружено как из текущего документа (документа, в котором запускается действие), так и из документов, идентификаторы которых находятся в заданном поле. Во втором случае действие будет формировать не одну строку, а несколько (столько, сколько будет документов), при этом все последующие строки будут сдвинуты в сторону увеличения на количество добавленных строк. Например, на 5-й строке выводятся приобретенные согласно накладной товары (пусть будет 7 позиций). Для ввода этих товаров используется поле «Таблица документов», которая для каждой строки создаст отдельный документ. Если выбрать это поле в качестве источника данных, то действие добавит в итоговый XLSX 7 строк, начиная с пятой. При этом в форме действия может быть определена строка номер 6, в которой будет выведено значение общей суммы поступления. В настройках действия строка будет иметь номер 6, но в итоговом файле она станет 6+7=13-й.

TXT 🔗

Этот тип выгрузки формирует текстовый файл с заданным расширением. Содержимое файла формируется путем конкатенации заданных значений (из полей или введенных вручную). На вкладке «Результат» можно определить название файла и его расширение (по умолчанию, txt).

Результат 🔗

На вкладке «Результат» определяется файловое поле, в которое будет записан (или добавлен, если выбрать метод добавления к содержимому поля) идентификатор итогового файла (при запуске действия из кнопки, поле можно не определять, - файл в этом случае будет выдан для загрузки в браузер пользователю, нажавшему на кнопку). Для форматов DOCX и PDF можно установить переключатель «Добавить в файл», чтобы при наличии в результирующем поле файла соответствующего типа, действие дописало сформированное содержимое в этот файл на новую страницу. Файл должен иметь такую же ориентацию, как и экспортируемый. При наличии нескольких файлов подходящего типа в поле, содержимое будет дописано в первый из них.

Можно также определить название экспортируемого файла (если не задавать для имени файла будет использоваться содержимое поля заголовка документа), а для текстового файла еще и расширение.

Электропочта 🔗

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

Действие имеет следующие настройки:

  • Адреса.
    • Кому. Можно передать непосредственно адреса электронной почты (если несколько, то перечислять следует через запятую), на которые будет отправлено сообщение. Или передать структурные идентификаторы сотрудников или подразделений (ссылочное поле на «Структуру») - система автоматически получит сотрудников подразделений и извлечет адреса электронной почты из соответствующих полей их учетных записей.
    • От кого. Параметр становится доступным, если в настройках определены несколько почтовых ящиков. Для отправки действие будет использовать выбранный в данном параметре почтовый ящик.
  • Сообщение.
    • Тема письма. Шаблон для определения темы сообщения, позволяющий использовать значения полей. Параметр является локализуемым, то есть при наличии в системе нескольких языков, можно создать тему на каждом из этих языков.
    • Содержимое письма. Редактор позволяет форматировать текст и вставлять поля. Шаблон также является локализуемым.
    • Почтовые вложения (файлы). К почтовому сообщению можно прикрепить один или несколько файлов. Можно передать один или несколько идентификаторов файлов (просто выбрав файловое поле) или полные пути к отправляемым файлам в файловой системе сервере. При загрузке файлов из файловой системы действие может использовать только разрешенные каталоги (по умолчанию, storage/file). Можно добавить свои каталоги через ключ AllowedCopyDirs секции [File] конфигурационного файла doc-v.conf.
  • Отправка.
    • Успешная отправка. В это поле можно записать адреса, на которые письма были отправлены вашему SMTP-серверу без ошибок.
    • Неудачная отправка. В это поле можно записать ошибки, возникшие при последней попытке отправки почтовых сообщений.
    • Повторная отправка. При возникновении ошибки, по умолчанию, выполняется 6 повторных отправок сообщения. Первая попытка будет выполнена через 10 минут, вторая - через 1 час 20 мин, третья - через 4,5 часа, четвертая - через 10 часов, пятая - через 21 час и шестая - через 36 часов. Вы можете переопределить как количество попыток, так и интервал между ними (интервал вводится в минутах и он будет одинаковым между всеми попытками). Если вас устраивают параметры по умолчанию, оставьте нулевые значения.

ЭЦП (NCALayer KZ) 🔗

Действие предназначено для формирования юридически-значимой электронно-цифровой подписи согласно действующего законодательства Республики Казахстан с использованием сертифицированного программного обеспечения NCALayer.

Для работы действия на пользовательском компьютере должен быть установлен NCALayer. Кроме того, в соответствии с требованиями законодателя сформированная подпись должна пройти обязательную проверку на сервере. Для этой цели на сервер необходимо установить библиотеки, входящие в состав комплекта разработчика НУЦ РК. Этот комплект можно получить бесплатно согласно инструкции. Порядок установки описывается ниже в разделе «Настройка сервиса проверки ЭЦП».

Настройки действия распределены по двум вкладкам: «Основные» и «Дополнительные».

На вкладке «Основные» находятся следующие настройки:

  • Режим.
    • Создание подписи в формате CMS (CADES) со встроенной временной меткой. Можно получить как подпись со встроенными данными в файле формата CMS (который можно проверить через сервис ezSigner), так и «чистую» подпись без данных в BASE64, которую можно записать в текстовое поле До́кви (текстовый редактор должен быть отключен). Подпись осуществляется через NCALayer, никакие ключи До́кви не нужны. Как правило, в режиме создания подписи действие размещается в кнопке. После нажатия на кнопку у пользователя открывается NCALayer, который и формирует подпись, которая потом загружается До́кви. Одновременно может подписываться только один документ.
      • Подпись со вложенными данными. Результатом работы действия может быть как подпись, включающая подписанные данные, так и без них. Если вы планируете в будущем проверять файлы через ezSigner или отправлять другим лицам, следует включать данные в подпись.
      • Подписываемые данные. Выберите поле, содержащее подписываемые данные. Это может быть как файл, так и любые иные данные. Например, поле «XML» с соответствующими данными.
      • Поле для записи подписи. Сформированная NCALayer подпись записывается действием в это поле. Если это поле будет файлового типа будет автоматически сформирован файл с расширением cms, который можно будет проверить через ezSigner (только при наличии вложенных данных).
      • Поле для записи проверки подписи. После получения подписи, действие запускает в фоновом режиме проверку полученной подписи. Результат проверки записывается в это поле. Для выбора доступны только поля типа «Текст» (рекомендуется включить редактор), т. к. результат проверки формируется в HTML-формате.
    • Проверка подписи. Запускается при необходимости проверки подписи. Вне зависимости от настроек действия, такая проверка выполняется сразу же после создания подписи. Данный режиме используется, если нужно проверить данные повторно или в систему загружена подпись в формате CMS, сформированная в сторонней системе.
      • Подпись со вложенными данными. Если в проверяемой подписи нет вложенных данных, необходимо будет указать их, чтобы действие могло выполнить проверку подписи.
      • Подписанные данные. Параметр появляется при проверке подписи без вложенных данных. Необходимо выбрать поле, которое будет содержать те данные, которые были подписаны в том же самом виде.
      • Проверяемая подпись. Поле, содержащее проверяемую подпись. Это может быть любое поле системы, например, файловое.
      • Поле для записи проверки подписи. Результат проверки записывается в это поле.

На вкладке «Дополнительные» можно настроить действие на перемещение текущего документа на заданные точки маршрута при определенных событиях:

  • После формирования подписи.
  • После успешной проверки подписи.
  • После неудачной проверки. Если в процессе выполнения проверки возникнет ошибка, перемещение выполнено не будет
  • После отмены подписания. Например, пользователь нажмет на кнопку «Отмена» в окне NCALayer.

Настройка сервиса проверки ЭЦП 🔗

Для выполнения проверки ЭЦП необходимо дополнительно настроить сервер, установив CSP Kalkan:

  1. Получить комплект SDK разработчика НУЦ РК, т. к. CSP Kalkan не входит в состав дистрибутива До́кви.
  2. Распаковать полученный zip-файл SDK и перейти в него: cd SDK\ 2.0
  3. Установить сертификаты НУЦ, для чего распаковать файл с сертификатами: unzip C/Linux/ca-certs/ca-certs_new/production2022.zip установить право на запуск: chmod +x install_production.sh и запустить скрипт на установку: sudo ./install_production.sh
  4. Cкопировать необходимые файлы CSP Kalkan командами: unzip SDK\ 2.0/C/Linux/C/libs/v2.0.5/C_libs.zip
    sudo cp libkalkancryptwr-64.so.2.0.6 /usr/lib/libkalkancryptwr-64.so

Теперь действие «ЭЦП (NCALayer KZ)» сможет проверять подписи. Результаты работы сервиса проверки логируются в файл log/checker.log.

ЭП (КриптоПро) 🔗

Действие предназначено для формирования электронной подписи при помощи криптопровайдера КриптоПро CSP (через модуль для работы с ЭП в браузере, входящий в состав КриптоПро CSP).

Для работы действия на пользовательском компьютере должен быть установлен КриптоПро CSP, а в браузере настроен плагин «КриптоПро ЭЦП Browser plug-in». Чтобы выполнить проверку подписи на сервере необходимо также установить КриптоПро CSP (проверка выполняется через утилиту cryptcp).

Настройки действия распределены по двум вкладкам: «Основные» и «Дополнительные».

На вкладке «Основные» находятся следующие настройки:

  • Режим.
    • Создание подписи. Подпись осуществляется через плагин браузера КриптоПро CSP, доступ к сертификатам До́кви не имеет. Как правило, в режиме создания подписи действие размещается в кнопке. После нажатия на кнопку у пользователя открывается диалоговое окно, в котором необходимо выбрать сертификат для подписи и нажать на кнопку «Подписать». Одновременно может подписываться только один документ.
      • Подпись со вложенными данными. Можно сформировать подпись со вложенными данными или только «чистую» подпись без данных.
      • Подписываемые данные. Выберите поле, содержащее подписываемые данные. Это может быть как файл, так и любые иные данные.
      • Поле для записи подписи. Сформированная электронная подпись записывается действием в это поле. Если это поле будет файлового типа будет предложен выбор расширения файла. По умолчанию, используется расширение p7s (бинарный формат), можно выбрать формат файла в кодировке Base64 dig (для подписи со вложенными данными) или sgn (без вложенных данных).
      • Поле для записи проверки подписи. После получения подписи от плагина браузера, действие может запустить в фоновом режиме проверку полученной подписи, если выбрать поле для записи результата проверки (выбрать можно только поле типа «Текст»; в поле будет записан краткий итоговый результат проверки, полный результат записывается в «Ход работы»).
      • Команда проверки подписи. Для выполнения проверки необходимо ввести полный путь к утилите cryptcp (по умолчанию, /opt/cprocsp/bin/amd64/cryptcp) и аргументы ее запуска (по умолчанию, -verify; действие автоматически добавит в качестве аргумента полный путь к проверяемому файлу). Проверка возможна только при формировании подписи со встроенными данными и ее записи в файловое поле.
    • Проверка подписи. Запускается при необходимости проверки подписанного файла. Настройки режима аналогичны описанным выше.

На вкладке «Дополнительные» можно настроить действие на перемещение текущего документа на заданные точки маршрута при наступлении следующих событий:

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

HTTP-запрос 🔗

Действие предназначено для выполнения HTTP-запросов к внешним веб-серверам. Действие, в первую очередь, будет полезно для работы со сторонними REST API, оно поддерживает различные методы передачи данных, позволяет передавать данные в формате JSON, загружать файлы или записывать ответ от веб-серверов в поля документов для дальнейшей обработки.

Настройки действия распределены по трем вкладкам (вкладка «Содержание» доступна для определенных HTTP-методов).

Вкладка «Запрос» содержит следующие настройки:

  • URL-адрес. По умолчанию, используется шаблон, в который можно ввести вручную адрес сервиса, добавив в него, при необходимости, значения полей (при включенной интеграцией с Telegram доступна переменная ТОКЕН TELEGRAM-БОТА; она может использоваться, например, для отправки сообщения в Telegram). Для отправки сообщения в Telegram действие HTTP-запрос необходимо настроить следующим образом:
    ○ URL https://api.telegram.org/bot{{ТОКЕН TELEGRAM-БОТА}}/sendMessage
    ○ Метод POST
    ○ Параметры запроса:
      ■ chat_id - поле Telegram ID из учетной записи адресата сообщения
      ■ text — само сообщение
    Дополнительную информацию по методам и параметрам см. Telegram Bot API).
    Вместо шаблона можно выбрать вариант загрузки адреса из поля. Можно передать несколько адресов в формате JSON (одномерный или двумерных JSON-массив; двумерный массив используется, например, для хранения значения полем «Таблица», таким образом, в данный параметр можно передавать значения табличного поля с одной колонкой, хранящей адреса запросов).
    • Запуск на клиенте. Выполнение запроса по умолчанию осуществляется с сервера. Однако, если введенный адрес доступен только из браузере пользователя, следует включить запуск с клиента (осторожно! в этом случае пользователь может увидеть все передаваемые запросом данные).
  • HTTP-заголовки. Сервисы REST API зачастую требует передачу определенных заголовков (например, ключи аутентификации могут передаваться как в URL, так и через заголовки). Данный параметр представляет собой таблицу из двух колонок: в левой определяется название заголовка, а во второй его значения (оно может быть загружено из поля; используются отображаемые значения полей).
  • HTTP-метод. Доступны методы GET, POST, PUT, PATCH, DELETE. Какой метод использовать определяется по документации используемого сервиса REST API. В зависимости от метода становятся доступными дополнительные настройки:
    • Для метода GET — переключатель для загрузки файла, который должен быть доступен по URL-адресу (если адресов будет несколько — будут загружены несколько файлов)
    • Для методов POST, PUT, PATCH — вкладка «Содержимое», позволяющая определить содержимое запроса.

На вкладке «Содержимое» определяется содержимое запросов POST, PUT, PATCH. Содержимое может быть типа JSON и в этом случае нужно будет выбрать поле, содержащее JSON (как правило, используется поле типа «JSON») или Составными данными (для отправки двоичного содержимого файла необходимо выбрать multipart/form-data, а перед названием параметра запроса добавить символ @, в качестве значения может выступать полный путь к файлу или его идентификатор). Для настройки составных данных используется таблица из двух колонок: в первой определяется значение параметра, а во второй его значение, которое может быть введено вручную или получено из полей с применением их методов.

Результат запроса записывается в поле, которое определяется на вкладке «Результат». Запись можно выполнять с использованием метода поля (например, для загрузки файлов по нескольким адресам уместно будет выбрать поле типа «Файл» с методом добавления файла).

См. пример использования действия в описании сервиса «REST API».

Поля-переменные 🔗

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

  • АВТОР ДОКУМЕНТА (ССЫЛКА). Это поле типа «Ссылка» и оно имеет соответствующие методы чтения. Как и все нижеперечисленные поля-переменные, имеющие в своих названиях (ССЫЛКА)
  • ПОДРАЗДЕЛЕНИЕ ДОКУМЕНТА (ССЫЛКА). Штатное расписание организации может быть изменено и должностная позиция, которую занимает автор документа, может быть перемещена в другое подразделение. Чтобы документ по-прежнему относился к предыдущему подразделению, в нем сохраняется подразделение, в котором находился его автор на момент создания документа. Данная переменная позволяет получить это подразделение.
  • ИМЯ АВТОРА ДОКУМЕНТА. Строка с именем автора документа (содержимое поля «Отображаемое имя» «Структуры»).
  • НАЗВАНИЕ ПОДРАЗДЕЛЕНИЯ, в котором был создан документ, и к которому всегда будет относиться (кроме случая, когда это подразделение будет удалено из «Структуры» и все относившиеся к нему документы будут отнесены к новому подразделению).
  • ТЕКУЩИЙ ПОЛЬЗОВАТЕЛЬ (ССЫЛКА) — тот пользователь, который открыл документ.
  • ПОДРАЗДЕЛЕНИЕ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ (ССЫЛКА) — подразделение, к которому относится пользователь, открывший документ.
  • ПОСЛЕДНИЕ ДОКУМЕНТЫ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ (ССЫЛКА) — нетипизированная «Ссылка», содержащая 10 последних запрошенных пользователем документов. Количество документов можно изменить при помощи ключа RecentDocumentsCount.
  • АВТОР И ЕГО ПОДРАЗДЕЛЕНИЯ. Если документ создал Иванов из отдела технической поддержки (ОТП) департамента информационных технологий (ДИТ), то данная переменная будет содержать Иванова, ОТП, ДИТ и саму организацию.
  • УЧЕТНАЯ ЗАПИСЬ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ (ССЫЛКА). Документ типа «Учетная запись» того пользователя, который открыл документ.
  • ИМЯ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ. Эта переменная содержит значение отображаемого имени «Структуры» с учетом возможной работы в качестве замещающего. Если, например, Иванов, будучи главным инженером, работает как замещающий директора переменная вернет значение Иванов Н.А. (Главный инженер) / Зам. Директора (в зависимости от формата отображаемого имени «Структуры»)
  • ТЕКУЩЕЕ ВРЕМЯ.
  • ВРЕМЯ СОЗДАНИЯ ДОКУМЕНТА.
  • ВРЕМЯ АРХИВАЦИИ ДОКУМЕНТА. Действие «Архивация» при перемещении документа в архив записывает в эту переменную время выполнения операции. Если документ восстанавливается из архива, переменная обнуляется.
  • ТЕКУЩИЙ ДОКУМЕНТ (ССЫЛКА).
  • ИДЕНТИФИКАТОР НАЖАТОЙ КНОПКИ. Если обработка маршрута была запущена в результате нажатия какой-либо кнопки документа, данная переменная позволяет получить идентификатор этой кнопки.
  • ИДЕНТИФИКАТОР ИЗМЕНЕННОГО ПОЛЯ. В контексте изменения маршрута может понадобится необходимость работы с полем, вызывавшем запуск этого контекста.
  • ИДЕНТИФИКАТОР ТЕКУЩЕЙ ТОЧКИ МАРШРУТА, то есть той точки маршрута, на которой находится документ, а также действие, обращающееся к этой переменной.
  • НАЗВАНИЕ ТЕКУЩЕЙ ТОЧКИ МАРШРУТА.
  • ОПИСАНИЕ ТЕКУЩЕЙ ТОЧКИ МАРШРУТА.
  • ИДЕНТИФИКАТОР ПРЕДЫДУЩЕЙ ТОЧКИ МАРШРУТА. Переменная содержит значение только в том случае, если перемещение на данную точку произошло в рамках текущей сессии. То есть нажал пользователь на кнопку и документ с точки А переместился на точку Б; в действии на точке Б данная переменная будет содержать идентификатор точки А только в момент перехода, в будущем переменная будет пустой.
  • НАЗВАНИЕ ПРЕДЫДУЩЕЙ ТОЧКИ МАРШРУТА.
  • СТРУКТУРНЫЕ ИДЕНТИФИКАТОРЫ С ДОСТУПОМ К ДОКУМЕНТУ. Иначе говоря, сотрудники и подразделения, для которых был предоставлен доступ к документу (как через вкладку «Доступ» типа документа, так и через действия «Доступ», «Решение», «Уведомление»).
  • ГИПЕРССЫЛКА НА ТЕКУЩИЙ ДОКУМЕНТ. В качестве текста этой ссылки используется содержимое поля, выбранного в качестве заголовка.
  • ИДЕНТИФИКАТОР ТИПА ДОКУМЕНТА, того типа документа, в котором находится настраиваемое действие
  • ТОКЕН TELEGRAM-БОТА. В этой переменной находится содержимое настройки «Токен Telegram-бота». Может применяться действием «HTTP-запрос» для отправки сообщений.
  • IP-АДРЕС ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ