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

Дополнительные параметры — Решение проблем

Аудитория: ТП 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 — проблемы выбора и отображения

Симптом: при выборе всех значений галкой окно закрывается без сохранения, не все поля категории отображаются в настройках параметров в гриде, настройки грида не сохраняются.

Что проверить: - Количество выбираемых задач — есть ли ограничение - Настройки грида в мультилукапе — сохранены ли

Решение: - Попробовать выбрать задачи по одной (обход проблемы с массовым выбором) - Для настроек грида — переоткрыть настройки и сохранить заново

Эскалация: если проблема стабильно воспроизводится.

Симптом: подчинённый лукап пустой, после выбора 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. Настройка и перенос ДП

Симптом: после переноса категории между площадками связи ДП работают некорректно, 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)


Чеклист для первичной диагностики (универсальный)

  1. Версия системы — какая версия у клиента
  2. ID категории и ID ДП — всегда запрашивать
  3. Тип ДП — уточнить (Text, Lookup, Table, Through, File, SelectUsers и т.д.)
  4. Воспроизводимость — стабильно или периодически
  5. Платформа — web, мобильное, AdminSPA
  6. Скриншот/видео — попросить при неочевидных проблемах
  7. Текст ошибки — если есть, включая консоль браузера (F12)

Когда эскалировать

  • Потеря данных (значения ДП исчезли)
  • NullReferenceException или серверные ошибки
  • Регрессия после обновления (работало, перестало)
  • Проблема воспроизводится стабильно, все настройки проверены
  • Проблема с производительностью (таймауты)