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

ДП «Таблица» — справочник настроек

Полный перечень настроек ДП Таблица с указанием где хранится, что делает, ограничения

Настройки таблицы (ExtParamTableCommonSettings)

Вкладка «Дополнительные настройки» в админке ДП.

Настройка (UI) Поле БД Тип Что делает Ограничения
Ключевой столбец KeyColumnId int FK → ExtParamTableSettings Столбец для сопоставления строк при импорте и для множественного выбора Допустимые типы: Текст, Число, Дата, Дата-время, Деньги, Телефон, Lookup, Выпадающий список, RowID. Без ключевого столбца импорт = полная перезапись
Использовать RowID как ключ UseRowIdAsKeyColumn bit При импорте строки сопоставляются по порядковому номеру
Отображать как DisplayMode int Режим: 0 = Таблица, 1 = Ссылка. Динамический набор полей — отдельный флаг DisplayAsDynamicSetOfFields (bit)
Максимальная высота (px) TableMaxHeight int Макс высота области строк; при превышении — вертикальный скролл. По умолчанию высота строк подстраивается автоматически под содержимое ячеек (учитываются переносы текста, превью изображений, кнопки управления). Минимальная высота строки — 150px. Таблица работает без пагинации, единым списком; при достижении максимальной высоты появляется скролл. Предусмотрена кнопка раскрытия таблицы в модальное окно.
Разрешить экспорт ExportEnabled bit Иконка экспорта в правом верхнем углу таблицы Экспортируются только столбцы с включённым ExportEnabled
Разрешить импорт ImportEnabled bit Иконка импорта в правом верхнем углу таблицы Импортируются только столбцы с включённым ImportEnabled; без ключевого столбца -- полная перезапись
Загружать файлы в момент вкладывания UploadWhenFileAttach bit Файл загружается в БД сразу при выборе, а не при сохранении таблицы
Число параллельных загрузок NumberOfParallelDownloads int Количество одновременных загрузок файлов
Файловый провайдер FileProviderId int FK → FileProviders Провайдер хранения файлов для файловых колонок Учитывается только при ручном изменении, смарт-действии «Скачать файл» и LUA. Другие смарт-действия используют провайдер по умолчанию
Сохранять строку после редактирования (автосохранение) AutosaveEnabled bit После Add/Delete/Edit строка сохраняется автоматически; кнопка «Сохранить» скрыта Tab/Enter не сбрасывает выделение ячейки
Создавать строки в модальном окне AddNewRowModal bit При нажатии «+» открывается модальное окно для ввода значений
Включить секции столбцов IsSectionsEnabled bit Включает группировку колонок в секции Требует включённого автосохранения
Режим ширины по умолчанию TableWidthDefault int 0 = По умолчанию, 1 = По размеру экрана, 2 = По содержимому, 3 = По содержимому и заголовкам
Скрыть кнопку добавления строк HideAddRowsButton bit Кнопка «+» скрыта; строки можно добавлять только через множественный выбор
Хранить html представление StoreHtmlPresentation bit Сохранение HTML-представления в GZip для отображения в гриде категории Без этого флага значение не пишется в ExtParamValues.ExtParamValueGZip. Ограничение размера: HTML-снимок ограничен 6900 байт; строки, не поместившиеся в лимит, тихо отбрасываются без предупреждения. Фактическое количество строк в снимке может быть меньше RowsToRender. Данные в таблице сохраняются полностью — ограничение касается только отображения в гриде и Excel-экспорта из грида. В карточке задачи все строки отображаются корректно.
Режим Excel IsExcelMode bit Функция в разработке
Столбец для множественного выбора MultiselectColumnId int FK → ExtParamTableSettings Ключевой Lookup-столбец для режима multiselect Тип столбца = Lookup

Типы столбцов (ExtParamTableSettings.Type)

