Содержание
В качестве одного из примеров бизнес-приложений, которые могут быть реализованы с помощью платформы Synergy, рассмотрим автоматизацию процесса управления заявками, поступающими в организацию.
Форма - одно из основных средств хранения данных в Synergy. Формы могут быть использованы в качестве шаблона документа для организации документооборота и кадрового делопроизводства в компании, в качестве шаблона для сбора и хранения данных о структурных единицах компании (личной карточки пользователя, подразделения, должности), данных о внутренних объектах системы (карточка документа, регистрируемого в журнале, паспорт проекта), данных о произвольных учетных объектах (реестр заявок, реестр ТМЦ) и т.д.
Формы, созданные в системе, расположены в разделе «Процессы» - «Формы»:
Для каждой формы в списке указаны ее имя, описание и сведения о пользователе, изменившем ее последним.
Верхняя панель раздела содержит кнопки добавления, импорта и экспорта форм. Экспорт форм предназначен для того, чтобы выгрузить созданную форму в виде архива. Импорт позволяет загрузить этот архив в конфигурацию.
Примечания:
Необходимо учитывать, что экспорт форм выгружает только саму форму и ее данные, без учета сторонних объектов, которые могут в ней использоваться - например, без справочников, реестров или пользовательских компонентов. При импорте такой формы в другую конфигурацию корректная работа компонентов, использующих такие объекты, не гарантируется.*
Для того, чтобы сохранить связь между компонентами формы и используемыми в ней объектами, рекомендуется использовать «Импорт/экспорт конфигурации».
Чтобы добавить новую форму, нужно нажать на кнопку «+». Откроется окно конструктора форм.
Рабочая область формы представляет собой таблицу (основную таблицу формы), в ячейках которой располагаются компоненты формы. Доступна возможность объединения ячеек и вставки в ячейку формы компонента «Таблица».
Форма должна содержать как минимум один компонент. Если вы попытаетесь сохранить форму без компонентов, то система выдаст предупреждающее сообщение - «Форма пустая» в верхней части экрана . Для того, чтобы иметь возможность сохранить форму, необходимо, чтобы форма имела название на трех языках и код. Названия и код формы находятся в разделе «Метаданные».
Результат конструирования формы можно просмотреть, не выходя из редактора форм. Для этого используются режимы просмотра формы - конструктор, редактирование, просмотр. Переключатель режимов расположен в правой части верхней панели редактора форм.
Форма создаётся с помощью компонентов, которые функционально разделены на 5 групп:
структура
таблица - используется, когда компоненты должны располагаться в ячейках таблицы;
страница - добавляет новую страницу;
текстовые элементы - компоненты для хранения данных, чаще всего позволяют пользователям вводить их самим:
неизменяемый текст - для подписей и заголовков;
однострочное и многострочное поля;
числовое поле;
HTD-редактор;
элементы выбора дают возможность выбирать значения из представленного списка:
выпадающий список;
дата/ время;
выбор вариантов;
переключатель вариантов;
файлы - компоненты для хранения
изображений;
файлов;
ссылок;
специальные элементы для хранения информации, содержащейся в самой платформе:
объекты Synergy - пользователь, должность, подразделение;
номер;
листы подписей и резолюций и т. д.
При выделении ячейки с компонентом можно задавать идентификатор этого компонента (ID), его ширину, высоту, выравнивание, шрифт и его начертание. Также при выделении ячейки с компонентом отображается кнопка «Настройки», позволяющая указывать специфические настройки для каждого компонента.
Кнопка Настройки открывает окно, в котором можно указать различные параметры для компонента, а также добавить при необходимости код скрипта. Параметры различаются для каждого компонента, на скрине представлены свойства для компонента «Объекты Synergy»:
Более подробная информация о компонентах и их настройках приведена в соответствующей документации.
Раздел «Метаданные» хранит информацию о наименовании формы, версии, авторе и последнем изменившем форму пользователе.
Раздел «Параметры» позволяет задать фон для формы, а также настроить способ вычисления размеров столбцов основной таблицы форм:.
В разделе «Показатели» можно добавить новые показатели.
В разделе «Представления» можно добавлять и удалять печатное представление формы. Основное представление формы удалить нельзя.
Файл шаблона может быть только в формате *.odt, не должен быть создан в Microsoft Office. Создание и редактирование шаблона необходимо осуществлять только в LibreOffice / OpenOffice. Обращение к компонентам формы при формировании шаблона печатного представления производится по их идентификаторам. Подробно о печатном представлении написано в «Спецификации ARTA Synergy».
В качестве примера рассмотрим создание формы «Заявка»:
Во-первых, создадим шапку заявки, в которой будет указан автор заявки, его должность, а также дата создания заявки и ее уникальный номер. Будем считать, что авторами заявок могут быть только пользователи Synergy.
Разделим основную таблицу формы на три столбца. В среднем столбце
укажем ширину 80%
- в нем будут располагаться
все данные формы. Ширину первого и третьего столбца не фиксируем -
они будут служить боковыми отступами формы, и их ширина будет
изменяться с учетом ширины окна браузера.
Пусть шапка заявки располагается в правом верхнем углу формы. Для того, чтобы структурировать некоторые компоненты внутри основной таблицы формы, используем компонент «Таблица». Разделим таблицу-компонент на два столбца и несколько строк:
Здесь для наглядности у вложенной таблицы включен флаг «Отобразить границы» - в итоговой форме мы отключим их отображение.
Сначала добавим на форму компонент, в котором будет указан уникальный номер заявки. Для этого используется компонент с типом «Номер». Выделим правую верхнюю ячейку вложенной таблицы, потом в списке компонентов слева выделим компонент «Номер»:
Присвоим этому компоненту идентификатор number
и откроем окно его настроек:
Номер содержит единственную настройку - используемый шаблон номера. Предположим, что ранее был создан шаблон «Номер заявки» и выберем его в качестве шаблона для компонента.
Примечание:
Если во время конфигурирования формы возникла ситуация, когда необходимые сопутствующие объекты Synergy еще не были созданы, достаточно нажать на кнопку «На главную» в левом верхнем углу Конфигуратора, перейти в нужный раздел Конфигуратора и создать или настроить требуемый объект. После этого при повторном переходе к разделу «Формы» снова откроется конструктор форм. Таким образом работает своего рода «сворачивание» для каждого раздела Конфигуратора, причем в этом случае внесенные изменения не теряются, хоть и не считаются сохраненными.
Далее добавим компонент для указания автора заявки. Поскольку в силу постановки задачи автором заявки может быть только пользователь Synergy, используем для этого компонент с типом «Объекты Synergy». Добавим в ячейку ниже номера компонент типа «Объекты Synergy»:
Настроим этот компонент, включив для него флаги «Заблокировать от изменений пользователем» и «Заполнять создающим пользователем»:
С такими настройками в поле автоматически будет указан пользователь, создавший запись по форме, и изменить содержимое пользователя будет невозможно.
В качестве идентификатора компонента укажем
autor
:
В ячейку ниже добавим поле, которое будет заполняться должностью
автора заявки. Для указания должностей, как и для указания
подразделений организации, также используется компонент
«Объекты Synergy». Добавим его на форму, присвоим ему
идентификатор position
и откроем окно настроек
компонента:
Настройки компонента:
Включен флаг «Заблокировать от изменений пользователем»
Тип данных - «Должности»
Связь с компонентом - autor
, то есть при
выборе пользователя в поле autor
его
должность автоматически будет указана в текущем поле
position
Последнее поле в шапке заявки - дата ее создания. Для этой
информации используем компонент «Дата/время». Добавим
его на форму и присвоим ему идентификатор
creation_date
:
Пусть для процесса управления заявок важны не только дата, но и время подачи заявки. Для настройки отображения времени в компоненте откроем окно настроек компонента:
Указанные настройки:
Включен флаг «Заблокировать от изменений пользователем», чтобы время подачи заявки невозможно было сфальсифицировать
Включен флаг «Заполнять текущей датой/временем» - данные в компоненте будут заполнены в момент создания данных по форме
Включен флаг «Вводить время»
Формат даты:
${dd}.${mm}.${yyyy} ${HH}:${MM}
- для
просмотра подсказки о форматах даты и времени нужно нажать на
знак вопроса справа от поля ввода. Указанный формат будет
применен к значению поля в режиме просмотра (но не в режиме
заполнения данных формы).
«Хорошим тоном» при создании форм считается наличие подписи для каждого поля, которое должно быть заполнено во время работы. Для подписи полей или вставки фиксированного текста на форму используется компонент «Неизменяемый текст». В нашей шапке подписи для полей будут располагаться слева от соответствующего поля, для чего добавим во вложенную таблицу столбец посередине, и в каждую из полученных ячеек добавим компонент «Неизменяемый текст»:
Кликнув по тексту «Нажмите, чтобы ввести текст», вводим текст подписей каждого поля:
Просмотрим предварительный результат, выбрав в правом верхнем углу конструктора режим «Редактирование» (вид формы во время заполнения данных):
Обратите внимание, что несмотря на то, что ни у одного их трех столбцов таблицы-компонента не задана ширина, а первый столбец и вовсе не содержит компонентов, в режиме редактирования и просмотра их размеры распределены одинаково. Это произошло потому, что для таблицы с шапкой включен флаг «Фиксированные размеры таблицы». Подробнее о работе этого параметра рекомендуем прочитать в официальной документации.
Также обратите внимание на то, что поле с номером заявки не отображается. Это нормальное поведение для конструктора форм, реализованное для того, чтобы значение счетчика не изменялось во время настройки формы. Когда пользователь будет создавать запись по этой форме, поле номера будет заполнено автоматически текущим значением счетчика.
Вернемся в режим конструктора, отключим отображение границ вложенной таблицы и добавим отступ под шапкой. Для этого добавим строку основной таблицы формы ниже вложенной таблицы и добавим в полученную ячейку компонент «Неизменяемый текст»:
Чтобы этот компонент служил в качестве отступа, введем пробел ` ` в качестве текста компонента и зададим для него высоту в 40 пикселей:
Основная часть заявки - это описание проблемы. Для ввода большого текста можно использовать два компонента: «Многострочный текст» или «HTD-редактор». Отличаются они тем, что HTD-редактор позволяет применять форматирование к введенному тексту на уровне функций простого текстового редактора, а форматирование текста, введенного в компоненте «Многострочный текст», подчиняется только настройкам форматирования для компонента.
В качестве примера используем компонент «Многострочный
текст» с идентификатором description
,
добавив его в строку основной таблицы формы ниже отступа:
И обязательно добавим подпись для поля ввода описания проблемы в строку основной таблицы формы ниже отступа от шапки заявки:
Для сохранения формы необходимо ввести ее код и название на трех языках. Для этого используется раздел «Метаданные».
После сохранения данных форма заявки готова.