Дополнительные параметры — Решение проблем¶
Аудитория: ТП 1-й линии (без доступа к БД)
Как пользоваться этим документом¶
Документ организован по типам проблем — от самых частых к менее частым. Для каждой проблемы: 1. Симптом — что видит/описывает клиент 2. Что проверить — шаги диагностики без доступа к БД 3. Решение — что посоветовать или сделать 4. Эскалация — когда передавать на 2-ю линию
Секции [2L] содержат заглушки для будущей SQL-диагностики (2-я линия).
1. ДП Таблица¶
Самая частая тема — ~35% всех обращений по ДП. Типичные жалобы: не работает фильтрация, множественный выбор, значения по умолчанию, автосохранение, отображение.
1.1 Фильтрация в ДП Таблица не работает¶
Симптом: пользователь пытается фильтровать строки в табличном ДП, фильтр не реагирует или показывает все строки.
Что проверить: - Версия системы — фильтрация в ДП Таблица поддерживается начиная с определённых версий (уточнить у клиента версию) - Тип колонки — не все типы колонок поддерживают фильтрацию (lookup-колонки могут не фильтроваться) - Настройка категории — включена ли фильтрация для этого ДП Таблица в настройках категории
Решение: - Убедиться, что версия актуальная - Проверить, что фильтрация включена в настройках ДП Таблица - Если проблема с конкретным типом колонки — зафиксировать какой именно тип и версию
Эскалация: если фильтрация включена, версия актуальная, но не работает — эскалация с указанием: ID категории, ID ДП, тип проблемной колонки, версия.
1.2 Множественный выбор в ДП Таблица¶
Симптом: при использовании множественного выбора строк — не все позиции добавляются, появляются пустые строки, кнопка «Применить» не работает.
Известное ограничение: кнопка «Множественный выбор» не отображается в NTF (форма постановки задачи). Это ожидаемое поведение — не эскалировать. Множественный выбор доступен только после создания задачи, в MTF.
Что проверить: - Количество выбираемых элементов — есть ли ограничение в настройках - Воспроизводится ли при выборе небольшого количества (2-3 элемента) - Есть ли обязательные поля в строке таблицы
Решение: - Попросить клиента попробовать с меньшим количеством элементов - Проверить, не блокирует ли обязательное поле сохранение - Если проблема стабильно воспроизводится — фиксировать шаги
Эскалация: с описанием шагов воспроизведения, ID категории, ID ДП.
1.3 Значения по умолчанию в ДП Таблица¶
Симптом: значение по умолчанию не появляется при создании задачи (НТФ), удаляется после сохранения строки, рассчитывается некорректно.
Что проверить: - Настроено ли значение по умолчанию в настройках колонки ДП Таблица - Тип значения по умолчанию — статическое или через смарт-выражение - Если смарт-выражение — корректно ли оно (нет ли ошибки в логике)
Решение: - Проверить настройку значения по умолчанию в админке - Если смарт — попросить клиента показать текст смарт-выражения - Для НТФ: проверить, не стоит ли флаг «Не копировать значение из родительской задачи»
Эскалация: если настройка корректна, но значение не появляется.
1.4 Автосохранение и обновление ДП Таблица¶
Симптом: после отработки автоматизации/действия значения в таблице не обновляются, при включённом автосохранении очищаются значения.
Что проверить: - Включено ли автосохранение строк в настройках ДП Таблица - Происходит ли проблема после конкретного действия/перехода или при ручном редактировании - Версия системы
Решение: - Попросить клиента обновить страницу (F5) — если после обновления данные на месте, проблема в отображении - Если данные пропали и после обновления — эскалация
Эскалация: с указанием: ID задачи где пропали данные, ID ДП, какое действие вызвало проблему.
1.5 Отображение и форматирование ДП Таблица¶
Симптом: некорректное отображение дат (день/месяц перепутаны), обрезание названий лукапов, нет названия при открытии в отдельной вкладке, проблемы с высотой строк и секциями.
Что проверить: - Локаль браузера (для проблем с датами) - Ширина колонок — достаточна ли для отображения содержимого - Секции — если включены, проверить нет ли конфликта с другими ДП под таблицей
Решение: - Даты: проверить локаль браузера, формат дат в настройках ДП - Ширина: предложить настроить ширину колонок - Секции: известная проблема — если под таблицей с секциями нет других ДП, таблица может обрезаться
1.6 Лукап-колонка в ДП Таблица¶
Симптом: не сохраняется значение в выпадающем списке или лукапе внутри таблицы, иерархический лукап не ищет, @eventparam3 возвращает лишние значения.
Что проверить: - Тип колонки (lookup, выпадающий список, иерархический lookup) - Источник данных лукапа — доступна ли категория-справочник - Есть ли связанные/зависимые колонки
Решение: - Проверить, что категория-справочник доступна и содержит задачи - Для иерархического лукапа — проверить настройку иерархии в категории-справочнике
Эскалация: если источник данных корректен, но выбор не сохраняется.
1.7 Права и доступ к ДП Таблица¶
Симптом: пользователь не может редактировать табличный ДП, хотя по матрице доступа права есть. Гибкие права или проверка по статусам не работает для колонок с множественным выбором.
Что проверить: - Права по матрице доступа для ДП в этой категории - Права по статусам — в каком статусе задача - Гибкие права — настроены ли EPRights
Решение: - Проверить текущий статус задачи и права ДП в этом статусе - Если матрица доступа показывает права, но пользователь не может редактировать — проверить нет ли конфликта с правами по статусам
Эскалация: с указанием: ID пользователя, ID задачи, ID ДП, текущий статус.
[2L] SQL-диагностика: см. admin.md → Q6 (ExtParamStateView), Q4 (EPRights).
1.8 Печать ДП Таблица¶
Симптом: при печати МТФ содержимое ДП Таблица не отображается, отображается пустым или с нарушенной вёрсткой.
Что проверить: - Используется ли стандартный механизм печати (Ctrl+P) или кастомный шаблон - Количество строк и колонок в таблице — большие таблицы могут не влезать - Браузер клиента
Решение: - Для стандартной печати: это известное ограничение — ДП Таблица может некорректно рендериться в print-режиме - Рекомендовать использование экспорта (если доступен) вместо печати - Если критично — эскалация как feature request
1.9 Скрытие кнопки добавления строк на НТФ¶
Симптом: настройка «Скрыть кнопку добавления строк» не работает на НТФ (форма постановки задачи), хотя на МТФ кнопка скрыта.
Что проверить: - Включена ли настройка в параметрах ДП Таблица - Проверить на МТФ — если там работает, проблема специфична для НТФ
Решение: - Известное ограничение: ряд настроек ДП Таблица не применяется на НТФ (аналогично кнопке «Множественный выбор») - Эскалация как bug/feature request с указанием ID ДП и категории
1.10 Дублирование ДП при совпадении ID пользовательского и системного блока¶
Симптом: ДП отображается дважды на форме задачи, если он привязан к пользовательскому блоку ДП, чей ID совпадает с ID системного блока.
Что проверить: - Привязан ли ДП к пользовательскому блоку - Есть ли системный блок с тем же ID (коллизия после переноса или ручного создания)
Решение: - Эскалация на 2-ю линию — требуется корректировка ID блока в БД - Предупредить: при ручном создании блоков через SQL возможны коллизии с системными ID
2. Lookup / Multilookup / Иерархический справочник¶
Вторая по частоте тема — ~20% обращений. Типичные жалобы: не работает поиск, не подгружаются задачи, иерархия не отображается, фильтрация в гриде лукапа.
2.1 Иерархическое представление не работает¶
Симптом: не отображаются ветки в иерархии, поиск в иерархии не работает, ошибки при открытии иерархического представления.
Что проверить: - Настроено ли иерархическое представление в настройках ДП лукап - Есть ли в категории-справочнике подкатегории (иерархия строится по подкатегориям) - Достаточно ли прав у пользователя на категорию-справочник
Решение: - Проверить настройку «Иерархия» в параметрах лукапа - Убедиться, что категория-справочник имеет подкатегории с задачами - Проверить права пользователя на категорию-справочник
Эскалация: если настройка корректна, права есть, но иерархия не показывается.
2.2 Задачи не подгружаются / подгружаются не все¶
Симптом: при открытии лукапа список задач пуст или неполный, «не подгружаются задачи, если их много».
Что проверить: - Количество задач в категории-справочнике (при большом количестве возможны лимиты) - Настройки фильтрации лукапа — есть ли фильтр по статусам (AllowedStates) - Права пользователя на задачи в категории-справочнике
Решение: - Если задач много (>10000) — это известное ограничение, рекомендовать настроить фильтрацию - Проверить AllowedStates — возможно, фильтр по статусам отсекает нужные задачи - Проверить права
Эскалация: если задач немного, фильтры корректны, но список пуст.
2.3 Поиск в лукапе не работает¶
Симптом: поиск по тексту/цифрам в лукапе не даёт результатов или ищет некорректно.
Что проверить: - Что именно пользователь вводит в поиск (текст задачи? значение ДП?) - Настройку отображаемых полей лукапа — по каким полям идёт поиск - Тип лукапа — обычный, выпадающий, грид+поиск
Решение: - Поиск ищет по тексту задачи и отображаемым полям лукапа - Если поиск по цифрам — убедиться, что поле числовое, а не строковое - Для грида: поиск работает по видимым колонкам
2.4 Multilookup — проблемы выбора и отображения¶
Симптом: при выборе всех значений галкой окно закрывается без сохранения, не все поля категории отображаются в настройках параметров в гриде, настройки грида не сохраняются.
Что проверить: - Количество выбираемых задач — есть ли ограничение - Настройки грида в мультилукапе — сохранены ли
Решение: - Попробовать выбрать задачи по одной (обход проблемы с массовым выбором) - Для настроек грида — переоткрыть настройки и сохранить заново
Эскалация: если проблема стабильно воспроизводится.
2.5 Зависимые / связанные лукапы (ExtParamLink)¶
Симптом: подчинённый лукап пустой, после выбора master-значения зависимый не обновляется.
Что проверить: - Настроена ли связь в разделе «Связи параметров» (ExtParamLink) - Заполнено ли master-значение - Совместимы ли типы master и slave ДП
Решение: - Проверить наличие связи в админке (Связи параметров) - Убедиться, что master-ДП заполнен и содержит валидное значение - Попробовать пересохранить master-значение
Эскалация: если связь настроена, master заполнен, но slave пуст.
[2L] SQL-диагностика: см. admin.md → Q3 (ExtParamLink).
2.6 Потеря данных при смене настроек лукапа¶
Симптом: после смены типа отображения лукапа (например, «как радио-кнопки») потерялись клиентские данные.
Что проверить: - Какой тип отображения был до и после изменения - Были ли данные в лукапе до смены настройки
ВАЖНО: Это критичная ситуация. Смена типа отображения может привести к потере данных, если новый тип несовместим со старым форматом хранения.
Решение: - Если данные потеряны — эскалация немедленно, возможно восстановление из бэкапа - Предупредить клиента о рисках смены типа отображения у заполненных ДП
2.7 Лукап на сводный раздел — некорректная работа¶
Симптом: лукап, настроенный на сводный раздел (несколько категорий), показывает задачи не из всех категорий или работает некорректно.
Что проверить: - Настройку источника данных лукапа — указан ли сводный раздел - Права пользователя на все категории в сводном разделе - Не пуст ли сводный раздел
Решение: - Проверить, что все категории сводного раздела доступны пользователю - Если часть задач не отображается — проверить фильтры лукапа (AllowedStates может быть несовместим между категориями)
Эскалация: если настройка корректна, но лукап показывает неполные данные.
2.8 Диагностика лукапов через API (datasource)¶
Для проверки настроек лукапа на площадке клиента можно использовать API /api-core/datasource/. Этот namespace обслуживает все типы источников данных, включая лукапы.
Полезные эндпоинты:
| Метод | Путь | Что возвращает |
|---|---|---|
GET |
/api-core/datasource/{id}/config |
Схема колонок пикера: taskColumnsSettings[] с полями title, type, isDefault, hidden, order |
POST |
/api-core/datasource/{id}/data |
Строки данных пикера (с фильтрами в теле запроса) |
{id} — числовой ID лукапа из AdminSPA (виден в URL: /administration/data-source-settings/lookup/{id}).
Когда использовать:
- Клиент жалуется, что в пикере лукапа не видны колонки → сравнить /config с настройками в AdminSPA
- Пикер пуст или показывает не те данные → проверить /data с пустым фильтром
- Расхождение между тем, что настроено в AdminSPA, и тем, что видит пользователь
Пример: curl -s -H "Authorization: Bearer $TOKEN" "https://{host}/api-core/datasource/{id}/config" → проверить taskColumnsSettings[].isDefault и hidden.
Не путать:
/api-core/datasource/(без дефиса) — datasource pipeline./api-core/data-source/(с дефисом) — отдельный namespace для журналов/реестров.
3. Блоки ДП и группы блоков¶
~7% обращений. Типичные жалобы: ДП не отображается, блок не сворачивается, порядок сбился, ошибка при создании блока.
3.1 ДП не отображается в категории¶
Симптом: ДП добавлен, но не виден на форме задачи.
Что проверить: - Добавлен ли ДП в категорию (а не только создан глобально) - Не скрыт ли ДП настройкой Hidden - Привязан ли к блоку — если блок скрыт смарт-фильтром, ДП тоже не виден - Права по статусу — может ли пользователь видеть ДП в текущем статусе задачи
Решение: - Проверить в админке: Категория → ДП → наличие ДП в списке - Проверить флаг Hidden - Проверить блок ДП — не скрыт ли смарт-фильтром - Проверить права по статусам (CanRead)
[2L] SQL-диагностика: см. admin.md → Q1 (ExtParamsInSubcat), Q6 (ExtParamStateView).
3.2 Порядок ДП сбился¶
Симптом: ДП отображается «не на своём месте», порядок после переноса/обновления изменился.
Что проверить: - Порядок ДП в настройках категории (SubcatOrder) - Принадлежность к блоку — ДП может отображаться в блоке, а не в общем списке - Не выполнялся ли «Сброс порядка»
Решение: - Перейти в админку → Категория → ДП → выставить нужный порядок - Если ДП в блоке — проверить порядок внутри блока
[2L] SQL-диагностика: см. admin.md → Q2 (порядок ДП и блоки).
3.3 Блок ДП не сворачивается / не скрывается¶
Симптом: настройка «Сворачивать» или «Скрывать по смарт-фильтру» не работает для блока ДП, особенно если блок входит в группу блоков.
Что проверить: - Входит ли блок в группу блоков — для групп поведение может отличаться - Корректность смарт-фильтра скрытия - Версия системы — некоторые баги исправлены в свежих версиях
Решение: - Если блок в группе — попробовать настроить сворачивание на уровне группы - Проверить смарт-фильтр скрытия — работает ли он для других блоков
3.4 Ошибка при создании блока ДП / привязке ДП к блоку¶
Симптом: ошибка в AdminSPA при попытке создать блок ДП или посмотреть привязку ДП к блокам.
Что проверить: - Версия AdminSPA - Есть ли ДП в категории (блок нельзя создать в пустой категории)
Решение: - Попробовать обновить страницу AdminSPA - Если ошибка повторяется — эскалация с текстом ошибки и скриншотом
4. Права и видимость ДП¶
~7% обращений. Вопросы о смарт-доступе, матрице доступа, правах по статусам.
4.1 ДП доступен/недоступен вопреки ожиданию¶
Симптом: пользователь может/не может редактировать ДП, хотя по настройкам должно быть иначе.
Что проверить (в порядке приоритета): 1. Права по статусам (ExtParamStateView) — CanRead/CanEdit для текущего статуса 2. Права по матрице доступа — функциональный доступ к ДП 3. Гибкие права (EPRights) — если настроены 4. Смарт-доступ — если используется смарт-выражение для видимости/доступности
Решение: - Последовательно проверить все уровни прав - Права по статусам перекрывают матрицу доступа - Гибкие права (EPRights) — дополнительный механизм, работает через SelectUsers
Эскалация: если все уровни прав проверены и выглядят корректно.
[2L] SQL-диагностика: см. admin.md → Q4 (EPRights), Q6 (ExtParamStateView).
4.2 Копирование прав испортило настройки¶
Симптом: после массового копирования прав (copypermissions / copypermissionsstates) точечные настройки для отдельных ДП потерялись.
Что проверить: - Какая операция выполнялась (копирование групповых прав или прав по статусам) - Что было источником копирования
ВАЖНО: Операции копирования прав перезаписывают целевые настройки без возможности отмены.
Решение: - Восстановить точечные настройки вручную - Предупредить клиента о рисках массового копирования
[2L] SQL-диагностика: см. admin.md → Q6, Q7.
4.4 ДП не появляется после маршрутного перехода — требуется обновление страницы¶
Симптом: после перехода задачи в новый статус ДП, который должен стать видимым по матрице доступа, не отображается. После F5 — появляется. Воспроизводится нестабильно, чаще на нагруженных или k8s-площадках.
Что проверить:
- Включена ли матрица доступа для ДП (TaskEntityPermissionControl = true)
- Прописаны ли права ДП именно для нового статуса (CanRead/CanWrite)
- Версия системы — проблема воспроизводилась на 2.267 в k8s-окружении
Решение: - Если версия 2.267 и нет патча — обновиться до версии, содержащей фикс задачи (патч 2.267) - Временный обходной путь: пользователь обновляет карточку задачи (F5)
Техническая причина: EntityAccessManager использовал StateID из TasksCache; в момент между отправкой RefreshMTF и инвалидацией кеша на конкретном поде клиент мог получить данные со старым статусом. Фикс: StateID передаётся явно из контекста шага.
Эскалация: с указанием ID задачи, ID ДП, типа ДП, статуса до и после перехода, инфраструктуры площадки (k8s / Docker).
4.3 Файлы из закрытых ДП доступны через поиск¶
Симптом: пользователь через глобальный поиск находит и может открыть файлы, вложенные в ДП, к которому у него нет доступа по настройкам.
Что проверить: - Настройки доступа к ДП (CanRead) — закрыт ли для пользователя - Индексируются ли файлы ДП в поисковом движке
Решение: - Известная проблема: поисковый индекс может не учитывать права доступа к ДП при индексации файлов - Эскалация как security issue с указанием ID ДП и способа воспроизведения
5. Сквозные ДП (Through)¶
~4% обращений. Сложная тема — значения вычисляются через цепочку лукапов.
5.1 Сквозной ДП показывает неверное значение или пуст¶
Симптом: через ДП не «протягивается» значение из связанной задачи, показывается пустое или устаревшее значение.
Что проверить: - Настройку цепочки: ДП → Lookup → через какой ДП в задаче-источнике берётся значение - Заполнен ли lookup в текущей задаче - Заполнен ли целевой ДП в задаче-источнике (той, на которую ссылается lookup)
Решение: - Проверить, что lookup в задаче указывает на правильную задачу-источник - Проверить, что в задаче-источнике целевой ДП заполнен - Пересохранить lookup — это может инициировать пересчёт сквозного значения
Эскалация: если цепочка корректна, значения заполнены, но through-ДП пуст — с указанием: ID задачи, ID сквозного ДП, ID lookup-ДП.
Детальная документация: docs/domains/ext-params/through.md
5.2 Ошибка логики доступа к сквозному ДП¶
Симптом: ошибка при попытке чтения/записи сквозного ДП, или пользователь не видит/не может редактировать сквозной ДП.
Что проверить: - Не был ли удалён или изменён lookup-ДП, через который строится цепочка - Не изменилась ли категория-справочник - Настройку «Учитывать настройки доступа по целевому ДП»: если включена — доступ = логическое И прав на сквозной ДП и целевой ДП; если выключена — чтение по сквозному ДП, но без прав на целевой поле будет read-only
Подробнее о матрице доступа: through.md § Настройка доступа
Эскалация: с текстом ошибки из лога.
6. Настройка и перенос ДП¶
6.1 Перенос категории — связи ДП (ExtParamLink) ломаются¶
Симптом: после переноса категории между площадками связи ДП работают некорректно, ID в ExtParamLink изменились.
Что проверить: - Утилита переноса — какая версия использовалась - Перенесены ли все связанные категории-справочники
Решение: - После переноса проверить связи ДП в админке (Связи параметров) - Если ID изменились — это ожидаемое поведение при переносе, связи нужно пересоздать или скорректировать
Эскалация: если утилита не перенесла ExtParamsInSubcatToBlocks или ExtParamStateView.
6.2 Удаление ДП — ошибка таймаута¶
Симптом: при удалении глобального ДП возникает ошибка таймаута.
Что проверить: - Используется ли ДП в категориях (есть ли привязки) - Используется ли ДП в подписях - Есть ли значения у этого ДП в задачах
Решение: - Сначала удалить ДП из всех категорий, где он используется - Затем удалить глобальный ДП - Если много данных — удаление может занять время, это нормально
Эскалация: если ДП не используется нигде, но удаление всё равно падает.
[2L] SQL-диагностика: см. admin.md → Q8 (использование ДП).
6.3 NullReferenceException при открытии настроек ДП¶
Симптом: ошибка NullReferenceException в AdminSPA при открытии настроек конкретного ДП в категории.
Что проверить: - ID ДП и категории - Тип ДП — для некоторых типов настройки могут быть неконсистентны
Эскалация: с текстом ошибки, ID ДП, ID категории.
7. Значения ДП — расчёты и история¶
7.1 Значение ДП не пересчитывается¶
Симптом: смарт-выражение для значения по умолчанию или вычисляемого ДП не отрабатывает, формулы в категории не пересчитывают ДП.
Что проверить: - Текст смарт-выражения — нет ли синтаксических ошибок - Зависимости — все ли ДП, от которых зависит формула, заполнены - Тип ДП — совместим ли результат формулы с типом ДП
Решение: - Попросить клиента показать смарт-выражение - Проверить, не изменился ли тип ДП после создания формулы
7.2 История изменений ДП пуста или некорректна¶
Симптом: блок «История изменений ДП» пуст, изменение ДП не фиксируется.
Что проверить: - Включено ли логирование изменений для этого ДП в настройках категории - Тип ДП — не все типы поддерживают историю одинаково
Решение: - Проверить настройку логирования в категории - Если логирование включено, но история пуста — эскалация
7.3 Округление денежных ДП¶
Симптом: ДП типа «Деньги» округляется до целых, хотя настроена дробная часть.
Что проверить: - Настройку дробной части в ДП (количество знаков после запятой) - Не переопределяется ли формат отображения на уровне грида
Решение: - Проверить настройку в админке: ДП → дробная часть - Если настройка корректна, но отображается целое — проверить формат колонки в гриде
8. Специфические типы ДП¶
8.1 ДП Файл / Мультифайл¶
Симптом: ошибка при вложении файлов, картинки некорректно отображаются при переносе текста, подсказка из смарт-выражения не работает.
Что проверить:
- Ограничения на размер/тип файла в настройках ДП
- Провайдер хранения (DB, FileSystem, MinIO) — см. docs/domains/files/
8.2 ДП Выбор пользователей (SelectUsers)¶
Симптом: некорректное отображение оргструктуры, затирание пути в выбранных значениях, иконка перехода к оргструктуре не отображается.
Что проверить: - Настройку «Отображать орг. единицы» в параметрах ДП - Версию системы
8.3 ДП Дата / Дата-время¶
Симптом: не работает ограничение доступных дат через смарт-выражение, при выборе «сегодня» записываются секунды.
Что проверить: - Текст смарт-выражения для ограничения дат - Тип ДП (Date vs DateTime)
8.4 ДП Большой текст с форматированием (БТсФ)¶
Симптом: невозможно изменить допустимую длину текста в AdminSPA, виджет не отображается в модальном окне, нельзя редактировать на iOS.
Что проверить: - Настройку длины текста в параметрах ДП (AdminSPA или старая админка) - Платформу клиента (web, iOS)
8.5 ДП Адрес¶
Симптом: не работает интеграция с DaData для подсказок.
Что проверить: - Настроена ли интеграция с DaData на площадке - API-ключ DaData — валиден ли, не истёк ли лимит
8.6 ДП Выпадающий список — обмен с 1С при пустом значении¶
Симптом: после обновления перестал работать обмен с 1С, если в ДП типа «Выпадающий список», участвующем в обмене, есть пустое значение.
Что проверить: - Версию, на которой работало и на которой сломалось - Есть ли пустые значения в выпадающем списке ДП, участвующем в обмене - Настройку маппинга 1С — как обрабатывается пустое значение
Решение: - Зафиксировать версию до и после — возможная регрессия - Как обход: заполнить пустые значения ДП значением по умолчанию до обмена - Эскалация как регрессия
8.7 ДП Выпадающий список, источник «Из таблицы» — ошибка при создании задачи в НТФ (PostgreSQL)¶
Симптом: при создании задачи через НТФ появляется системная ошибка «Произошла ошибка. Обратитесь в техническую поддержку.» Ошибка воспроизводится только при наличии на форме НТФ ДП типа «Выпадающий список» с источником данных «Из таблицы», у которого колонка значений содержит текстовые данные (не числа). На MSSQL-инсталляции ошибки нет, проблема специфична для PostgreSQL.
Что проверить:
- Версию системы — ошибка устранена в v2.267; если ниже — требуется обновление
- Тип ДП и его источник данных: «Выпадающий список» → вкладка источника → «Из таблицы»
- Тип данных в колонке-значении (valueColumn) — если текстовый (varchar, text) при PostgreSQL, до v2.267 это воспроизводит ошибку
- Проверить в МТФ (уже созданной задаче) — если там работает, а НТФ падает, это именно этот кейс
Решение: - Обновить систему до v2.267 или выше — ошибка полностью устранена - До обновления: как временный обход — заменить источник «Из таблицы» на «Набор элементов» с теми же значениями или убрать ДП с НТФ
9. Мобильное приложение и ДП¶
9.1 ДП не работают / некорректно работают на мобильном¶
Симптом: ДП невозможно заполнить на iOS/Android, текстовое ДП работает некорректно, поиск в SelectUsers не ищет по группам/оргединицам, API файлов ДП не работает в мобильном приложении (Андромеда).
Что проверить:
- Платформа: iOS или Android
- Версия мобильного приложения
- Тип ДП — какие именно ДП не работают
- Для API: проверить эндпоинт /app/v1.2/api/files/eps/{taskId}/{extParamId} — работает ли на вебе
Решение: - Уточнить тип ДП и платформу — ряд типов имеют ограниченную поддержку на мобильных - Для SelectUsers на iOS: поиск по оргединицам может не поддерживаться в текущей версии - Обновить мобильное приложение до последней версии - Если проблема на актуальной версии — эскалация с указанием: платформа, версия МП, тип ДП, шаги воспроизведения
10. Взаимодействие с гридом¶
10.1 Изменение ДП в гриде без обязательного комментария¶
Симптом: пользователь может изменить ДП прямо в гриде, минуя проверку обязательного комментария.
Это известное ограничение: редактирование ДП в гриде может не проходить через все валидации карточки задачи.
10.2 ДП определённых типов нельзя добавить в грид¶
Симптом: нельзя добавить ДП с типом «Выбор нескольких задач» (Multilookup) в параметры грида.
Решение: не все типы ДП поддерживаются как колонки грида. Это ограничение системы.
11. Смарт-выражения и ДП¶
11.1 Смарт-выражение возвращает неожиданный результат¶
Симптом: после обновления версии смарт-выражение для ДП стало работать иначе (например, пустой список вместо строки при конкатенации с незаполненным ДП).
Что проверить: - Версию, на которой работало и на которой сломалось - Текст смарт-выражения - Типы ДП, используемых в выражении
Решение: - Зафиксировать: выражение, версию до и после, ожидаемый и фактический результат - Эскалация как регрессия
12. Локализация ДП¶
12.1 Элементы интерфейса ДП не локализованы¶
Симптом: кнопки, привязанные к ДП, не переводятся на язык пользователя. Группы блоков ДП не локализованы. Таблица истории изменений ДП отображается без перевода.
Что проверить: - Язык интерфейса пользователя - Настроена ли локализация для кнопок/блоков ДП в AdminSPA - Версия системы — локализация некоторых элементов добавлена в свежих версиях
Решение: - Для кнопок: проверить, заполнены ли переводы в настройках кнопки ДП - Для групп блоков: локализация групп блоков может не поддерживаться — уточнить в текущей версии - Для истории изменений: известная проблема, не локализована — эскалация как feature request
13. Копирование значений ДП¶
13.1 Некорректное копирование ДП при создании задачи¶
Симптом: при копировании задачи или создании подзадачи значения ДП копируются некорректно — лишние ДП копируются, нужные не копируются, или значения искажаются.
Что проверить: - Настройку «Копировать значение из родительской задачи» для каждого ДП - Тип ДП — не все типы корректно копируются (Таблица, Мультилукап — особые случаи) - Метод создания: через кнопку «Копировать», через смарт, через API
Решение: - Проверить настройку копирования в параметрах ДП в категории - Для смартов: проверить, явно ли заполняются ДП в смарте или ожидается автокопирование - Если копирование через API — проверить, передаются ли значения ДП в запросе
13.2 Запрет копирования текста из ДП¶
Симптом: клиент хочет запретить пользователям копировать содержимое ДП (Ctrl+C).
Решение: - Штатного механизма запрета копирования текста из ДП нет - Можно реализовать через кастомный JS (SmartScript), но это неполная защита (данные доступны через API) - Зафиксировать как feature request
14. API для работы с ДП¶
14.1 Получение и обновление значений ДП через API¶
Симптом: клиент спрашивает, как получить все ДП задачи через API, как обновить ДП типа «Файл» через API, как работать с ДП из LUA-скриптов.
Что проверить: - Цель: чтение или запись ДП - Тип ДП (простые типы, файл, мультилукап, таблица — разные эндпоинты)
Решение:
- Чтение всех ДП задачи: GET /api/task/{taskId} возвращает ДП в блоке ExtParams
- Обновление простых ДП: POST /api/extParams/update (см. docs/reference/api/spa-api-call-chains.md)
- Обновление ДП Файл: POST /api/files/upload/ToPreUploadedFiles → затем привязка к ДП
- Синхронизация с 1С: для лукапов использовать TCLookupGUIDEPID — указывать ID ДП-лукапа
- LUA: доступ к ДП через task.ExtParams[epId], запись через task:SetExtParam(epId, value)
Чеклист для первичной диагностики (универсальный)¶
- Версия системы — какая версия у клиента
- ID категории и ID ДП — всегда запрашивать
- Тип ДП — уточнить (Text, Lookup, Table, Through, File, SelectUsers и т.д.)
- Воспроизводимость — стабильно или периодически
- Платформа — web, мобильное, AdminSPA
- Скриншот/видео — попросить при неочевидных проблемах
- Текст ошибки — если есть, включая консоль браузера (F12)
Когда эскалировать¶
- Потеря данных (значения ДП исчезли)
- NullReferenceException или серверные ошибки
- Регрессия после обновления (работало, перестало)
- Проблема воспроизводится стабильно, все настройки проверены
- Проблема с производительностью (таймауты)