Перейти к содержанию

Кнопки. Определение, настройка, удаление

Определения

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

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

Конструктор кнопки позволяет настроить её внешний вид, поведение и операцию, выполняющуюся при её нажатии.

Цвет и значок кнопки настраиваются в области кнопок.

  1. Откройте шаблон.
  2. Выберите вкладку «Кнопки».
  3. Отобразится список кнопок в составе шаблона.
  4. Нажмите кнопку «Создать» или дважды нажмите кнопку в списке.
  5. Отобразится конструктор кнопки.
  6. Настройте параметры кнопки на следующих вкладках:

  7. Нажмите кнопку «Сохранить».

Список кнопок в составе шаблона

Список кнопок в составе шаблона

Свойства

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

Конструктор кнопки — вкладка «Свойства»

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

    • Архивировать — архивирование выбранных записей или экземпляров процесса: установка для системного атрибута _isDisabledзначения true.
    • Вызвать событие «Нажата кнопка» — при нажатии кнопки сработает событие «Нажата кнопка», по которому может быть запущен сценарий в приложении.
    • Запустить процесс — запуск экземпляра выбранного шаблона процесса по текущей записи или по новой записи.
    • Запустить процесс по связанному шаблону — запуск экземпляра процесса по выбранному шаблону записи, связанному с текущим шаблоном записи посредством атрибута типа «Запись». В отличие от операции «Запустить процесс», после запуска процесса в указанный атрибут будет помещена ссылка на созданную запись. После выбора шаблона становится доступно поле выбора формы для создания записи.
    • Мигрировать — обновление экземпляра процесса до последней версии диаграммы процесса. (Эта операция работает не во всех версиях Comindware Platform.)
    • Скрипт C# — выполнение скрипта C#. Скрипт может выполнять любые действия с использованием API и библиотек, доступных в Comindware Platform. См. «Написание скриптов на языке C#. Скрипт операции».
    • Создать — создание записи в выбранном шаблоне. После выбора шаблона становится доступно поле выбора формы для создания записи.
    • Создать связанную запись — создание записи в шаблоне записи, связанном с текущим шаблоном посредством атрибута типа «Запись». В отличие от операции «Создать», после создания записи ссылка в указанный атрибут будет помещена ссылка на созданную запись. После выбора шаблона становится доступно поле выбора формы для создания записи.
    • Создать токен — создание нового токена на выбранном элементе диаграммы экземпляра процесса.
    • Сохранить — сохранение текущей записи.
    • Остановить процесс — остановка текущего экземпляра процесса.
    • Открыть заново — назначение задаче статуса «Выполняется».
    • Завершить задачу — завершение текущей задачи бизнес-процесса.
    • Отвязать от шаблона — исключение выбранного аккаунта из текущего шаблона аккаунта.
    • Отложить выполнение — эта операция будет реализована в последующих версиях продукта.
    • Привязать к шаблону — добавление выбранных аккаунтов в текущий шаблон аккаунта.
    • Принять — назначение текущего аккаунта исполнителем задачи.
    • Разархивировать — разархивирование выбранных записей или экземпляров процесса: установка для системного атрибута _isDisabledзначения false.
    • Редактировать — изменение диаграммы процесса.
    • Удалить — безвозвратное удаление записи или экземпляра процесса.
    • Экспорт записи — экспорт записи посредством шаблона экспорта в формате DOCX, XLSX или PDF.
    • Экспорт таблицы — экспорт данных из таблицы в формате XLSX с использованием текущих параметров фильтрации, сортировки, группировки и агрегации.
  • Сохранять запись после выполнения — установите этот флажок, чтобы сохранять текущую запись после выполнения операции по нажатию кнопки.

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

    Примечание

    Для операции «Скрипт C#» скачиваемый файл задаётся выходным параметром File скрипта. См. «Написание скриптов на языке C#. Скрипт операции».

    • Навигация — переход к объекту, указанному в поле «Переход к»:

    Примечание

    Для операции «Скрипт 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
}
}

Конструктор кнопки — вкладка «Скрипт» с заготовкой скрипта C#

Конструктор кнопки — вкладка «Скрипт» с заготовкой скрипта C#

Условие отображения

На вкладке «Условие отображения» можно задать формулу или выражение на N3. Кнопка будет отображаться, если формула или выражение на N3 вернёт true. В противном случае кнопка будет скрыта.

Если задано условие отображения, то для отображения кнопки в таблице должна быть выбрана хотя бы одна запись и условие отображения должно возвращать true для всех выбранных записей. То есть кнопка не будет отображаться в таблице, если в ней не выбрана ни одна запись или для любой из выбранных записей условие отображения возвращает false.

Конструктор кнопки — вкладка «Условие отображение» с формулой

Конструктор кнопки — вкладка «Условие отображение» с формулой

Примеры условий отображения кнопки

Ниже представлены примеры условий отображения кнопки на языке формул Comindware.

Примечание

При составлении выражений учитывайте контекст их вычисления.

  1. Формула для отображения кнопки на форме или в таблице шаблона записи при условии, что логический атрибут имеет значение true:

    $LogicAttributeSystemName == true

    Здесь: LogicAttributeSystemName — системное имя логического атрибута.

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

    true
  3. Формула для отображения кнопки на стартовой форме или форме пользовательской задачи при условии, что логический атрибут записи, связанной с экземпляром процесса, имеет значение true:

    $cmw.task.objectId -> op.1 == true

    Здесь:

    • $cmw.task.objectId — идентификатор связанной с экземпляром процессом записи, где хранится логический атрибут;
    • op.1 — идентификатор логического атрибута в шаблоне записи, связанном с шаблоном процесса.

Локальные переменные

На вкладке «Локальные переменные» можно создать переменные для использования в скрипте C# или сценарии, выполняемом при нажатии кнопки.

В сценарии по нажатию кнопки локальные переменные будут доступны в объекте dialogVariables. См. пример.

Локальные переменные представляют собой атрибуты.

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

Для каждой переменной можно задать:

Конструктор кнопки — вкладка «Локальные переменные»

Конструктор кнопки — вкладка «Локальные переменные»

Связи

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

Конструктор кнопки — вкладка «Связи»

Конструктор кнопки — вкладка «Связи»

Удаление кнопки

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

Связанные статьи

Области кнопок. Определение, настройка, клонирование, удаление  

К началу