Документы

Данный модуль предназначен для просмотра и редактирования представлений данных из разных источников в интерфейсе. В том числе, позволяет внешним системам использовать HTTP API для записи данных в объект целевого получателя данных, привязанный к документу (например,записывать данные через API в таблицу хранилища данных на PostgreSQL).
Представление документа настраивается через пункт меню «Документы», с помощью визуального JSON-конструктора.

Форма для работы с Документами доступна через пункт меню «Документы».
Через форму можно выбрать просмотреть список доступных документов, открыть настроенную таблицу.
В дополнительных параметрах доступен просмотр атрибутов документа.

Создание документа

Для добавления таблицы в Документы требуется создать документ с провайдером, настроенным для подключения. При отсутствии провайдера его можно создать в форме создания выбрав опцию "Создать провайдер"

1._Для создания документа, связанного с таблицей БД, необходимо перейти на страницу «Управление документами», используя пункт «Документы» в левом меню, и нажать кнопку «Создать».

2._На открывшейся форме заполнить поля:

  • Наименование: Наименование документа, использующееся для работы в системе
  • Провайдер: Подключение, используется для получения данных
  • Статус: Статус документа (при неактивном статусе внесение изменений в данные документа недоступно)
  • Связанные отчеты: Отчеты, использующие параметры из документа
  • Описание: Описание структуры документа в json формате в конструкторе.

При отсутствии провайдера в списке введите наименование нужного вам провайдера и нажмите на опцию "Создать"

В появившейся форме заполните данные по полям:

  • Наименование: Опционально наименование
  • Код: Системное наименование для использования при настройке объектов системы
  • Хост: Ip-адрес или доменное имя хоста с развернутой БД
  • Порт: Порт БД
  • База данных: Наименование БД
  • Логин: Логин пользователя БД
  • Пароль - Пароль пользователя БД

И нажмите кнопку "Создать", созданный провайдер подставиться в поле "Провайдер"

3._Нажмите кнопку «Создать» для создания документа.

Созданный документ появится в списке доступных документов.

Для просмотра созданного документа нажмите на наименование

Описание документа

Основные параметры для описания:

  • Столбцы
  • Сущность
  • Установки
  • Расчетные опции

Столбцы

Столбцы (columns) - форма, содержащая основные столбцы для документа.

  • Группа: набор групп столбцов, на текущий момент поддерживается только одна группа
    • Основные (fields)
      • Элементы группы: набор столбцов с описанием из свойств, доступны следующие свойства:
        • Атрибут (name): Наименование столбца в таблице источника
        • Тип (type): Тип атрибута для редактирования ячеек столбца, по умолчанию являются «строкой» поле является списковым, возможные значения: Строка, Число, Дата и время, Дата, Время, Логический, Лукап, Выбор из списка, Текст. Также отвечает за отображения данных до версии 1.2.0!
        • Первичный ключ (primary): Столбец, в котором каждое значение в поле является уникальным. В документе должен быть 1 столбец, который имеет признак первичного ключа, доступно применение составных первичный ключей, в котором признак присвоен нескольким столбцам.
        • Тип данных (dataType): Тип атрибута из источника, который будет передан при сохранении данных. Отвечает за отображение данных с версии 1.2.0
        • Расчетный (calculated): признак виртуального атрибута
        • Значение по умолчанию (default): значение, передающееся в ячейку по умолчанию при редактировании или добавлении новых строк
        • Редактируемый (editable): признак, отвечающий за возможность редактировать ячейки столбца
        • Внешний ключ (foreign): признак атрибута, не относящегося к целевой таблице
        • Формат (format):  тип представления данных в таблице, доступно Текст и Markdown
        • Скрытый (hidden): признак, отвечающий за скрытие столбца в таблице
        • Игнорируемое значение (ignore): при вводе значения, указанного в этом поле, значение не будет записываться в бд
        • Выравнивание (justify): выравнивание значений внутри ячейки столбца. Доступно: Влево, По центру, Вправо
        • Наименование (label): Наименование колонки в таблице
        • Лукап (lookup): Настройки для лукапа
        • Опции (options): Опции, поддерживают sql, json, список опций – доступно задание списков для типов колонок выбор из списка
        • Ключевой атрибут (parent): это ключ в родительской таблице, на который ссылается внешний ключ в другой (дочерней) таблице.
        • Маска (pattern): паттерн, по которому валидируется вводимое значение в атрибут
        • Только для чтения (readonly): признак указывает, что атрибут не редактируем и доступен только для просмотра
        • Обязательный (required): Указывает, что поле не может быть пустым
        • Период действия (role): применяется для историчных данных, доступно Начало действия, Окончания действия
        • Ширина (width): ширина колонки в таблице, указывается в пикселях
        • Перенос (wrap): перенос данных в ячейке по ширине, доступно: Перенос по словам, Без переноса

Установки

Установки (setup) - позволяет отображать в документы лукапы (данные из справочников) и настраивать фильтры по столбцам документа. Состоит из следующих параметров для настройки

