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

Свойства
На вкладке «Свойства» можно настроить основные параметры кнопки.

- Отображаемое название — подпись, которая будет отображаться на кнопке. Изменение отображаемого названия кнопки в области кнопок, на форме или в таблице не повлияет на название исходной кнопки в шаблоне.
- Системное имя — уникальное имя кнопки для использования в сценариях, выражениях и скриптах.
- Описание — наглядное описание назначения кнопки. Описание кнопки отображается как подсказка при наведении указателя мыши на кнопку. Изменение описания кнопки в области кнопок, на форме или в таблице не повлияет на описание исходной кнопки в шаблоне.
- Контекст операции — определяет набор доступных операций, контекст выполнения операции и возможность использования кнопки на соответствующих формах и таблицах.
- Аккаунт — запись в шаблоне аккаунта.
- Диаграмма — диаграмма процесса.
- Запись в шаблоне записи, аккаунта, роли или организационной единицы.
- Пользовательская задача — элемент диаграммы процесса.
- Процесс — экземпляр или шаблон процесса.
-
Операция — набор доступных операций зависит от выбранного контекста операции. Операции выполняются с записями в шаблонах записей. Предусмотрены следующие операции:
- Архивировать — архивирование выбранных записей или экземпляров процесса: установка для системного атрибута _isDisabledзначения
true. - Вызвать событие «Нажата кнопка» — при нажатии кнопки сработает событие «Нажата кнопка», по которому может быть запущен сценарий в приложении.
- Запустить процесс — запуск экземпляра выбранного шаблона процесса по текущей записи или по новой записи.
- Запустить процесс по связанному шаблону — запуск экземпляра процесса по выбранному шаблону записи, связанному с текущим шаблоном записи посредством атрибута типа «Запись». В отличие от операции «Запустить процесс», после запуска процесса в указанный атрибут будет помещена ссылка на созданную запись. После выбора шаблона становится доступно поле выбора формы для создания записи.
- Мигрировать — обновление экземпляра процесса до последней версии диаграммы процесса. (Эта операция работает не во всех версиях Comindware Platform.)
- Скрипт C# — выполнение скрипта C#. Скрипт может выполнять любые действия с использованием API и библиотек, доступных в Comindware 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. См. пример.
Локальные переменные представляют собой атрибуты.
Пример использования локальной переменной см. в статье «Использование локальной переменной для массовой обработки записей».
Для каждой переменной можно задать:
- Отображаемое название — наглядное название переменной;
- Тип данных — для переменных предусмотрены такие же типы, как для атрибутов;
- Формат отображения — для переменных предусмотрены такие же форматы отображения, как для атрибутов;
- Системное имя — уникальное имя переменной для использования в сценариях, выражениях и скриптах;
- Описание — наглядное описание назначения переменной;
- Шаблон — можно задать для переменных следующих типов: «Запись», «Аккаунт», «Роль», «Организационная единица»;
- Хранить несколько значений — этот флажок можно установить для переменных следующих типов: «Файл» (см. типы атрибутов «Документ» и «Изображение»), «Запись», «Аккаунт», «Роль», «Организационная единица».

Связи
На вкладке «Связи» отображается список всех объектов и ресурсов приложения, связанных с кнопкой.

Удаление кнопки
- Откройте шаблон.
- Выберите вкладку «Кнопки».
- Отобразится список кнопок в составе шаблона.
- Выберите одну кнопку, установив для неё флажок в первом столбце списка.
- Нажмите кнопку «Удалить».
- Подтвердите удаление.
Связанные статьи
Области кнопок. Определение, настройка, клонирование, удаление
Эта статья была полезна 1 чел.