Определения
- Кнопка представляет собой визуальный элемент на форме, при нажатии которого выполняется предварительно настроенная операция.
- Для каждого шаблона предусмотрен отдельный набор кнопок.
- Названия, цвета и значки кнопок настраиваются в области кнопок.
- Для каждой формы или таблицы можно настроить особые названия, значки и цвета кнопок.
Настройка кнопки
Конструктор кнопки позволяет настроить её внешний вид, поведение и операцию, выполняющуюся при её нажатии.
Цвет и значок кнопки настраиваются в области кнопок.
- Откройте шаблон.
- Выберите вкладку «Кнопки».
- Отобразится список кнопок в составе шаблона.
- Нажмите кнопку «Создать» или дважды нажмите кнопку в списке.
- Отобразится конструктор кнопки.
-
Настройте параметры кнопки на следующих вкладках:
-
Нажмите кнопку «Сохранить».
Свойства
На вкладке «Свойства» можно настроить основные параметры кнопки.
- Отображаемое название — подпись, которая будет отображаться на кнопке. Изменение отображаемого названия кнопки в области кнопок, на форме или в таблице не повлияет на название исходной кнопки в шаблоне.
- Системное имя — уникальное имя кнопки для использования в сценариях, выражениях и скриптах.
- Описание — наглядное описание назначения кнопки. Описание кнопки отображается как подсказка при наведении указателя мыши на кнопку. Изменение описания кнопки в области кнопок, на форме или в таблице не повлияет на описание исходной кнопки в шаблоне.
- Контекст операции — определяет набор доступных операций, контекст выполнения операции и возможность использования кнопки на соответствующих формах и таблицах.
- Аккаунт — запись в шаблоне аккаунта.
- Диаграмма — диаграмма процесса.
- Запись в шаблоне записи, аккаунта, роли или организационной единицы.
- Пользовательская задача — элемент диаграммы процесса.
- Процесс — экземпляр или шаблон процесса.
-
Операция — набор доступных операций зависит от выбранного контекста операции. Операции выполняются с записями в шаблонах записей. Предусмотрены следующие операции:
- Архивировать — архивирование выбранных записей или экземпляров процесса: установка для системного атрибута _isDisabledзначения
true
. - Вызвать событие «Нажата кнопка» — при нажатии кнопки сработает событие «Нажата кнопка», по которому может быть запущен сценарий в приложении.
- Запустить процесс — запуск экземпляра выбранного шаблона процесса по текущей записи или по новой записи.
- Запустить процесс по связанному шаблону — запуск экземпляра процесса по выбранному шаблону записи, связанному с текущим шаблоном записи посредством атрибута типа «Запись». В отличие от операции «Запустить процесс», после запуска процесса в указанный атрибут будет помещена ссылка на созданную запись. После выбора шаблона становится доступно поле выбора формы для создания записи.
- Мигрировать — обновление экземпляра процесса до последней версии диаграммы процесса. (Эта операция работает не во всех версиях Comindware Business Application Platform.)
- Скрипт C# — выполнение скрипта C#. Скрипт может выполнять любые действия с использованием API и библиотек, доступных в Comindware Business Application Platform. См. «Написание скриптов на языке C#. Скрипт операции».
- Создать — создание записи в выбранном шаблоне. После выбора шаблона становится доступно поле выбора формы для создания записи.
- Создать связанную запись — создание записи в шаблоне записи, связанном с текущим шаблоном посредством атрибута типа «Запись». В отличие от операции «Создать», после создания записи ссылка в указанный атрибут будет помещена ссылка на созданную запись. После выбора шаблона становится доступно поле выбора формы для создания записи.
- Создать токен — создание нового токена на выбранном элементе диаграммы экземпляра процесса.
- Сохранить — сохранение текущей записи.
- Остановить процесс — остановка текущего экземпляра процесса.
- Открыть заново — назначение задаче статуса «Выполняется».
- Завершить задачу — завершение текущей задачи бизнес-процесса.
- Отвязать от шаблона — исключение выбранного аккаунта из текущего шаблона аккаунта.
- Отложить выполнение — эта операция будет реализована в последующих версиях продукта.
- Привязать к шаблону — добавление выбранных аккаунтов в текущий шаблон аккаунта.
- Принять — назначение текущего аккаунта исполнителем задачи.
- Разархивировать — разархивирование выбранных записей или экземпляров процесса: установка для системного атрибута _isDisabledзначения
false
. - Редактировать — изменение диаграммы процесса.
- Удалить — безвозвратное удаление записи или экземпляра процесса.
- Экспорт записи — экспорт записи посредством шаблона экспорта в формате DOCX, XLSX или PDF.
- Экспорт таблицы — экспорт данных из таблицы в формате XLSX с использованием текущих параметров фильтрации, сортировки, группировки и агрегации.
- Архивировать — архивирование выбранных записей или экземпляров процесса: установка для системного атрибута _isDisabledзначения
-
Сохранять запись после выполнения — установите этот флажок, чтобы сохранять текущую запись после выполнения операции по нажатию кнопки.
- Пропускать проверки — установите этот флажок, чтобы вводе и сохранении данных записи не выполнялись проверки данных и не выводились сообщения об ошибках проверки.
-
Результат выполнения — выберите действие, которое необходимо осуществить после выполнения операции:
- Обновить данные — перезагрузка данных формы или таблицы.
- Скачать документ — браузер загрузит файл, сформированный операцией «Экспорт записи», «Экспорт таблицы» или «Скрипт C#».
Примечание
Для операции «Скрипт C#» скачиваемый файл задаётся выходным параметром
File
скрипта. См. «Написание скриптов на языке C#. Скрипт операции».- Навигация — переход к объекту, указанному в поле «Переход к»:
- Диаграмма — переход к диаграмме экземпляра процесса.
- Задача запущенного процесса — переход к текущей **пользовательской задаче.
- Предыдущая страница — переход к предыдущей странице, открытой в браузере.
- Рабочий стол— переход рабочему столу для текущего аккаунта.
- Связанная запись — переход к созданной записи (для операций «Создать запись» и «Создать связанную запись»).
- Следующая задача в списке — переход к следующей (по ID) пользовательской задачеэкземпляра процесса, назначенной текущему аккаунту.
- Список задач — переход к странице «Мои задачи» для текущего аккаунта.
- Таблица — переход к таблице с записями шаблона или экземплярами процесса.
- Экземпляр процесса — переход к диаграмме экземпляра процесса.
Примечание
Для операции «Скрипт C#» объект навигации задаётся выходным параметром
NavigationResult
скрипта. См. «Написание скриптов на языке C#. Скрипт операции». -
Установить режим доступа к форме — задайте режим доступа
- Чтение — при нажатии кнопки форма станет доступна только для чтения. При этом на форме обязательно должна быть кнопка, устанавливающая режим доступа к форме «Редактирование», в противном случае переключение режима переходить не будет. Кроме того, при такой настройке форма по умолчанию будет отображаться в режиме «Чтение».
- Редактирование — нажав кнопку, пользователь сможет вводить данные в форму (при наличии соответствующих разрешений).
- Не изменять — использование исходного режима доступа к форме.
- Показывать кнопку — задайте видимость кнопки на форме (этот пункт следует использовать в сочетании с пунктом «Установить режим доступа к форме»).
- В режиме редактирования — кнопка будет отображаться только в режиме ввода данных в форму.
- В режиме чтения — кнопка будет отображаться, когда форма доступна только для чтения (в том числе, запрещено одновременное редактирование формы несколькими пользователями).
- Всегда — кнопка будет отображаться в режиме ввода данных и только чтения.
- Отображать диалоговое окно — если установлен этот флажок, при нажатии кнопки откроется предварительно настроенное окно подтверждения операции.
- Настроить диалоговое окно — переход к конструктору формы операции, на которое можно перетащить локальные переменные.
Скрипт
На вкладке «Скрипт» можно ввести скрипт на языке C#, который будет выполняться при нажатии кнопки.
Скрипт на C# может выполнять любые действия для контроля, чтения, изменения и удаления данных внутри системы, а также для вызова внешних сервисов в ограниченном пространстве подключаемых библиотек.
Скрипт на С# можно использовать для операции «Экспорт записи» с целью подготовки данных для шаблона экспорта. Cм. «Настройка шаблона экспорта с использованием C#» и «Подготовка файла шаблона экспорта».
Чтобы сформировать заготовку скрипта C# нажмите кнопку «Сформировать шаблон C#».
Заготовка скрипта
public class Script {
public static UserCommandResult Main (UserCommandContext userCommandContext, Comindware.Entities entities) {
// Тело скрипта
}
}
Входные данные
Скрипт получает на вход в данные контекста в объектах userCommandContext
и entities
:
UserCommandContext userCommandContext {
string[] ObjectIds, // массив ID выбранных записей в списке
// (пустой массив, если записи не выбраны)
// или массив из одного элемента с ID записи на форме
string[] SelectedIds, // массив ID записей, выбранных в таблице на форме
// (пустой массив, если записи не выбраны)
string CurrentUserId, // ID аккаунта текущего пользователя
string DocumentTemplateId, // ID шаблона, к которому относится команда
dateTime CurrentRequestTime, // дата и время текущего запроса
bool ExportAsPdf, // флаг экспорта в PDF
string FileName, // имя файла при выгрузке данных по шаблону экспорта
DatasetQuery Query // список, с которого произошел запуск операции
},
Comindware.Entities entities // используется для доступа к данным шаблонов записей
Выходные данные
Метод Main
должен возвращать объект UserCommandResult
:
UserCommandResult {
bool Success, // флаг успешного завершения операции
bool Commited, // флаг необходимости сохранения результатов работы операции
enum UserCommandResultType ResultType, // тип возвращаемого результата.
// В зависимости от значения производятся действия:
// DataChange — обновление данных
// Notificate — сообщение пользователю
// Navigate — переход на страницу
// File — скачивание файла
// набор данных для перехода на другую страницу
UserCommandNavigationResult NavigationResult {
string Title, // заголовок
string ObjectId, // ID объекта
string ContainerId, // ID контейнера
ContextType Context // тип отображения
// Undefined, Void, Any, Task, Case, Record, Process, List, Form, Page, Container
},
// объект выгружаемого файла
UserCommandFileResult File {
string Name, // имя файла
string Type,
byte[] Content // тело файла
},
// сообщение для пользователя об окончании операции
UserCommandMessage[] Messages {
enum Severity, // уровень важности сообщения
// SeverityLevel (Critical, Fatal, Low, Major, None, Normal)
string Text
}
}
Условие отображения
На вкладке «Условие отображения» можно задать формулу или выражение на N3. Кнопка будет отображаться, если формула или выражение на N3 вернёт true
. В противном случае кнопка будет скрыта.
Если задано условие отображения, то для отображения кнопки в таблице должна быть выбрана хотя бы одна запись и условие отображения должно возвращать true
для всех выбранных записей. То есть кнопка не будет отображаться в таблице, если в ней не выбрана ни одна запись или для любой из выбранных записей условие отображения возвращает false
.
Примеры условий отображения кнопки
Ниже представлены примеры условий отображения кнопки на языке формул Comindware.
Примечание
При составлении выражений учитывайте контекст их вычисления.
-
Формула для отображения кнопки на форме или в таблице шаблона записи при условии, что логический атрибут имеет значение
true
:$LogicAttributeSystemName == true
Здесь:
LogicAttributeSystemName
— системное имя логического атрибута. -
Формула для отображения кнопки в таблице любого шаблона при условии, что в таблице выбрана хотя бы одна запись (то есть установлены флажки выбора в первом столбце таблицы):
true
-
Формула для отображения кнопки на стартовой форме или форме пользовательской задачи при условии, что логический атрибут записи, связанной с экземпляром процесса, имеет значение
true
:$cmw.task.objectId -> op.1 == true
Здесь:
$cmw.task.objectId
— идентификатор связанной с экземпляром процессом записи, где хранится логический атрибут;op.1
— идентификатор логического атрибута в шаблоне записи, связанном с шаблоном процесса.
Локальные переменные
На вкладке «Локальные переменные» можно создать переменные для использования в скрипте C# или сценарии, выполняемом при нажатии кнопки.
В сценарии по нажатию кнопки локальные переменные будут доступны в объекте dialogVariables
. См. пример.
Локальные переменные представляют собой атрибуты.
Пример использования локальной переменной см. в статье «Использование локальной переменной для массовой обработки записей».
Для каждой переменной можно задать:
- Отображаемое название — наглядное название переменной;
- Тип данных — для переменных предусмотрены такие же типы, как для атрибутов;
- Формат отображения — для переменных предусмотрены такие же форматы отображения, как для атрибутов;
- Системное имя — уникальное имя переменной для использования в сценариях, выражениях и скриптах;
- Описание — наглядное описание назначения переменной;
- Шаблон — можно задать для переменных следующих типов: «Запись», «Аккаунт», «Роль», «Организационная единица»;
- Хранить несколько значений — этот флажок можно установить для переменных следующих типов: «Файл» (см. типы атрибутов «Документ» и «Изображение»), «Запись», «Аккаунт», «Роль», «Организационная единица».
Связи
На вкладке «Связи» отображается список всех объектов и ресурсов приложения, связанных с кнопкой.
Удаление кнопки
- Откройте шаблон.
- Выберите вкладку «Кнопки».
- Отобразится список кнопок в составе шаблона.
- Выберите одну кнопку, установив для неё флажок в первом столбце списка.
- Нажмите кнопку «Удалить».
- Подтвердите удаление.
Связанные статьи
Области кнопок. Определение, настройка, клонирование, удаление