Кнопки

Создание кнопки на детальной форме

  1. Создайте функцию для обработки кнопки:

    1. Перейдите alt [Menu] > [Configuration] > [User defined functions].

    2. Нажмите кнопку alt [Add…] в табличной форме.

    3. Заполните обязательные поля: “Schema name”, “Function name”, “Return value data type”, “Function parameters”, “Function code”. Описание всех полей в User definded functions/Пользовательские функции.

      В качестве входного параметра функции используйте объект того же типа, что и таблица.

      Например:

      CREATE OR REPLACE FUNCTION detail_button(address)
        RETURNS text AS
      $BODY$
      BEGIN
        RETURN 'Нажата кнопка на детальной форме';
      END
      $BODY$
        LANGUAGE plpgsql VOLATILE SECURITY DEFINER
        COST 100;
      

      image

    4. Нажмите кнопку alt [Create] для добавления записи или кнопку alt [Cancel] для выхода из режима добавления без сохранения данных.

  2. Создайте кнопку:

    1. Перейдите alt[Menu] > [Configuration] > [Buttons] (или [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…] > контейнер alt [Buttons]).

    2. Нажмите кнопку alt [Add…] в табличной форме.

    3. Заполните обязательные поля: “Identifier”, “Projection name”, “Schema name”, “Function”, “Use in list” в значении “false”. Описание всех полей в Buttons/Кнопки.

      image

    4. Нажмите кнопку alt [Create] для добавления записи или кнопку alt [Cancel] для выхода из режима добавления без сохранения данных.

Создание кнопки в табличной форме

  1. Создайте функцию для обработки кнопки:

    1. Перейдите alt [Menu] > [Configuration] > [User defined functions].

    2. Нажмите кнопку alt [Add…] в табличной форме.

    3. Заполните обязательные поля: “Schema name”, “Function name”, “Return value data type”, “Function parameters”, “Function code”. Описание всех полей в User definded functions/Пользовательские функции.

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

      Например:

      CREATE OR REPLACE FUNCTION table_button(text[])
        RETURNS text AS
      $BODY$
      BEGIN
        RETURN 'Нажата кнопка в табличной форме';
      END
      $BODY$
        LANGUAGE plpgsql VOLATILE SECURITY DEFINER
        COST 100;
      

      image

    4. Нажмите кнопку alt [Create] для добавления записи или кнопку alt [Cancel] для выхода из режима добавления без сохранения данных.

  2. Создайте кнопку:

    1. Перейдите alt [Menu] > [Configuration] > [Buttons] (или [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…] > контейнер alt [Buttons]).

    2. Нажмите кнопку alt [Add…] в табличной форме.

    3. Заполните обязательные поля: “Identifier”, “Projection name”, “Schema name”, “Function”, “Use in list” в значении “true”. Описание всех полей в Buttons/Кнопки.

      image

    4. Нажмите кнопку alt [Create] для добавления записи или кнопку alt [Cancel] для выхода из режима добавления без сохранения данных.

Отображение кнопки на детальной форме по условию

