Процессы

Раздел «Процессы» содержит следующие пункты:

Формы

Конфигуратор должен предоставлять возможность создания, редактирования, удаления, а также просмотра форм.

Примечание.

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

Список форм

Окно раздела «Формы» разделено на 2 (две) части (илл. «Формы»):

  • по центру - список форм с полями:

    • имя (сортировка списка по умолчанию выполнена по данному полю);

    • описание;

    • изменил форму (содержит ФИО пользователя, изменившего форму последним: в формате %Фамилия И.О.%);

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

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

Примечание

Значение столбца «Изменил форму» распространяется на всю форму и не привязано к какой-либо конкретной версии.

Рисунок 2.89. Формы

Формы

Добавление новой формы / редактирование существующей.

  1. Методолог нажимает на кнопку «+»: система предоставляет пустой редактор форм (илл. «Редактор форм»).

  2. Методолог открывает на редактирование существующую форму вызовом контекстного меню формы и выбором пункта «Редактировать»: система предоставляет заполненный редактор форм.

Рисунок 2.90. Редактор форм

Редактор форм

Описание редактора форм см. в Редактор форм.

Форма в режимах просмотра и заполнения.

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

Замечание

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

В режиме просмотра формы (илл. «Пример формы в режиме просмотра»):

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

Рисунок 2.91. Пример формы в режиме просмотра

Пример формы в режиме просмотра

В режиме заполнения (илл. «Пример формы в режиме заполнения»):

  • для компонента «Таблица» можно увидеть наличие / отсутствие функции добавления строк в таблицу (кнопка «+»);

  • для компонента «Файл» отображается кнопка «Добавить файл» с тремя пунктами: «С компьютера» / «Из хранилища» / «Создать новый» (добавленный файл можно открыть стандартным системным просмотрщиком).

Рисунок 2.92. Пример формы в режиме заполнения

Пример формы в режиме заполнения

Замечание

В клиентской части при открытии файла по форме режимы по умолчанию для файлов по форме:

  • в режиме редактирования - при создании файла по форме (создание записи реестра, создание документа из потоков работ);

  • в режиме просмотра - во всех остальных случаях.

Скрытие / восстановление формы.

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

Скрытую форму можно активировать. Для этого методолог вызывает контекстное меню скрытой формы и выбирает пункт «Активировать». Активная форма в списке отображается черным цветом.

Экспорт формы.

Для экспорта формы необходимо выделить в списке форм нужную форму, нажать кнопку «Экспорт», после этого откроется браузерное окно для сохранения экспортируемой формы, готовой для импорта в другую систему. Экспортированная форма представляет собой файл с расширением .asform, помещенный в tar-архив (.asform.tar). Содержимое архива - файл формы .asform и файл шаблона печатного представления (если таковое имеется). Кодировка имён файлов внутри архива - UTF-8.

Импорт формы.

Для импорта формы необходимо нажать кнопку «Импорт»: система предоставит диалоговое окно выбора файла (илл. «Импорт формы»).

Рисунок 2.93. Импорт формы

Импорт формы

По нажатию на кнопку «Выберите файл» откроется браузерное окно выбора формы. Администратор выбирает файл с расширением .asform или .asform.tar и нажимает «Готово» - импортированная форма отобразится в списке форм.

Обновление формы.

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

При обновлении формы производится проверка на соответствие ID старой и новой формы - при их несовпадении появится предупреждение вида: «Идентификаторы форм не совпадают. Форма будет заменена. Продолжить?» с возможностью отказа от обновления формы.

Текстовый поиск.

Требования к текстовому поиску см. в Общие требования к некоторым полям конфигуратора.

Постраничный переход.

Требования к постраничному переходу см. в Общие требования к некоторым полям конфигуратора.

Выгрузка и применение конфигурации

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

При возникновении статуса «изменено» никаких внутренних объектов и настроек формы в дереве изменений не отображается.

Редактор форм

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

Текущее представление: **%Тип_представления%**

Навигатор.

Навигатор разделен на секции. Секция «Элементы»:

Секция «Метаданные» (илл. «Метаданные»):

  • Название формы на трех языках

  • Краткое описание

  • Версия

  • Создал версию

  • Изменил версию

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

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

Поле «Создал версию» - содержит ФИО автора выбранной версии, а поле «Изменил версию» - ФИО пользователя, который изменил данную версию последним. Оба эти поля недоступны для редактирования, а их значения отображаются в формате: %Фамилия И.О.%

Если форма была создана, но не изменена, то автор версии также является пользователем, изменившим версию последним. При импорте формы в качестве автора и пользователя, изменившего версию последним, указывается ФИО методолога, импортировавшего эту форму.

Рисунок 2.94. Метаданные

Метаданные

Секция «Параметры», с единственным полем выбора цвета (илл. «Параметры»): задается HTML-код цвета для фона формы (есть возможность выбрать цвет из представленной палитры). По умолчанию, цвет установлен в белый (#ffffff). Если не задать фон, тогда форма (и в режиме чтения, и в режиме редактирования) будет прозрачной, т.е. будет принимать фон родительского компонента.

Рисунок 2.95. Параметры

Параметры

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

Название Тип Назначение

Код показателя

Текстовое поле

Ввод простого текста (с учётом символьных ограничений на код показателя), и/или одну либо несколько подстановок вида ${componentID} либо $*{nondyntable.componentID}, которые в результирующем коде показателя будут заменены на значения соответствующих компонентов. Если показатель с таким кодом уже присутствует в системе, то значение будет введено в него; в противном случае, будет создан показатель типа «внешний»), и в него будет введено значение.

Значение показателя

Выпадающий список

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

Граничные значения показателя

Переключатель, активирующий два поля ввода

Настройка, полностью аналогичная таковой при создании показателя через «Справочник показателей».

Рисунок 2.96. Показатели

Показатели

Секция «Представления». В эту группу параметров можно добавлять и удалять представления формы: основное, мобильное (для клиентов Synergy на Android и iOS) и печатное. Основное представление формы создается вместе с самой формой и его нельзя удалить.

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

Рисунок 2.97. Представления формы

Представления формы

Для выбора методолог нажимает по данному поля, для отмены выбора - по любому другому месту окна.

Для удаления активного представления (мобильного либо печатного) методолог нажимает на крестик напротив представления: оно удалится, активным станет основное представление.

Примечание

В редакторе форм раскрытой отображается только одна секция. По умолчанию это «Элементы».

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

Основная рабочая область. Основное представление.

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

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

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

Основная рабочая область. Мобильное представление.

Мобильное представление формы по отношению к основному имеет следующие ограничения:

  • основная таблица формы может содержать только один столбец;

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

    • «Неизменяемый текст»

    • «Однострочное поле»

    • «Многострочный текст»

    • “Выпадающий список

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

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

Основная рабочая область. Печатное представление.

Печатное представление имеет меню «Шаблон печати», в основной рабочей области пусто (илл. «Печатное представление»):

  • стандартный компонент выбора файла с компьютера (кнопка «Выберите файл» и лейбл «Файл не выбран» / название выбранного файла);

  • кнопка «Удалить шаблон», которая удаляет выбранный шаблон;

  • кнопка «Скачать шаблон», которая скачивает текущий шаблон с сервера на компьютер;

  • формат печати - любая комбинация из следующего набора пунктов:

    • PDF

    • ODT

    • DOC

    • DOCX

  • опция «Печать по умолчанию» в виде выпадающего списка со следующими значениями:

    • Последнее действие (по умолчанию)

    • HTML

    • список включенных форматов печати

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

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

Выберите хотя бы 1 формат печати

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

Если у формы отсутствует настроенное печатное представление, то по нажатию на кнопку «Печать» производится печать формы в HTML.

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

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

При подтверждении действия - опция «Печать по умолчанию» принимает значение «Последнее действие», при отмене - отключение формата печати не принимается.

Рисунок 2.98. Печатное представление

Печатное представление

Файл шаблона может быть только в формате *.odt, не должен быть создан в Microsoft Office. Создание и редактирование шаблона необходимо осуществлять только в LibreOffice / OpenOffice. Особенности печатного представления:

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

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

  • Идентификаторы компонентов, вводимые в поле шаблона, должны быть того же регистра, что идентификаторы компонента на форме.

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

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

    Сохранить внесенные изменения?

    и кнопками:

    • «Да» - происходит сохранение файла по форме, на печать отправляется последняя версия файла по форме;

    • «Нет» - сохранение не происходит, на печать отправляется последняя сохраненная версия файла по форме;

    • «Отмена» - сохранение не происходит, файл по форме на печать не отправляется.

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

Ограничение печатного представления:

  • Идентификаторы компонентов (поле «Имя компонента») не должны содержать точки.

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

Компоненты формы Поддерживаются ли в шаблоне

Таблица

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

Страница

не поддерживается (необходимо использовать штатные разрывы страниц редактора)

Неизменяемый текст

не поддерживается (необходимо использовать обычный ввод текста в редакторе)

Однострочное поле

поддерживается

Числовое поле

поддерживается

Многострочный текст

поддерживается

HTD-редактор

поддерживается (безо всяких HTML-тегов)

Выпадающий список

поддерживается

Дата/время

поддерживается (последнее сохраненное на форме значение)

Выбор вариантов

поддерживается (через запятую и пробел)

Переключатель вариантов

поддерживается

Изображение

не поддерживается (для использования непосредственно изображения необходимо использовать штатную вставку изображений редактора)

Файл

поддерживается (имя файла)

Ссылка

поддерживается (url ссылки)

Объекты Synergy

поддерживается (значение поля)

Номер

поддерживается (значение поля)

Лист подписей

поддерживается нестандартно (см. ниже)

Лист резолюций

поддерживается нестандартно (см. ниже)

Ход выполнения

поддерживается нестандартно (см. ниже)

Ссылка на документ

не поддерживается

Период повторения

не поддерживается

Ссылка на проект/портфель

поддерживается (значение поля)

Ссылка на реестр

поддерживается (значение поля)

Ссылка на адресную книгу

поддерживается (значение поля)

Свойства документа

поддерживается

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

Таблица:

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

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

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

  • Столбцы статических таблиц могут содержать компоненты в формате:

    «id1»

    где id1 - это поле данных (имя компонента в таблице формы).

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

    Значения же идентификаторов компонентов непосредственно из динамической таблицы должны вводиться в формате:

    «dyntable.id1»

    где dyntable - это идентификатор динамической таблицы, а id1 - это поле данных (имя компонента в таблице формы).

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

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

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

    «dyntable»

    где dyntable - это идентификатор динамической таблицы.

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

    «dyntable.id1»

    где dyntable - это идентификатор динамической таблицы, а id1 - это поле данных (имя компонента в таблице формы).

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

  • Одна ячейка таблицы может содержать как произвольный текст, так и данные поля из формы. Т.е. можно вводить, например:

    1.1   `произвольный текст`
    1.2   `«id1»`
    1.3   `произвольный текст + «id1»`
    1.4   `«id1» + «id2»`
    1.5   `произвольный текст + «id1» + произвольный текст + «id2»`
    

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

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

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

№ п/п Фамилия И.О. Должность Дата Тип подписи Комментарий Подпись

m1.number

m1.full_name

m1.position

m1.date

m1.signature_type

m1.comment

m1.signature

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

№ п/п ФИО согласующего Должность согласующего Дата согласования Результат согласования Комментарий согласующего

m2.number

m2.full_name

m2.position

m2.consent_date

m2.consent_result

m2.consent_comment

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

№ п/п ФИО утверждающего Должность утверждающего Дата утверждения Результат утверждения Комментарий утверждающего

m3.number

m3.full_name

m3.position

m3.approval_date

m3.approval_result

m3.approval_comment

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

№ п/п Фамилия И.О. Должность Дата ознакомления Результат ознакомления

m4.number

m4.full_name

m4.position

m4.acquaintance_date

m4.acquaintance_result

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

Автор Название Ответственный Исполнители Завершение

m5.author

m5.name

m5.assignee

m5.executors

m5.completion

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

Название Ответственный Автор Начало Завершение Завершил Комментарий

m6.name

m6.assignee

m6.author

m6.start

m6.completion

m6.finished

m6.comment

Примечание для хода выполнения:

  • вместо выделения строки серым цветом к названию будущей работы должно быть добавлено: (будущая работа);

  • вместо перечеркивания к названию удаленной работы должно быть добавлено: (удаленная работа).

Многострочный текст:

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

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

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

Примечание: используемые в шаблоне шрифты должны быть видны экземпляру Libre/OpenOffice, установленному на сервере, в котором происходит преобразование.

Компоненты формы.

Настройки компонентов.

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

  • задание имени компонента;

  • задание ширины компонента (вручную, в px);

  • задание высоты компонента (вручную, в px);

  • задание выравнивания компонента внутри ячейки (варианты: по левому краю - по умолчанию / по центру / по правому краю / по ширине);

  • задание шрифта, используемого в компоненте: тип шрифта (на выбор: Arial - по умолчанию / Courier New / Tahoma / Times New Roman / Trebuchet / Verdana), размер (вручную, 12 - по умолчанию), начертание (жирный / курсив / подчеркнутый / перечеркнутый, по умолчанию ни один не выбран).

Примечание.

В качестве имени компонента нельзя использовать значения status, created, activated. Кроме того, имя компонента не должно содержать точек и заканчиваться на -b[{d,0+}]$ (например, не должно быть cmp-zxczxc-b1).

Рисунок 2.99. Настройки компонента

Настройки компонента

Обязательность заполнения.

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

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

Заполните обязательные поля

Эти поля подсвечиваются красным цветом.

Локаль для компонентов формы.

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

Если выбрано «Не указан», то используется локаль пользователя.

Локаль используется при подстановке и отображении значения компонента и использует соответствующее локализованное значение справочника.

Код скрипта.

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

Код скриптинга выполняется сразу при отрисовке в форме. Скриптинг в формах должен удовлетворять следующим требованиям:

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

    Примечание.

    Необходимо иметь ввиду, что события срабатывают только в случае, когда открыт проигрыватель формы.

  • Скриптинг позволяет манипулировать следующими свойствами компонента:

    • делать его доступным либо недоступным для изменения;

    • отображать либо перестать отображать его;

    • делать его обязательным либо не обязательным для заполнения;

    • добавлять либо удалять блоки динамической таблицы;

    • скрывать столбцы таблицы (статической, динамической).

  • Скриптинг позволяет получать и манипулировать внешним видом (равно как HTML-кодом) компонента.

  • Скриптинг позволяет получать и задавать новые значения компонента.

Анимация загрузки данных.

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

Рисунок 2.100. Анимация загрузки

Анимация загрузки

Примеры использования анимации:

  • подгрузка данных при открытии формы;

  • подгрузка списка групп и пользователей при выделении всех групп в компоненте «Пользователи»;

  • подгрузка записей реестра в компоненте «Ссылка на реестр» (в т.ч. при перелистывании страниц);

  • загрузка файла с компьютера в компоненте «Файл».

Структура
Компонент «Таблица»

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

Настраиваемые параметры компонента (илл. «Настройки таблицы»):

  • Имя компонента

  • Отобразить границы

  • Выводить содержимое в виде абзаца при просмотре/печати

  • Добавлять строки в режиме заполнения

  • Добавить заголовок таблицы

  • Количество отображаемых строк при создании

  • Форматная строка

  • Разделитель свертки

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

Рисунок 2.101. Настройки таблицы

Настройки таблицы

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

  • Ширина колонки

Поле ввода «Имя компонента» задает идентификатор компонента.

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

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

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

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

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

Поле ввода «Количество отображаемых строк при создании» определяет, сколько строк будет создано автоматически при создании файла по форме. Значение по умолчанию - 0.

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

В форматной строке можно использовать следующие подстановки.

  • %Пустое_значение%

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

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

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

  • ${конкретный id компонента таблицы}

    Например: ${cmp1-b1}

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

    Примечание

    Номер b1 для компонента cmp1 берется не по порядку нахождения его в первой строке, а по порядку создания этой строки. Т.е. если первая созданная строка будет удалена, а затем на её месте будет создана новая строка, то нужный id не будет равен cmp1-b1.

  • [${общий id компонента таблицы} возможен произвольный текст ${общий id другого компонента} и так далее]

    Например: [сначала ${cmp2}, затем ${cmp3}]

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

    • берутся N (по числу строк динамической таблицы) подстрок, содержимое которых определяется содержимым [];

    • в каждую такую подстроку вместо ${id компонента таблицы} подставляется конкретное значение этого компонента;

    • подстроки соединяются в общую результирующую строку с помощью разделителя свертки, указанного в соответствующем поле, а при отсутствии разделителя свертки - с помощью переноса строки.

  • А также произвольные сочетания на их основе.

    Например: Произвольный текст ${cmp1-b1}, снова текст, [потом ${cmp2}, затем ${cmp3}]. Текст и снова компоненты [${cmp4-b3} + ${cmp5}]. Заканчиваем еще текстом.

Поведение компонента.

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

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

Примечание

В случае, если в выделенную ячейку таблицы, где уже вставлен какой-либо компонент, вставляется другой компонент, открывается браузерное диалоговое окно с сообщением:

  • В ячейке уже имеется компонент. Заменить?

Методолог либо подтверждает замену («ОК»), либо отменяет действие («Отмена»).

По умолчанию, столбцы имеют одинаково пропорциональную ширину. При этом любому столбцу можно задать ширину вручную, нажав на иконку настройки столбца , расположенную в левом верхнем углу заголовка столбца. Во всплывающем окне в поле ввода «Ширина колонки» вводится значение ширины (по умолчанию, в пикселях px, можно указать единицу измерения: высота заглавных букв em, высота прописных букв ex, пункты pt, пики pc, дюймы in, миллиметры mm, сантиметры cm, либо меру %).

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

Высота строки таблицы определяется контентом.

Компоненты внутри таблицы имеют выравнивание, заданное их собственными настройками.

Любую строку / столбец (за исключением последней строки и/или столбца) можно удалить, нажав на иконку корзины , расположенную по центру заголовка строки / столбца. Система предоставит браузерное диалоговое окно с сообщением:

  • Вы уверены, что хотите удалить столбец? - при удалении столбца

  • Вы уверены, что хотите удалить строку? - при удалении строки

Методолог либо подтверждает удаление («ОК»), либо отменяет действие («Отмена»).

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

  • Удалить элемент формы?

Методолог либо подтверждает удаление («ОК»), либо отменяет действие («Отмена»).

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

  • Вы уверены, что хотите удалить все элементы?

Методолог либо подтверждает удаление («ОК»), либо отменяет действие («Отмена»).

Особые свойства статической таблицы

  • Режим просмотра статической таблицы, если не настроен вывод содержимого таблицы в виде абзаца:

    • обычная таблица с границами (граница - одинарная сплошная линия черного цвета) или без, заголовок отсутствует;

    • ширина определяется настройками, описанными выше, высота - контентом;

    • высота строки определяется ее содержимым.

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

  • Режим редактирования статической таблицы:

    • обычная таблица с границами (граница - одинарная сплошная линия черного цвета) или без, заголовок отсутствует;

    • ширина всех столбцов имеет одинаковую пропорциональную ширину, высота определяется контентом;

    • высота строки определяется ее содержимым.

Особые свойства динамической таблицы

  • Режим просмотра динамической таблицы:

    • если не настроен вывод содержимого таблицы в виде абзаца, то аналогично статической таблице; иначе - в виде абзацного текста (причем, необязательно все содержимое таблицы) согласно форматной строке и разделителю свертки;

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

    • высота строки определяется ее содержимым.

  • Режим редактирования динамической таблицы:

    • при создании отображается таблица, аналогичная статической в данном режиме, но с заданным количеством строк;

    • возможно наличие заголовка: высота определяется шрифтом содержимого строки заголовка, ширина - шириной столбцов;

    • высота строки определяется ее содержимым;

    • справа от последней строки каждого блока вне таблицы отображается иконка удаления , по нажатию которой без какого-либо подтверждения соответствующая строка удаляется;

    • снизу слева вне таблицы отображается кликабельный лейбл «+ Добавить блок» для добавления новой строки или блока строк, по нажатию которого в конец таблицы добавляется одна новая строка / один новый блок строк со значениями компонентов по умолчанию;

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

Основные отступы ячейки в таблице с границами: сверху и снизу - 1 px, слева и справа 4 px.

Основные отступы ячейки в таблице без границ: сверху и снизу - 1 px, слева 0 px, справа 4 px.

Отступ слева у кликабельного лейбла «+ Добавить блок» - 4 px.

Рисунок 2.102. Динамическая таблица с минимальной строкой

Динамическая таблица с минимальной строкой

Рисунок 2.103. Динамическая таблица без границ

Динамическая таблица без границ

Рисунок 2.104. Динамическая таблица с границами

Динамическая таблица с границами

Рисунок 2.105. Динамическая таблица (отступы)

Динамическая таблица (отступы)

Компонент «Контейнер»

Компонент «Контейнер» является основой разметки компонентов: при вставке любого другого компонента (за исключением таблиц) в место вставки вначале добавляется контейнер, а уже в него - вставляемый компонент.

Компонент «Контейнер» является служебным: пользователь не может добавить его на форму самостоятельно - только вместе с каким-либо другим компонентом.

Параметры компонента «Контейнер»:

  • Минимальная высота - 32px.

  • Вертикальное выравнивание - по центру

  • Отступы - нет

Компонент «Страница»

Если в редакторе форм добавить компонент «Страница» (илл. «Компонент «Страница»»), то после выделенной ячейки добавится разрыв страницы.

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

Рисунок 2.106. Компонент «Страница»

Компонент «Страница»

Текстовые элементы
Компонент «Неизменяемый текст»

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

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

Значение по умолчанию - Нажмите чтобы ввести текст. Если значение компонента не задано, то он принимает значение по умолчанию.

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

  • Переводы

  • Код скрипта

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

Рисунок 2.107. Вкладка «Переводы»

Вкладка «Переводы»

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

Поведение компонента:

  • Значение неизменяемого текста задается только в конфигураторе на этапе создания / редактирования формы. Если в конфигураторе его не задать, то компонент примет значение по умолчанию.

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

  • С неизменяемого текста доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Шрифт по умолчанию: Arial 12 px, цвет #333333

Компонент «Однострочное поле»

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

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

