.. _new_journal: Создание нового журнала ============================================ .. contents:: :depth: 3 **Журнал** в Citeck — табличное представление записей определённого типа данных, предоставляющее возможности поиска, фильтрации, сортировки, группировки и выполнения действий над объектами. Конфигурации журналов доступны в рабочем пространстве **«Раздел администратора»** → **«Конфигурация UI»** → **«Журналы»**. Для создания нового журнала нажмите **+** и выберите **«Создать конфигурацию журнала»**. Форма создания нового журнала состоит из следующих вкладок: .. 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 - **Добавить колонки** - **[уточнить]** - * - 6 - **Настроить виджеты** - :ref:`Настройка виджетов предпросмотра ` данных карточки - * - 7 - **Скрывать действия импорта данных** - Скрыть кнопку :ref:`импорта данных ` - * - 8 - **Добавить действия из типа** - | Добавляет действия, которые были добавлены в типе данных. | Возможны три значения: | — **empty (null)** — если actions и actionsDef пустые, то добавляем действия из типа; | — **true** — всегда добавляем действия из типа; | — **false** — никогда не добавляем из типа. - empty (null) / true / false * - 9 - **Действия** - Выбрать из списка действия, которые будут доступны для объектов журнала (инлайн-действия в строке) - выбирается из списка предлагаемых * - 10 - **Тип данных** - | Выбрать из списка тип данных, созданный ранее. | Можно не выбирать — достаточно связи: | тип → журнал | тип → форма | Обратная связь нужна только в случаях, когда для одного типа есть много форм или много журналов. - выбирается из списка предлагаемых * - 11 - **Системное имя** - Id :ref:`атрибута модели ` - testAttribute * - 12 - **Название колонки** - Имя колонки, которое будет отображаться - Тестовый атрибут * - 13 - **Тип данных** - Тип поля. :ref:`Поддерживаемые типы ` - выбирается из списка предлагаемых * - 14 - **Дополнительно** - Дополнительные настройки колонки. См. :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:: json { "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 Критерий поиска отправляется на сервер, сервер выполняет постраничное выполнение группового действия. **Выполнить как для записей** Флаг определяет, что логику по перебору страниц и выполнению группового действия выполнять на фронтенде (например, для работы с ЭЦП). .. _advanced_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».