Сокрытие и отображение кнопок: “Сохранить”, “Добавить”, “Удалить”.

  1. Перейдите [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…].

  2. В детальной форме нажмите кнопку alt [Edit] для перехода в режим редактирования.

  3. Введите в поле “Additional parameters”:

    {
      "button_visible": {
        "save": "условие",
        "add": "условие",
        "delete": "условие"
      }
    }
    
  4. Вместо “условие” введите значение/выражение, при котором соответствующая кнопка должна отображаться на детальной форме. Задайте несколько условий для одной кнопки (при необходимости):

    {
      "button_visible": {
        "delete": [
          {
            "field": "b1",
            "op": "EQ",
            "value": "c1"
          },
          {
            "field": "b2",
            "op": "EQ",
            "value": "c2"
          }
        ],
    ...
      }
    }
    

    Условия объединяются операцией “И”.

    Поле “field” содержит название поля, значение которого используется при идентификации положения кнопки.

    Поле “op” содержит операцию, которую необходимо выполнить. Значениями в данном поле могут быть:

    • “EQ” - равно;
    • “NEQ” - не равно;
    • “ISN” - равно 0;
    • “ISNN” - не равно 0;
    • “ANY” - входит в массив значений поля “value”. При этом в поле “value” необходимо перечислить значения, при совпадении с одним из которых условие будет выполняться. Например:
         ...
         "op": "ANY",
               "value": [ 
                 "\"char\"",
                 "character",
                 "character varying",
                 "bit",
                 "bit varying"
               ]
         ...
    

    Ожидается поддержка операторов:

    • “G” - больше;
    • “F” - вызов функции с именем, соответствующем значению в поле “field”;
    • “FC” - специальный параметр для внутреннего применения. В данном руководстве не используется;
    • “EQF” - сравнивает значение из поля “field” со значением из поля “value”;
    • “FEQ” - специальный параметр для внутреннего применения. В данном руководстве не используется;
    • “L” - меньше;
    • “GEQ” - больше или равно;
    • “LEQ” - меньше или равно;
    • “C” - вхождение подстроки;

    Поле “value” содержит значение, при котором будет выполняться условие.

  5. Вместо a, b и c введите:

    • вместо “a” - название поля (не заголовок), по которому необходимо осуществить проверку;
    • вместо “b” - операцию, при выполнении условия которой будет осуществляться отображение кнопки;
    • вместо “c” - значение, которое будет использоваться операцией в качестве границы.

    Если кнопок, которые необходимо скрыть/отобразить несколько, то строки перечисляются через запятую внутри элемента “button_visible”.

  6. Нажмите кнопку alt [Save] для сохранения изменений или кнопку alt [Cancel] для выхода из режима редактирования без сохранения.

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

Сокрытие и отображение кнопок: “Сохранить”, “Добавить”, “Удалить” на табличной и детальной форме одновременно.

  1. Перейдите [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…].

  2. В детальной форме нажмите кнопку alt [Edit] для перехода в режим редактирования.

  3. Введите в поле “Additional parameters”:

    {
      "viewActions": {
        "allowAdd": false,
        "allowDelete": false,
        "allowSave": true
      }
    }
    

    Значение “true” - отобразить кнопку.

    Значение “false” - скрыть кнопку.

  4. Нажмите кнопку alt [Save] для сохранения изменений или кнопку alt [Cancel] для выхода из режима редактирования без сохранения.

Активность кнопки

Кнопки “Сохранить”, “Добавить”, “Удалить” могут быть активными или неактивными при выполнении определенных условий.

  1. Перейдите [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…].

  2. В детальной форме нажмите кнопку alt [Edit] для перехода в режим редактирования.

  3. Введите в поле “Additional parameters”:

    {
      "button_enabled": {
        "save": "условие",
        "add": "условие",
        "delete": "условие"
      }
    }
    
  4. Вместо “условие” введите значение/выражение, при котором соответствующая кнопка будет активна. Задайте несколько условий для одной кнопки (при необходимости):

    {
      "button_enabled": {
        "delete": [
          {
            "field": "b1",
            "op": "EQ",
            "value": "c1"
          },
          {
            "field": "b2",
            "op": "EQ",
            "value": "c2"
          }
        ],
    ...
      }
    }
    

    Условия объединяются операцией “И”.

    Поле “field” содержит название поля, значение которого используется при идентификации статуса кнопки.

    Поле “op” содержит операцию, которую необходимо выполнить. Значениями в данном поле могут быть:

    • “EQ” - равно;

    • “NEQ” - не равно;

    • “G” - больше;

    • “F” - вызов функции с именем, соответствующем значению в поле “field”;

    • “FC” - специальный параметр для внутреннего применения. В данном руководстве не используется;

    • “EQF” - сравнивает значение из поля “field” со значением из поля “value”;

    • “FEQ” - специальный параметр для внутреннего применения. В данном руководстве не используется;

    • “L” - меньше;

    • “GEQ” - больше или равно;

    • “LEQ” - меньше или равно;

    • “C” - вхождение подстроки;

    • “ISN” - равно 0;

    • “ISNN” - не равно 0.


      Поле *"value"* содержит значение, при котором будет выполняться условие.

  5. Вместо a, b и c введите:

    • вместо “a” - название поля (не заголовок), по которому необходимо осуществить проверку;
    • вместо “b” - операцию, при выполнении условия которой кнопка будет активна;
    • вместо “c” - значение, которое будет использоваться операцией в качестве границы.

    Если кнопок, для которых необходимо задать условия, несколько, то строки перечисляются через запятую внутри элемента “button_enabled”.

  6. Нажмите кнопку alt [Save] для сохранения изменений или кнопку alt [Cancel] для выхода из режима редактирования без сохранения.

