.. _new_journal: Создание нового журнала ======================== .. contents:: :depth: 3 Форма создания нового журнала состоит из следующих вкладок: .. image:: _static/new/new_3_1.png :width: 400 :align: center :ref:`Основные` – основные характеристики журнала. :ref:`Действия` - настройка действий, доступных для журнала. :ref:`Расширенные настройки` - дополнительные настройки журнала. .. _journal_main: Основные --------- .. image:: _static/new/new_4.png :width: 600 :align: center .. list-table:: :widths: 10 30 30 30 :header-rows: 1 :align: center :class: tight-table * - п/п - Наименование - Описание - Пример заполнения * - 1 - **Идентификатор журнала(обязательное)** - Уникальный идентификатор журнала - test_journal (kebab_case) * - 2 - **Название журнала** - Имя журнала, которое будет отображаться - Тестовый журнал * - 3 - **Разрешить редактирование значений в ячейках** - Возможность инлайн редактирования – редактирование данных непосредственно в ячейке. - Флаг * - 4 - **Добавить колонки** - **[уточнить]** - * - 5 - **Добавить действия из типа** - | Добавляет действия, которые были добавлены в типе данных. | Возможны три значения: | - **empty (null)** - если actions и actionsDef пустые, то добавляем действия из типа | - **true** - всегда добавляем действия из типа | - **false** - никогда не добавляем из типа - true * - 6 - **Действия** - Выбрать из списка действия, которые будут доступны для объектов журнала (инлайн действия в строке) - выбирается из списка предлагаемых * - 7 - **Тип данных** - | Выбрать из списка тип данных, созданный ранее. | Можно не выбирать - достаточно связи: | тип -> журнал | тип -> форма | Обратная связь нужна только в случаях, когда для одного типа есть много форм или много журналов. - выбирается из списка предлагаемых * - 8 - **Системное имя** - Id :ref:`атрибута модели` - testAttribute * - 9 - **Название колонки** - Имя колонки, которое будет отображаться - Тестовый атрибут * - 10 - **Тип данных** - тип поля. :ref:`Поддерживаемые типы` - выбирается из списка предлагаемых * - 11 - **Дополнительно** - Дополнительные настройки колонки. См. :ref:`ниже` - Колонки можно перемещать, удалять. .. _additional_column_settings: Дополнительные настройки колонки ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: _static/new/new_5.png :width: 500 :align: center .. list-table:: :widths: 10 30 30 :header-rows: 1 :align: center :class: tight-table * - п/п - Наименование - Описание * - 1 - **Атрибут для загрузки (по умолчанию системное имя)** - :ref:`Использование выражений в журналах` * - 2 - **Можно ли искать по атрибуту** - Разрешить поиск по атрибуту * - 3 - **Можно ли искать в шапке колонки** - Разрешить поиск в шапке колонки * - 4 - **Можно ли сортировать** - Разрешить сортировку по колонке * - 5 - **Задать ширину колонки в пикселях** - | Предустановка ширины колонки в пикселях. | Изменения ширины колонки :ref:`ползунком` сохраняются и считаются приоритетнее. * - 6 - **Можно ли группировать** - Разрешить группировку по колонке * - 7 - **Можно ли редактировать в таблице** - | Инлайн редактирование по клику на значение. | В зависимости от типа данных доступен различный вариант редактирования. **[уточнить]** * - 8 - **Отображать по умолчанию** - Разрешить колонку отображать по умолчанию * - 9 - **Скрытая колонка** - Можно искать по колонке, но её нельзя вывести в таблицу * - 10 - **Множественное значение** - | Сколько значений может быть в ячейке: | - ``false`` - 0-1 | - ``true`` - сколько угодно * - 11 - **Форматтер для колонки** - Указать форматтер :ref:`см. Форматтеры` * - a - **Конфигурация форматтера** - Ключ и значение при необходимости * - 12 - **Редактор для колонки** - Указать редактор :ref:`см. Редакторы` * - a - **Конфигурация редактора** - Ключ и значение при необходимости * - 13 - **Конфигурация фильтра в заголовке** - **[уточнить]** * - а - **Тип редактора** - Указать редактор :ref:`см. Редакторы` * - 14 - **Search config** - Конфигрурация поиска * - а - **Разделители** - Возможность установки и настройки разделителя для массива значений * - b - **Идентификатор источника данных (по умолчанию пустой)** - **[уточнить]** * - c - **Запрос** - Тело запроса * - d - **Количество записей подзапроса** - Выводимое количество записей подзапроса * - e - **Настраиваемый атрибут (по умолчанию пустой)** - **[уточнить]** * - f - **Атрибут для поиска** - | Параметр используется в интерфейсе при построении запроса с фильтром по столбцу (``searchAttribute``). | При построении запроса с фильтром по столбцу и наличии ``searchAttribute`` в конфигурации столбца, нужно подменять атрибут для поиска значением из ``searchAttribute``. См. :ref:`подробно` * - 15 - **Panel** - **[уточнить]** .. _journal_actions: Действия --------- .. image:: _static/new/new_6.png :width: 600 :align: center .. list-table:: :widths: 10 30 30 :header-rows: 1 :align: center :class: tight-table * - п/п - Наименование - Описание * - 1 - **ID** - Уникальный идентификатор * - 2 - **Имя** - Наименование действия * - 3 - **Размер батча** - Размер запроса * - 4 - **Количество параллельных батчей** - Указать сколько запросов запускается одновременно * - 5 - **Сообщение при ошибке timeout** - Ввести текст сообщения об ошибке * - 6 - **Предикат** - Указать предикат. См. подробно :ref:`Язык предикатов ` * - 7 - **Тип** - Указать тип (:ref:`действия`) * - 8 - **Модуль предварительной обработки** - Указать ссылку на модуль, содержащий JS-код * - 9 - **Конфигурация** - Ключ и значение при необходимости * - 10 - **Название формы подтверждения** - Наименование формы * - 11 - **Текст подтверждения** - Текст подтверждения * - 12 - **Форма** - Форма, которая открывается при выборе действия. Форма выбирается из списка предлагаемых * - 13 - **Параметры формы подтверждения** - Ключ и значение при необходимости * - 14 - **Применимость** - Применить для записи, записей, поискового запроса. См. :ref:`подробно ниже` Пример группового действия согласования выбранных заявок: .. image:: _static/new/new_8.png :width: 600 :align: center .. list-table:: :widths: 10 30 30 :header-rows: 1 :align: center :class: tight-table * - п/п - Наименование - Значение * - 1 - **ID** - ecos-finance.fin-req-selected-approve * - 2 - **Имя** - Согласовать выбранные заявки * - 3 - **Размер батча** - 0 * - 4 - **Количество параллельных батчей** - 1 * - 5 - **Сообщение при ошибке timeout** - не указано * - 6 - **Предикат** - не указано * - 7 - **Тип** - server-group-action * - 8 - **Модуль предварительной обработки** - не указано * - 9 - **Конфигурация** key value - | - **id**: ``complete-document-task`` - **title**: ``{"ru":"Согласовать выбранные заявки","en":"Approve selected requests"}`` - **type**: ``selected`` - **params**: .. code-block:: { "actionId": "complete-document-task", "tasks": "[{\"taskId\": \"confirm-task\", \"transition\": \"Approve\"}]", "defaultComment": "Send from mass approve", "workflowDefinitions": "[\"finreq-ar\",\"flowable-confirm-sub-process\",\"flowable-confirm-sub-process-fin-ap\"]" } * - 10 - **Название формы подтверждения** - не указано * - 11 - **Текст подтверждения** - не указано * - 12 - **Форма** - не указано * - 13 - **Параметры формы подтверждения** - не указано * - 14 - **Применимость** - все true .. _applicability: Применимость ------------- .. image:: _static/new/applicability_1.png :width: 400 :align: center 1. **Для записи** Действия для записи в журнале: .. image:: _static/new/ForRecord_1.png :width: 600 :align: center в карточке в виджете "Действия": .. image:: _static/new/ForRecord_2.png :width: 600 :align: center 2. **Для записей** Действия над выбранными записями: .. image:: _static/new/ForRecords_1.png :width: 600 :align: center 3. **Для запроса** Действия над отфильтрованными записями: .. image:: _static/new/ForQuery_1.png :width: 600 :align: center Критерий поиска отправляется на сервер, сервер выполняет постраничное выполнению группового действия. **Выполнить как для записей** Флаг определяет, что логику по перебору страниц и выполнению группового действия выполнять на фронтенде (например, для работы с ЭЦП). .. _journal_settings: Расширенные настройки ---------------------- .. image:: _static/new/new_7.png :width: 600 :align: center .. list-table:: :widths: 10 30 30 :header-rows: 1 :align: center :class: tight-table * - п/п - Наименование - Описание * - 1 - **Идентификатор источника данных** - **[Уточнить в каком виде и что из себя представляет]** * - 2 - **Предикат** - Ввод предиката. :ref:`Язык предикатов ` * - 3 - **Дополнительные свойства** - Свойства, которые позволяют какую-то произвольную информацию добавлять к журналу без необходимости делать доработку системы. * - 4 - **Фильтры по умолчанию** - | Добавить фильтр по умолчанию. | например, ``{"t":"eq","att":"name","val":"123"}`` | Фильтр по атрибуту ``name`` - значение атрибута = ``123`` * - 5 - **Группировать по** - Добавить колонки для группировки. * - 6 - **Сортировка по умолчанию** - Указать атрибуты для сортировки по умолчанию. * - 7 - **Search Config** - | Конфигурация поиска. * - a - **Поле поиска** - | Снятый чекбокс - панель поиска по записям журнала скрыта. | Если чекбокс снят, то поисковый запрос через url с query-параметром игнорируется. * - b - **Разделители** - | Разделители при поиске, чтобы в одной строке можно было указать УСЛОВИЕ_1 ИЛИ УСЛОВИЕ_2. | Т.е. например, если разделитель у нас "|", то при поиске "Содержит abc|def" мы по факту получим поисковый запрос "Содержит abc ИЛИ Содержит def"