Тип документа

Введение

Основное преимущество Doc-v — это возможность реализации любых типов документов без программирования полностью в графическом режиме. Тип документа описывает документ и его поведение. Каждый документ может состоять из произвольного количества полей, каждое из которых предназначено для хранения разнообразной информации. Чтобы пользователь мог работать с документами, заполнять поля и читать их значения, используются шаблоны для отображения документов для просмотра и редактирования. Действия, выполняемые над документом пользователем или автоматически системой в соответствии с бизнес-процессами, определяются маршрутом документа. Только что мы перечислили все основные концепты системы Doc-v: поля, шаблоны, действия и маршрут. Далее рассмотрим это все подробнее.

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

Нажатие на указанный пункт приводит к открытию списка имеющихся в системе типов документов.

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

Открыв любой тип документа, вы увидите несколько вкладок:

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

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

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

Общие настройки

На вкладке «Общие» можно настроить:

  • Название типа документа
  • Описание типа документа. Это описание доступно администратору в списке типов документов. Можно использовать ключевые слова для быстрого поиска нужных типов документов. Например, для всех кадровых документов можно в описание добавить слово «кадры», чтобы, открыв список типов документов можно было ввести это слово в поисковую строку и быстро получить требуемые данные
  • Поле заголовка. Здесь выбирается одно из полей, имеющихся на вкладке «Поля». Содержимое выбранного поля будет использовано для формирования названия документа. Не путайте с названием типа документа. Название типа документа — это название для администратора. Внутренний документ — это и есть такое название. Но пользователи могут создать тысячи и даже миллионы внутренних документов. И в некоторых местах системы могут отображаться ссылки на эти документы. Чтобы быстро понять о чем идет речь в каком-то конкретном документе и может использоваться этот заголовок — содержимое выбранного поля будет использоваться в качестве названия документа.
  • Пиктограмма. Пиктограмма пока используется только в поле «Дерево документов», и она позволяет пользователю быстрее ориентироваться в списке документов и, не читая название, определять тип документа. Вот этот документ — внутренний. А вот этот — уже поручение. А это и вовсе — отчет об исполнении.
  • Включать в дерево документов. Зачастую встречаются довольно сложные процессы, включающие множество разнообразных документов. Чтобы быстро сориентироваться на основе чего появился тот или иной документ, деревья могут собираться в дерево, одной из которых изображено на рисунке выше. Но встречаются документы, которым в этом дереве делать нечего. Например, в типовой конфигурации Doc-v есть документ «Личный кабинет», из которого можно создавать внутренние документы, исходящие и входящие, поручения и пр. Если бы личный кабинет был включен в дерево, он бы стал предком для огромного количества документов в системе, не имея со своими потомками никакой смысловой связи, за исключением того, что в нем была просто нажата кнопка создания других документов. Очевидно, что для личного кабинета следует отключить включение в дерево документов. И, открыв список типов документов и зайдя в тип документа «Личный кабинет», вы можете убедиться в том, что так оно и есть.

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

Остается только добавить, что некоторые настройки вкладки «Общие» локализованные. Это означает, что если в Doc-v будет несколько языков, такие настройки как название, описание и поле заголовка, необходимо будет заполнить для каждого языка.

Поля

Полей в документе может быть много, и эти поля могут быть разные. Попробуйте создать любой документ. Все, что позволяет вам вводить какие-то данные, является тем или иным полем. Например, создавая внутренний документ вы можете ввести заголовок документа в поле «Заголовок» и его текст в поле «Содержание», выбрать подписанта в одноименное поле и т. д. Все эти поля, а также любые другие, которые могут понадобиться бизнесу и могут быть реализованы администратором (не забывайте — никакого программирования, все легко и просто!), определяются на вкладке «Поля».

Если вам кажется немного сложным вышесказанное, замените термин «поле» на «карман». Пусть у вас будет необычная такая жилетка со множеством самых разнообразных карманов: маленьких для хранения мелких монет, крупных для хранения крупных купюр, узких — для карандашей и авторучек и так далее и тому подобное. Эти карманы в Doc-v называются полями. И определяются они на вкладке «Поля».

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

Вкладка «Форма»

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

  • Нажать на кнопку «Новое поле»
  • В открывшем окне на вкладке «Форма» необходимо ввести:
    • Название поля. Это название будет доступно только администратору для использования в шаблоне, маршруте, кнопках.
    • Описание поля — это комментарий о том, для чего создавалось поле. Также доступно только для администратора.
    • Тип поля. Типов полей в Doc-v довольно много. И будет еще больше. Ведь каждое поле облегчает жизнь пользователю. Например, есть поле для ввода текста с возможностью вставки таблиц и изображений. Есть поле для ввода даты, выбора значения из списка, загрузки файлов и многие другие. Описанию всех типов полей посвящена отдельная статья документации, поэтому здесь мы не будет останавливаться подробно на настройках типов полей. Сейчас мы просто постараемся определить нужный для наших «знакомящихся» тип поля.