Отображение кнопок-ссылок

Раскрывающийся список дополняется кнопками-ссылками:

  • кнопка alt открывает форму для добавления значений в раскрывающийся список.
  • кнопка alt открывает дополнительную форму, связанную с выбранным элементом раскрывающегося списка.
  1. Перейдите [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…].

  2. В детальной форме нажмите кнопку alt [Edit] для перехода в режим редактирования.

  3. Введите в поле “Additional parameters”:

    {
      "hideRefToDetail": "a"
    }
    
  4. Вместо “а” укажите “true” или “false”, чтобы разрешить или запретить отображение элемента соответственно.

    По умолчанию функция имеет значение “false”.

  5. Нажмите кнопку alt [Save] для сохранения изменений или кнопку alt [Cancel] для выхода из режима редактирования без сохранения.

Добавление группы радиокнопок

image

Группа радиокнопок используется для выбора одного варианта из группы взаимоисключающих опций.

  1. Добавьте в сущность новую колонку (см. п.Добавление колонки). В поле “Type on display” выберите значение “radiobutton”.

  2. Перейдите [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…] > контейнер alt [Projection properties].

  3. В детальной форме нажмите кнопку alt [Edit] для перехода в режим редактирования.

  4. Укажите параметры:

    Способ 1:

    1. Введите в поле “Additional parameters”:

      {
        "source-items": [
          "a1",
          "a2",
         ...
        ],
        "use-enumeration": "true"
      }
      

      Поле “source-items” содержит набор заголовков кнопок.

    2. Вместо a1, a2 введите заголовки кнопок.

    3. Укажите “use-enumeration” (при необходимости). Поле “use-enumeration” в значении “true” сохраняет в базу данных индекс выбранного элемента: 1, 2, 3 и т.д.

    По умолчанию “use-enumeration” имеет значение “false”.

    Способ 2:

    1. Введите в поле “Additional parameters”:

      {
        "source-dictionary": [
          {
            "key": "b1",
            "value": "c1"
          },
          {
            "key": "b2",
            "value": "c2"
          },
         ...
        ]
      }
      

      Поле “source-dictionary” содержит набор ключей и заголовков кнопок.

    2. Вместо b1, b2 и c1 c2 введите:

      • вместо “b1”, “b2” - значения, которые будут вноситься в базу данных;
      • вместо “c1”, “c2” - заголовки кнопок.
  5. Укажите “null-option” (при необходимости):

    {
       ...
       "null-option": "не указано"
       ...
    }
    

    Поле “null-option” содержит заголовок кнопки. Нажатие на кнопку будет присваивать группе радиокнопок значение “null”.

  6. Укажите “columnOptions” (при необходимости):

{
   ...
   "columnOptions": "1"
   ...
}

Поле “columnOptions” содержит количество столбцов при отображении группы радиокнопок. Поддерживаются значения: 0 - в строку, 1, 2, 3.

  1. Нажмите кнопку alt [Save] для сохранения изменений или кнопку alt [Cancel] для выхода из режима редактирования без сохранения.

Расположение кнопок “Контекстных действий”

image

По умолчанию контекстные действия располагаются на панели “More”. Данная функция позволяет установить для контекстных действий месторасположение в основном окне.

  1. Перейдите [Выбранная сущность] > кнопка alt [More] > кнопка alt [Setup…].

  2. В детальной форме нажмите кнопку alt [Edit] для перехода в режим редактирования.

  3. Введите в поле “Additional parameters”:

    {
      "actionsFilter": {
        "a": "main"
      }
    }
    

    Вместо а укажите для какого контекстного действия изменить местоположение на основное окно:

    Контекстное действие Описание
    showTableFilter alt [Filter]
    showTableSummary alt [Summary]
    exportToHtml alt [Export to HTML]
    exportToPdf alt [Export to PDF]
    exportToExcel alt [Export to Excel]
    report [Report…]
    reload alt [Refresh]
    showConstructor alt [Table designer]
    openPivot [Analyze…]
    importFromClipboard alt [Import from clipboard]
    editVersions [Export request to console]
    settings alt [Setup]
  4. Нажмите кнопку alt [Save] для сохранения изменений или кнопку alt [Cancel] для выхода из режима редактирования без сохранения.