Тип (UI) Type (tinyint) Особенности
Текст 0 Маска, столбец шаблона значения
Большой текст без форматирования 1 Textarea, без маски
Выпадающий список 2 Опции в ExtParamTableOptions; или ссылка на ДП через ReferencedExtParamId
Текст с маской 3 Маска: Email, Phone, кастомные через спецсимволы (0 = цифра, a = буква, * = любой)
Деньги 4 Поддержка итогов (EnableTotal); диапазон ±922 337 203 685 476.99
Дата и время 5 Формат DD-MM-YYYY hh:mm для дефолтного значения
Дата 6 Формат DD-MM-YYYY для дефолтного значения
Телефон 7 Форматированное отображение
Lookup 8 Настройки через ReferencedExtParamId (→ ExtParams) и LookupParamSettingID (→ LookupParamSettings); поддержка смарт-фильтров, каскадных зависимостей
Чекбокс 9 bool
Число 10 Поддержка итогов (EnableTotal); диапазон ±99 999 999 999 999; настройки через ReferencedExtParamNumberSettings
Файл 11 Мультифайл, сканирование, превью, логирование действий; провайдер наследуется от таблицы
Виртуальная 12 Только для чтения; ссылка на Lookup-столбец + поле категории; наследует настройки Lookup (включая «Отображать как текст»); режим «Невидимая» не поддерживается
Шаблонная 13 Mustache-подобный шаблон: {{c123.stringValue}}; регистрозависимо; без фильтрации
Блок кнопок 14 JS-выражение или смарт-пакет; видимость/активность по колонкам или смарт-фильтру; без фильтрации
Выбор пользователей 15 Настройки через ReferencedExtParamId (→ ExtParams типа Users); перенос строк влияет на множественный выбор

Настройки столбца (ExtParamTableSettings)

Вкладка «Столбцы» в админке ДП.

Настройка (UI) Поле БД Тип Что делает
ID ID int PK Идентификатор столбца
Имя Name varchar Название столбца в UI
Порядок OrderID int Порядок расположения; 0 = по порядку создания
Тип Type tinyint Тип данных (см. таблицу выше)
Режим Mode (в DTO) / Locked + IsHidden (в БД) Необязательно / Обязательно / Только для чтения / Скрытая / Невидимая
Значение по умолчанию DefaultValue varchar Пустое / Фиксированное / Smart-выражение (DefaultValueSmartExpressionId)
Смарт-выражение SmartExpressionId int FK Вычисление значения; вычисляется после сохранения «не-смарт» столбцов; порядок -- по OrderID
Маска Mask varchar Для текстовых столбцов; новая таблица: 0=цифра, a=буква, *=любой
Столбец шаблона значения TemplateColumnId (в ExtParamTableTextColumnSettings) int FK Ссылка на Lookup/Текст столбец с шаблоном RegEx; только для типа Текст
Ширина ColumnWidth int 0 = авто, 1/2/4/6 = диапазон растягивания, другие = px
Макс высота Устаревшее, не используется
Выравнивание Align tinyint 0=лево, 1=центр, 2=право, 3=ширина (не поддерж. в новой таблице)
Прикрепить слева Locked int Фиксация столбца при горизонтальной прокрутке
Итого EnableTotal bit Строка итогов под таблицей; только Число и Деньги
Сортировка по умолчанию DefaultSort (в DTO) / DefaultGroupingOrder (в БД) tinyint 0=нет, 1=по возрастанию, 2=по убыванию; только один столбец; пересортировка срабатывает автоматически после любого изменения значения в строке (ручное редактирование или смарт-кнопка)
Разрешить экспорт ExportEnabled bit Столбец участвует в экспорте; скрытые не экспортируются
Разрешить импорт ImportEnabled bit Столбец участвует в импорте; скрытые и readonly не импортируются
Перенос строк UseLineBreak (в DTO) bit Текст переносится по ширине вместо обрезки; для Users -- ограничение одним пользователем
Название секции SectionId int FK → ExtParamTableSections Принадлежность к секции
Видимость в закрытой секции IsVisibleInClosedSection (в DTO) bit Столбец виден когда секция свёрнута
Видимость в открытой секции IsVisibleInOpenSection (в DTO) bit Столбец виден когда секция развёрнута
Участвует в поиске IsUsedInSearch (в БД) bit Управляет двумя механизмами: (1) Поиск «в полях» — столбец включается в полнотекстовый поиск по задачам категории в режиме «в полях»; (2) Фильтр «Содержит» на колонке ДП Таблица в гриде категории — поиск ведётся только по строкам столбцов, у которых флаг включён. Если флаг отключён у всех столбцов, фильтр «Содержит» вернёт 0 задач. Фильтры «Нет значения» и «Есть значение» от этого флага не зависят. Troubleshooting: если фильтрация по содержимому ДП Таблица не работает / поиск «в полях» не находит значения из таблицы — первым делом проверить этот флаг. Также требуется настроенный шаблон (ItemTemplate) и StoreHtmlPresentation = true. См. docs/domains/grids/support-guide.md § 1.3.
Логировать действия с файлами IsLogFileReadsAction (в DTO) bit Запись в журнал Диск; только для типа Файл
Локализованное название LocalizedNameId int FK → LocalizedBusinessObjects Перевод названия столбца
Ссылка на ДП ReferencedExtParamId int FK → ExtParams Для Lookup, Select, Users, Number -- ДП-источник настроек
Виртуальная: Lookup-столбец VirtualColumnReferencedLookupColumnId int FK Lookup-столбец, из которого берётся ссылка на задачу
Виртуальная: ДП категории VirtualColumnReferencedExtParamId int FK → ExtParams Поле категории для отображения
Настройки Lookup LookupParamSettingID int FK → LookupParamSettings Полные настройки Lookup (фильтры, каскады, вид)
Источник данных DataSource, DataValueField, DataTextField varchar Для Выпадающего списка -- SQL или набор опций
Set of elements as DataSource SetOfElementsAsDataSource (в DTO) bit Опции берутся из ExtParamTableOptions