Настраиваемые параметры компонента (илл. «Настройки однострочного поля»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Маска ввода

Рисунок 2.108. Настройки однострочного поля

Настройки однострочного поля

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

Флажок и поле ввода «Маска ввода» определяют, какие символы и сколько может быть введено в компонент. Общее количество символов, которое может быть введено в поле, строго равно количеству символов маски ввода (за исключением escape- символов \ - обратная косая черта).

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

  • A - любая заглавная буква Unicode, соответствующее регулярное выражение: [\p{Lu}]

  • a - любая строчная буква Unicode, соответствующее регулярное выражение: [\p{Ll}]

  • # - любая цифра, соответствующее регулярное выражение: [0-9]

  • L - любая заглавная буква латинского алфавита. Соответствующее регулярное выражение: [A-Z]

  • l - любая строчная буква латинского алфавита. Соответствующее регулярное выражение: [a-z]

  • * - любой символ. Соответствующее регулярное выражение: .

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

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

Значением компонента является его текстовое представление.

Примеры:

  • (###) ###-##-## - маска ввода для телефонного номера в Казахстане. Ей соответствуют такие номера, как (727) 333-47-47, (721) 394-03-42 и т.п.

  • LL## ** **** **** **** ** - маска ввода для IBAN (Казахстан).

Поведение компонента:

  • Значение однострочного поля по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Placeholder отсутствует.

  • При попадании фокуса на компонент кликом мыши содержимое компонента не выделяется, положение курсора - в месте клика.

    При попадании фокуса на компонент табуляцией содержимое компонента выделяется, положение курсора - в конце строки.

  • Если поле с настроенной маской не заполнено полностью (при этом неважно, обязательно ли поле для заполнения), то проверка на неполное значение выполняется:

    • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится ошибка:

      Введите корректное значение

    Сюда также относятся следующие случаи:

    • пользователь установил фокус в поле ввода, ничего не ввел и снял фокус;

    • пользователь ввел данные, затем удалил их.

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

  • Если поле отмечено как обязательное к заполнению (без настроенной маски), то проверка на пустое значение выполняется:

    • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится общая ошибка формы:

      Заполните обязательные поля

    Сюда относятся следующий случай: фокус на поле ввода отсутствовал, компонент не заполнен. В этом случае считается, что компонент имеет пустое значение.

  • С однострочного поля доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

  • С однострочного поля доступно вырезание выделенной части в системный буфер обмена сочетаниями Ctrl+X, Shift+Delete, ПКМ → Вырезать. В случае вырезания всего содержимого в поле должна установиться исходная маска ввода (не значение по умолчанию), при наличии. В буфер попадает текстовое представление выделенной части.

  • В однострочное поле без маски ввода доступна вставка данных из системного буфера обмена сочетаниями клавиш Ctrl+V, Shift+Insert, ПКМ → Вставить. По умолчанию, в данный компонент разрешено вставлять любые символы. Успешная вставка должна происходить с заменой выделенного значения и справа от положения курсора (многострочный текст вставляется в одну строку).

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

    Пример №1. Для маски ввода ***### при вставке следующего значения в начало строки:

    • АБВ123 компонент примет значение АБВ123, т.к. вставляемое значение не противоречит маске;

    • АБВ123ГДЕ456 компонент примет значение АБВ123, т.к. вставляемое значение не противоречит маске, а лишние символы (начиная с Г и далее) не вставятся;

    • 123456 компонент примет значение 123456, т.к. вставляемое значение не противоречит маске;

    • АБВГДЕ компонент примет значение АБВ___, т.к. символы ГДЕ противоречат той части маски.

    Пример №2. Для маски ввода +7-(7##)-###-##-## при вставке следующего значения в начало строки:

    • 77779552595 компонент примет значение +7-(777)-955-25-95, т.к. вставляемое значение «подстроилось» под маску (первые две совпадающие цифры 7 наложились);

    • 87779552595 компонент примет значение +7-(787)-779-55-25, здесь из-за наличия несовпадающей цифры 8 наложения не произошло, значение вставилось непосредственно в маску.

Высота однострочного поля ввода (в px) рассчитывается так:

height = heightSet + 2 * padding + 2 * border

где:

  • heightSet - это высота, заданная в настройках компонента, по умолчанию 20;

  • padding = 2;

  • border = 1;

Таким образом, высота компонента по умолчанию составляет 26 px.

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.109. Компонент «Однострочное поле» на форме

Компонент «Однострочное поле» на форме

Компонент «Числовое поле»

Компонент формы «Числовое поле» позволяет отобразить типизированные десятичные числовые значения. Числовое поле, кроме того, позволяет выполнять простые математические вычисления: сложение, вычитание, умножение и деление. Внешне компонент аналогичен компоненту «Однострочное поле».

Настраиваемые параметры компонента (илл. «Настройки числового поля»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Настройки форматирования

    • Количество десятичных знаков (для включенного флажка - обяз.)

    • Разделитель дробной части (не имеет пустого значения)

    • Действия с лишними десятичными знаками (не имеет пустого значения)

    • Разделитель тысяч (для включенного флажка - обяз.)

    • Пример

  • Настройки компонента

    • Граничные значения (обяз.)

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

Поле ввода «Количество десятичных знаков» определяет, сколько в текстовом представлении компонента будет отображено десятичных знаков. Значение по умолчанию: 2, валидация: целое число от 0 до 16 включительно (число, большее 16, по смыслу приравнивается к 16). При редактировании самого числового поля ограничений на количество вводимых десятичных знаков отсутствует - числовое поле должно преобразовать число согласно данной настройке и настройке «Действие с лишними десятичными знаками».

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

Пример.

Пусть разделить дробной части - запятая. Пользователь вводит в числовое поле значение 123.4 (через точку). Точка автоматически заменяется на запятую и значение принимает вид 123,4 (через запятую). Аналогично в обратную сторону.

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

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

Флажок и поле ввода «Разделитель тысяч» определяют, использовать ли в текстовом представлении разделитель тысяч. Значение по умолчанию: флажок выключен, поле ввода недоступно (разделение на разряды отсутствует). Для включенного флажка становится доступным поле ввода, валидация: допускается ввод любого символа, кроме цифр 0-9 и знаков «+ - * /». Кроме того, в качестве разделителя тысяч нельзя использовать настроенный разделитель дробной части.

Недоступное на редактирование поле ввода «Пример» отображает пользователю в режиме реального времени согласно настройкам пример текстового представления числового поля. Для значения настроек «Количество десятичных знаков» = 2, «Разделитель дробной части» = точка, «Действие с лишними десятичными знаками» = Округлить, «Разделитель тысяч» = пробел:

  • числовым представлением будет 1234567890.99

  • текстовым представлением будет 1 234 567 890.99

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

Примечание.

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

Рисунок 2.110. Настройки числового поля

Настройки числового поля

Разрешенные символы для ввода в компонент:

  • цифры 0-9

  • знак «=»

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

Значение числового поля должно иметь два представления:

  • непосредственно число, которое будет вводиться при попадании фокуса на компонент (кликом мыши либо перемещением с помощью Tab) и использоваться в математических расчетах с участием данного компонента;

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

Если запись в числовом поле начинается с символа =, то в компоненте включается режим калькулятора. В данном режиме пользователю доступны для ввода символы арифметических операций «+ - * /», причем нельзя подряд вводить 2 и более знаков арифметических операций, за исключением случаев, когда вторым знаком идет «-». Пользователь вводит подряд без пробелов элементарные математические формулы из доступных операций.

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

Поведение компонента:

  • Значение числового поля по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Placeholder: «Введите число».

  • Неразрешенные символы не вводятся.

  • Ноль в начале последовательности цифр удаляется.

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

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

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

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

    На этапе сохранения файла по форме либо при переключении режимов формы с невалидным значением поле подсвечивается красным, выводится ошибка:

    Некоторые значения чисел не входят в установленный интервал

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

    • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным цветом, но выводится общая ошибка формы:

      Заполните обязательные поля

  • С числового поля доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

  • С числового поля доступно вырезание выделенной части в системный буфер обмена сочетаниями Ctrl+X, Shift+Delete, ПКМ → Вырезать. В случае вырезания всего содержимого в поле ничего (в т.ч. значение по умолчанию) отображаться не должно. В буфер попадает текстовое представление выделенной части.

  • В числовое поле доступна вставка только числовых данных (в т.ч. формул, начинающихся со знака =) из системного буфера обмена сочетаниями клавиш Ctrl+V, Shift+Insert, ПКМ → Вставить. В случае вставки данных, в которых содержится хотя бы один неразрешенный символ, в т.ч. второй (по отношению к уже имеющемуся в поле) разделитель дробной части, с буфера обмена в компонент числового поля должна завершиться неуспешно. Успешная вставка должна происходить с заменой выделенного значения и справа от положения курсора. Если вставлялась формула, автоматически происходит ее расчет (а не после нажатия Enter).

Высота числового поля ввода по умолчанию: 26 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.111. Компонент «Числовое поле» на форме

Компонент «Числовое поле» на форме

Компонент «Многострочный текст»

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

Настраиваемые параметры компонента (илл. «Настройки многострочного поля»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Не удалять пробелы в начале строки

Все флажки по умолчанию выключены.

Рисунок 2.112. Настройки многострочного текста

Настройки многострочного текста

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

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

Пример. Пусть “_" - это знак пробела.

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

Выключенный флажок, в свою очередь, «схлопывает» введенные в начале строки пробелы.

Пример.

Для введенного текста “___Текст" в режиме просмотра и печатном представлении будет отображаться «Текст».

Поведение компонента:

  • Значение многострочного текста по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Placeholder отсутствует.

  • При попадании фокуса на компонент кликом мыши содержимое компонента не выделяется, положение курсора - в месте клика.

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

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

    • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится общая ошибка формы:

      Заполните обязательные поля

  • С многострочного текста доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+ Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

  • С многострочного текста доступно вырезание выделенной части в системный буфер обмена сочетаниями Ctrl+X, Shift+ Delete, ПКМ → Вырезать. При этом в поле ничего (в т.ч. значение по умолчанию) отображаться не должно. В буфер попадает текстовое представление выделенной части.

  • В многострочный текст доступна вставка данных из системного буфера обмена сочетаниями клавиш Ctrl+V, Shift+Insert, ПКМ → Вставить. По умолчанию, в данный компонент разрешено вставлять любые символы. Успешная вставка должна происходить с заменой выделенного значения и справа от положения курсора.

Высота многострочного поля ввода по умолчанию: 60 px. При этом в случае, когда объем заполняемого текст выходит за указанные рамки, исходная высота компонента должна «подстроиться» под этот объем.

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.113. Компонент «Многострочное поле» на форме

Компонент «Многострочное поле» на форме

Компонент «HTD-редактор»

В качестве основы реализации компонента «HTD-редактор» используется свободный (LGPL) HTML-редактор TinyMCE с модифицированным визуальным оформлением. Его поведение и особенности описаны на официальном сайте: https://www.tinymce.com/.

В целом, в режиме редактирования компонент формы «HTD-редактор» представляет собой компонент «Многострочный текст» с панелью форматирования:

  • Шрифт

    • Arial

    • Courier New

    • Tahoma

    • Times New Roman

    • Trebushet

    • Verdana

  • Размер шрифта

    • 7px

    • 8px

    • 9px

    • 12px

    • 14px

    • 18px

    • 24px

  • Полужирный

  • Курсив

  • Подчеркнутый

  • Зачеркнутый

  • По левому краю

  • По центру

  • По правому краю

  • По ширине

  • Цвет текста

  • Цвет фона

  • Маркированный список

  • Нумерованный список

  • Уменьшить отступ

  • Увеличить отступ

  • Очистить формат

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

Ширина компонента в режиме редактирования «подстраивается» под ширину столбца, при этом итоговая ширина компонента будет не меньше, чем 200 px. Все невмещающиеся кнопки форматирования переносятся на следующую строку.

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

Внутреннее представление данных компонента - HTML.

Элементы выбора
Компонент «Выпадающий список»

Компонент формы «Выпадающий список» позволяет выбирать одно значение из раскрывающегося списка.

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

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

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

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

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

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

Рисунок 2.114. Ввод элементов выпадающего списка

Ввод элементов выпадающего списка

Рисунок 2.115. Выбор элементов выпадающего списка из справочника

Выбор элементов выпадающего списка из справочника

Настраиваемые параметры компонента (илл. «Настройки выпадающего списка»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Связь с компонентом

Все флажки по умолчанию выключены.

Рисунок 2.116. Настройки выпадающего списка

Настройки выпадающего списка

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

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

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

Рисунок 2.117. Ввод элементов зависимого «Выпадающего списка»

Ввод элементов зависимого «Выпадающего списка»

Рисунок 2.118. Ввод элементов зависимого «Выпадающего списка»

Ввод элементов зависимого «Выпадающего списка»

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

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

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

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

«Царство» (название, код царства) → «Тип» (название, код типа, код царства) → «Класс» (название, код класса, код типа) → Отряд (название, код отряда, код класса) → Семейство (название, код семейства, код отряда) → Род (название, код рода, код семейства) → Вид (название, код вида, код рода)

Примечание.

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

  • главный и зависимый компоненты находятся вне динамических таблиц;

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

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

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

Поведение компонента:

  • Ширина компонента в режиме редактирования «подстраивается» под ширину столбца, при этом итоговая ширина компонента будет не меньше, чем 80 px.

  • Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым, по умолчанию заполняется первым значением в списке).

    Примечание.

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

    Иначе - сохраняется значение по умолчанию.

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Placeholder отсутствует.

  • Ввод в компонент отсутствует.

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

    При повторном нажатии на компонент (не только на кнопку вызова списка) кликом мыши список закрывается.

    После выбора список возможных значений закрывается.

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

  • Открытый список отображает максимум 10 записей, все остальные скрываются за вертикальным скроллом.

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

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

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле подсвечивается красным цветом, выводится общая ошибка формы:

      Заполните обязательные поля

    Есть элемент списка не имеет «значения» (даже при наличии «наименования»), поле считается незаполненным.

  • С выпадающего списка (как из поля, так и из списка) доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

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

  • Операции вырезания и вставки в/из компонента отсутствуют.

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

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

    Кроме того, в момент срабатывания валидации в начало некорректного значения добавляется (!), т.е. в поле и списке будет отображаться, например, (!) Удаленное_значение.

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

Высота выпадающего списка по умолчанию: 28 px

Ширина кнопки выбора: 30 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.119. Компонент «Выпадающий список»

Компонент «Выпадающий список»

Рисунок 2.120. Компонент «Выпадающий список», размеры

Компонент «Выпадающий список», размеры

Компонент «Дата/время»

Компонент формы «Дата/время» позволяет вводить значения либо только даты, либо даты и времени. При этом он хранит полную дату и время (timestamp).

Внешне в режиме редактирования файла по форме компонент для ввода даты представляет собой поле ввода в формате ГГГГ-ММ-ДД и кнопку вызова календаря справа от нее. Компонент для ввода времени отображается справа от ввода даты и представляет собой поле ввода в формате ЧЧ:ММ.

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

Настраиваемые параметры компонента (илл. «Настройки выбора даты»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Заполнять текущей датой/временем

  • Язык

  • Формат даты (не обяз.)

  • Вводить время

Рисунок 2.121. Настройки выбора даты

Настройки выбора даты

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

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

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

Список форматных параметров можно посмотреть, нажав на кнопку «?» справа от поля:

  • ${yyyy} - четырехсимвольный формат года: 2013

  • ${yy} - двухсимвольный формат года: 13

  • ${mm} - двухсимвольный формат месяца: 01 - 12

  • ${m} - простой формат месяца: 1 - 12

  • ${month} - название месяца (локалезависимо), именительный падеж, ед. ч.: январь - декабрь (нижний регистр)

  • ${monthed} - название месяца (локалезависимо), родительный падеж, ед. ч.: января - декабря (нижний регистр)

  • ${monthec(param)} - название месяца в падеже, указанном в значении «param» (регистр первой буквы определяется значением справочника)

    Примечание

    Для работоспособности данной функции в системе должен существовать специальный справочник склонений месяца (Специальные справочники).

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

  • ${dd} - двухсимвольный формат дня: 01 - 31

  • ${d} - простой формат дня: 1 - 31

  • ${hh} - двухсимвольный 12-часовой формат часов: 01-12

  • ${h} - 12-часовой формат часов: 1-12

  • ${HH} - двухсимвольный 24-часовой формат часов: 00-23

  • ${H} - 24-часовой формат часов: 0-23

  • ${MM} - двухсимвольный формат минут: 00-59

  • ${M} - простой формат минут: 0-59

Значение форматной строки по умолчанию: ${yyyy}-${mm}-${dd}.

Флажок «Вводить время» позволяет сделать доступным ввод времени в данном компоненте в режиме редактирования файла по форме. Значение времени по умолчанию - 00:00.

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

Примечания.

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

Общее поведение для полей ввода даты и времени:

  • Значение даты и времени по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Placeholder отсутствует. На месте ввода, при отсутствии значения, отображается маска ввода.

    Для даты: ____-__-__

    Для времени: __:__

  • Разрешенные символы для ввода в компонент: только цифры 0-9. Неразрешенные символы не вводятся.

  • С полей ввода даты и времени доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

  • С полей ввода даты и времени доступно вырезание выделенной части в системный буфер обмена сочетаниями Ctrl+X, Shift+Delete, ПКМ → Вырезать. При этом в поле ничего (в т.ч. значение по умолчанию) отображаться не должно (а поле по правилам валидации выделится красным цветом). В буфер попадает текстовое представление выделенной части.

  • В поля ввода даты и времени доступна вставка данных из системного буфера обмена сочетаниями клавиш Ctrl+V, Shift+Insert, ПКМ → Вставить. Содержимое из системного буфера обмена попытается «подстроиться» под маску даты / времени и вставится только в те части, что под нее подходят. Успешная вставка должна происходить с заменой выделенного значения и справа от положения курсора.

    В целом механизм вставки похож на аналогичную вставку в однострочном поле с настроенной маской ввода.

Поведение поля ввода даты:

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

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

  • Поле ввода даты должно валидировать введенные значения только по формату «ГГГГ-ММ-ДД». Если поле не валидное, то проверка выполняется:

    • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным цветом, но выводится ошибка:

      Введите корректное значение

    Сюда также относятся следующие случаи:

    • пользователь установил фокус на поле даты, ничего не ввел и снял фокус;

    • пользователь ввел дату, затем удалил ее;

    • не введена дата, но введено пользователем время.

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

    Заполните обязательные поля

    Сюда относятся следующий случай: фокус на поле даты
    отсутствовал, дата не заполнена (но, например, заполнено время по умолчанию). Считается, что компонент имеет пустое значение.

Поведение поля ввода времени:

  • При попадании фокуса на поле ввода кликом мыши его содержимое не выделяется, положение курсора - в месте клика.

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

  • Поле ввода времени должно валидировать введенные значения только по формату ЧЧ:ММ. Если поле не валидное, то проверка выполняется:

    • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

    • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным цветом, но выводится общая ошибка формы:

      Введите корректное значение

    Сюда также относятся следующие случаи:

    • пользователь установил фокус на поле времени, ничего не ввел и снял фокус;

    • пользователь ввел время, затем удалил его.

  • У поля ввода времени отсутствует ошибка про обязательность заполнения, т.к. по умолчанию имеет в себе значение, а при удалении в нем значения исполнится ошибка про некорректность значения (см. выше).

Поведение календаря:

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

  • Календарь разделен на 3 части:

    • Верхняя - содержит полное название текущего месяца и год. Одновременно можно просматривать только один из списков. Справа и слева от этих надписей - кнопки переключения месяцев.

    • Центральная - содержит сетку дней выбранного месяца, может содержать от 4 до 6 недель. Свободные ячейки заполняются днями предыдущего / следующего месяца. Ячейка с текущим днем подчеркнута. Ячейка с выбранным днем выделена фоном.

      Над сеткой перечислены дни недели (для русской локали): понедельник (Пн), вторник (Вт), среда (Ср), четверг (Чт), пятница (Пт), суббота (Сб), воскресенье (Вс).

    • Нижняя - содержит подчеркнутую надпись «Сегодня».

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

  • Наведение курсора на кнопки переключения месяцев, несвободные ячейки сетки и надпись «Сегодня» изменяет курсор на вид «pointer».

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

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

    • Январь

    • Февраль

    • Март

    • Апрель

    • Май

    • Июнь

    • Июль

    • Август

    • Сентябрь

    • Октябрь

    • Ноябрь

    • Декабрь

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

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

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

  • По нажатию в верхней части на год открывается выпадающий список с годами: предыдущие 90 лет и последующие 20 лет (относительно текущего года).

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

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

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

Высота полей ввода даты и времени по умолчанию: 28 px

Ширина поля ввода даты с кнопкой календаря по умолчанию: 120 px

Ширина поля ввода времени по умолчанию: 60 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.122. Компонент «Дата/время» на форме

Компонент «Дата/время» на форме

Рисунок 2.123. Календарь

Календарь

Компонент «Выбор вариантов»

Компонент формы «Выбор вариантов» позволяет выбирать одно или несколько значений из списка.

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

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

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

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

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

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

Рисунок 2.124. Ввод элементов выбора вариантов

Ввод элементов выбора вариантов

Рисунок 2.125. Выбор элементов выбора вариантов из справочника

Выбор элементов выбора вариантов из справочника

Настраиваемые параметры компонента (илл. «Настройки выпадающего списка»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

Все флажки по умолчанию выключены.

Рисунок 2.126. Настройки выбора вариантов

Настройки выбора вариантов

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

Поведение компонента:

  • Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Ввод в компонент, рlaceholder и скроллы отсутствуют.

  • Внешний вид компонента браузерозависимый.

  • Включение и выключение флажков осуществляется как по нажатию непосредственно на иконку, так и по подписи справа от нее.

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

    Заполните обязательные поля

    Рисунок 2.127. Обязательный выбор вариантов

    Обязательный выбор вариантов

  • С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

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

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

    Кроме того, в момент срабатывания валидации в начало некорректного значения добавляется (!), т.е. в поле будет отображаться, например, (!) Удаленное_значение.

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

Шрифт по умолчанию: Arial 12 px, цвет #333333

Компонент «Переключатель вариантов»

Компонент формы «Переключатель вариантов» позволяет выбирать только одно значение из списка.

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

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

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

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

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

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

Рисунок 2.128. Ввод элементов выбора вариантов

Ввод элементов выбора вариантов

Рисунок 2.129. Выбор элементов выбора вариантов из справочника

Выбор элементов выбора вариантов из справочника

Настраиваемые параметры компонента (илл. «Настройки выпадающего списка»):

  • Обязательное поле

  • Заблокировать от изменений пользователем

Все флажки по умолчанию выключены.

Рисунок 2.130. Настройки выбора вариантов

Настройки выбора вариантов

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

Поведение компонента:

  • Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Ввод в компонент, рlaceholder и скроллы отсутствуют.

  • Внешний вид компонента браузерозависимый.

  • Включение переключателей осуществляется как по нажатию непосредственно на иконку, так и по подписи справа от нее.

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

    Заполните обязательные поля

    Рисунок 2.131. Обязательный выбор вариантов

    Обязательный выбор вариантов

  • С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

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

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

    Кроме того, в момент срабатывания валидации в начало некорректного значения добавляется (!), т.е. в поле будет отображаться, например, (!) Удаленное_значение.

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

Шрифт по умолчанию: Arial 12 px, цвет #333333

Файлы
Компонент «Изображение»

Компонент формы «Изображение» позволяет добавлять одно изображение в одну ячейку формы.

Внешне компонент всегда (и в режиме редактирования, и в режиме просмотра) отображает непосредственно выбранное изображение, а если изображение не выбрано - «заглушку»:

Рисунок 2.132. Изображение-заглушка

Изображение-заглушка

Настраиваемые параметры компонента отсутствуют.

Поведение компонента.

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

Диалог выбора должен содержать фильтр, при котором отображаются только изображения в формате GIF, JPЕG, PNG.

Если изображение выбрано, внешний вид компонента - это непосредственно само изображение:

  • Выравнивание соответствует настройкам форматирования таблицы либо компонента (по умолчанию - по левому верхнему краю).

  • Ширина изображения зависит то того, задана ли ширина у компонента:

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

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

  • Компонент на форме всегда заблокирован от изменений пользователем.

Выбранное изображение присутствует при отображении всех файлов по этой версии форм.

Компонент «Файл»

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

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Отображать полный путь к файлу при загрузке из хранилища

  • Отображать содержимое загруженного файла

По умолчанию, все флажки выключены.

Рисунок 2.133. Настройки файла

Настройки файла

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

Флажок «Отображать полный путь к файлу при загрузке из хранилища» позволяет при добавлении в компонент файла из хранилища отображать в нем также и полный путь к файлу.

  • Данная настройка не затрагивает способы загрузки файла - «С компьютера» и «Создать новый» - в этом случае в компоненте отображается только имя файла.

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

  • Если строка полного пути не влезает в компонент по ширине, то осуществляется перенос по словам на следующую строку.

Примечание.

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

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

Компонент на форме.

В режиме редактирования:

  • Файл не выбран - кнопка «Выбрать файл», по нажатию которой открывается подменю с пунктами «С компьютера», «Из хранилища» и «Создать новый».

    • С компьютера - открывается диалоговое окно «Выбор файла»:

      Рисунок 2.134. Загрузка файла с компьютера

      Загрузка файла с компьютера

      По нажатию в окне на кнопку «Загрузить файл» происходит его загрузка.

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

    Если включена настройка «Отображать содержимое загруженного файла», то в обоих случаях диалоги выбора должны содержать фильтр, при котором отображаются только изображения в формате GIF, JPЕG, PNG.

    • Создать новый - открывается диалоговое окно «Создание файла»:

      Рисунок 2.135. Ввод имени нового файла

      Ввод имени нового файла

      Placeholder поля ввода - «Введите название файла». По нажатию на кнопку «Готово» происходит валидация поля ввода на отсутствие пустого значения (ошибка «Необходимо ввести название файла»).

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

  • Файл выбран - изображение либо ссылка на файл:

    %Название_файла.расширение%

    либо

    %Название_файла.расширение% (%Полный_путь_до_файла%)

    а также иконка удаления , по нажатию на которую файл из компонента удаляется.

В режиме просмотра:

  • файл не выбран - пустое значение;

  • файл выбран - изображение либо ссылка на файл:

    %Название_файла.расширение%

    либо

    %Название_файла.расширение% (%Полный_путь_до_файла)

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

Примечание.

В некоторых случаях к названию через пробел будет добавляться возрастающая числовая последовательность. Это может происходить при добавлении файла с одинаковым названием в несколько различных компонентов «Файл» на одной форме любым из трех способов либо их комбинацией. Например: Файл, Файл 1, Файл 2 и т.д.

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

Поведение при переключении флажка «Отображать полный путь к файлу при загрузке из хранилища»:

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

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

Если включена настройка «Отображать содержимое загруженного файла», то внешний вид компонента - это непосредственно само изображение с его особенностями отображения на форме.

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

Вы хотите удалить файл?

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

Поведение при переключении флажка «Отображать содержимое загруженного файла»:

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

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

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

Заполните обязательные поля

Если поле помечено как заблокированное от изменений, то оно недоступно для выбора - кнопка «Выбрать файл» недоступна.

С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Шрифт по умолчанию: Arial 12 px

Цвет шрифта пути до файла (при наличии): #333333

Все отступы и размеры (включая от ссылки до иконки) соответствуют ссылке на файл в хранилище

Рисунок 2.136. Кнопка «Выбрать файл» в состояниях

Кнопка «Выбрать файл» в состояниях

Рисунок 2.137. Отображение ссылки на файл

Отображение ссылки на файл

Рисунок 2.138. Отображение полного пути к файлу

Отображение полного пути к файлу

Компонент «Ссылка»

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

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Заполнять ссылкой на текущий документ

По умолчанию, все флажки выключены.

Рисунок 2.139. Настройки ссылки

Настройки ссылки

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

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

Диалог настройки ссылки.

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

Настройки ссылки:

  • URL

  • Надпись

  • Открывать в отдельном окне

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

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

Рисунок 2.140. Компонент «Ссылка»

Компонент «Ссылка»

Рисунок 2.141. Компонент «Ссылка», размеры

Компонент «Ссылка», размеры

Рисунок 2.142. Компонент «Ссылка», размеры

Компонент «Ссылка», размеры

Поле ввода «URL» должно содержать относительную либо абсолютную ссылку. Абсолютная обязательно должна начинаться с http(s)://, все остальные варианты ввода считаются относительной ссылкой. Рlaceholder поля:

Введите URL ссылки.

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

К сожалению, такой страницы не существует.

Пример итоговой ссылки c URL «about»: http://192.168.1.79:8080/Synergy/about, ссылка будет валидной, т.к. такая страница существует (покажет версию приложения).

Пример итоговой ссылки c URL «google.kz»: http://192.168.1.79:8080/Synergy/google.kz, ссылка будет невалидной.

В качестве URL ссылки можно задать подстановку ${docID} (целиком, регистрочувствительно). При щелчке на компонент в режиме просмотра файла по форме эта подстановка заменяется на идентификатор документа, в котором находится этот файл по форме. Если подстановка написана с ошибками, в неправильном регистре либо файл по форме не принадлежит никакому документу, то замена не производится.

Пример итоговой ссылки c URL «${docID}»: http://192.168.1.79:8080/Synergy/c23dd5b0-db7f-11e5-8c91-525400bb7fc6, ссылка будет невалидной.

Пример итоговой ссылки c URL «?action=open_document&document_identifier=${docID}»: http://192.168.1.79:8080/Synergy/Synergy.html?action=open_document&document_identifier=c23dd5b0-db7f-11e5-8c91-525400bb7fc6, ссылка будет валидной.

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

Введите надпись к ссылке.

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

Возможные поведения:

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

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

  • Если значение URL не заполнено, а флажок «Открывать в отдельном окне» выключен, происходит перезагрузка страницы, открывается модуль по умолчанию.

    Если же флажок «Открывать в отдельном окне» включен, открывается пустая страница about:blank.

  • Если значение надписи отсутствует, то компонент в режиме просмотра отображает пустую строку, даже если заполнен URL.

Размеры диалога: 400 x 255 px

Шрифты в диалоге: DroidSans 14 px, цвет #606060

Компонент на форме.

В режиме редактирования компонент отображается в формате Ссылка: %Надпись%. Если значение надписи отсутствует, то в формате Ссылка:.

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

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

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

У вас нет прав на чтение данного проекта

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

Заполните обязательные поля

Рисунок 2.143. Обязательный компонент «Ссылка»

Обязательный компонент «Ссылка»

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

С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

Шрифт по умолчанию: Arial 12 px, цвет #333333

Специальные
Компонент «Пользователи»

Компонент формы «Пользователи» позволяет вводить и/или выбирать и отображать пользователей системы.

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Связь с компонентом

  • Заполнять создающим пользователем

  • Разрешать ввод произвольного текста

  • Позволять мультивыбор

  • Отображать группы

  • Отображать пользователей из резерва

  • Разрешать редактировать label выбранного элемента

  • Изменить формат отображения ФИО в зависимости от языка системы

По умолчанию, все флажки выключены.

Примечание

Нажав на кнопку «?» справа от флажка «Отображать группы» отобразится подсказка:

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

Рисунок 2.144. Настройки выбора пользователя

Настройки выбора пользователя

Рисунок 2.145. Настройки выбора пользователя

Настройки выбора пользователя

Рисунок 2.146. Настройки выбора пользователя

Настройки выбора пользователя

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

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

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

  • компонентов выбора пользователя и подразделения для компонента «Должности»;

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

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

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

  • Компонент пользователей 1 связали с компонентом должностей 1. В компоненте должностей 1 должен отсутствовать идентификатор компонента пользователей 1.

  • Далее, компонент должностей 1 связали с компонентом подразделений 1. В компоненте подразделений 1 должны отсутствовать идентификаторы компонента пользователя 1 и должности 1.

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

Возможные варианты связей (подчиненный компонент ← главный компонент):

  • «Должности»«Пользователи». В компоненте выбора должности должны отображаться все должности выбранного пользователя.

  • «Подразделения»«Пользователи». В компоненте выбора подразделения должно отображаться родительское подразделение первого уровня относительно выбранного пользователя.

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

  • «Подразделения»«Должности». В компоненте выбора подразделения должно отображаться родительское подразделение первого уровня относительно выбранной должности.

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

  • «Должности»«Подразделения». В компоненте выбора должности должны отображаться все должности данного подразделения.

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

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

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

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

Флажок «Разрешать ввод произвольного текста» добавляет новое свойство компоненту: ввод произвольного текста. Этот текст будет интерпретироваться как название соответствующего объекта Synergy на всех трех системных языках — русском, английском и казахском. Настройка связей с произвольным текстом работать не будет.

Флажок «Позволять мультивыбор» добавляет новое свойство компоненту: ввод и выбор одновременно нескольких пользователей.

Примечание.

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

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

Примечание.

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

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

Флажок «Отображать пользователей из резерва» добавляет новое свойство компоненту: ввод и выбор пользователей из резерва (т.е. неназначенных на должность).

Флажок «Разрешать редактировать label выбранного элемента» добавляет новое свойство компоненту: по двойному клику по тегу выбранного объекта доступно редактирование его текстового представления. Обновленное текстовое представление тега не должно отменять введенное или выбранное в компоненте значение.

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

Особые случаи, которые не являются ошибками Synergy:

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

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

При включении флага под настройкой будет добавлены 3 текстовых поля:

  • Русский язык со значением по умолчанию ${l} ${f.short}.${p.short.dot}

  • Казахский язык со значением по умолчанию ${l} ${f.short}.${p.short.dot}

  • Английский язык со значением по умолчанию ${l} ${f.short}.${p.short.dot}

Список форматных параметров отображается в popup по нажатию на кнопку ?:

  • ${l} - полная фамилия: Абдрешен

  • ${l.short} - сокращенная фамилия (первый символ): А

  • ${f} - полное имя: Леонид

  • ${f.short} - сокращенное имя (первый символ): Л

  • ${p} - полное отчество: Сергеевич

  • ${p.short} - сокращенное отчество (первый символ): С

  • ${p.short.dot} - сокращенное отчество с точкой (первый символ): С.

Данные поля должны быть обязательно заполнены, иначе при сохранении настроек отобразится ошибка с текстом:

Укажите хотя бы один форматный параметр из списка

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

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

Общие свойства компонента.

На ввод и выбор доступны только пользователи Synergy с учетом следующих настроек:

  • по умолчанию в списке доступны все пользователи орг. структуры;

  • включенная настройка отображать пользователей из резерва расширяет список пользователями из резерва;

  • настройка связи с компонентом ограничивает список (см. подробнее в описании настройки).

Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым). Placeholder отсутствует.

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

Диалог выбора пользователя(-лей)

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

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

Плашки списка могут отличаться, в зависимости от отображаемой информации:

  • Плашка пользователя содержит:

    • фотографию профиля, которая пропорционально сужена по меньшей стороне до размера области фото (32 px), центрирована по вертикали и горизонтали, обрезано лишнее, либо иконку-заглушку «пользователя» (если фотография профиля отсутствует) ;

    • на первой строке - по левому краю ФИО (полное либо с инициалами - зависит от настройки конфигуратора «Отображать полное ФИО пользователя») и по правому краю статус календаря, при наличии;

    • на второй строке - список должностей пользователя через запятую (порядок соответствует перечислению в его профиле, для пользователей из резерва - отсутствует).

  • Плашка группы содержит:

    • иконку-заглушку «группы» ;

    • на первой строке - полное название группы;

    • на второй строке - полное название родительской группы (для групп первого уровня - отсутствует).

  • Плашка контактов адресной книги содержит:

    • иконку-заглушку «контакта» ;

    • на первой строке - по левому краю ФИО либо название организации + <электронная почта> и по правому краю неизменяемый статус Контакт из адресной книги;

    • вторая строка ничего не содержит.

  • Плашка произвольного текста содержит:

    • иконку-заглушку «произвольного текста» ;

    • на первой строке - по левому краю произвольный текст и по правому краю неизменяемый статус Введен вручную;

    • вторая строка ничего не содержит.

Отображаемый список пользователей зависит от того, что выделено в левой части диалога:

  • Выбранные - все текущие выделенные пользователи и/или группы;

  • Часто выбираемые - список часто выбираемых пользователей (сюда попадают те пользователи, которых авторизованный пользователь выбирает чаще всего в аналогичном компоненте выбора пользователей во всей системе);

  • Группы пользователей - список групп и/или пользователей;

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

Заголовком таблицы является название выделенной кнопки (для «Выбранные» / «Часто выбираемые») либо ноды дерева (для «Группы пользователей» / «Орг.структура»).

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

Список пользователей сортируется по возрастанию ФИО. Список групп и пользователей, в свою очередь, так: сначала группы, затем пользователи, между собой по возрастанию названия / ФИО.

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

  • если запрещен, то только список пользователей, входящих в выбранную группу;

  • иначе - саму группу, список дочерних групп и пользователей, входящих в выбранную группу;

  • корневая нода «Все группы» всегда содержит только группы всех уровней.

Примечание.

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

Пример:

  • Группа 1 - Пользователь 1

    • Группа 1.1 - Пользователь 2

  • Группа 3

Здесь Пользователь 2 принадлежит к Группе 1.1, и, кроме того, входит в Группу 1.

В компоненте используется понятие «пользователь входит в группу».

В зависимости от настройки разрешен ли мультивыбор, диалог обладает следующими свойствами:

  • не разрешен:

    • доступно выделение только одной плашки, новое выделение отменяет предыдущее;

    • развыделить выбранную плашку нельзя;

    • двойным кликом по плашке происходит его выделение и выбор (с закрытием диалога);

  • разрешен:

    • доступно выделение нескольких плашек, новое выделение не отменяет предыдущее, а добавляет его к выбранным;

    • можно развыделить все выбранные плашки;

    • двойной клик по плашке отрабатывает как развыделение и новое выделение этой же плашки (выбор с закрытием диалога отсутствует).

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

  • выключен - если не выделен хотя бы один пользователь из отображаемого списка;

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

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

По нажатию на включенный флажок происходит развыделение всех ранее выбранных элементов.

Поиск осуществляется только внутри отображаемого списка и только во вкладках «Группы пользователей» и «Орг.структура». Поиск производится по нажатию на клавишу «Enter» либо на иконку лупы, его результаты фильтруют отображаемый список. Пустой запрос поиска соответствует отображению всех элементов. Placeholder поля:

Поиск пользователей

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

Описание интерфейса диалога:

  • Размер областей динамический: может быть изменен перемещением сплита. Сплит может быть перемещен не более, чем на 2/3 части соответствующей области по умолчанию (т.е. максимум на 172 px влево или 346 px вправо).

  • Названия кнопок левой панели, по умолчанию, выровнены по центру. При уменьшении области до ширины, при которой текст кнопки с отступом до текста (9 px) не помещается полностью в этой области, текст выравнивается по левому краю с сохранением отступа.

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

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

  • По наведению курсора мыши над ФИО / статусом календаря / должностью / названием группы / названием родительской группы отображается тултип с соответствующей полной информацией.

  • В случае, если название должности / группы / родительской группы не помещаются в ширину списка, оно обрезается с добавлением многоточие, отступ от правого края - 21 px.

    Наличие многоточия для ФИО / произвольного текста зависит от статуса:

    • В случае невмещающегося ФИО / произвольного текста и отсутствия статуса - название обрезается с добавлением многоточие, отступ от правого края - 21 px.

    • В случае наличия ФИО / произвольного текста и статуса список делится на 2 части по правилу:

      N = (ширина_списка - 80) / 2

      • длина статуса более, чем N px: статус выравнивается по левому краю данной области N (за вычетом отступа 21 px), по правому краю обрезается с добавлением многоточие;

      • при невмещающемся ФИО / произвольном тексте он обрезается с добавлением многоточие, отступ от левого края статуса - 9 px.

  • В случае, если название заголовка таблицы не помещается в ширину, оно обрезается с добавлением многоточие, отступ от левого края флажка (при наличии) либо от правого края шапки (при отсутствии флажка) - 9 px.

  • Диалог стандартный, с размерами: 800 x 500 px. Шрифт статуса - DroidSans 12 px, всех остальных - DroidSans 13 px.

  • Линии между плашками списка, между кнопками в левой панели - пунктирные, все остальные сплошные.

  • Цвета компонентов:

    • #606060 - цвет всех текстов, кроме заголовка и кнопки «Выбрать»;

    • #ffffff - цвет фона, текста заголовка и кнопки «Выбрать»;

    • #49b582 - цвет фона кнопки;

    • #dcedfd - цвет выделения плашки;

    • #ff4800 - цвет статусов «Контакт из адресной книги» и «Введен вручную»;

    • #d6d6d6 - цвет всех линий;

    • #4c5256 - цвет заголовка.

Рисунок 2.147. Диалог выбора пользователей

Диалог выбора пользователей

Рисунок 2.148. Диалог выбора пользователей, группы

Диалог выбора пользователей, группы

Рисунок 2.149. Диалог выбора пользователей со статусом

Диалог выбора пользователей со статусом

Рисунок 2.150. Диалог выбора пользователей, размеры

Диалог выбора пользователей, размеры

Рисунок 2.151. Диалог выбора пользователей, размеры

Диалог выбора пользователей, размеры

Рисунок 2.152. Диалог выбора пользователей, размеры

Диалог выбора пользователей, размеры

Рисунок 2.153. Диалог выбора пользователей, минимальная левая область

Диалог выбора пользователей, минимальная левая область

Рисунок 2.154. Диалог выбора пользователей, минимальная правая область

Диалог выбора пользователей, минимальная правая область

Ввод пользователя(-лей)

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

Поле ввода с тегами может быть только многострочным.

Свойства многострочного поля ввода с тегами:

Рисунок 2.155. Поле ввода с тегами

Поле ввода с тегами

  • Всегда отображаются все теги.

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

  • В области ввода пользователь может ввести произвольный текст. Эта часть отсутствует, если не разрешен мультивыбор, а единственное значение компонента уже имеется. Ширина области ввода — 30 px.

Поведение многострочного поля ввода с тегами на этапе ввода:

Ввод текста тега Многострочное поле ввода

Ввод нового тега: строка не помещается в ширину поля ввода

Невмещающийся текст переносится пословно/посимвольно на новую строку

Редактирование тега: вводимая строка меньше ширины исходного тега

Исходная ширина тега не изменяется

Редактирование тега: вводимая строка не помещается в ширину исходного тега

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

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

  • если ввод произвольного текста не разрешен, то в список попадают только данные из диалога выбора;

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

    • Фамилия Имя Отчество <почта>

    • Название организации <почта>

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

Рисунок 2.156. Подбор результатов поиска

Подбор результатов поиска

По нажатию на «Enter» введенная информация обрабатывается:

  • при нажатии было выделено значение из выпадающего списка - оно становится значением компонента и, соответственно, тегом;

  • при нажатии отсутствовали результаты поиска - в зависимости от того, разрешен ли ввод произвольного текста:

    • разрешен - текст становится значением компонента и, соответственно, тегом;

    • запрещен - текст не становится значением компонента, остается активным его ввод, при потере фокуса такое значение компонента очищается.

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

Рисунок 2.157. Поле ввода с длинными тегами

Поле ввода с длинными тегами

Если разрешено редактирование label-а, то двойное нажатие на тег активирует редактирование его текстового значения.

Рисунок 2.158. Редактирование лейбла тега

Редактирование лейбла тега

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

Рисунок 2.159. Выделенный тег

Выделенный тег

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

Вы действительно хотите удалить тег %текстовое_значение_тега%?

«Отмена» - действие не выполняется. «Ок» - тег и выбранное значение компонента удаляются, курсор автоматически установлен в поле ввода.

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

Рисунок 2.160. Недоступное поле ввода с тегами

Недоступное поле ввода с тегами

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

  • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

  • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится общая ошибка формы:

    Заполните обязательные поля

Рисунок 2.161. Обязательное поле ввода с тегами

Обязательное поле ввода с тегами

Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

С тега компонента недоступно вырезание, но доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

В компонент доступна вставка данных (при наличии активного курсора) из системного буфера обмена сочетаниями клавиш Ctrl+V, Shift+Insert, ПКМ → Вставить. По умолчанию, в данный компонент разрешено вставлять любые символы. Вставка разнозначна вводу текста.

Цвета, используемые в поле ввода с тегами:

  • #333333 - цвет всех текстов во всех тегах;

  • #f1eed1 - цвет тега;

  • #e2dfba - цвет выделенного / недоступного тега;

  • #ebebeb - цвет фона кнопки выбора / недоступного поля;

  • #ecacad - цвет контура невалидного поля;

  • #fff3f3 - цвет фона невалидного поля.

Высота поля ввода с кнопкой по умолчанию: 28 px

Ширина кнопки выбора: 30 px

Шрифт по умолчанию: Arial 12 px

Ширина области ввода: 30 px

Высота тега: 22 px

Рисунок 2.162. Размеры поля ввода с тегами

Размеры поля ввода с тегами

Рисунок 2.163. Размеры поля ввода с тегами

Размеры поля ввода с тегами

Рисунок 2.164. Размеры поля ввода с тегами

Размеры поля ввода с тегами

Рисунок 2.165. Размеры поля ввода с тегами

Размеры поля ввода с тегами

Компонент «Должности»

Компонент формы «Должности» позволяет вводить и/или выбирать и отображать должности системы.

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Связь с компонентом

  • Язык

  • Заполнять первой должностью создающего пользователя

  • Разрешать ввод произвольного текста

  • Разрешать редактировать label выбранного элемента

  • Отображать только вакантные должности

По умолчанию, все флажки выключены.

Рисунок 2.166. Настройки выбора должности

Настройки выбора должности

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

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

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

  • компонентов выбора пользователя и подразделения для компонента «Должности»;

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

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

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

  • Компонент пользователей 1 связали с компонентом должностей 1. В компоненте должностей 1 должен отсутствовать идентификатор компонента пользователей 1.

  • Далее, компонент должностей 1 связали с компонентом подразделений 1. В компоненте подразделений 1 должны отсутствовать идентификаторы компонента пользователя 1 и должности 1.

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

Возможные варианты связей (подчиненный компонент ← главный компонент):

  • «Должности»«Пользователи». В компоненте выбора должности должны отображаться все должности выбранного пользователя.

  • «Подразделения»«Пользователи». В компоненте выбора подразделения должно отображаться родительское подразделение первого уровня относительно выбранного пользователя.

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

  • «Подразделения»«Должности». В компоненте выбора подразделения должно отображаться родительское подразделение первого уровня относительно выбранной должности.

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

  • «Должности»«Подразделения». В компоненте выбора должности должны отображаться все должности данного подразделения.

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

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

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

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

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

Флажок «Разрешать ввод произвольного текста» добавляет новое свойство компоненту: ввод произвольного текста. Этот текст будет интерпретироваться как название соответствующего объекта Synergy на всех трех системных языках — русском, английском и казахском. Настройка связей с произвольным текстом работать не будет.

Флажок «Разрешать редактировать label выбранного элемента» добавляет новое свойство компоненту: по двойному клику по тегу выбранного объекта доступно редактирование его текстового представления. Обновленное текстовое представление тега не должно отменять введенное или выбранное в компоненте значение.

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

Примечание.

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

Эта настройка работает вместе с настройками связей.

Общие свойства компонента.

На ввод и выбор доступны только должности Synergy с учетом следующих настроек:

  • по умолчанию в списке доступны все должности орг. структуры;

  • включенная настройка отображать только вакантные должности ограничивает список только вакантными должностями;

  • настройка связи с компонентом ограничивает список (см. подробнее в описании настройки).

Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым). Placeholder отсутствует.

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

Диалог выбора должности.

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

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

Плашки списка могут отличаться, в зависимости от отображаемой информации:

  • Плашка должности содержит:

    • на первой строке - название должности;

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

  • Плашка произвольного текста содержит:

    • на первой строке - по левому краю произвольный текст и по правому краю неизменяемый статус Введен вручную;

    • вторая строка ничего не содержит.

Отображаемый список должностей зависит от того, что выделено в левой части диалога:

  • Выбранные - текущая выделенная должность;

  • Орг. структура (выделен по умолчанию при каждом открытии диалога) - список должностей, принадлежащих выбранному подразделению орг.структуры.

Заголовком таблицы является название выделенной кнопки (для «Выбранные») либо ноды дерева (для «Орг.структура»).

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

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

  • должности сортируются по убыванию уровня орг.структуры вне зависимости от уровня должности;

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

    • руководитель;

    • и.о. руководителя;

    • заместитель руководителя;

    • специалист.

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

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

  • при наличии у пользователя должностей в одинаковых по уровню структуры подразделениях:

    • при наличии различных номеров подразделений - должности сортируются по возрастанию номера подразделения вне зависимости от уровня должности;

    • при наличии одинаковых номеров подразделений - должности сортируются по возрастанию ID должности.

      Примечание

      При наличии в подразделении с одинаковыми номерами должностей и.о. руководителя и заместителя руководителя приоритет отдается и.о. руководителя.

  • при наличии у пользователя должностей в одном подразделении - должности сортируются по следующему порядку:

    • руководитель;

    • и.о. руководителя;

    • заместитель руководителя;

    • специалист.

Рисунок 2.167. Пример сортировки должностей

Пример сортировки должностей

Таким образом, порядок отображения должностей:

  1. И.О_руководителя_подразделения_1

  2. Заместитель_руководителя_подразделения_1

  3. Специалист_2

  4. Специалист_4

  5. Заместитель_руководителя_подразделения_3

  6. Специалист_3

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

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

Поиск должностей

Кнопка «Выбрать» недоступна для нажатия, если не выделена должность. Как только одна должность становится выделенной, кнопка становится доступной.

Описание интерфейса диалога:

  • Размер областей динамический: может быть изменен перемещением сплита. Сплит может быть перемещен не более, чем на 2/3 части соответствующей области по умолчанию (т.е. максимум на 172 px влево или 346 px вправо).

  • Названия кнопок левой панели, по умолчанию, выровнены по центру. При уменьшении области до ширины, при которой текст кнопки с отступом до текста (9 px) не помещается полностью в этой области, текст выравнивается по левому краю с сохранением отступа.

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

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

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

  • В случае, если название должности / подразделения не помещаются в ширину списка, оно обрезается с добавлением многоточие, отступ от правого края - 21 px.

  • В случае, если название заголовка таблицы не помещается в ширину, оно обрезается с добавлением многоточие, отступ от правого края шапки - 9 px.

  • Диалог стандартный, с размерами: 800 x 500 px. Шрифт - DroidSans 13 px.

  • Линии между плашками списка, между кнопками в левой панели - пунктирные, все остальные сплошные.

  • Цвета компонентов:

    • #606060 - цвет всех текстов, кроме заголовка и кнопки «Выбрать»;

    • #ffffff - цвет фона, текста заголовка и кнопки «Выбрать»;

    • #49b582 - цвет фона кнопки;

    • #dcedfd - цвет выделения плашки;

    • #ff4800 - цвет статуса «Введен вручную»;

    • #d6d6d6 - цвет всех линий;

    • #4c5256 - цвет заголовка.

Рисунок 2.168. Диалог выбора должности

Диалог выбора должности

Ввод должности.

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

Компонент «Подразделения»

Компонент формы «Подразделения» позволяет вводить и/или выбирать и отображать подразделения системы.

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Связь с компонентом

  • Язык

  • Заполнять департаментом создающего пользователя

  • Разрешать ввод произвольного текста

  • Позволять мультивыбор

  • Разрешать редактировать label выбранного элемента

По умолчанию, все флажки выключены.

Рисунок 2.169. Настройки выбора подразделения

Настройки выбора подразделения

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

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

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

  • компонентов выбора пользователя и подразделения для компонента «Должности»;

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

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

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

  • Компонент пользователей 1 связали с компонентом должностей 1. В компоненте должностей 1 должен отсутствовать идентификатор компонента пользователей 1.

  • Далее, компонент должностей 1 связали с компонентом подразделений 1. В компоненте подразделений 1 должны отсутствовать идентификаторы компонента пользователя 1 и должности 1.

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

Возможные варианты связей (подчиненный компонент ← главный компонент):

  • «Должности»«Пользователи». В компоненте выбора должности должны отображаться все должности выбранного пользователя.

  • «Подразделения»«Пользователи». В компоненте выбора подразделения должно отображаться родительское подразделение первого уровня относительно выбранного пользователя.

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

  • «Подразделения»«Должности». В компоненте выбора подразделения должно отображаться родительское подразделение первого уровня относительно выбранной должности.

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

  • «Должности»«Подразделения». В компоненте выбора должности должны отображаться все должности данного подразделения.

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

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

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

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

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

Флажок «Разрешать ввод произвольного текста» добавляет новое свойство компоненту: ввод произвольного текста. Этот текст будет интерпретироваться как название соответствующего объекта Synergy на всех трех системных языках — русском, английском и казахском. Настройка связей с произвольным текстом работать не будет.

Флажок «Позволять мультивыбор» добавляет новое свойство компоненту: ввод и выбор одновременно нескольких подразделений.

Примечание.

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

Флажок «Разрешать редактировать label выбранного элемента» добавляет новое свойство компоненту: по двойному клику по тегу выбранного объекта доступно редактирование его текстового представления. Обновленное текстовое представление тега не должно отменять введенное или выбранное в компоненте значение.

Общие свойства компонента.

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

  • по умолчанию в списке доступны все подразделения орг. структуры;

  • настройка связи с компонентом ограничивает список (см. подробнее в описании настройки).

Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым). Placeholder отсутствует.

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

Диалог выбора подразделения(-ий).

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

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

Плашки списка могут отличаться, в зависимости от отображаемой информации:

  • Плашка подразделения содержит:

    • на первой строке: название подразделения;

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

  • Плашка произвольного текста содержит:

    • на первой строке - по левому краю произвольный текст и по правому краю неизменяемый статус Введен вручную;

    • вторая строка ничего не содержит.

Отображаемый список подразделений зависит от того, что выделено в левой части диалога:

  • Выбранные - все текущие выделенные подразделения;

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

Заголовком таблицы является название выделенной кнопки (для «Выбранные») либо ноды дерева (для «Орг.структура»).

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

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

  • подразделения сортируются по убыванию уровня орг.структуры вне зависимости от уровня подразделения.

В зависимости от настройки разрешен ли мультивыбор, диалог обладает следующими свойствами:

  • не разрешен:

    • доступно выделение только одной плашки, новое выделение отменяет предыдущее;

    • развыделить выбранную плашку нельзя;

    • двойным кликом по плашке происходит его выделение и выбор (с закрытием диалога);

  • разрешен:

    • доступно выделение нескольких плашек, новое выделение не отменяет предыдущее, а добавляет его к выбранным;

    • можно развыделить все выбранные плашки;

    • двойной клик по плашке отрабатывает как развыделение и новое выделение этой же плашки (выбор с закрытием диалога отсутствует).

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

  • выключен - если не выделено хотя бы одно подразделение из отображаемого списка;

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

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

По нажатию на включенный флажок происходит развыделение всех ранее выбранных подразделений.

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

Поиск подразделений

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

Описание интерфейса диалога:

  • Размер областей динамический: может быть изменен перемещением сплита. Сплит может быть перемещен не более, чем на 2/3 части соответствующей области по умолчанию (т.е. максимум на 172 px влево или 346 px вправо).

  • Названия кнопок левой панели, по умолчанию, выровнены по центру. При уменьшении области до ширины, при которой текст кнопки с отступом до текста (9 px) не помещается полностью в этой области, текст выравнивается по левому краю с сохранением отступа.

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

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

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

  • В случае, если название родительского подразделения не помещается в ширину списка, оно обрезается с добавлением многоточие, отступ от правого края - 21 px.

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

    • В случае невмещающегося названия подразделения и отсутствия статуса - название обрезается с добавлением многоточие, отступ от правого края - 21 px.

    • В случае наличия произвольного текста и статуса:

      • статус выравнивается по правому краю;

      • при невмещающемся произвольном тексте он обрезается с добавлением многоточие, отступ от левого края статуса - 9 px.

  • В случае, если название заголовка таблицы не помещается в ширину, оно обрезается с добавлением многоточие, отступ от левого края флажка (при наличии) либо от правого края шапки (при отсутствии флажка) - 9 px.

  • Диалог стандартный, с размерами: 800 x 500 px. Шрифт статуса - DroidSans 12 px, всех остальных - DroidSans 13 px.

  • Линии между плашками списка, между кнопками в левой панели - пунктирные, все остальные сплошные.

  • Цвета компонентов:

    • #606060 - цвет всех текстов, кроме заголовка и кнопки «Выбрать»;

    • #ffffff - цвет фона, текста заголовка и кнопки «Выбрать»;

    • #49b582 - цвет фона кнопки;

    • #dcedfd - цвет выделения плашки;

    • #ff4800 - цвет статуса «Введен вручную»;

    • #d6d6d6 - цвет всех линий;

    • #4c5256 - цвет заголовка.

Рисунок 2.170. Диалог выбора подразделения

Диалог выбора подразделения

Ввод подразделения(-ий).

Выбранные подразделения подставляются в поле ввода в виде тегов. Развыделенные подразделения удаляют соответствующий тег. В целом, поведение ввода подразделения(-ий) идентично вводу пользователя(-ей).

Компонент «Номер»

Компонент «Номер» позволяет автоматизировать нумерацию, отображая заранее выбранный шаблон номера.

Внешне в режиме просмотра и редактирования файла по форме компонент отображается в виде лейбла.

Настраиваемые параметры компонента:

  • Шаблон номера

Рисунок 2.171. Настройки номера

Настройки номера

Выпадающий список «Шаблон номера» содержит список всех неудаленных шаблонов номеров в формате:

%Название_шаблона_номера% (%формула_шаблона_номера%)

Список сортируется по возрастанию названия шаблона номера. По умолчанию, в нем выбрана первая запись в списке.

Поведение компонента.

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

Примечание:

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

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

Внимание!

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

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

Вышеописанное поведение не является ошибкой Synergy.

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

  • при открытии уже созданного файла по форме отображается полное значение компонента, присвоенное ему при создании;

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

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

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

Ввод в компонент и рlaceholder отсутствуют.

Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

Шрифт по умолчанию: Arial 12 px, цвет #333333

Компонент «Лист подписей»

Компонент формы «Лист подписей» позволяет отображать один из настроенных вариантов таблицы подписей:

  • лист подписей

  • лист согласования

  • лист утверждения

  • лист ознакомления

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

Настраиваемые параметры компонента:

  • Язык

  • Тип данных

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

Выпадающий список «Тип данных» - опция, определяющая итоговый вид таблицы, содержит следующие значения:

  • Лист подписей (выбран по умолчанию)

    Рисунок 2.172. Компонент «Лист подписей»

    Компонент «Лист подписей»

  • Лист согласования

    Рисунок 2.173. Компонент «Лист согласования»

    Компонент «Лист согласования»

  • Лист утверждения

    Рисунок 2.174. Компонент «Лист утверждения»

    Компонент «Лист утверждения»

  • Лист ознакомления

    Рисунок 2.175. Компонент «Лист ознакомления»

    Компонент «Лист ознакомления»

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

Лист подписей.

Таблица называется:

Наименования столбцов листа подписей

Рисунок 2.176. Настройки компонента «Лист подписей»

Настройки компонента «Лист подписей»

В столбце «Столбец» находятся идентификаторы разделов листа подписей:

  • number - нумерация строк

  • full_name - значение ФИО в компонент подставляется согласно настройке документооборота «Отображать ФИО и должность пользователя на момент подписи в листе подписей»;

  • full_name_current - в компонент подставляется всегда текущее ФИО пользователя, независимо от настройки документооборота;

  • full_name_saved - в компонент подставляется всегда сохраненное на момент подписи ФИО пользователя, независимо от настройки документооборота;

Формат ФИО во всех случаях - «Фамилия И.О.»

  • position - значение должности в компонент подставляется согласно настройке документооборота «Отображать ФИО и должность пользователя на момент подписи в листе подписей»;

  • position_current - в компонент подставляется всегда текущая должность пользователя, независимо от настройки документооборота;

  • position_saved - в компонент подставляется всегда сохраненная на момент подписи должность пользователя, независимо от настройки документооборота;

  • date - дата подписания в формате «ЧЧ:ММ:СС ДД.ММ.ГГ»

  • signature_type - тип подписи, один из следующих вариантов:

    • Согласование

    • Утверждение

    • Ознакомление

    • Подпись

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

  • signature - подпись (один из двух вариантов: «ЭЦП» либо «Обычная»)

Ширина столбцов:

  • Номер - 50 px

  • ФИО подписавшего - 120 (100) px

  • Должность подписавшего - 160 (100) px

  • Дата подписания - 120 (100) px

  • Тип подписи - 100 px

  • Подпись - 70 px

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

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

Лист согласования.

Таблица называется:

Наименования столбцов листа согласования

Рисунок 2.177. Настройки компонента «Лист согласования»

Настройки компонента «Лист согласования»

В столбце «Столбец» находятся идентификаторы разделов листасогласования:

  • number - нумерация строк

  • full_name - ФИО согласующего в формате «Фамилия И.О.»

  • position - должность согласующего

  • consent_date - дата согласования в формате «ЧЧ:ММ:СС ДД.ММ.ГГ»

  • consent_result - результат согласования, один из следующих вариантов:

    • Согласовано

    • Согласовано с комментарием

  • consent_comment - комментарий согласующего (при наличии комментария, может содержать пустое значение)

Ширина столбцов:

  • Номер - 50 px

  • ФИО согласующего - 120 (100) px

  • Должность согласующего - 160 (100) px

  • Дата согласования - 120 (100) px

  • Результат согласования - 100 px

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

Лист утверждения.

Таблица называется:

Наименования столбцов листа утверждения

Рисунок 2.178. Настройка компонента «Лист утверждения»

Настройка компонента «Лист утверждения»

В столбце «Столбец» находятся идентификаторы разделов листа утверждения:

  • number - нумерация строк

  • full_name - ФИО утверждающего в формате «Фамилия И.О.»

  • position - должность утверждающего

  • approval_date - дата утверждения в формате «ЧЧ:ММ:СС ДД.ММ.ГГ»

  • approval_result - результат утверждения, один из следующих вариантов:

    • Утверждено

    • Утверждено с комментарием

  • approval_comment - комментарий утверждающего (при наличии комментария, может содержать пустое значение)

Ширина столбцов:

  • Номер - 50 px

  • ФИО утверждающего - 120 (100) px

  • Должность утверждающего - 160 (100) px

  • Дата утверждения - 120 (100) px

  • Результат утверждения - 100 px

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

Лист ознакомления.

Таблица называется:

Наименования столбцов листа ознакомления

Рисунок 2.179. Настройки компонента «Лист ознакомления»

Настройки компонента «Лист ознакомления»

В столбце «Столбец» находятся идентификаторы разделов листа ознакомления:

  • number - нумерация строк

  • full_name - ФИО ознакамливающегося в формате «Фамилия И.О.»

  • position - должность ознакамливающегося

  • acquaintance_date - дата ознакомления в формате «ЧЧ:ММ:СС ДД.ММ.ГГ»

  • acquaintance_result - результат ознакомления, единственный возможный вариант: «Ознакомлен»

Ширина столбцов:

  • Номер - 50 px

  • ФИО подписавшего - 120 (100) px

  • Должность подписавшего - 160 (100) px

  • Дата ознакомления - 120 (100) px

  • Результат ознакомления - 100 px

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

Примечание.

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

Общие данные для всех четырех таблиц.

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

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

Столбец «Отображать» содержит флажки, включающие / отключающие отображение соответствующего столбца листа.

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

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

Поведение компонента:

  • При клике мыши на компонент ничего не происходит. При табуляции компонент пропускается.

  • С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Шрифт основного текста по умолчанию: Arial 12 px

#000000 - цвет текста

#ffffff - цвет фона

Поведение компонента в пользовательской части

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

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

Компонент «Лист резолюций»

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

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

Настраиваемые параметры компонента:

  • Язык

Рисунок 2.180. Настройки листа резолюций

Настройки листа резолюций

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

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

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

Ширина столбцов:

  • Автор - 120 (100) px

  • Ответственный - 120 (100) px

  • Исполнители - 160 (100) px

  • Завершение - 100 px

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

Рисунок 2.181. Компонент «Лист резолюций» в режиме просмотра

Компонент «Лист резолюций» в режиме просмотра

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

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

Рисунок 2.182. Компонент «Лист резолюций» в режиме редактирования

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

Поведение компонента:

  • При клике мыши на компонент ничего не происходит. При табуляции компонент пропускается.

  • С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Шрифт основного текста по умолчанию: Arial 12 px

#000000 - цвет текста

#ffffff - цвет фона

Компонент «Ход выполнения»

Компонент формы «Ход выполнения» позволяет отображать таблицу хода выполнения.

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

Настраиваемые параметры компонента:

  • Язык

Рисунок 2.183. Настройки хода выполнения

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

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

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

  • отображение удаленных этапов маршрута;

  • отображение будущих этапов маршрута;

  • отображение хода выполнения дочерних документов внутри основного;

  • формат отображения пользователей;

  • и т.п.

Ширина столбцов:

  • Ответственный - 120 (100) px

  • Автор - 120 (100) px

  • Начало - 100 px

  • Завершение - 100 px

  • Завершил - 120 (100) px

  • Комментарий - 150 (100) px

  • Отступ слева для каждого дочернего этапа от ближайшего родителя: 20 px

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

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

Рисунок 2.184. Компонент «Ход выполнения» в режиме просмотра

Компонент «Ход выполнения» в режиме просмотра

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

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

Рисунок 2.185. Компонент «Ход выполнения» в режиме редактирования

Компонент «Ход выполнения» в режиме редактирования

Поведение компонента:

  • При клике мыши на компонент ничего не происходит. При табуляции компонент пропускается.

  • С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Шрифт основного текста по умолчанию: Arial 12 px

#000000 - цвет заголовка и содержимого (кроме будущих этапов)

#ffffff - цвет фона заголовка и содержимого (кроме будущих этапов)

#727071 - цвет содержимого будущих этапов

#efefef - цвет фона будущих этапов

Компонент «Ссылка на документ»

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

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Язык

  • Форматная строка

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

Рисунок 2.186. Настройки ссылки на документ

Настройки ссылки на документ

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

Поле ввода «Форматная строка» - текстовое поле, в котором могут быть указаны форматные параметры и/или простые текстовые значения, определяющие итоговый вид значения этого компонента.

Список форматных параметров:

  • ${document.summary} - краткое содержание документа;

  • ${document.createdate} - дата создания документа в формате ДД.ММ.ГГ;

  • ${document.author} - автор документа;

  • ${document.registerdate} - дата регистрации документа в формате ДД.ММ.ГГ;

  • ${document.type} - тип документа (подставляемое значение зависит от локали);

  • ${document.registry} - название реестра документа;

  • ${document.number} - номер документа.

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

Поведение компонента в режиме редактирования.

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

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

В качестве значений списка используются краткие содержания соответствующих документов. Сортировка в списке соответствует порядку следования оснований в РКК документа.

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

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

  • на этапе сохранения файла по форме либо при переключении режимов формы - поле подсвечивается красным цветом, выводится общая ошибка формы:

    Заполните обязательные поля

Рисунок 2.187. Обязательная ссылка на документ

Обязательная ссылка на документ

С выпадающего списка операции копирования, вырезания и вставки отсутствуют.

Поведение компонента в режиме просмотра.

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

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

С лейбла доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

Шрифт по умолчанию: Arial 12 px, цвет #333333

Компонент «Период повторения»

Компонент формы «Период повторения» позволяет задавать период повторения.

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

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

  • «Нет»:

    Нет

  • «По дням недели»:

    По дням недели: %полное_значение_дня_недели%

    Примеры полного значения дня недели: Понедельник, Среда

  • «По дням месяца»:

    По дням месяца: %день_(простой_формат)%

    Примеры дня месяца: 1 (а не 01), 15, 30

  • «Ежегодно»:

    Ежегодно: %день_(простой_формат)% %месяц_в_именительном_падеже%

    Примеры дня года: 1 апрель, 15 апрель

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

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Язык

Все флажки по умолчанию выключены.

Рисунок 2.188. Настройки выпадающего списка

Настройки выпадающего списка

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

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию) - соответствует языку авторизации пользователя;

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

Примечание

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

Поведение компонента в режиме редактирования.

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

  • Нет (выбран по умолчанию)

  • По дням недели

  • По дням месяца

  • Ежегодно

При выборе пункта, отличного от «Нет», справа от выпадающего списка добавится компонент выбора периода повторения.

Общие особенности поведения компонента выбора периода:

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

  • Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым).

  • Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

  • Placeholder и ввод в компонент отсутствуют.

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

  • Компонент поддерживает множественный выбор.

  • Цвет выбранного элемента - #deefff.

  • Если ни одна ячейка таблиц не выбрана, поля подсвечиваются красным.

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

    Заполните обязательные поля

Особенности поведения компонента выбора периода для типов повторения «По дням недели» и «По дням месяца»:

  • Компонент представлен однострочным полем с кнопкой.

  • Элементы всплывающего окна представлены:

    • «По дням недели» - днями недели в сокращенном варианте (Пн - Вс);

    • «По дням месяца» - днями месяца в простом формате (1 - 31).

  • Выбранные элементы отображаются в поле в виде текста. Новые элементы добавляются в поле через запятую по возрастанию их номеров.

  • Невмещающийся в поле текст скрывается.

  • Шрифт текста в списке - DroidSans Bold 13 px.

Особенности поведения компонента выбора периода для типа повторения «Ежегодно»:

  • Всплывающее окно содержит в себе следующие элементы:

    • Выпадающий список «Месяц». По умолчанию в списке выбран текущий месяц на сервере.

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

    • Дни. Вкладка отображает столько дней, сколько имеется в выбранном месяце. Для месяца «Февраль» отображаются 29 дней.

  • При смене месяца предыдущий выбор с элементов не снимается.

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

  • Значения выбранных элементов отображаются в поле в виде тегов формата %день_(простой_формат)% %мес% (где %мес% - первые три буквы месяца). Каждый новый тег элемента добавляется в конец поля.

  • Шрифт выпадающего списка «Месяц» - DroidSans Bold 16 px, остальных элементов - DroidSans Bold 13 px.

Высота выпадающего списка: 28 px

Высота однострочного поля ввода с кнопкой: 28 px

Высота многострочного поля ввода с кнопкой: 80 px

Ширина выпадающего списка по умолчанию: 80 px

Ширина поля ввода с кнопкой: 175 px

Ширина кнопок выбора: 30 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.189. Период повторения

Период повторения

Рисунок 2.190. Период повторения, тип «По дням недели»

Период повторения, тип «По дням недели»

Рисунок 2.191. Период повторения, тип «По дням месяца»

Период повторения, тип «По дням месяца»

Рисунок 2.192. Период повторения, тип «Ежегодно»

Период повторения, тип «Ежегодно»

Рисунок 2.193. Период повторения, размеры

Период повторения, размеры

Рисунок 2.194. Период повторения, размеры

Период повторения, размеры

Рисунок 2.195. Период повторения, размеры

Период повторения, размеры

Рисунок 2.196. Период повторения, размеры

Период повторения, размеры

Компонент «Ссылка на проект/портфель»

Компонент формы «Ссылка на проект/портфель» позволяет добавлять на форму ссылку на проект или портфель, открывать их местоположение в модуле «Проекты».

Внешне компонент представляет собой:

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

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Язык

По умолчанию, все флажки выключены.

Рисунок 2.197. Настройки ссылки на проект/портфель

Настройки ссылки на проект/портфель

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

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

Диалог выбора проекта / портфеля.

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

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

Диалог разделен на 3 основные части:

  • иерархия портфелей слева;

  • список портфелей / проектов выделенной ноды дерева;

  • кнопка «Выбрать» внизу.

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

Корневая нода дерева соответствует названию орг.структуры и обозначена иконкой «папки» , остальные ноды - иконкой портфеля .

Сортировка в дереве соответствует модулю «Проекты». По умолчанию, при каждом открытии диалога выделена и раскрыта корневая нода, остальное дерево свернуто.

Отображаемый список портфелей и проектов зависит от того, какая нода дерева выделена слева и содержит:

  • сначала дочерние портфели первого уровня вложенности относительно выделенной;

  • затем проекты, принадлежащие непосредственно выделенному портфелю.

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

Каждая строка списка содержит иконку портфеля или проекта и, соответственно, название портфеля или проекта.

Заголовком списка является название выделенной ноды дерева. Между собой портфели и проекты в списке сортируются согласно их следованию в модуле «Проекты».

Мультивыбор всегда отсутствует.

Кнопка «Выбрать» недоступна для нажатия, если не выделен ни один элемент списка (проект либо портфель). Как только хотя бы один элемент становится выделенным, кнопка становится доступной.

Описание интерфейса диалога:

  • Размер областей динамический: может быть изменен перемещением сплита. Сплит может быть перемещен не более, чем на 2/3 части соответствующей области по умолчанию (т.е. максимум на 172 px влево или 346 px вправо).

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

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

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

  • В случае, если название проекта / портфеля не помещается в ширину списка, оно обрезается с добавлением многоточие, отступ от правого края - 21 px.

  • В случае, если название заголовка списка не помещается в ширину, оно обрезается с добавлением многоточие, отступ от правого края шапки - 9 px.

  • Диалог стандартный, с размерами: 800 x 500 px. Шрифт всех текстов - DroidSans 13 px.

  • Линии между плашками списка - пунктирные, все остальные сплошные.

  • Цвета компонентов:

    • #606060 - цвет всех текстов, кроме заголовка и кнопки «Выбрать»;

    • #ffffff - цвет фона диалога, текста заголовка и кнопки «Выбрать»;

    • #49b582 - цвет фона кнопки «Выбрать»;

    • #deefff - цвет выделенной строки;

    • #d6d6d6 - цвет всех линий;

    • #4c5256 - цвет заголовка.

Рисунок 2.198. Диалог выбора проекта / портфеля

Диалог выбора проекта / портфеля

Рисунок 2.199. Диалог выбора проекта / портфеля, размеры

Диалог выбора проекта / портфеля, размеры

Компонент на форме.

В режиме редактирования файла по форме в самом компоненте выбранная запись реестра отображается в виде, значение которого состоит из (в зависимости от того, какой элемент был выбран):

  • Проект: %выбранный_проект%

  • Портфель: %выбранный_портфель%

Текст внутри тега в режиме редактирования недоступен для изменения.

Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым). Placeholder отсутствует.

Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

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

Альтернативные потоки событий:

  • Если пользователь не имеет доступа к выбранному проекту, он видит его выбранным, и при попытке перехода по активной ссылке на такой проект система уведомляет его о невозможности доступа (не сворачивая документ и не переходя в модуль «Проекты»):

    У вас нет прав на чтение данного проекта

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

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

    У вас нет прав на чтение данного портфеля либо портфель был удален

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

  • Если проект / портфель был переименован, то при первом открытии документа с момента переименования необходимо изменить это название в компоненте. Данное действие выполнится только в том случае, если у пользователя есть доступ к этому проекту.

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

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

    У вас нет прав на чтение данного портфеля либо портфель был удален

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

  • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

  • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится общая ошибка формы:

    Заполните обязательные поля

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

С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

Высота поля ввода с кнопкой по умолчанию: 28 px

Ширина кнопки выбора: 30 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.200. Компонент «Ссылка на проект/портфель» на форме, в состояниях

Компонент «Ссылка на проект/портфель» на форме, в состояниях

Компонент «Ссылка на реестр»

Компонент формы «Ссылка на реестр» позволяет добавлять кликабельную ссылку на определенную запись определенного реестра.

Внешне компонент представляет собой:

  • в режиме редактирования - поле с одним тегом и кнопкой, позволяющей вызвать диалог выбора нужной записи реестра;

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Заполнять ссылкой на родительскую запись реестра

  • Выберите реестр

  • Сопоставление

По умолчанию, все флажки выключены.

Рисунок 2.201. Настройки ссылки на реестр

Настройки ссылки на реестр

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

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

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

В случаях неправильной настройки:

  • компонента на форме (например, включен флажок и выбран некорректный реестр, либо компонент находится внутри динамической таблицы)

  • реестра и/или реестра ответа;

  • и т.п.

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

Выпадающий список «Выберите реестр» - выбор одного реестра из полного списка реестров. Из этого реестра должны браться записи для заполнения компонента.

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

Доступ к реестру запрещен

Сам диалог при этом не открывается.

Флажок «Сопоставление», который доступен для включения только в том случае, если в поле «Выберите реестр» выбран какой-либо реестр. При включении этого флажка становится активным компонент настройки сопоставления.

В «Поле реестра» можно выбрать какой-либо из идентификаторов компонентов выбранного выше реестра, а в «Поле-приемник формы» - какой-либо из идентификаторов компонентов формы, на которой расположена настраиваемая «Ссылка на реестр». Способы сопоставления и их параметры аналогичны таковым в реестрах (подраздел «Сопоставление»).

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

  • форма с компонентом «Ссылка на реестр» (причем сам компонент не должен находиться внутри динамической таблицы);

  • в настройках компонента выбран реестр и настроено сопоставление;

  • создан файл по этой форме;

  • этот файл открыт в режиме редактирования.

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

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

Диалог выбора записи реестра.

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

Если в настройках компонента не выбран реестр, то по нажатию на эту кнопку необходимо не открывать диалог и выводить ошибку:

Не выбран реестр. Обратитесь к методологу.

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

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

Описание диалога и таблицы.

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

  • Значения столбцов также определяются реестром. Все ячейки являются нередактируемыми (ни с помощью F2, ни с помощью Enter).

  • Сортировка записей по умолчанию также соответствуют настройкам реестра, разделу «Сортировка при отображении». Стрелка сортировки по умолчанию не отображается.

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

    Сортировка осуществляется по всем страницам реестра, пользователь остается на той странице, в которой он его выполнил.

  • Поиск записи осуществляется по всем страницам реестра по всем столбцам. Исключением являются те столбцы, по которым не осуществляется сортировка. Поиск производится по нажатию на клавишу «Enter» либо на иконку лупы, его результаты фильтруют отображаемый список. Пустой запрос поиска соответствует отображению всех записей реестра. Placeholder поля:

    Поиск записей

  • На одной странице отображается максимум 15 записей реестра. Переход к конкретной / последующим / предыдущим страницам осуществляется с помощью пагинатора.

    Страница, которая содержит менее 15 строк, не должна дополняться значениями из предыдущей страницы.

    Например. Всего записей 20. Первая страница отображает записи 1-15, вторая (последняя) страница отображает записи 16-20 (а не 5-20).

    Формат отображения текущей страницы: A / B, где А - это номер текущей страницы, В - общее количество страниц. Если поиск выдал пустой результат, то в пагинаторе отображается значение 1 / 1.

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

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

    Рисунок 2.202. Пагинатор

    Пагинатор

    Рисунок 2.203. Пагинатор, размеры

    Пагинатор, размеры

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

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

    Вертикальный скролл всегда отсутствует.

    Размер столбцов динамический: может быть изменен перемещением их границ, минимальная ширина столбца при этом должна быть 32 px.

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

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

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

  • В таблице отсутствует функция переноса по буквам / словам. Поэтому в случае, если текстовое значение ячейки не помещается в ширину столбца, оно обрезается с добавлением многоточие, отступ от правого края ячейки - не менее 12 px.

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

  • По наведению курсором мыши над строкой она выделяется цветом #f5f5dc. По нажатию на строку происходит выделение всей строки (а не ячейки) цветом #deefff.

  • Выделение нескольких строк отсутствует. Перемещение внутри таблицы с помощью Tab отсутствует. Перемещение с помощью курсорных стрелок «↑» и «↓» присутствует, а с помощью «←» и «→» - отсутствует.

  • Контекстное меню в таблице отсутствует.

  • Если не выбрана ни одна запись, кнопка «Выбрать» неактивна.

  • Нажатие других кнопок мыши/клавиш клавиатуры не должно обрабатываться.

  • Диалог стандартный, с размерами: 800 x 612 px. Шрифт всех текстов в таблице - DroidSans 14 px.

  • Межстрочные линии - пунктирные, все остальные - сплошные.

  • Цвета компонентов:

    • #d6d6d6 - цвет всех линий;

    • #4c5256 - цвет заголовка;

    • #606060 - цвет всех текстов, кроме заголовка и кнопки «Выбрать»;

    • #ffffff - цвет фона диалога и строки №1, текста заголовка и кнопки «Выбрать»;

    • #fbfbfb - цвет строки №2;

    • #49b582 - цвет фона кнопки «Выбрать»;

    • #deefff - цвет выделенной строки;

    • #f5f5dc - цвет строки с наведенным курсором.

Рисунок 2.204. Диалог выбора записи реестра

Диалог выбора записи реестра

Рисунок 2.205. Диалог выбора записи реестра

Диалог выбора записи реестра

Рисунок 2.206. Диалог выбора записи реестра, размеры

Диалог выбора записи реестра, размеры

Рисунок 2.207. Диалог выбора записи реестра, размеры

Диалог выбора записи реестра, размеры

Рисунок 2.208. Диалог выбора записи реестра, размеры

Диалог выбора записи реестра, размеры

Компонент на форме.

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

Примечание.

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

Значение компонента по умолчанию задается в конфигураторе на этапе создания / редактирования формы (может быть пустым). Placeholder отсутствует.

Пустое значение в режиме просмотра формы отображается как пустое значение (а не знаками подчеркивания, например).

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

Альтернативные потоки событий.

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

  • перехода по активной ссылке на запись такого реестра (даже если она удалена либо сам реестр скрыт);

  • открытия диалога выбора записи реестра;

система уведомляет его о невозможности доступа:

Доступ к реестру запрещен

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

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

  • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

  • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится общая ошибка формы:

    Заполните обязательные поля

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

С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части. Недоступны действия вырезки и вставки.

Высота поля ввода с кнопкой по умолчанию: 28 px

Ширина кнопки выбора: 30 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Рисунок 2.209. Компонент «Ссылка на реестр» на форме

Компонент «Ссылка на реестр» на форме

Компонент «Ссылка на адресную книгу»

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

Внешне компонент представляет собой:

  • в режиме редактирования - поле с одним тегом и кнопкой, позволяющей вызвать диалог выбора нужной записи адресной книги;

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

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

По умолчанию, все флажки выключены.

Рисунок 2.210. Настройки ссылки на адресную книгу

Настройки ссылки на адресную книгу

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

Диалог выбора записи адресной книги

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

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

Компонент обладает свойством, что при открытии диалога выбора в нем всегда открыта первая страница таблицы «Люди» без выделения выбранной записи.

Описание диалога и таблицы

  • Выпадающий список содержит два значения:

    • Люди (выбран по умолчанию);

    • Организации.

  • Отображаемые столбцы определяются типом контакта (выбранным пунктом выпадающего списка):

    • Люди:

      • Фамилия;

      • Имя;

      • Отчество;

      • Организация;

    • Организации:

      • Организация;

      • Адрес.

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

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

  • Все ячейки являются нередактируемыми (ни с помощью F2, ни с помощью Enter).

  • Сортировка отсутствует - записи отображаются в том же порядке, что и в самой адресной книге, а именно по возрастанию значений столбца:

    • тип контакта «Люди» - «Фамилия»;

    • тип контакта «Организации» - «Организация».

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

    Поиск записей

Примечание:

По умолчанию поиск выполняется после ввода четвертого символа поискового запроса. Минимальное количество символов запроса настраивается в mysql с помощью параметра ft_min_word_len. По умолчанию он равен 4, минимальное допустимое значение равно 1. Для изменения этого параметра необходимо:

  1. В файле /etc/mysql/my.cnf в секцию [mysqld] добавить строку:

ft_min_word_len = #

где # - натуральное число.

  1. Перезапустить mysql.

  • На одной странице отображается максимум 15 записей адресной книги. Переход к конкретной / последующим / предыдущим страницам осуществляется с помощью пагинатора.

  • Скроллы отсутствуют.

  • В таблице отсутствует функция переноса по буквам / словам - в случае, если текстовое значение ячейки не помещается в ширину столбца, оно обрезается с добавлением многоточие.

  • По наведению курсором мыши над строкой она выделяется цветом #f5f5dc. По нажатию на строку происходит выделение всей строки (а не ячейки) цветом #deefff.

  • Выделение нескольких строк отсутствует. Перемещение внутри таблицы с помощью Tab отсутствует и курсорных стрелок отсутствует.

  • Если не выбрана ни одна запись, кнопка «Выбрать» неактивна.

  • Контекстное меню в таблице отсутствует.

  • Нажатие других кнопок мыши/клавиш клавиатуры не обрабатывается.

  • Диалог стандартный, с размерами: 800 x 612 px. Шрифт всех текстов в таблице - DroidSans 14px.

  • Межстрочные линии - пунктирные, все остальные - сплошные.

Рисунок 2.211. Диалог выбора записи адресной книги (Люди)

Диалог выбора записи адресной книги (Люди)

Рисунок 2.212. Диалог выбора записи адресной книги (Организации)

Диалог выбора записи адресной книги (Организации)

Рисунок 2.213. Диалог выбора записи адресной книги, размеры

Диалог выбора записи адресной книги, размеры

Рисунок 2.214. Диалог выбора записи адресной книги, размеры

Диалог выбора записи адресной книги, размеры

Рисунок 2.215. Диалог выбора записи адресной книги, размеры

Диалог выбора записи адресной книги, размеры

Рисунок 2.216. Диалог выбора записи адресной книги, цвета

Диалог выбора записи адресной книги, цвета

Компонент на форме

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

  • тип контакта «Люди» - %Фамилия% %Имя% %Отчество% (%Организация%)

  • тип контакта «Организации» - %Организация% (%Адрес%)

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

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

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

Ссылка на общедоступный контакт:

  1. Текущий документ сворачивается в панель задач.

  2. Открывается раздел «Адресная книга» модуля «Сотрудники».

  3. В нем выделяется узел «Люди», либо «Организации» (в зависимости от типа контакта).

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

Ссылка на личный, либо удаленный общедоступный контакт:

  1. Текущий документ сворачивается в панель задач.

  2. Открывается раздел «Адресная книга» модуля «Сотрудники».

  3. В нем выделяется узел «Люди», либо «Организации» (в зависимости от типа контакта).

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

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

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

  • при потере фокуса с компонента - поле подсвечивается красным, ошибки отсутствуют;

  • на этапе сохранения файла по форме либо при переключении режимов формы - поле также подсвечивается красным, но выводится общая ошибка формы:

    Заполните обязательные поля

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

Высота поля ввода с кнопкой по умолчанию: 28px

Ширина кнопки выбора: 30px

Шрифт по умолчанию: Arial 12px, цвет #333333

Рисунок 2.217. Компонент «Ссылка на адресную книгу» на форме (режим редактирования)

Компонент «Ссылка на адресную книгу» на форме (режим редактирования)

Рисунок 2.218. Компонент «Ссылка на адресную книгу» на форме (режим чтения)

Компонент «Ссылка на адресную книгу» на форме (режим чтения)

Компонент «Свойства документа»

Компонент формы «Свойства документа» позволяет отображать заранее настроенное свойство документа.

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

  • в редакторе форм - как недоступное для редактирования однострочное поле ввода с типом данных свойства;

  • в режиме редактирования - как лейбл с типом данных свойства;

  • в режиме просмотра - как лейбл со значением свойства.

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

  • Язык

  • Тип данных

Рисунок 2.219. Настройки свойств документа

Настройки свойств документа

Выпадающий список «Язык» имеет следующие значения:

  • Не указан (по умолчанию);

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

Значение «Не указан» соответствует языку авторизации пользователя.

Выпадающий список «Тип данных» имеет следующие значения:

  • Номер документа (выбран по умолчанию)

  • Краткое содержание

  • Дата создания (в формате ДД.ММ.ГГ)

  • Автор (в формате Фамилия И.О.)

  • Дата регистрации (в формате ДД.ММ.ГГ)

  • Тип документа (локале зависимое значение)

  • Реестр (которому принадлежит данный документ)

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

Поведение компонента:

  • При клике мыши на компонент ничего не происходит. При табуляции компонент пропускается.

  • С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Высота поля ввода: 26 px

Шрифт по умолчанию: Arial 12 px, цвет #333333

Компонент «Ссылка на файл в Хранилище»

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

Внешне компонент представляет собой:

  • в режиме редактирования:

    • файл не выбран - кнопка «Выбрать файл», по нажатию которой открывается диалог выбора файла;

    • файл выбран - две ссылки с иконками изменения и удаления:

      %иконка% %Название_файла.расширение%

      %Полный_путь_до_файла/Название_файла.расширение%

  • в режиме просмотра:

    • файл не выбран - лейбл «Файл не выбран»;

    • файл выбран - две ссылки:

      %иконка% %Название_файла.расширение%

      %Полный_путь_до_файла/Название_файла.расширение%

Настраиваемые параметры компонента:

  • Обязательное поле

  • Заблокировать от изменений пользователем

  • Открывать в отдельном окне

По умолчанию, все флажки выключены.

Рисунок 2.220. Настройки ссылки на файл в хранилище

Настройки ссылки на файл в хранилище

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

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

Диалог выбора папки / файла.

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

Компонент обладает свойством, что при открытии диалога выбора в нем не выделен ранее добавленный файл.

Кроме того, компонент обладает следующими свойствами, от которых зависит дальнейшее поведение диалога:

  • отображать ли личную папку пользователя («Мои документы»);

  • выбор папки либо файла;

  • если файла, то доступен ли их множественный выбор;

  • отображать ли кнопку добавления новой папки.

Примечание.

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

Диалог разделен на 3 основные части:

  • единственный раздел «Все папки» с иерархией папок слева;

  • список папок / файлов выделенной ноды дерева;

  • кнопки «Создать папку» (опционально) и «Выбрать» внизу.

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

Сортировка в дереве соответствует модулю «Хранилище». По умолчанию, при каждом открытии диалога выделена первая нода дерева, а раскрыты все ноды первого уровня.

Каждая нода дерева помечена иконкой папки .

Примечание.

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

Отображаемый список папок и файлов зависит от того, какая нода дерева выделена слева и от свойства выбора папки либо файла. Список может содержать:

  • если доступен выбор файла:

    • сначала дочерние папки первого уровня вложенности относительно выделенной;

    • затем файлы, принадлежащие непосредственно выделенной папке;

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

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

Каждая строка списка содержит иконку папки или файла, название папки / файла с расширением.

Заголовком списка является название выделенной ноды дерева. Между собой папки и файлы в списке сортируются по возрастанию их названия (сначала 0-9, затем A-Z, затем А-Я).

В зависимости от свойства разрешен ли мультивыбор файлов, список обладает следующими поведением:

  • не разрешен:

    • доступно выделение только одной строки, новое выделение отменяет предыдущее;

    • развыделить выбранную строку нельзя;

    • двойным кликом по строке папки происходит его открытие с выделением в дереве;

    • двойным кликом по строке файла происходит его выделение и выбор (с закрытием диалога);

  • разрешен:

    • доступно выделение нескольких строк, новое выделение не отменяет предыдущее, а добавляет его к выбранным;

    • можно развыделить все выбранные строки;

    • двойным кликом по строке папки происходит его открытие с выделением в дереве (выделение на папке не остается);

    • двойной клик по строке файла отрабатывает как развыделение и новое выделение этой же строки (выбор с закрытием диалога отсутствует).

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

Примечание.

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

Доступность кнопки «Выбрать» зависит от свойства выбора папки либо файла:

  • выбор папки - недоступна для нажатия, если не выделена ни одна папка, как только хотя бы одна папка становится выделенной, кнопка становится доступной;

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

Описание интерфейса диалога:

  • Размер областей динамический: может быть изменен перемещением сплита. Сплит может быть перемещен не более, чем на 2/3 части соответствующей области по умолчанию (т.е. максимум на 172 px влево или 346 px вправо).

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

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

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

  • В случае, если название папки / файла не помещается в ширину списка, оно обрезается с добавлением многоточие, отступ от правого края - 21 px.

  • В случае, если название заголовка списка не помещается в ширину, оно обрезается с добавлением многоточие, отступ от от правого края шапки - 9 px.

  • Диалог стандартный, с размерами: 800 x 500 px. Шрифт всех текстов - DroidSans 13 px.

  • Линии между плашками списка - пунктирные, все остальные сплошные.

  • Цвета компонентов:

    • #d6d6d6 - цвет всех линий;

    • #4c5256 - цвет заголовка;

    • #606060 - цвет всех текстов, кроме заголовка и кнопки «Выбрать»;

    • #ffffff - цвет фона диалога, текста заголовка и кнопки «Выбрать»;

    • #49b582 - цвет фона кнопки «Выбрать»;

    • #deefff - цвет выделенной строки.

Рисунок 2.221. Диалог выбора файла без личной папки пользователя

Диалог выбора файла без личной папки пользователя

Рисунок 2.222. Диалог выбора папки с личной папкой пользователя и кнопкой «Создать папку»

Диалог выбора папки с личной папкой пользователя и кнопкой «Создать папку»

Компонент на форме.

В режиме редактирования:

  • файл не выбран - кнопка «Выбрать файл», по нажатию которой открывается диалог выбора файла;

  • файл выбран - две ссылки:

    %иконка% %Название_файла.расширение%

    %Полный_путь_до_файла/Название_файла.расширение%

    а также иконки (справа от правого верхнего угла):

    • «Изменить», по нажатию на которую открывается диалог выбора файла;

    • «Удалить», по нажатию на которую файл из компонента удаляется.

В режиме просмотра:

  • файл не выбран - лейбл «Файл не выбран»;

    Шрифт по умолчанию: Arial 12 px, цвет #333333

  • файл выбран - две ссылки:

    %иконка% %Название_файла.расширение%

    %Полный_путь_до_файла/Название_файла.расширение%

    Шрифт имени файла по умолчанию: Arial 12 px, цвет #333333

    Шрифт пути по умолчанию: Arial 10 px, цвет #239260

Текст ссылок никаким образом визуально не выделен (за исключением изменения курсора на тип «pointer» при наведении).

Переход по ссылкам.

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

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

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

Альтернативные потоки событий:

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

    Доступ к файлу запрещен

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

    Элемент был удален либо у вас нет прав на просмотр

  • Если файл был переименован, то при первом открытии файла по форме с момента переименования необходимо изменить название файла в компоненте.

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

  • Если файл был удален, то при первом открытии файла по форме с момента удаления необходимо изменить иконку расширения на иконку «неизвестен», а вместо ссылки на путь отображать текст ошибки:

    Файл был удален

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

    Элемент был удален либо у вас нет прав на просмотр

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

Заполните обязательные поля

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

С компонента доступно копирование выделенной части в системный буфер обмена сочетаниями Ctrl+C, Ctrl+Insert, ПКМ → Копировать. В буфер попадает текстовое представление выделенной части.

Рисунок 2.223. Кнопка «Выбрать файл» в состояниях

Кнопка «Выбрать файл» в состояниях

Рисунок 2.224. Выбранный файл в режиме редактирования

Выбранный файл в режиме редактирования

Рисунок 2.225. Выбранный файл в режиме просмотра

Выбранный файл в режиме просмотра

Рисунок 2.226. Выбранный файл в режиме редактирования, размеры

Выбранный файл в режиме редактирования, размеры

Компонент «Пользовательский компонент»

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

Примечание

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

Рисунок 2.227. Пользовательский компонент

Пользовательский компонент

Рисунок 2.228. Настройки компонента «Пользовательский компонент»

Настройки компонента «Пользовательский компонент»

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

Внешний вид компонента в проигрывателе формы описывается в поле «HTML код». Если это поле ничего не содержит, либо содержит некорректные данные, компонент никак не отображается.

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

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

  • отсутствует в полях формы реестра;

  • отсутствует в фильтрах реестра;

  • не учитывается при поиске в реестре;

  • не участвует в сортировке реестра;

  • отсутствует во всех видах сопоставлений;

  • не учитывается во всех спец.процессах (например, в условном переходе).

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

Сохранение формы

Для сохранения введенных данных методолог нажимает на кнопку:

  • «Сохранить» для сохранения текущей версии формы;

  • «Сохранить версию» для сохранения новой версии формы.

При нажатии на кнопку «Сохранить версию» пользователю должно быть показано предупреждение с текстом: «Вы действительно хотите сохранить изменения в качестве новой версии формы? Это приведет к тому, что структура файлов, созданных по этой форме до ее изменения, не будет изменена. Новая структура формы будет применена только ко вновь создаваемым файлам. Продолжить?» с вариантами «Да» и «Нет».

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

Обязательными условиями для сохранения являются (иначе исполняются альтернативные потоки событий 2-4):

  • отсутствие на форме компонентов с одинаковыми именами (идентификаторами);

  • наличие названия формы на всех трех языках;

  • наличие хотя бы одного компонента в форме.

    Замечание

    Валидация данных на вышеописанные условия должна происходить только по нажатию на кнопку «Сохранить» / «Сохранить версию».

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

Альтернативные потоки событий.

Альтернативный поток 1. Элемент добавляется в ячейку, уже содержащую элемент.

Система предоставит диалоговое окно с предложением заменить элемент: «ОК» для замены, «Отмена» - для отмены действия.

Альтернативный поток 2. На форме присутствуют компоненты с одинаковыми идентификаторами.

Система информирует «В форме имеются компоненты с одинаковым идентификатором название_идентификатора». Такие компоненты подсвечиваются красным цветом, действие не выполняется и окно не закрывается.

Альтернативный поток 3. Не указано название формы на любом из языков.

Система информирует «Не указано наименование формы». Окно не закрывается.

Альтернативный поток 4. Форма не содержит ни одного компонента.

Система информирует «Пустая форма». Окно не закрывается.

Альтернативный поток 5. Пользователь отменяет создание / редактирование формы, нажав на кнопку «Назад».

Откроется диалоговое окно подтверждения действия. «Отмена» - вернуться к редактору форм, «ОК» - изменения не принимаются, окно закрывается, открывается список форм.

Реестры

Конфигуратор должен предоставлять возможность создания, редактирования, удаления реестров.

Примечание.

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

Редактор реестра

Окно раздела «Реестры» разделено на 3 (три) части:

  • по центру - список реестров с полями названия и состоянием активности реестра;

  • вверху - кнопка добавления и текстовый поиск;

  • внизу - переключатель между страницами списка.

Рисунок 2.229. Реестры

Реестры

Добавление / редактирование реестра.

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

  • подраздел общей информации о реестре;

  • подраздел информации о реестре ответа;

  • подраздел «Поля формы реестра»;

  • подраздел «Сортировка при отображении»;

  • подраздел «Права на реестр»;

  • подраздел «Сопоставление»;

  • подраздел «Управление записями реестров».

Рисунок 2.230. Создание реестра

Создание реестра

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

Рисунок 2.231. Редактирование реестра

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

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

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

Рисунок 2.232. Иконки реестра

Иконки реестра

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

Рисунок 2.233. Добавление формы к карточке

Добавление формы к карточке

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

После выбора формы в таблице «Поля формы реестра» отобразятся поля согласно выбранной форме.

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

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

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

Флажок «Закрыть окно документа после отправки на активацию».

Выпадающий список «Реестр ответа». Методолог выбирает форму, определяющую реестр ответа. Настройка является необязательной. Указывается, какой реестр будет использоваться для ответа на документ, созданный при помощи этого реестра. Реестр для ответа выбирается из общего списка реестров, допускается выбрать сам настраиваемый реестр.

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

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

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

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

- Корневая работа с формулировкой, указанной в настройке + значащее содержимое записи реестра (через - )
-- Этап маршрута активации 1
-- ...
-- Этап маршрута активации N

Замечание:

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

Ответственным по корневой работе является пользователь, который инициирует событие (запускает активацию, изменение либо удаление).

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

При завершении корневой работы каждый вложенный в неё этап завершается и запись реестра приобретает статус «Неуспешно».

Замечание:

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

Данное поведение не является ошибкой ARTA Synergy.

При удалении корневой работы каждый вложенный в неё этап удаляется, и запись реестра приобретает статус «Неуспешно».

Замечание:

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

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

При завершении либо удалении корневой работы дополнительный дочерний этап соответственно завершается либо удаляется.

Таким образом, при включении данного флажка на получение записью реестра статуса «Успешно», «Неуспешно» либо «Удалено» влияет два фактора:

  • Результат завершения маршрута по событию (маршрута активации, изменения либо удаления)

  • Результат завершения корневой работы по записи реестра.

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

  • Кнопка с подписью из настройки «Название действия по документу реестра», запускающая маршрут по событию. Корневая работа при этом не пересоздаётся. Кнопка является приоритетной («зеленой»).

  • Резолюция - накладывает резолюцию на корневую работу (при наличии прав на наложении резолюции);

  • Завершить - завершает корневую работу;

  • Отправить - кнопка-меню с действиями по корневой работе.

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

Таблица «Поля формы реестра» полями:

  • «№ п/п» - вводится вручную (необязательное поле для заполнения, может быть только целым положительным числом, иначе исполняется альтернативный поток событий 3); введенный здесь номер будет определять порядковый номер столбцов в списке реестра в разделе «Реестры» модуля «Хранилище»;

    Примечание

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

    • сначала столбцы с номерами, отсортированные по этим номерам, в порядке возрастания;

    • потом столбцы без номеров, но с названиями, отсортированные по названию, в порядке возрастания;

    • потом столбцы без номеров и без названий, отсортированные по идентификатору компонента, в порядке возрастания.

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

  • «Идентификатор колонки» - идентификаторы компонентов формы реестра, сюда не попадают следующие компоненты:

    • обычная таблица (при этом компоненты внутри обычной таблицы сюда попадают)

    • страница

    • неизменяемый текст

    • изображение

    • файл

    • лист подписей

    • лист резолюций

    • ход выполнения

    Соответственно, сюда попадают:

    • динамическая таблица (содержимое в колонке будет формироваться сверткой, компоненты внутри динамической таблицы сюда не попадают)

    • однострочное поле (текст либо маска ввода)

    • числовое поле (отформатированное число)

    • многострочный текст

    • HTD-редактор (текст без форматирования)

    • выпадающий список

    • дата/время (по формату)

    • выбор вариантов (значения через запятую)

    • переключатель вариантов

    • ссылка (надпись ссылки)

    • объекты Synergy (пользователи, должности, подразделения)

    • номер

    • ссылка на документ (по форматной строке)

    • период повторения

    • ссылка на проект/портфель

    • ссылка на реестр

    • ссылка на адресную книгу

    • свойства документа (согласно типа данных)

    • ссылка на файл (название файла, не путь)

  • «Название поля» - вводится вручную (для включенного переключателя - обязательное поле); введенное здесь название будет заголовком в списке реестра в разделе «Реестры» модуля «Хранилище»; поле мультиязычное, соответствует данным требованиям;

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

  • «Примечание» - текстовая пометка Сортировка отсутствует для компонентов формы «Динамическая таблица», «Выбор вариантов», «Ссылка на документ», «Свойства документа» и «Ссылка на файл в хранилище».

Методолог включает флажок слева от того поля, которое будет отображено в разделе «Реестры» модуля «Хранилище» и вводит напротив него название поля.

Группа настроек «Сортировка при отображении» содержит:

  • выпадающий список «Сортировать по» с возможными вариантами для выбора:

    • «Дате создания» - дате создания записи реестра (выбрано по умолчанию).

    • «Полю реестра» - в выпадающем списке (добавляется справа) выбирается поле реестра, по которому будет произведена сортировка.

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

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

    • «По возрастанию»

    • «По убыванию» (выбрано по умолчанию)

Указанные настройки используются при отображении таблицы реестра («Хранилище» - «Реестры», Реестры).

Кнопка «Добавить событие» с пунктами меню «Активация элемента» / «Изменение элемента» / «Удаление элемента», а также таблицы «Активация» / «Изменение» / «Удаление».

Замечание

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

При наличии всех трех таблиц кнопка «Добавить событие» отсутствует вовсе.

Каждая таблица для каждого созданного события содержит данные из маршрута, с полями:

  • название этапа;

  • ответственный;

  • тип работы.

Чтобы удалить маршрут, методолог нажимает на кнопку удаления, система предоставляет диалоговое окно подтверждения удаления; методолог либо подтверждает удаление («ОК»), либо отменяет действие («Отмена»). После удаления соответствующий пункт меню кнопки «Добавить событие» становится доступным.

Вызов любой функции (создание / редактирование события) открывает окно редактирование маршрута (подробнее в Маршрут реестра).

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

  • «Все» - наличие всех либо частичных прав на реестр;

  • «Просмотр списка» - просмотр списка файлов по форме реестра;

  • «Просмотр данных» - просмотр конкретного файла по форме реестра;

  • «Создание» - создание файлов по форме реестра;

  • «Редактирование» - изменение файлов по форме реестра (для всех статусов, кроме «Активная»);

  • «Изменение» - изменение записи со статусом «Активная» (и запуск соответствующего маршрута);

  • «Удаление» - удаление файлов по форме реестра;

и групп пользователей в столбце «Группа» (использующихся для назначения прав доступа к хранилищу - Группы).

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

  • включен: у группы включены все права на реестр;

  • выключен: у группы выключены все права на реестр;

  • частично включен: у группы имеются частичные (не все) права на реестр.

Данные состояния сменяются следующим образом:

  • выключен → включен: автоматически включаются все флажки прав;

  • включен → выключен: автоматически выключаются все флажки прав;

  • включен → частично включен: если из всех включенных флажков прав выключают хотя бы один флажок;

  • частично включен → выключен: автоматически выключаются все флажки прав либо если поочередно выключают все включенные флажки прав;

  • выключен → частично включен: если из всех выключенных флажков прав включают хотя бы один флажок;

  • частично включен → включен: если из частично включенных флажков прав включают все остальные флажки.

Замечание

Право просмотра данных автоматически предусматривает право просмотра списка.

Права на создание / редактирование / изменение / удаление автоматически предусматривают права на просмотр списка и данных.

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

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

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

Поле исходного реестра Поле реестра приемника Способ сопоставления Параметр сопоставления

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

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

выбор одного из списка:

  • EQUAL (полное копирование)

  • POSTFIX ( с суффиксом)

  • PREFIX ( с префиксом)

текстовая строка, может быть пустой, используется в качестве префикса или суффикса

неактивно

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

HTD

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

Рисунок 2.234. Диалог ввода для настройки способа сопоставления «HTD»

Диалог ввода для настройки способа сопоставления «HTD»

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

При выборе способа сопоставления «HTD» в поле приемника будет подставлено значение, настроенное в отдельном диалоге редактирования HTD. Значение представляет собой HTML, в котором можно использовать подстановки вида ${form_field_id}, которые при срабатывании сопоставления будут заменены на соответствующие значения полей формы источника (реестра или карточки). Кроме этого, добавляется еще одна специальная подстановка ${document.attaches}, которая будет заменена на список следующего вида:

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

  • Файл_2 (аналогично)

  • Файл_3

Примечание.

Результирующее значение способа сопоставления «HTD» с применением форматирования будет отображаться в поле-приемнике:

  • «HTD-редактор» - без тегов, согласно настроенного форматирования;

  • для всех остальных компонентов (например, «Однострочное поле») - с тегами.

При этом, если в сопоставлении «HTD» очистить форматирование (с помощью соответствующей кнопки), то и во всех компонентах-приемниках будут отсутствовать какие-либо теги.

Данное поведение не является ошибкой Synergy.

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

  • статическая таблица

  • страница

  • неизменяемый текст

  • изображение

  • файл

  • лист подписей

  • лист резолюций

  • ход выполнения

  • ссылка на документ

  • свойства документа

  • ссылка на файл в хранилище

  • пользовательский компонент

  • а также компоненты, которые находятся внутри динамических таблиц

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

Среди полей, служащих приемниками сопоставления, также доступны идентификаторы компонентов из динамических таблиц (в формате dyntable-name.component-name). Для таких компонентов недоступен способ сопоставления «HTD». Сопоставление полей с приемником - компонентом динамической таблицы должно работать следующим образом:

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

  • в этой динамической таблице добавляется одна строка, значения компонентов которой получаются из значений полей-источников согласно типу сопоставления (EQUAL, PREFIX или POSTFIX);

  • описанное повторяется для всех полей приемников, расположенных в динамических таблицах;

  • если в одном блоке сопоставлений один и тот же приемник указан несколько раз, то при сопоставлении используется последнее по порядку строк блока значение поля источника;

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

Для сохранения всех введенных данных методолог нажимает на кнопку «Сохранить». При этом возможно исполнение альтернативных потоков событий 1-4. Для возврата в предыдущее окно методолог нажимает на кнопку «Назад», возможно исполнение альтернативного потока событий 5.

Сохранение файла по форме / активация маршрута.

При создании записи реестра существует разделение:

  1. понятия сохранения файла по форме реестра;

  2. непосредственное попадание файла по форме в реестр (и следующую за этим активацию соответствующего маршрута, если таковой имеется).

В первом случае используется кнопка «Сохранить» в редакторе файла по форме реестра и при этом:

  • валидируются данные файла по форме, и в случае успешной валидации -

    • в реестр добавляется соответствующая запись со статусом «подготовка».

Во втором случае используется поименованная кнопка действия по документу реестра , по нажатию которой

  • если в файле по форме имеются несохранённые изменения, то предлагать их сохранить, в случае отказа дальнейших действий не выполнять;

  • валидируются данные файла по форме, и в случае успешной валидации -

    • в реестр добавляется соответствующая запись со статусом «подготовка»;

  • запускается соответствующий маршрут.

Валидация данных, введенных в файл по форме, остается за настройками формы.

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

Использование в параметрах процесса компонент из двух и более различных динамических таблиц не допускается - в этом случае пользователю выводится ошибка «Использование в параметрах процесса компонент из двух и более различных динамических таблиц не допускается».

Статусы записей реестра.

Статусы записей реестра принимают следующий вид:

  • «Подготовка» - запись с этим статусом не является «полноценной» записью реестра, так как по ней ещё не запущено маршрута по созданию записи.

  • «В маршруте» - означает, что маршрут по данной записи реестра ещё находится на выполнении. В случае его успешного завершения статус записи меняется на «активная», в случае неуспешного завершения статус опять меняется на «подготовка» (новый документ при этом не создаётся).

  • «Активная» - «полноценная» запись реестра. Означает запись реестра, маршрут по которой завершён успешно. Если для реестра не назначено маршрутов, считается, что имеется «пустой маршрут», результат выполнения которого всегда успешен. Событие реестра «Изменение» (изменение файла по форме) действует только для записей реестра со статусом «активная».

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

Скрытие реестра.

Реестры удалять нельзя, их можно только скрыть. Для этого вызывается контекстное меню нескрытого реестра и выбирается пункт «Скрыть». Система предоставляет диалоговое окно подтверждения скрытия; методолог либо подтверждает («ОК»), либо отменяет действие («Отмена»).

В разделе «Реестры» модуля «Хранилище» скрытый реестр не отображается.

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

В разделе «Реестры» модуля «Хранилище» восстановленный реестр снова отображается.

Постраничный переход.

Требования к постраничному переходу см. в Общие требования к некоторым полям конфигуратора.

Текстовый поиск.

Требования к текстовому поиску см. в Общие требования к некоторым полям конфигуратора.

Альтернативные потоки событий.

Альтернативный поток 1. Не введено наименование реестра / название действия по документу реестра, либо введены одни пробелы.

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

Альтернативный поток 2. Сохраняется реестр с формой, которая уже применена в другом реестре.

Система информирует «Реестр с такой формой уже существует название_реестра», поле подсвечивается красным, окно не закрывается.

Альтернативный поток 3. Введено некорректное значение порядкового номера.

Система информирует «Введите корректный номер», поле подсвечивается красным, окно не закрывается.

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

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

Альтернативный поток 6. Методолог нажимает на кнопку «Назад», не сохранив внесенные изменения.

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

Управление записями реестра

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

Интерфейс экрана «Управление записями реестров»

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

  • Изменение самого реестра в Конфигураторе;

  • Изменение записей реестра;

  • Удаление записей реестра.

По нажатию на кнопку будет открываться отдельный экран. Он содержит следующие элементы:

  • Список массовых действий

  • Статусы записей реестра

  • Скорость обработки записей

  • Кнопки управления массовыми действиями

  • Лог последних выполненных действий

Рисунок 2.235. Подраздел «Управление записями реестра»

Подраздел «Управление записями реестра»

Если реестр не содержит ни одной записи, то по нажатию на кнопку «Управление записями реестра» отобразится ошибка с текстом:

Реестр не содержит записей

Переход на экран управления записями не происходит.

Список массовых действий представлен в виде группы переключателей:

  • Активация (выбран по умолчанию)

  • Возврат к статусу «Подготовка»

  • Прерывание маршрутов

  • Запуск маршрута изменения

  • Удаление

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

Для выполнения данного массового действия реестр должен иметь маршрут события "Изменение элемента"

Статусы записей реестра отображаются в виде группы флагов:

  • Подготовка

  • В процессе

  • Активная

  • Неуспешная

Состояние флагов определяется выбранным массовым действием. Их значения по умолчанию представлены в следующих таблицах:

Действие «Активация»

Статус записи реестра Активен Выбран

Подготовка

Да

Да

В процессе

Нет

Нет

Активная

Нет

Нет

Неуспешная

Да

Да

Действие «Возврат к статусу»Подготовка«»

Статус записи реестра Активен Выбран

Подготовка

Нет

Нет

В процессе

Нет

Нет

Активная

Да

Да

Неуспешная

Да

Да

Действие «Прерывание маршрутов»

Статус записи реестра Активен Выбран

Подготовка

Нет

Нет

В процессе

Да

Да

Активная

Нет

Нет

Неуспешная

Нет

Нет

Действие «Запуск маршрута изменения»

Статус записи реестра Активен Выбран

Подготовка

Нет

Нет

В процессе

Нет

Нет

Активная

Да

Да

Неуспешная

Нет

Нет

Действие «Удаление»

Статус записи реестра Активен Выбран

Подготовка

Да

Да

В процессе

Нет

Нет

Активная

Да

Да

Неуспешная

Да

Да

Группа переключателей Скорость обработки записей содержит пункты:

  • Медленная (выбран по умолчанию)

  • Быстрая

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

При выборе данного типа обработки возможно сильное замедление работы системы

Кнопками управления массовыми действиями являются кнопки «Запустить» и «Прервать». Их доступность определяется следующим образом:

Условие Кнопка «Запустить» Кнопка «Прервать»

Массовое действие завершено либо не было запущено

Активна

Неактивна

Массовое действие в процессе обработки

Неактивна

Активна

Ни один флаг статуса записи реестра не был выбран

Неактивна

Неактивна

Лог последних выполненных действий отображает прогресс выполнения массового действия. Сообщения представлены в формате:

YYYY-MM-DD hh:mm %Текст_сообщения%

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

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

Если количество записей лога такое, что не отображается полностью, в его области отображается вертикальный скролл. Горизонтальный скролл в этой области никогда не отображается.

Запуск массовых действий по записям реестра

Общие требования для запуска

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

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

После подтверждения экран переходит в состояние «Действие запущено»:

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

  2. Все переключатели и флаги становятся неактивными.

  3. Кнопка «Запустить» становится неактивной, а «Прервать» - активной.

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

Если другой методолог переходит в «Управление записями реестра» такого реестра, действие в котором уже запущено, он увидит экран в вышеописанном состоянии.

Примечание

Возможно возникновение следующей ситуации:

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

Массовое действие уже запущено

Далее в лог будут добавляться записи согласно типу применяемого действия:

  • Для «Активации»:

    Активировано %X% из %Y% записей

  • Для «Возврата к статусу»Подготовка«»:

    К статусу "Подготовка" возвращено %X% из %Y% записей

  • Для «Прерывания маршрутов»:

    Маршрут прерван для %X% из %Y% записей

  • Для «Запуска маршрута изменения»:

    Изменение элемента выполнено для %X% из %Y% записей

  • Для «Удаления»:

    Удаление элемента выполнено для %X% из %Y% записей

  • Если при обработке записи возникла системная ошибка (exeption), в лог будет добавлена соответствующая запись. Процесс обработки при этом продолжится. Текст сообщения в логе:

    Системная ошибка при обработке записи. Идентификатор документа: %uuid_документа%, значащее содержимое: %значащее_содержимое%

Где %X% - количество обработанных записей (включая успешные и неуспешные), %Y% - суммарное количество записей выбранных статусов, %значащее_содержимое% - перечисление значений колонок реестра, у которых включен флаг «Значащее содержимое».

По окончании массового действия в лог также будет добавлено сообщение:

  • Если все записи обработаны успешно:

    Массовое действие "%тип_действия%" завершено. Обработано %Y% записей

  • Если при обработке каких-либо записей произошли ошибки:

    Массовое действие "%тип_действия%" завершено. Обработано %Y% записей, из них успешно: %X%, с ошибкой: %Z%

Где %Z% - количество записей, обработанных с ошибкой.

Особенности применения массового действия «Возврат к статусу»Подготовка«»

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

№ п/п Пользователь Дата IP адрес Описание Комментарий

номер- записи

методолог- запустивший- действие

дата-время- запуска- массового- действия

ip-адрес-с- которого- произведено- действие

С записи реестра снят статус название- предыдущего-статуса

Особенности применения массовых действий «Активация», «Запуск маршрута изменения» и «Удаление записей»

  1. Если у реестра отсутствует маршрут события «Активация элемента», «Запуск маршрута изменения» и/или «Удаление элемента», то при запуске соответствующего действия оно будет выполнено без запуска маршрута.

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

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

    обработка действия не начнется.

  3. Если включена настройка «Требовать подпись перед отправкой документа» (Конфигуратор -> Документооборот -> Настройки документооборота), реестр содержит какие-либо из маршрутов, то при запуске соответствующего действия в лог добавится сообщение:

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

    обработка действия не начнется.

  4. Если для типа документа реестра, чьи записи будут обрабатываться, включена настройка «Валидация РКК перед отправкой документа» (Конфигуратор -> Документооборот -> Типы документов), то для некоторых записей реестра маршрут запустить нельзя из-за того, что не заполнены необходимые поля в РКК. В таком случае обработка этой записи будет пропущена, а в лог добавится сообщение об ошибке:

    Ошибка при обработке записи: включена настройка "Валидация РКК перед отправкой документа", а в РКК документа этой записи не заполнены требуемые поля. Идентификатор документа: %uuid_документа%, значащее содержимое: %значащее_содержимое%

    обработка действия продолжается.

Рисунок 2.236. Прогресс массового действия «Запуск маршрута изменения»

Прогресс массового действия «Запуск маршрута изменения»

Отмена массового действия

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

Вы действительно хотите прервать массовое действие над записями реестра?

После подтверждения произойдет следующее:

  1. Обработка записей реестра прекращается.

  2. Переключатели и флаги принимают такое же состояние, как и до начала массового действия.

  3. Кнопка «Запустить» становится активной, а «Прервать» - неактивной.

  4. В лог последних выполненных действий добавляется сообщение о прерывании:

    Массовое действие "%тип_действия%" прервано. Обработано %X% из %Y% записей, Из них успешно: %Z%, с ошибкой: %W%

    Где

    %X% - количество обработанных записей (до отмены действия) %Y% - суммарное количество записей, выбранных для обработки %Z% - количество записей, обработанных успешно %W% - количество записей, обработанных с ошибкой

Маршрут реестра

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

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

Рисунок 2.237. Редактирование маршрута

Редактирование маршрута

Интерфейс редактора маршрутов имеет две части:

  • основная рабочая область;

  • панель редактирования этапа.

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

Для дальнейшего описания функционала редактора маршрутов необходимо выделить следующие понятия:

  • Этап - главный независимый элемент маршрута.

  • Параллельный этап - совокупность равнозначных элементов этапа.

Интерфейс редактора маршрутов

Основная рабочая область

Основная рабочая область редактора маршрутов отображается в виде трех панелей:

  • «Предварительные этапы» - содержит только стандартные процессы:

    • Работа;

    • Согласование;

    • Утверждение;

    • Ознакомление;

    • Отправка документа;

    • Регистрация;

    • Маршрут.

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

  • «Последующие этапы» - также содержит только стандартные процессы.

Этапы групп «Предварительные этапы» и «Последующие этапы» могут не содержать ответственных.

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

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

Каждая плашка этапа содержит следующие элементы:

  • иконки перемещения в рамках текущего маршрута;

  • номер этапа;

  • тип действия;

  • ответственный;

  • длительность / дата завершения;

  • иконка удаления / иконка состояния;

  • название этапа;

  • форма завершения.

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

Иконка состояния этапа зависит от текущего состояния этапа:

  • редактирование доступно:

    • будущий этап - крестик (кнопка);

  • редактирование недоступно:

    • пройденный этап - галочка;

    • этап, завершившийся неуспешно - перечеркнутый круг;

    • этап, находящийся в прогрессе - песочные часы.

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

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

Панель редактирования

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

Панель содержит следующие элементы:

  • кнопка «Добавить параллельный»;

  • поле «Номер»;

  • выпадающий список «Тип действия»;

  • набор настраиваемых полей процесса;

  • кнопка «Применить»;

  • кнопка «Отмена»;

  • кнопка сворачивания / разворачивания панели.

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

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

Действия над маршрутом

Добавление этапа маршрута

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

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

  • номер;

  • иконки перемещения в рамках текущего маршрута;

  • иконка удаления;

  • длительность - «0 ч».

Тип добавленного этапа по умолчанию определяется справочником send_items.

Добавление параллельного этапа осуществляется двумя способами:

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

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

Параллельные этапы одной вложенности имеют одинаковые номера этапов.

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

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

  • при завершении (успешном либо неуспешном) любого входящего в этап параллельных подэтапов остальные подэтапы удаляются;

  • если завершенный подэтап завершился успешно, маршрут переходит к следующему этапу, в противном случае - останавливается;

  • удаление параллельного подэтапа не тождественно его завершению и не влечет за собой удаление параллельных ему подэтапов.

Если опция включена для одиночного (не содержащего параллельные) этапа, то она не оказывает никакого влияния.

Параметры, обязательные для заполнения (в зависимости от наличия):

  • «Название»;

  • «Ответственный»;

  • «Длительность» / «Дата завершения»;

  • «Нагрузка».

Значения параметров по умолчанию:

  • «Дата завершения» - дата, рассчитанная от текущего времени на сервере согласно значению соответствующей настройки «Время на выполнение работ по-умолчанию» в Конфигураторе (Документооборот -> Настройки Потоков Работ -> Доп. настройки потоков работ);

  • «Длительность» - значение настройки «Время на выполнение работ по-умолчанию» в Конфигураторе (Документооборот -> Настройки Потоков Работ -> Доп. настройки потоков работ);

  • «Нагрузка» - значение настройки «% рабочего времени» в Конфигураторе (Документооборот -> Настройки Потоков Работ -> Настройки нагрузок);

  • «Возврат» - «Нет»;

  • «Форма завершения» - «Нет».

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

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

Данное действие приведет к удалению несохраненных данных. Вы действительно хотите продолжить?

Данное поведение также воспроизводится при изменении фокуса в редакторе:

  • выделение другой плашки этапа;

  • добавление нового этапа;

  • нажатие на кнопку «Назад»;

  • выбор иного модуля / раздела (для виджетов, вписанных в экран);

  • сворачивание / закрытие вкладки (для виджетов, вписанных во вкладку);

  • закрытие окна (для виджетов, вписанных в окно).

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

Изменение порядка следования этапов

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

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

  • одиночный этап:

    • стрелка вверх на плашке первого этапа - неактивна;

    • стрелка вниз на плашке последнего этапа - неактивна;

    • при наличии лишь одной плашки обе стрелки неактивны.

  • группа параллельных этапов:

    • стрелка вверх активна только на первой плашке группы этапов;

    • стрелка вниз активна только на последней плашке группы этапов;

    • при наличии лишь одной группы параллельных этапов (без единичных этапов) обе стрелки неактивны.

Удаление этапов

Удаление этапа осуществляется нажатием на иконку удаления (крестик). В данном случае отобразится модальное диалоговое окно с текстом сообщения:

Вы действительно хотите удалить данный этап?

Типы действия этапов

Рассмотрим каждый тип действия этапа отдельно.

Блокирующий процесс

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

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

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

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

Замечание

Более подробную информацию о данном процессе см. в Руководстве по интеграции.

Рисунок 2.238. Блокирующий процесс

Блокирующий процесс

Отправка документа по форме

В качестве входных данных из файла по форме принимается параметр один или несколько id пользователей Synergy и/или адресатов электронной почты (в формате Произвольный Текст Например ФИО <email@domain.com>). Далее процесс отправляет адресатам документ реестра:

  • В случае, если адресат - пользователь Synergy, то для отправки используется действие, входными данными которого являются пользователь Synergy - адресат и отправляемый документ Synergy. Результатом этого действия является появление соответствующего документа у адресата в разделе «Полученные» модуля «Документы». Никаких ограничений по адресатам на эту операцию не накладывается.

  • В случае, если адресат - произвольный электронный адрес, то документ реестра преобразуется в электронное письмо по алгоритму из подраздела «Сопоставление полей с другими реестрами» и отправляется по электронной почте. При этом:

    • если у формы реестра печатное представление отсутствует, то основной файл по форме приходит на почту адресата в формате HTML в теле письма. Если в папках «Приложения» или «Прочие» записи реестра есть дополнительные файлы, то они добавляются во вложение письма;

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

    • если для печатного представления формы указаны несколько форматов печати, то адресат получит представление во всех настроенных форматах;

    Например

    Для формы реестра настроены форматы печати PDF, ODT, DOC. Во вложении письма будут присутствовать файлы: Document.pdf, Document.odt, Document.doc.

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

    Если в папках «Приложения» или «Прочие» записи реестра помимо основного файла по форме присутствует другие файлы по форме, то они вне зависимости от настроенного печатного представления приходят на почту адресата в виде файла вложения с форматом .asfdocx.

Рисунок 2.239. Отправка документа по форме

Отправка документа по форме

Назначение на должность

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

  • Пользователь (обяз.)

  • Новая должность пользователя (обяз.)

Рисунок 2.240. Назначение на должность

Назначение на должность

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

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

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

Перевод

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

  • Пользователь (обяз.)

  • Должность, с которой нужно перевести пользователя (обяз.)

  • Должность, на которую нужно перевести пользователя (обяз.)

Рисунок 2.241. Перевод

Перевод

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

Увольнение

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

  • Пользователь (обяз.)

  • Должность, с которой необходимо уволить пользователя (обяз.)

Рисунок 2.242. Увольнение

Увольнение

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

Если данным процессом затрагивается пользователь с должностью заместителя, то в результате выполнения действия (увольнения) эта должность перестанет отображаться во всех соответствующих местах системы:

Копирование в личное дело

Характеризуется выбором папки личного дела (кнопка «»), куда необходимо скопировать, и непосредственно настройками процесса:

  • Пользователь (обяз.)

Рисунок 2.243. Копирование в личное дело

Копирование в личное дело

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

Назначение календаря

Характеризуется выбором статуса из выпадающего списка, и непосредственно настройками процесса:

  • Пользователь (обяз.)

  • Дата начала периода (обяз.)

  • Дата завершения периода (обяз.)

Замечание

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

Рисунок 2.244. Назначение календаря

Назначение календаря

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

Событие реестра

Задача процесса - генерирование события. Возможны следующие варианты:

  • event.registers.formdata.add - добавление нового файла по форме, связанного с реестром;

  • event.registers.formdata.change - изменение какого-либо файла по форме, связанного с реестром;

  • event.registers.formdata.delete - удаление файла по форме, связанного с реестром.

Для всех событий типа event.registers.* передаваемые данные: идентификатор файла по форме, текстовая метка - параметр процесса и таймстамп времени генерации события.

Рисунок 2.245. Событие реестра

Событие реестра

Результат запроса

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

SQL-запрос может содержать подстановки вида ${formcomponentid}, которые должны быть заменены на значения компонентов формы реестра с соответствующими идентификаторами.

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

SQL-запрос должен возвращать одну запись вида:

Alias Тип Возможное значение
retval Целочисленный 1 - процесс завершается успешно; 0 - процесс завершается неудачно. Остальные целочисленные значения зарезервированы для будущих применений
сomment Строковый Может быть NULL. Если не NULL, это значение добавляется как комментарий процесса в «Ход выполнения» соответствующего документа

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

Рисунок 2.246. SQL запрос

SQL запрос

Работа по форме

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

  • Основные параметры;

  • Дополнительные параметры;

  • Дополнительные поля.

Основные параметры

Список основных параметров:

  • Номер этапа (лейбл)

  • Тип действия (не имеет пустого значения)

  • Название (обяз.)

  • Тип работы (не имеет пустого значения)

  • Возврат (не имеет пустого значения)

  • Ответственный (обяз.)

  • Дата начала (обяз. для выбранных переключателей «Из компонента» и «Указать»)

  • Длительность / Дата завершения (обяз.)

  • Код

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

Параметр «Название» состоит из двух компонентов - переключателя и поля. Переключатель имеет значения:

  • «Из компонента» - при выборе данного пункта название работы по форме будет заполняться из указанного поля компонента формы;

  • «Указать» - назание работы указывается как обычно, в многострочном поле ввода.

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

  • Работа (по умолчанию)

  • Согласование

  • Ознакомление

  • Утверждение

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

Примечание.

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

Поле «Ответственный» представляет собой текстовое поле ввода id компонента формы «Объекты Synergy» - «Пользователи».

Поле «Дата начала» и переключатель из трех значений:

  • «Из компонента» - текстовое поле ввода id компонента формы «Дата/время»;

  • «Указать» - компонент для ввода даты вручную (календарь), пользователю сразу недоступны для ввода все символы клавиатуры, кроме цифр и точки (возможно исполнение альтернативного потока событий 2);

  • «Взять из даты запуска работы» (по умолчанию).

Поле «Длительность / Дата завершения» и переключатель из двух значений:

  • «Из компонента» - текстовое поле ввода id любого текстового компонента формы, содержащего значение длительности;

  • «Длительность (ч)» - числовое поле, введенное значение учитывается в часах (по умолчанию);

  • «Длительность (дн)» - числовое поле, введенное значение учитывается в днях;

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

Рисунок 2.247. Работа по форме (Основные параметры, часть 1)

Работа по форме (Основные параметры, часть 1)

Рисунок 2.248. Работа по форме (Основные параметры, часть 2)

Работа по форме (Основные параметры, часть 2)

Дополнительные параметры

Список основных параметров:

  • Повторение (обяз. для включенного флажка и выбранного переключателя «Из компонента»)

  • Форма завершения (обяз. для включенного флажка и выбранного переключателя «Из компонента»)

Флажок «Повторение» (по умолчанию выключен) и переключатель из двух значений, которые доступны только для включенного флажка:

  • «Из компонента» - текстовое поле ввода id компонента формы «Период повторения» (по умолчанию);

  • «Указать» - компонент «Повторить», аналогичный таковому в модуле потоков работ при создании работы (Создание работы, поле «Повторять»).

Флажок «Форма завершения» (по умолчанию выключен) и переключатель из двух значений, которые доступны только для включенного флажка:

  • «Из компонента» - текстовое поле ввода id компонента формы «Выпадающий список», значения элементов которого являются выбранными значениями из справочника work_completion (по умолчанию);

  • «Указать» - компонент «Форма завершения», аналогичный таковому в модуле потоков работ при создании работы (Создание работы, поле «Форма завершения»).

Рисунок 2.249. Работа по форме (Дополнительные параметры)

Работа по форме (Дополнительные параметры)

Дополнительные поля

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

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

По нажатию на иконку корзины отобразится сообщение-предупреждение:

Вы действительно хотите удалить ключ %название_ключа%?

Рисунок 2.250. Работа по форме (Дополнительные поля)

Работа по форме (Дополнительные поля)

По нажатию на кнопку «Применить» возможно исполнение альтернативных потоков событий 1-4.

Ввод значения показателя

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

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

  • в случае успешного ввода значения в показатель:

    В показатель %код_показателя% введено значение %введенное_значение%

  • в случае ошибки, связанной с получением некорректного кода показателя для ввода:

    Получен некорректный код показателя %код_показателя% - %причина_ошибки%

  • в случае ошибки, связанной с получением некорректного значения для ввода:

    Получено некорректное значение значение для ввода в показатель %код_показателя% - %причина ошибки%

  • в случае возникновения других ошибок при попытке ввода показателя:

    Ошибка ввода показателя %код_показателя%, значение для ввода - %значение%

Рисунок 2.251. Ввод значений показателя

Ввод значений показателя

Таймер

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

  • Шаблон маршрута (обяз.)

  • Дата запуска (обяз.)

  • Время запуска (обяз.)

  • Не дублировать и не запускать просроченные таймеры

Рисунок 2.252. Таймер

Таймер

Поле «Шаблон маршрута». Выбор происходит по нажатию на кнопку «». При этом открывается диалоговое окно со списком всех активных шаблонов маршрутов.

Рисунок 2.253. Окно выбора шаблонов маршрута

Окно выбора шаблонов маршрута

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

Поле «Время запуска» и переключатель из двух значений:

  • «Из компонента» - текстовое поле ввода id компонента формы «Дата/время»;

  • «Указать» - поле для ввода длительности вручную (по умолчанию, значение 00:00), пользователю сразу недоступны для ввода все символы клавиатуры, кроме цифр (возможно исполнение альтернативного потока событий 2).

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

  • на каждую новую строку в динамическую таблицу, из которой берутся значения даты/времени для таймера, запускается один новый таймер;

  • на каждое изменение строки в динамической таблице, из которой ранее был запущен таймер (но не маршрут по таймеру), аннулируется соответствующий таймер с автокомментарием:

    Автоматически удалено в связи с запуском нового таймера

    и запускается новый;

  • на каждое изменение строки в динамической таблице, из которой ранее был запущен таймер и маршрут по таймеру, запускается новый таймер (предыдущий таймер и маршрут по нему не аннулируется);

  • на каждое удаление строки в динамической таблице, из которой ранее был запущен таймер (но не маршрут по таймеру), аннулируется соответствующий таймер с автокомментарием:

    Автоматически удалено

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

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

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

Отсутствуют таймеры для запуска

По нажатию на кнопку «Применить» возможно исполнение альтернативных потоков событий 1, 2.

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

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

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

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

  • для аннулированного таймера:

    Таймер "%название_таймера%" на "%исходная_дата_запуска_маршрута_по_таймеру%" был аннулирован пользователем %Фамилия И.О.%

  • при успешном запуске маршрута по таймеру:

    Запущен маршрут "%название_шаблона_маршрута%" по таймеру "%название_таймера%" на "%исходная_дата_запуска_маршрута_по_таймеру%"

  • при неуспешном запуске маршрута по таймеру (без изменений):

    Ошибка запуска маршрута "%название_шаблона_маршрута%" по таймеру "%название_таймера%": %причина_ошибки%

Запуск маршрута по шаблону

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

  • Шаблон маршрута (обяз.)

  • Запускать от имени (обяз. для выбранных переключателей «Из компонента» и «Указать»)

Рисунок 2.254. Настройки запуска маршрута по шаблону

Настройки запуска маршрута по шаблону

Поле «Шаблон маршрута». Выбор происходит по нажатию на кнопку «». При этом открывается диалоговое окно со списком всех активных шаблонов маршрутов.

Рисунок 2.255. Окно выбора шаблонов маршрута

Окно выбора шаблонов маршрута

Поле «Запускать от имени» и переключатель из трех значений:

  • «Не изменять» - запустить маршрут по шаблону от имени того же пользователя, который запустил родительский процесс (по умолчанию);

  • «Из компонента» - текстовое поле ввода id компонента формы «Объекты Synergy» - «Пользователи»;

  • «Указать» - выбрать пользователя вручную (стандартный компонент выбор пользователя без множественного выбора и выбора из групп).

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

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

Условный переход

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

  • Основные параметры;

  • Переходы.

Основные параметры

Список основных параметров:

  • Номер этапа (лейбл)

  • Тип действия (не имеет пустого значения)

  • Название (обяз.)

  • Возврат (не имеет пустого значения)

  • Ответственный (обяз.)

  • Код

  • Источник данных (не имеет пустого значения)

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

Рисунок 2.256. Условный переход (Основные параметры)

Условный переход (Основные параметры)

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

  • Форма реестра (по умолчанию) - данные получаются из файла по форме реестра.

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

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

Переходы

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

Вкладка «Переходы» содержит следующие элементы:

  • кнопка «Редактировать»

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

По нажатию на кнопку «Редактировать» откроется диалоговое окно «Редактирование переходов».

Рисунок 2.257. Условный переход (Переходы)

Условный переход (Переходы)

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

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

  • «=», «<», «>», «<=», «>=», «<>» - для численных значений;

  • «совпадает», «не совпадает», «начинается с», «не начинается с», «заканчивается на», «не заканчивается на», «содержит», «не содержит» - для строковых значений.

Примечание

Для множественного сравнения вместо оператора «=» необходимо использовать оператор «совпадает».

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

  • «Запустить маршрут по шаблону» с обязательным выбором шаблона маршрута (кнопка «») и указанием следующих параметров:

    • Поле «Запускать от имени» и переключатель из трех значений:

      • «Не изменять» - запустить маршрут по шаблону от имени того же пользователя, который запустил родительский процесс (по умолчанию);

      • «Из компонента» - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи»;

      • «Указать» - выбрать пользователя вручную (стандартный компонент выбор пользователя без множественного выбора и выбора из групп).

    • Поле «После выполнения» и переключатель из двух значений:

      • «Продолжить маршрут» - выполняется следующий за процессом «Условный переход» этап маршрута (по умолчанию);

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

  • «Перейти к этапу» с указанием номера этапа основного маршрута, к которому нужно перейти.

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

По нажатию на кнопку «Сохранить» возможно исполнение альтернативного потока событий 1.

Копирование в карточку

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

  • Тип карточки (не имеет пустого значения)

  • Идентификатор объекта (обяз.)

  • Сопоставление (не обяз.)

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

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

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

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

Внимание! Все созданные сопоставления буду удалены!

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

Замечание

Процесс является неальтернативным (не может прерывать маршрут) и в ходе выполнения не отображается.

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

Для выбранного пользователя не задана карточка

Рисунок 2.258. Копирование в карточку

Копирование в карточку

Переназначение работ

Характеризуется настройками процесса, представленными двумя вкладками:

  • Основные параметры;

  • Дополнительные параметры.

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

  • Номер

  • Тип действия

  • Название

  • Код

  • Прервать выполнение параллельных этапов после завершения одного из них

Дополнительные параметры

Список параметров:

  • Исходный пользователь (обяз.)

  • Переназначить работы, в которых исходный пользователь является (обяз. для выбранных переключателей «На пользователя»)

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

Рисунок 2.259. Переназначение работ

Переназначение работ

Поле «Исходный пользователь» - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (в т.ч. находящегося в динамической таблице).

Поле «Переназначить работы, в которых исходный пользователь является исполнителем» и переключатель из значений:

  • «На пользователя» (включен по умолчанию) - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (пользователя, принимающего работы)

  • «Оставить эти работы без изменений»

  • «На руководителя»

  • «На автора»

Поле «Переназначить работы, в которых исходный пользователь является автором» и переключатель из значений:

  • «На пользователя» (включен по умолчанию) - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (пользователя, принимающего работы)

  • «Оставить эти работы без изменений»

  • «На исполнителя»

  • «На руководителя»

  • «Удалить эти работы»

  • «Завершить эти работы»

Поле «Переназначить работы, в которых исходный пользователь является автором и исполнителем» и переключатель из значений:

  • «На пользователя» (включен по умолчанию) - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (пользователя, принимающего работы)

  • «Оставить эти работы без изменений»

  • «На руководителя»

  • «Удалить эти работы»

  • «Завершить эти работы»

Примечание

«Переназначить работу» с пользователя 1 на пользователя 2 означает:

  • Если пользователь 1 был исполнителем работы, то этой работе необходимо сменить исполнителя на пользователя 2.

    Замечание: механизм смены исполнителя при этом аналогичен таковому в функциональности «Передача работ».

  • Если пользователь 1 был автором работы, то этой работе необходимо сменить автора на пользователя 2.

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

«Удалить эти работы» означает, что все работы исходного пользователя удалятся.

«Завершить эти работы» означает, что все работы исходного пользователя завершатся.

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

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

  • в случае, если у исходного пользователя на момент запуска данного процесса присутствуют работы-согласования / утверждения / ознакомления, в которых он является автором, то при переназначении работ «Завершить эти работы» необходимо завершать процесс неуспешно (ни одна работа не должна завершиться) с комментарием в ходе выполнения:

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

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

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

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

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

  • во всех остальных неуспешных случаях - необходимо завершать процесс неуспешно с комментарием в ходе выполнения:

    Ошибка исполнения

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

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

Сопоставление в реестр

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

  • Идентификатор компонента «Ссылка на реестр» (обяз.)

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

  • «Поле исходного реестра» - выбирается идентификатор компонента, из которого будет браться значение при сопоставлении;

  • «Поле реестра-приемника» - выбирается идентификатор компонента, в который процессом будет записываться сопоставляемое значение согласно «Способу сопоставления»;

  • «Способ сопоставления» - выбирается один из необходимых вариантов;

  • «Параметр сопоставления» - вводится параметр, либо настраивается в диалоге для типа согласования HTD.

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

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

В случае успешного выполнения процесса:

  • В «Ходе выполнения» документа исходного реестра отобразится успешно пройденный этап «Сопоставлено» со стандартно заполненными полями.

  • В карточке документа реестра-приемника, для которого было произведено сопоставление, в разделе «Изменения в документе» добавится пункт об изменении документа:

    № п/п Пользователь Дата IP адрес Описание Комментарий

    номер- записи

    пользователь- запустивший- маршрут

    дата-время- запуска-

    ip-адрес-с- которого- запущен- маршрут

    пользователь-запустивший- маршрут изменил в папке «название-папки» файл «название-файла»

    Произведено сопоставление полей

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

Если реестр, выбранный в компоненте «Ссылка на реестр» формы исходного реестра, не совпадает с тем, для которого настроено сопоставление этого исходного реестра, то данный процесс также завершится неуспешно. При этом отобразится ошибка с текстом:

Ошибка в конфигурации. Обратитесь к методологу

По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1, 5.

Рисунок 2.260. Сопоставление в реестр

Сопоставление в реестр

Альтернативные потоки событий

Для сохранения введенных данных этапа методолог нажимает «Применить», а для сохранения всего маршрута реестра - «Сохранить». При этом возможно исполнение альтернативных потоков событий 6, 7. Для возврата в предыдущее окно методолог нажимает на кнопку «Назад», возможно исполнение альтернативного потока событий 8.

Альтернативные потоки событий.

Альтернативный поток 1. Не заполнены обязательные поля.

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

Альтернативный поток 2. Неправильный формат даты (несуществующая дата) и/или времени (отрицательное время / несуществующее время / символы вместо цифр).

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

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

Ячейки подсвечиваются красным, система отображает сообщение с текстом:

Таблица содержит пустые значения

Альтернативный поток 4. Таблица дополнительных полей работы по форме содержит 2 одинаковых ключа.

Ячейки с совпадающими ключами подсвечиваются красным, система отображает сообщение с текстом:

Нельзя использовать одинаковые названия ключей

Альтернативный поток 5. Указанный идентификатор не является идентификатором компонента «Ссылка на реестр» формы исходного реестра.

Поле подсвечивается красным, система отображает сообщение с текстом:

Введен некорректный идентификатор компонента

Альтернативный поток 6. В маршрутах не введены обязательные поля (название этапа / ответственный).

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

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

Изменения не сохраняются, система отображает ошибку с текстом:

Включите отображение этапов с пустыми ответственными либо укажите их

Альтернативный поток 8. Методолог нажимает на кнопку «Назад», не сохранив внесенные изменения.

Система отобразит модальное диалоговое окно с текстом сообщения:

Данное действие приведет к удалению несохраненных данных. Вы действительно хотите продолжить?

Альтернативный поток 8. Методолог нажимает на кнопку «Применить» в окне редактирования маршрута:

  • с указанным идентификатором, которого не существует в форме исходного реестра;

  • с указанным идентификатором, который не является идентификатором компонента «Ссылка на реестр»;

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

Группы реестров

Группы реестров используются для группирования реестров, которые есть в системе. Могут содержать внутри себя группы и реестры. Один реестр может находится в нескольких группах.

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

Рисунок 2.261. Группы реестров

Группы реестров

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

Основная рабочая область состоит из следующих элементов:

  • поле ввода «Название группы реестров» - содержит название выделенной группы (обяз.). Отсутствует для корневого элемента;

  • поле ввода «Код» - представляет собой однострочное текстовое поле ввода, обязательное для заполнения (см. Требования к полю ввода код). Отсутствует для корневого элемента;

  • кнопка «Добавить», по нажатию на которую открывается подменю с вариантами:

    • Группа;

    • Реестр;

  • таблица «Группы реестров и реестры», которая содержит группы и реестры, входящие в выделенную группу. Таблица состоит из следующих столбцов:

    • «Название» - содержит название группы или реестра. Название группы выделяется жирным шрифтом;

    • столбец без названия, который содержит иконки удаления для каждой группы и реестра;

    Примечание

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

  • кнопка «Сохранить».

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

Пункт «Реестр» кнопки «Добавить» неактивен для корневого узла «Все группы реестров». Для веток групп он активен, и при выборе данного пункта открывается окно с заголовком «Выбор реестров». Окно состоит из следующих элементов:

  • строка поиска, которая используется для поиска по названию реестра. После ввода необходимого текста и нажатия клавишы Enter либо иконки «Лупа» в таблице отображаются реестры, соответствующие введенному тексту. Отмеченные до поиска реестры остаются выбранными;

  • пагинатор, который используется для перехода по страницам. При наличии только одной страницы пагинатор неактивен для перехода, при этом в нем указывается 1/1. На одной странице помещается только 15 записей. Страница, которая содержит менее 15 строк, не дополняется значениями из предыдущей страницы.

    Например. Всего записей 25. Первая страница отображает записи 1-15, вторая (последняя) страница отображает записи 16-25 (а не 11-25).

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

  • таблица, в которой отображаются все реестры, настроенные в системе (в том числе и скрытые). Она состоит из столбцов:

    • столбец без названия, в котором находятся флажки для выбора реестра. Флажок имеет два состояния:

      • включен - обозначает, что данный реестр выбран;

      • выключен - обозначает, что данный реестр не выбран.

    • столбец «Реестр», который содержит название реестра;

    Примечание

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

  • кнопка «Выбрать», по нажатию на которую выбранные реестры добавляются в выделенную группу. После выбора реестров они добавляются в конец таблицы «Группы реестров и реестры» в основной рабочей области выделенной группы, и только после нажатия кнопки «Сохранить» сортируются по названию. Кнопка «Выбрать» неактивна, если не выбран ни один реестр.

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

Рисунок 2.262. Реестры

Реестры

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

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

Вы действительно хотите удалить группу %название группы% со всем ее содержимым?

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

По нажатию на иконку удаления реестра данный реестр удаляется из выделенной группы.

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

Все несохраненные изменения будут потеряны. Продолжить?

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

Примечание

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

Альтернативные потоки событий

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

Заполните обязательное поле

Альтернативный поток 2. Поле кода содержит неразрешенные символы либо начинается с цифры.

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

Код может содержать прописные и строчные буквы латинского алфавита, цифры и _, но не должен начинаться с цифры

Альтернативный поток 3. Поле кода не заполнено, сохраняются изменения.

Действие не выполняется, поле подсвечивается красным и отображается ошибка с текстом:

Введите код

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

Действие не выполняется, поле подсвечивается красным и отображается ошибка с текстом:

Данный код уже используется

Шаблоны маршрутов

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

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

Шаблон маршрута может быть запущен только с помощью процесса «Таймер».

Окно раздела «Шаблоны маршрутов» содержит следующие элементы:

  • таблица шаблонов с полями:

    • название;

    • код;

    • статус;

  • кнопка добавления;

  • текстовый поиск.

Рисунок 2.263. Шаблоны маршрутов

Шаблоны маршрутов

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

Добавление нового шаблона.

Методолог нажимает на кнопку «+»: система предоставляет окно создания шаблона маршрута (илл. «Создание шаблона маршрута»). Окно содержит элементы:

  • «Название» (обяз.)

  • «Код» (обяз.)

  • маршрут

Рисунок 2.264. Создание шаблона маршрута

Создание шаблона маршрута

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

Основная рабочая область содержит редактор маршрутов, представленный в одном из видов:

  • Маршрут (включено по умолчанию) - редактор маршрутов аналогичен описанному в разделе Реестры.

  • Бизнес-процесс - редактор маршрутов представлен элементами стандарта BPMN.

Примечание

Для редактора маршрутов в данном подразделе не доступны типы процессов «Таймер» и «Сопоставление записей реестра».

Графический редактор маршрутов

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

Элементы графического редактора

Новый интерфейс содержит специальные элементы, специфичные для BPMN-процессов:

  • событие «Начало»;

  • событие «Конец»;

  • событие «Остановка»;

  • «Задача»;

  • логический оператор «И»;

  • логический оператор «Исключающее ИЛИ»;

  • поток управления.

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

Если на элемент наведен курсор - контуры элемента подсвечиваются желтым цветом. Подсвечивание стрелки осуществимо в радиусе 5 px от нее. Стрелку невозможно выделить.

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

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

  • при изменении возврата для этапа в панели редактирования также будет изменен поток управления соответствующей задачи;

  • если порядок следования задач в основной рабочей области был изменен, то номера этапов в панели редактирования будут соответствующим образом скорректированы.

    Пример

    Имеется процесс со следующими задачами:

    (1 - Работа) -> (2 - Согласование)

    В поток управления между этими задачами была добавлена еще одна задача. Процесс выглдит следущим образом:

    (1 - Работа) -> (2 - Задача) -> (3 - Согласование)

    То есть при добавлении третьей задачи у задачи «Согласование» номер этапа изменился с 2 на 3.

Если элементы не отображаются в основной рабочей области полностью по горизонтали, в ней отображается горизонтальный скролл. И, наоборот, если элементы не отображаются в основной рабочей области полностью по вертикали - добавляется вертикальный скролл.

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

  • «Согласование»;

  • «Утверждение»;

  • «Регистрация»;

  • «Запуск маршрута по шаблону»;

  • «Ввод значения показателей»;

  • «Условный переход»;

  • «Перевод»;

  • «Назначение на должность»;

  • «Увольнение»;

  • «Таймер»;

  • «Копировать в личное дело»;

  • «Назначение календаря»;

  • «Результат запроса»;

  • «Работа по форме»;

  • «Переназначение работ»;

  • «Сопоставление записей реестра».

Событие «Начало»

Рисунок 2.265. Событие «Начало»

Событие «Начало»

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

Событие «Конец»

Рисунок 2.266. Событие «Конец»

Событие «Конец»

Представляет собой элемент успешного окончания бизнес-процесса.

Событие «Остановка»

Рисунок 2.267. Событие «Остановка»

Событие «Остановка»

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

Логический оператор «И»

Рисунок 2.268. Логический оператор «И»

Логический оператор «И»

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

  • все входящие потоки управления группы задач идут от первого элемента «И»;

  • все исходящие потоки управления группы задач идут к второму элементу «И».

В виду своей специфичности случай параллельности задач с условием рассмотрен отдельно.

Логический оператор «Исключающее ИЛИ»

Рисунок 2.269. Логический оператор «Исключающее ИЛИ»

Логический оператор «Исключающее ИЛИ»

Данный элемент добавляется автоматически и только для задач с условием. В случае отсутствия возврата для этих задач также автоматически добавляется элемент «Остановка».

Примечание

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

При смене типа действия на любой другой, но без условия элемент «Исключающее ИЛИ» удаляется автоматически.

Поток управления

Рисунок 2.270. Поток управления

Поток управления

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

  • положительный - определяет дальнейший ход маршрута;

  • отрицательный (окрашен красным цветом) - приводит маршрут к остановке либо возврату на предыдущий этап;

  • отсутствие перехода - возможен только для этапа «Условный переход» (подробнее).

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

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

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

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

При удалении задач лейблы их исходящих потоков будут удалены.

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

  • задачи с условием (кроме типа «Условный переход»):

    • отрицательный поток: -;

  • «Условный переход»:

    • отрицательный поток: -;

    • положительные потоки переходов представлены в формате:

      %ID% %Условие% %Значение%

    • положительные потоки для переходов по умолчанию: Переход по умолчанию

Примечание

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

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

Задача

Рисунок 2.271. Пользовательская задача

Пользовательская задача

Рисунок 2.272. Задача-сервис

Задача-сервис

Рисунок 2.273. Задача-подпроцесс

Задача-подпроцесс

Представляет собой элемент этапа. Элемент имеет три типа, которые отличаются иконкой:

  • пользовательская задача - для процессов:

    • «Работа»;

    • «Согласование»;

    • «Утверждение»;

    • «Ознакомление»;

    • «Резолюция»;

    • «Регистрация»;

  • задача-сервис - для процессов:

    • «Блокирующий процесс»;

    • «Отправка документа»;

    • «Отправка документа по форме»;

    • «Назначение на должность»;

    • «Перевод»;

    • «Увольнение»;

    • «Копировать в личное дело»;

    • «Назначение календаря»;

    • «Событие реестра»;

    • «Результат запроса»;

    • «Работа по форме»;

    • «Ввод значения показателей»;

    • «Таймер»;

    • «Условный переход»;

    • «Копирование в карточку»;

    • «Переназначение работ»;

    • «Сопоставление записей реестра»;

  • задача-подпроцесс - для процессов:

    • «Маршрут»;

    • «Запуск маршрута по шаблону»;

    • шаблоны маршрутов процесса «Условный переход».

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

%Номер_этапа%. %Название_процесса%

Исключением является подпроцесс шаблон маршрута задачи типа «Условный переход». Его лейбл не содержит номера и отображает по умолчанию:

Шаблон маршрута

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

При смене типа действия задачи значение лейбла зависит от его предыдущег