Фильтры (filters)

  • Группа: набор групп столбцов, на текущий момент поддерживается только одна группа
    • Столбцы группы: набор фильтров по документу, разделенных по типам
      • Фильтр (name): наименование столбца в источнике для фильтрации
      • Наименование (label): наименование фильтра в интерфейсе
      • Атрибут (column): наименование столбца по которому происходит фильтрации
      • Тип (type): тип фильтра
      • Условия фильтрации (operations): условия, доступные для использования в фильтре

Лукапы (lookups)

  • Ключ лукапа: форма лукапа позволяющая пользователю задать ключ для идентификации лукапа в столбцах документа
    • Заголовок (label) : заголовок таблицы лукапа
    • Сущность (entity) : таблица источника для получения данных
    • Столбцы (columns) : описание столбцов лукапа, соответствует настройки столбов основного датасета с ограниченным набором свойств

Редактирование документов

Добавление записи

Добавление записи в документ доступно по кнопке "Добавить"
При фокусе на ячейку какой либо строки, новая запись добавиться под этой строкой
При отсутствии выделенных ячеек запись добавиться под шапкой наименования столбцов таблицы

Поячеечное редактирование

Редактирование ячейки доступно при клике на ячейку документа, формат вводимых данных контролируется типом указанным при создании документа в описании в поле столбца «Тип».

Массовое редактирование ячеек

Доступно массовое редактирование ячеек столбца для выделенных строк. Для перехода в режим массового редактирования нужно выделить строки через чекбокс и нажать на кнопку «Массовое редактирование» .

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

Выход из режима массового редактирования доступен по кнопке «Массовое редактирование» (2) или при снятии чекбоксов с выделенных строк (1)

Копирование строк

Копирование строк доступно при наличии выделенной строки через чекбокс,, либо при наличии выделенной строки редактированием по кнопке «Дублировать»

Скопированная строка добавляется под строкой, которую скопировали. Ячейка, которая является «Первичным ключом» не копируется.

Удаление.

Удаление строк доступно при наличии выделенной строки редактированием или выделением строки через чекбокс по кнопке «Удалить» .

Сохранение изменений.

Сохранение изменений доступно при клике на кнопку «Сохранить» Отмена изменений доступна по кнопке «Отмена»

Полноэкранный режим

Доступен по кнопке «Развернуть» в шапке наименования документа

Все строки на странице

Доступен по кнопке «Все» на панели переключения по страницам

Экспорт

Экспорт доступен по кнопке "Экспорт" , данные экспортируются в формате csv При наличии выделенных строк через чекбокс экспортируются только выделенные строки. При отсутствии выделенных строк экспортируется вся страница. При необходимости экспортировать всю страницу переключите отображение всех строк на странице и нажмите кнопку экспорта.

По умолчанию используется кодировка UTF-8, для открытия файла в excel откройте файл через и выберите нужную кодировку.

Импорт

Экспорт доступен по кнопке "Импорт" , данные принимаются только в формате csv

Для корректной загрузки требуется использовать кодировку UTF-8, для всех столбцов должны быть заполнены заголовки, сопоставление столбцов осуществляется по ним.

Правила для работы с файлом импорта: 1. Для столбцов с типами: "Строка", "Текстовая область", "Дата", "Дата и время", "Время", "Лукап", "Выбор из списка" значения в файле должны быть обернуты в двойные ковычки "value" 2. Для столбцов с типами: "Логический", "Число" ковычки не требуются 3. Разделителем является ;, при указании других разделителей данные не будут загружены 4. Проверьте наличие и правильность написания заголовкой, они должны совпадать с данными, указанными в описании.

Для просмотра корректной структуры файла воспользуйтесь экспортом, вы также можете использовать его как шаблон

API

Создание записей

mutation ($input: AddEntriesDatagridInput!) {
  public {
    datagrid {
      addEntries(input: $input) {
        ok
        errors {
          ... on ErrorInterface {
            message
          }
        }
      }
    }
  }
}
{
  "input": {
    "token": "******",
    "entries": [
      "[null,\"pte\",\"qwerth\",\"2021-01-25\"]"
    ]
  }
}
mutation ($input: EditEntriesDatagridInput!) {
  public {
    datagrid {
      editEntries(input: $input) {
        ok
        errors {
          ... on ErrorInterface {
            message
          }
        }
      }
    }
  }
}

Удаление записей

mutation ($input: DeleteEntriesDatagridInput!) {
  public {
    datagrid {
      deleteEntries(input: $input) {
        ok
        errors {
          ... on ErrorInterface {
            message
          }
        }
      }
    }
  }
}
{
  "input": {
    "token": "******",
    "entries": [
      "[2,\"pte\",\"qwerth\",\"2021-01-25\"]"
    ]
  }
}

чтение записей

query ($input: DatagridDatasetInput) {
  public {
    datagrid {
      dataset(input: $input) {
        entries
      }
    }
  }
}
{
    "input": {
       "token": "******"
    }
}