Дополнительные настройки столбцов по типам

Lookup

Настраивается через создание/выбор ДП типа Lookup (ReferencedExtParamId). Наследует все настройки ДП Lookup: категория, смарт-фильтр, каскадные зависимости, вид.

Выбор пользователей

Настраивается через создание/выбор ДП типа Users (ReferencedExtParamId). Настройки: группы, фильтры пользователей.

Выпадающий список

Варианты: через ExtParamTableOptions (локальные опции) или через ReferencedExtParamId → ДП типа List.

Файл

Настройка Описание
Разрешить сканирование Иконка сканирования при добавлении строки
Создавать системные копии при акцепте подписи Системная копия файла при подписании
Отображать превью для картинок Превью с размерами; не работает для мультифайл
Мультифайл Несколько файлов в ячейке
Работа с Word Наследует настройки ДП «Файл» (блок «Работа с файлами Word»)

Число

Настраивается через ДП типа Число (ReferencedExtParamId). Диапазон: ±99 999 999 999 999.

Деньги

Настраивается через ДП типа Деньги (ReferencedExtParamId). Диапазон: ±922 337 203 685 476.99.

Виртуальная

Настройка Описание
Lookup-столбец Уже настроенный Lookup-столбец в этой таблице
ДП категории Параметр из категории, на которую смотрит Lookup
Превью (для файлового ДП) Высота/ширина превью, флаг отображения

Режим: только для чтения. Режим «Невидимая» не поддерживается.

Шаблонная

Mustache-подобный шаблон. Синтаксис: {{c123.stringValue}} где 123 = ID столбца. Регистрозависимо. Фильтрация по столбцу невозможна.

Блок кнопок

Настройка Описание
Имя Текст на кнопке (если нет иконки) или tooltip (если есть)
Описание Tooltip при отсутствии иконки
Иконка Из набора /spa/content-icons
JavaScript выражение JS-код; доступны event.originalEvent, event.data, event.block.reload/freeze/unfreeze
Колонка идентификатора (int) Столбец с ID объекта для смарт-пакета
Пакеты действий Смарт-пакет по нажатию; доступны: ID объекта, JSON строки, ID кнопки, текущий пользователь
URL Смарт-выражение → URL для модального окна после смарт-пакета
Колонка видимости (bool) Столбец, определяющий видимость кнопки
Колонка активности (bool) Столбец, определяющий активность кнопки
Сообщение при успехе Текст после успешного выполнения
Сообщение при ошибке Текст при ошибке
Информационное сообщение при нажатии Подтверждение перед выполнением
Режим видимости Смарт-фильтр: Блокировать (disabled) или Скрыть (hidden)

