Глава 4. Управление заявками

Ревизия VCS: 8343

Дата сборки документа: 2018.01.09 11:35:18

Содержание

4.1. Формы
4.2. Справочники
4.3. Печатное представление
4.4. Группы
4.5. Реестры
4.6. Шаблоны маршрутов
4.7. Событие реестра
4.8. Реестр ответа
4.9. Добавление пункта в кнопку «Создать»

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

4.1. Формы

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

Формы, созданные в системе, расположены в разделе «Процессы» - «Формы»:

Рисунок 4.1. Раздел «Формы»

Раздел «Формы»

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

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

Примечания:

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

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

Чтобы добавить новую форму, нужно нажать на кнопку «+». Откроется окно конструктора форм.

Рисунок 4.2. Окно конструктора форм

Окно конструктора форм

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

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

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

Форма создаётся с помощью компонентов, которые функционально разделены на 5 групп:

  • структура

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

    • страница - добавляет новую страницу;

  • текстовые элементы - компоненты для хранения данных, чаще всего позволяют пользователям вводить их самим:

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

    • однострочное и многострочное поля;

    • числовое поле;

    • HTD-редактор;

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

    • выпадающий список;

    • дата/ время;

    • выбор вариантов;

    • переключатель вариантов;

  • файлы - компоненты для хранения

    • изображений;

    • файлов;

    • ссылок;

  • специальные элементы для хранения информации, содержащейся в самой платформе:

    • объекты Synergy - пользователь, должность, подразделение;

    • номер;

    • листы подписей и резолюций и т. д.

Рисунок 4.3. Элементы

Элементы

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

Рисунок 4.4. Инлайн-редактор

Инлайн-редактор

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

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

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

Более подробная информация о компонентах и их настройках приведена в соответствующей документации.

Раздел «Метаданные» хранит информацию о наименовании формы, версии, авторе и последнем изменившем форму пользователе.

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

Метаданные

Раздел «Параметры» позволяет задать фон для формы, а также настроить способ вычисления размеров столбцов основной таблицы форм:.

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

Параметры

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

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

Показатели

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

Рисунок 4.9. Представления

Представления

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

В качестве примера рассмотрим создание формы «Заявка»:

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

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

Рисунок 4.10. Основная таблица формы заявки

Основная таблица формы заявки

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

Рисунок 4.11. Структура шапки заявки

Структура шапки заявки

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

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

Рисунок 4.12. Компонент «Номер»

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

Присвоим этому компоненту идентификатор number и откроем окно его настроек:

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

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

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

Примечание:

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

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

Рисунок 4.14. Компонент «Объект Synergy»

Компонент «Объект Synergy»

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

Рисунок 4.15. Настройка компонента «Объект Synergy» для пользователя

Настройка компонента «Объект Synergy» для пользователя

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

В качестве идентификатора компонента укажем autor:

Рисунок 4.16. Идентификатор компонента «Объект Synergy»

Идентификатор компонента «Объект Synergy»

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

Рисунок 4.17. Настройка компонента «Объект Synergy» для должности

Настройка компонента «Объект Synergy» для должности

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

  • Включен флаг «Заблокировать от изменений пользователем»

  • Тип данных - «Должности»

  • Связь с компонентом - autor, то есть при выборе пользователя в поле autor его должность автоматически будет указана в текущем поле position

Последнее поле в шапке заявки - дата ее создания. Для этой информации используем компонент «Дата/время». Добавим его на форму и присвоим ему идентификатор creation_date:

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

Идентификатор компонента «Дата/ время»

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

Рисунок 4.19. Настройка компонента «Дата/ время»

Настройка компонента «Дата/ время»

Указанные настройки:

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

  • Включен флаг «Заполнять текущей датой/временем» - данные в компоненте будут заполнены в момент создания данных по форме

  • Включен флаг «Вводить время»

  • Формат даты: ${dd}.${mm}.${yyyy} ${HH}:${MM} - для просмотра подсказки о форматах даты и времени нужно нажать на знак вопроса справа от поля ввода. Указанный формат будет применен к значению поля в режиме просмотра (но не в режиме заполнения данных формы).

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

Рисунок 4.20. Добавленный компонент «Неизменяемый текст»

Добавленный компонент «Неизменяемый текст»

Кликнув по тексту «Нажмите, чтобы ввести текст», вводим текст подписей каждого поля:

Рисунок 4.21. Подписи полей

Подписи полей

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

Рисунок 4.22. Режим редактирования

Режим редактирования

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

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

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

Рисунок 4.23. Отступ под шапкой

Отступ под шапкой

Чтобы этот компонент служил в качестве отступа, введем пробел ` ` в качестве текста компонента и зададим для него высоту в 40 пикселей:

Рисунок 4.24. Задание высоты отступа

Задание высоты отступа

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

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

Рисунок 4.25. Компонент «Многострочный текст»

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

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

Рисунок 4.26. Подпись

Подпись

Для сохранения формы необходимо ввести ее код и название на трех языках. Для этого используется раздел «Метаданные».

Рисунок 4.27. Ввод названия и кода формы

Ввод названия и кода формы

После сохранения данных форма заявки готова.