Кто будет знакомиться с документом? Очевидно, что люди. И не просто люди, а сотрудники нашей организации. И не менее очевидно то, что вводить вручную всех этих людей будет довольно утомительно. Намного удобнее просто выбрать документы, описывающие наших сотрудников (кстати, в Doc-v почти все являются документом; любая запись справочника — это тоже документ, не смотря на то, то в типовой конфигурации есть пункты меню «Документы» и «Справочники» внутри находятся по сути одинаковые документы). Так вот, нам необходима возможность выбрать сотрудников, чтобы в нашем документе появились ссылки на них (на ссылку, кстати, обычно можно нажать и посмотреть дополнительную информацию о сотруднике (при наличии соответствующих прав доступа). В общем, выбираем из списка тип поля «Ссылка». У этого типа поля есть 3 настройки, которые нас сейчас интересуют:

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

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

Вкладка «Атрибуты»

На этой вкладке определяются следующие атрибуты полей:

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

Вкладка «Использование»

На этой вкладке отображаются объекты, использующие данное поле. Кстати, вы не сможете удалить поле до тех пор, пока на вкладке «Использование» будет хотя бы одна запись.

Шаблоны

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

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

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

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

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

  • Поле — для вставки поля документа или элемента.
  • Вкладки. На скриншоте выше видны вкладки: Данные, Согласование, Ход работы.
  • Блоки. Для управления разметкой документа.
  • Панели. Для группировки данных документа.
  • Режим исходного кода. Администратор, знающий HTML, может внести необходимые правки в код шаблона, воспользовавшись данной кнопки.
  • Все настройки отображения. В окнах настроек полей, блоков, панелей есть вкладка «Отображение», на которой можно настраивать условия отображения и скрытия соответствующих объектов. Данная кнопка позволяет просмотреть все такие настройки в одном окне.

Поля и элементы в шаблоне

После нажатия на кнопку «Поле», расположенную в панели инструментов редактора шаблона, открывается следующее окно:

В этом окне можно выбрать поле для вставки в шаблон или элемент. Поля, доступные для вставки, делятся на три вида:

  • Обычные поля, которые находятся на вкладке «Поля». В шаблоне формы после выбора поля появляется переключатель «Только просмотр». Поле в режиме «только просмотр» будет отображать свои данные, но не позволит их изменить.
  • Настроечные поля, которые находятся на вкладе «Настройки»
  • Поля-переменные

Поля-переменные — это такие поля, которые присутствуют в любом типе документа. Администратор не может ни удалить их, ни изменить, и установкой значений таких полей Doc-v занимается самостоятельно. Имеются следующие переменные:

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

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

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

Помимо полей, в шаблон можно вставить элементы:

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

  • Ход работы
  • История документа

Элементы заполняются Doc-v самостоятельно и не могут изменяться пользователями.

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

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

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

Вкладки шаблона

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

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

Блоки шаблона

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

Ширина всего экрана разбивается на условные равные друг другу 12 столбцов. Каков бы ни был экран, всегда будут 12 столбцов. Разумеется, что на широком мониторе столбцы будут шире, а на маленьком экране — уже. Вы можете определять блоки, которые будут занимать определенное количество столбцов. Причем, в зависимости от ширина экрана, это количество может изменяться. Например, можно добавить 4 блока и для каждого из них отвести по 3 столбца для большого экрана, по 6 для маленького и по 12 для очень маленького. Тогда на большом экране все 4 блока отобразятся в одну строку (4 блока х 3 столбца = 12/12 = 1 строка), для маленького в две (4 блока х 6 столбцов = 24/12 = 2 строк), а для очень маленького в четыре (4 блока х 12 столбцов = 48/12 = 4 строки). Кстати, блок не может переноситься на другую строку. Если, к примеру, определить 2 блока, занимающие 6 и 7 столбцов, они займут две строки, т. к. второму блоку после первого останется только 6 (из 12) столбцов, а ему нужно 7.

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

Размеры экранов следующие:

  • Очень маленький — до 576 px в ширину (сотовый телефон с очень маленьким экраном);
  • Маленький — от 576 px до 768 px (смартфон);
  • Средний — от 768 px до 992 px (планшет);
  • Большой — от 992 до 1200 px (ноутбук);
  • Очень большой — свыше 1200 px (стационарный монитор с большим экраном).

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

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

  • Поле документа, значение которого будет сравниваться. Доступны также 4 поля-переменные: АВТОР ДОКУМЕНТА, ПОДРАЗДЕЛЕНИЯ ДОКУМЕНТА, ТЕКУЩИЙ ДОКУМЕНТ, ИДЕНТИФИКАТОР ТЕКУЩЕЙ ТОЧКИ МАРШРУТА
  • Способ сравнения этого поля (равно / не равно / больше или равно / меньше или равно / больше / меньше / содержит / не содержит / содержится в / не содержится в)
  • Значение, которое может быть получено из другого поля документа, или введено вручную, или равно идентификатору точки маршрута.

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

Если в шаблоне установить курсор на вставленные заранее блоки, появится меню с командами:

  • Блоки. Вызывает описанное выше окно блоков. В нем можно добавить / удалить / изменить блоки или настроить условия отображения.
  • Новые блоки. Позволяет вставить новые блоки внутрь того блока, в котором находится курсор.
  • Удалить блоки. Все блоки будут удалены.
  • Добавить блок.
  • Изменить блок. Окно, открываемое этой командой позволяет настроить условия отображения только того блока, на котором находится курсор, а также определить параметры его оформления:
    • ширина рамки (в пикселах или любых других единицах измерения: em, rem и пр.)
    • цвет рамки
    • стиль рамки (сплошная, пунктирная и пр.)
    • цвет фона (если пользователь включит темную тему цвет фона будет инвертирован, то есть, если цвет фона белый, он станет черным)
    • выравнивание по горизонтали содержимого блока.
  • Удалить блок.

Панель шаблона

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

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

Исходный код шаблона

Пользуйтесь кнопкой ᐸ/ᐳ , размещенной на панели инструментом редактора шаблона, только в том случае,если вы знаете HTML и уверены в своих силах, т. к. правкой исходного кода можно нарушить работу шаблона.

Маршрут

Маршрут позволяет определить жизненный цикл документа. Скажем, вот такой:

  1. вначале документ создается, созданный документ может неоднократно изменяться, пока его автор не сочтет, что документ готов и не отправит его в работу (это точка Создание)
  2. документ согласуется (точка Согласование)
  3. документ подписывается (точка Подписание)
  4. документ исполняется (точка Исполнение)
  5. документ выполнен (точка Выполнен)

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

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

Контексты

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

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

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

В этом окне необходимо ввести название точки и, при необходимости ее описание (оно может быть выведено в шаблон при помощи переменной ОПИСАНИЕ ТЕКУЩЕЙ ТОЧКИ МАРШРУТА). В окне также отображается идентификатор точки маршрута, который может быть полезен при отладке конфигурации.

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

Порядок точек маршрута можно изменять при помощи кнопок «Вверх» и «Вниз».

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

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

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

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

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

Кнопки

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

Окно настройки кнопки включает три вкладки: Основные, Действие и Дополнительные:

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

Справа от кнопки находится кнопка для пометки на удаление. Окончательное удаление, как и в случае с действиями и полями, осуществляется после сохранения типа документа.

Кнопки отображаются на панели кнопок документа в том порядке, в котором они отображаются на точке маршрута. При необходимости этот порядок можно изменить методом drug'n'drop.

Доступ

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

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

Статичная таблица доступа

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

  • Субъект доступа. Должностная единица (единицы) или подразделение (подразделения), для которых определяется доступ. Субъект может быть загружен из настроечного поля любого типа документа или непосредственно выбран из Структуры.
  • Автор документов, который выбирается из Структуры. Все документы, созданные этим автором, сможет увидеть субъект. Если выбрать подразделение, то будут отображаться все документы, созданные в этом подразделении, в том числе те, которые были созданы должностными единицами, позже переведенными в другие подразделения.

Таблица доступа из поля

Можно определить поле типа «Таблица», из которого будут загружаться данные для настройки доступа. Значения этой таблицы смогут изменять пользователи (если предоставить им такую возможность).

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

Загрузка таблицы доступа из поля документа

Для загрузки таблицы доступа из поля какого-либо документа необходимо:

  1. Определить настроечное поле, в котором будет находиться идентификатор этого документа.
  2. Определить тип этого документа.
  3. Определить поле этого документа.
  4. Определить столбец таблицы для субъекта доступа.
  5. Определить столбец таблицы для автора документов.

Загрузка таблицы доступа из настроечного поля осуществляется аналогично описанному выше варианту, за исключением шагов 1-2.

Настройки

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

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