JS или смарт-пакет -- взаимоисключающие. Фильтрация по столбцу невозможна. При нажатии все кнопки автоблокируются; разблокировка через event.block.unfreeze().

Секции столбцов (ExtParamTableSections)

Настройка Поле БД Описание
Имя SectionName Название секции
Порядок SectionOrder Порядок расположения
По умолчанию развёрнуто IsDefaultExpanded Секция развёрнута или свёрнута

Требования: включён флаг IsSectionsEnabled и AutosaveEnabled в настройках таблицы.

Для каждого столбца: SectionId + IsVisibleInClosedSection + IsVisibleInOpenSection.

Множественный выбор (Multiselect)

Настройка: MultiselectColumnId → Lookup-столбец в таблице.

Во вкладке «Настройки множественного выбора»: для каждого столбца -- флаг «Использовать в множественном выборе», ширина, порядок, прикрепление.

Кнопка multiselect не отображается в следующих случаях: - В задаче активны настройки «Ограничить добавление новых строк» или «Ограничить удаление строк» (из настроек ДП в подкатегории). - Таблица открыта в NTF (форме постановки задачи) — кнопка не отображается до момента создания задачи. Это ожидаемое ограничение, не баг.

Права доступа к столбцам

По группам пользователей (ExtParamTableSettingsInSubcatGroupPermissions)

Настраивается per столбец + per подкатегория. Режим контроля: GroupAccessControlMode.

По статусам задачи (ExtParamTableSettingsInSubcatStatePermissions)

Настраивается per столбец + per подкатегория. Включается флагом StateAccessControlEnabled.

AccessType: чтение / запись.

Шаблон в табличных представлениях (ExtParamTableTemplate)

Для отображения ДП Таблица в гриде категории.

Настройка Поле БД Описание
Использовать шаблон Enabled Активация шаблона
Отображать количество строк RenderTotalRows Показ общего числа строк
Количество отображаемых строк RowsToRender Сколько первых строк рендерить; 0 = пустой объект, без HTML
Заголовок HeaderTemplate HTML в начале
Шаблон строки ItemTemplate HTML с тегами <cell columnid="..."> для каждой строки
Разделитель SeparatorTemplate HTML между строками
Футер FooterTemplate HTML в конце
Хранить html представление StoreHtmlPresentation в CommonSettings GZip-хранение в ExtParamValues.ExtParamValueGZip
Синхронизировать существующие задачи Пересчёт HTML для существующих задач при изменении шаблона

HTML-представление хранится в ExtParamValues.ExtParamValueGZip. При денормализации → ExtParamNativeValue. Job TableExtParamValuesGZipCompressJob каждые 3 минуты сжимает по 10000 строк.

С версии 2.265: значение ДП Таблица не хранится в ExtParamValues.ExtParamValue и TasksInSubcatXXXDenormalized.ExtParamXXXValue. Наличие в ExtParamXXXNativeValue зависит от флага «Хранить html представление».

Импорт/экспорт Excel

Экспорт: выгрузка в XLS. Первая строка -- названия столбцов. Lookup -- текст задачи. Файл -- ссылка на файл.

Импорт: XLS/XLSX, одна страница.

Режим Описание
С заголовками (опция включена) Сопоставление по названиям столбцов
Без заголовков (опция выключена) Сопоставление по порядку столбцов

Важно: - Без ключевого столбца: полная перезапись (все строки удаляются, загружаются новые) - С ключевым столбцом: строки матчатся по ключу (обновление + добавление новых) - Файловые столбцы при импорте игнорируются - Lookup при импорте: можно использовать текст задачи или ID задачи - Скрытые и readonly столбцы не импортируются - Имена столбцов не должны содержать лишних пробелов