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

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

Документ описывает типовые проблемы дополнительных параметров от самых частых к менее частым. Внутри собраны разделы по ДП Таблица, lookup, блокам ДП, правам и видимости, сквозным ДП, настройке и переносу, расчётам, специфическим типам ДП, мобильному приложению, списку задач, смарт-выражениям, локализации, копированию и API. Для каждой проблемы указаны симптом, что проверить, решение и когда обращаться в поддержку 1Ф.

Как пользоваться этим документом

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

  1. Симптом — что наблюдает пользователь
  2. Что проверить — шаги диагностики без доступа к БД
  3. Решение — что проверить или исправить
  4. Когда обращаться в поддержку 1Ф — что приложить к обращению

1. ДП Таблица

Самая частая тема обращений по ДП. Типичные жалобы: не работает фильтрация, множественный выбор, значения по умолчанию, автосохранение, отображение.

1.1 Фильтрация в ДП Таблица не работает

Симптом: пользователь пытается фильтровать строки в табличном ДП, фильтр не реагирует или показывает все строки.

Что проверить:

  • Версия системы — фильтрация в ДП Таблица поддерживается начиная с определённых версий (уточнить у пользователя версию)
  • Тип колонки — не все типы колонок поддерживают фильтрацию: lookup-колонки фильтруются текстовым поиском по значению (как в гриде, без ограничения на число записей справочника); «Блок кнопок» и «Шаблонная» не фильтруются
  • Настройка категории — включена ли фильтрация для этого ДП Таблица в настройках категории

Решение:

  • Убедиться, что версия актуальная
  • Проверить, что фильтрация включена в настройках ДП Таблица
  • Если проблема с конкретным типом колонки — зафиксировать какой именно тип и версию

Когда обращаться в поддержку: если фильтрация включена, версия актуальная, но не работает — обращение в поддержку 1Ф с указанием: ID категории, ID ДП, тип проблемной колонки, версия.

1.2 Множественный выбор в ДП Таблица

Симптом: при использовании множественного выбора строк — не все позиции добавляются, появляются пустые строки, кнопка «Применить» не работает.

Ожидаемое поведение выбора. Отметки в окне накапливаются: поиск, фильтрация, сортировка, группировка, переход между страницами и кнопка «Обновить» уже отмеченные строки не снимают, а по «Применить» в таблицу уходят все отмеченные объекты из любого положения списка. Пропажа ранее отмеченных строк — дефект, а не следствие фильтра или настройки: пока выбор теряется при поиске, стоит проверить, что сборка содержит накопительный выбор в плоском окне табличного ДП.

Известное ограничение: кнопка «Множественный выбор» не отображается в НТФ (форма постановки задачи). Это ожидаемое поведение — не требует обращения в поддержку. Множественный выбор доступен только после создания задачи, в МТФ.

Что проверить:

  • Количество выбираемых элементов — есть ли ограничение в настройках
  • Воспроизводится ли при выборе небольшого количества (2-3 элемента)
  • Есть ли обязательные поля в строке таблицы

Решение:

  • Попросить пользователя попробовать с меньшим количеством элементов
  • Проверить, не блокирует ли обязательное поле сохранение
  • Если проблема стабильно воспроизводится — фиксировать шаги

Когда обращаться в поддержку: с описанием шагов воспроизведения, ID категории, ID ДП.

1.3 Значения по умолчанию в ДП Таблица

Симптом: значение по умолчанию не появляется при создании задачи (НТФ), удаляется после сохранения строки, рассчитывается некорректно.

Что проверить:

  • Настроено ли значение по умолчанию в настройках колонки ДП Таблица
  • Тип значения по умолчанию — статическое или через смарт-выражение
  • Если смарт-выражение — корректно ли оно (нет ли ошибки в логике)

Решение:

  • Проверить настройку значения по умолчанию в админке
  • Если смарт — попросить пользователя показать текст смарт-выражения
  • Для НТФ: проверить, не стоит ли флаг «Не копировать значение из родительской задачи»

Когда обращаться в поддержку: если настройка корректна, но значение не появляется.

1.4 Автосохранение и обновление ДП Таблица

Симптом: после отработки автоматизации/действия значения в таблице не обновляются, при включённом автосохранении очищаются значения.

Что проверить:

  • Включено ли автосохранение строк в настройках ДП Таблица
  • Происходит ли проблема после конкретного действия/перехода или при ручном редактировании
  • Версия системы

Решение:

  • Попросить пользователя обновить страницу (F5) — если после обновления данные на месте, проблема в отображении
  • Если данные пропали и после обновления — обратиться в поддержку 1Ф

Когда обращаться в поддержку: с указанием: ID задачи где пропали данные, ID ДП, какое действие вызвало проблему.

1.5 Итог по числовой колонке меняется при прокрутке или обновлении, либо не совпадает с ожидаемым

Симптом: в строке итогов ДП Таблица меняется сумма по колонке типа «Число» или «Деньги» после прокрутки, загрузки следующих строк или обновления таблицы; либо итог не совпадает с ручным подсчётом.

Ожидаемое поведение: итог рассчитывается отдельным запросом по всем строкам, соответствующим текущим фильтрам (но не более 1000 строк — см. ниже), и не зависит от количества строк, загруженных на экране.

Что проверить:

  • включено ли отображение итога у проблемной числовой колонки;
  • меняются ли данные или фильтры таблицы перед изменением итога;
  • воспроизводится ли проблема после последовательности: открыть таблицу → зафиксировать итог → прокрутить → обновить таблицу;
  • воспроизводится ли проблема одновременно для нескольких числовых колонок;
  • количество строк в таблице под текущим фильтром — если больше 1000, заниженный итог ожидаем (известное ограничение, не баг).

Решение:

  • если итог меняется только после изменения фильтра, это ожидаемо: сумма пересчитывается по отфильтрованным строкам;
  • если строк под фильтром больше 1000 — заниженный итог соответствует известному ограничению, не требует обращения в поддержку;
  • если итог меняется после прокрутки или обновления без изменения данных, фильтров и при количестве строк ≤ 1000 — это несоответствие;
  • зафиксировать задачу, ДП Таблица, названия колонок, исходный и изменившийся итог, количество строк и запись экрана.

Когда обращаться в поддержку 1Ф: если итог меняется без изменения данных/условий фильтрации при количестве строк ≤ 1000.

1.6 Отображение и форматирование ДП Таблица

Симптом: некорректное отображение дат (день/месяц перепутаны), обрезание названий лукапов, нет названия при открытии в отдельной вкладке, проблемы с высотой строк и секциями.

Что проверить:

  • Локаль браузера (для проблем с датами)
  • Ширина колонок — достаточна ли для отображения содержимого
  • Секции — если включены, проверить нет ли конфликта с другими ДП под таблицей

Решение:

  • Даты: проверить локаль браузера, формат дат в настройках ДП
  • Ширина: предложить настроить ширину колонок
  • Секции: известная проблема — если под таблицей с секциями нет других ДП, таблица может обрезаться

1.7 Лукап-колонка в ДП Таблица

Симптом: не сохраняется значение в выпадающем списке или лукапе внутри таблицы, иерархический лукап не ищет, @eventparam3 возвращает лишние значения.

Что проверить:

  • Тип колонки (lookup, выпадающий список, иерархический lookup)
  • Источник данных лукапа — доступна ли категория-справочник
  • Есть ли связанные/зависимые колонки

Решение:

  • Проверить, что категория-справочник доступна и содержит задачи
  • Для иерархического лукапа — проверить настройку иерархии в категории-справочнике

Когда обращаться в поддержку: если источник данных корректен, но выбор не сохраняется.

1.8 Права и доступ к ДП Таблица

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

Что проверить:

  • Права по матрице доступа для ДП в этой категории
  • Права по статусам — в каком статусе задача
  • Гибкие права — настроены ли EPRights

Решение:

  • Проверить текущий статус задачи и права ДП в этом статусе
  • Если матрица доступа показывает права, но пользователь не может редактировать — проверить нет ли конфликта с правами по статусам

Когда обращаться в поддержку: с указанием: ID пользователя, ID задачи, ID ДП, текущий статус.

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q6 (ExtParamStateView), Q4 (EPRights).

1.9 Печать ДП Таблица

Симптом: при печати карточки задачи содержимое ДП Таблица не отображается, отображается пустым или с нарушенной вёрсткой.

Что проверить:

  • Используется ли стандартный механизм печати (Ctrl+P) или пользовательскый шаблон
  • Количество строк и колонок в таблице — большие таблицы могут не влезать
  • Браузер пользователя

Решение:

  • Для стандартной печати: это известное ограничение — ДП Таблица может некорректно рендериться в print-режиме
  • Рекомендовать использование экспорта (если доступен) вместо печати
  • Если критично — обращение в поддержку 1Ф как запрос на доработку

1.9 Скрытие кнопки добавления строк на НТФ

Симптом: настройка «Скрыть кнопку добавления строк» не работает на НТФ (форма постановки задачи), хотя на МТФ кнопка скрыта.

Что проверить:

  • Включена ли настройка в параметрах ДП Таблица
  • Проверить на МТФ — если там работает, проблема специфична для НТФ

Решение:

  • Известное ограничение: ряд настроек ДП Таблица не применяется на НТФ (аналогично кнопке «Множественный выбор»)
  • Обратиться в поддержку 1Ф (как запрос на доработку) с указанием ID ДП и категории

1.10 Дублирование ДП при совпадении ID пользовательского и системного блока

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

Что проверить:

  • Привязан ли ДП к пользовательскому блоку
  • Есть ли системный блок с тем же ID (коллизия после переноса или ручного создания)

Решение:

  • Обратиться в поддержку 1Ф — требуется корректировка ID блока в БД
  • Предупредить: при ручном создании блоков через SQL возможны коллизии с системными ID

1.11 Таблица «мигает» (перечитывается целиком) при изменении ячейки

Симптом: при изменении значения в ячейке ДП Таблица с включённым автосохранением таблица на миг показывает лоадер и перечитывается целиком.

Причина: так происходит, если в таблице есть колонка со смарт-выражением. Сервер не может заранее определить, какие строки затронул пересчёт смарта, и отправляет сигнал полного обновления (fullRefresh) — фронт перечитывает грид целиком. Это ожидаемое поведение, а не сбой.

Что проверить:

  • Есть ли в таблице колонки со смарт-выражениями — именно они вызывают полную перечитку
  • В таблицах без смарт-колонок изменение ячейки обновляется плавно, без мигания
  • На больших таблицах с серверной пагинацией построчного обновления нет, но мигания тоже нет

Когда обращаться в поддержку: если мигание возникает в таблице без смарт-колонок — с указанием ID задачи и ID ДП.

1.12 Колонка настроена, но не участвует в фильтрации и сортировке

Симптом: колонка есть в настройках ДП Таблица, но по ней не работают фильтр, сортировка и группировка; в логе приложения — предупреждение о том, что колонка отсутствует во вью.

Причина: колонка настроена, но физически отсутствует в денормализованном представлении данных таблицы. Типичные случаи — ДП колонки отвязан от категории либо колонка не попала в сводную выборку.

Что проверить:

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

Что делать: сама по себе ситуация работу не блокирует — таблица открывается без учёта такой колонки. Если колонка нужна, восстановите привязку ДП к категории и настройки колонки.

Когда обращаться в поддержку: если привязка ДП на месте, а колонка всё равно отсутствует в представлении — с указанием ID задачи и ID ДП.

1.13 По краям строк видны пустые служебные колонки

Симптом: в ДП «Таблица» по краям каждой строки видны узкие колонки без заголовков — одна слева, другая справа, — похожие на пустые технические столбцы.

Причина: это служебные зоны строки, а не данные: слева — область для перетаскивания строки мышью (смена порядка), справа — кнопка … с меню строки («Добавить строку», «Переместить»). Заголовков у них нет и значений они не содержат, поэтому выглядят пустыми. Это ожидаемое оформление, а не сбой.

1.14 Текст «Нет данных» накладывается на строку итогов в пустой таблице

Симптом: в пустой таблице ДП «Таблица» текст «Нет данных» рисуется поверх нижней строки итогов и наезжает на её границы.

Различающий сигнал: наложение видно, когда у столбцов включена опция «Итого» — тогда под строками данных появляется служебная строка и сообщение ложится на неё. Если опцию «Итого» выключить, служебная строка исчезает и наложения нет. От объёма данных и числа задач в категории дефект не зависит — достаточно комбинации «нет строк данных + включены итоги по столбцам».

Решение: обновиться до сборки 2.268 «Скульптор» или новее — в ней сообщение пустого состояния показывается в области строк данных и со строкой итогов не пересекается; в таблицах без итогов поведение прежнее.

Когда обращаться в поддержку: если после обновления текст «Нет данных» по-прежнему пересекается со строкой итогов — зафиксировать версию сборки, число столбцов с включённой опцией «Итого», ширину окна браузера и запись экрана.

1.15 Вместо национальных символов в текстовых ячейках таблицы — знаки «?»

Симптом: в текстовой колонке ДП «Таблица» вместо введённых иероглифов или казахских букв после сохранения отображаются знаки вопроса «?».

Что проверить:

  • Версию системы: текст на любом языке в текстовых ячейках таблицы поддерживается начиная со сборки 2.268 «Скульптор». На более ранних сборках символы вне кодовой страницы сервера MS SQL сохраняются как «?».
  • Тип колонки: симптом касается текстовых колонок; значения остальных типов (число, дата, деньги, галочка) хранятся в собственных колонках и не искажаются.
  • Стенд: на PostgreSQL симптома нет изначально — там строковый тип хранит UTF-8.

Решение: обновиться до сборки 2.268 «Скульптор» или новее. Значения, уже записанные как «?», восстановлению не подлежат — их нужно ввести заново.

Когда обращаться в поддержку: если сборка 2.268 или новее, а символы всё равно превращаются в «?» — с указанием ID задачи, ID табличного ДП, названия колонки, введённого значения и версии сборки.

1.16 Высокая шапка растягивает таблицу и создаёт вертикальную прокрутку

Симптом: в ДП «Таблица» с включённой настройкой «Переносить заголовки по строкам» строка с названиями колонок занимает несколько строк, а при двух-трёх строках данных появляется вертикальная прокрутка; из-за неё последняя строка данных видна не целиком.

Различающий сигнал: настройка «Переносить заголовки по строкам» включена, и среди названий колонок есть длинные — именно они растягивают шапку на несколько строк, тогда как высота таблицы считалась по однострочной шапке. При выключенной настройке шапка однострочная и симптома нет. На сборке 2.268 «Скульптор» и новее симптом не воспроизводится.

Решение: обновиться до сборки 2.268 «Скульптор» или новее — высота таблицы считается по фактической высоте шапки и отрисованных строк, поэтому при двух-трёх строках прокрутки нет, а при переполнении работают прокрутка и подгрузка строк с сервера. Отключать настройку ради этого не нужно.

Когда обращаться в поддержку: если на сборке 2.268 «Скульптор» или новее при включённом переносе заголовков таблица всё равно прокручивается при двух-трёх строках — зафиксировать точную версию сборки (номер вида 2.268.693, а не только название «Скульптор»: по названию семейства сборку с исправлением от более ранней не отличить), ID категории, ID дополнительного параметра, названия длинных колонок и ширину окна браузера.

1.17 Грид табличного ДП в карточке чужой задачи не отдаёт данные (403)

Симптом: у пользователя открыт грид табличного ДП в контексте задачи, к которой у него нет доступа; запрос данных или группировки возвращает 403, таблица пуста.

Что проверить: есть ли у пользователя доступ именно к задаче из контекста грида (заказчик, исполнитель, подписчик, роль в категории), а не только к самому ДП. Проверка прав на задачу для грида табличного ДП выполняется на сервере до чтения таблицы и одна на все его запросы — фильтрацию, сортировку, группировку и схему колонок.

Решение: это ожидаемое поведение. Чтобы пользователь видел таблицу, выдайте ему доступ к задаче (например, подписку) — настройки самого ДП тут ни при чём.

Когда обращаться в поддержку 1Ф: если доступ к задаче у пользователя есть, а грид всё равно отвечает 403 — с указанием ID задачи, ID табличного ДП, имени пользователя и версии сборки.


1.18 Заголовки групп в таблице показывают «Скрыто N» вместо значений

Симптом: в таблице дополнительного параметра группировка по колонке выводит в заголовках групп метку «Скрыто N» вместо значений, хотя строки таблицы заполнены.

Что проверить: доступ пользователя к задаче, которой принадлежит таблица. Если задача конфиденциальна и пользователь не подписчик либо задача зашифрована, а права на её просмотр нет, метка закрывает все группы: таблица целиком принадлежит одной задаче, поэтому доступных групп в ней быть не может.

Решение: это ожидаемое поведение. Чтобы пользователь видел значения, выдайте ему доступ к задаче (например, подписку) или право на просмотр зашифрованной задачи.

Когда обращаться в поддержку 1Ф: если доступ к задаче у пользователя есть, а заголовки групп всё равно закрыты — с указанием ID задачи, ID табличного ДП, имени пользователя и версии сборки.

1.19 Сохранение шаблона таблицы падает по таймауту, ячейки в списке остаются пустыми

Симптом: сохранение вкладки «Шаблон в табличных представлениях» с включёнными «Хранить html представление» и «Синхронизировать существующие задачи» долго висит и завершается ошибкой — в логе «Время ожидания выполнения истекло». Настройки при этом не применены, а в списке задач ячейки таблицы пустые или показывают меньше строк, чем в карточке.

Что проверить:

  • воспроизводится ли это только с галочкой «Синхронизировать существующие задачи» — без неё сохранение быстрое, значит дело в массовом пересчёте, а не в шаблоне;
  • объём категорий, в которых используется ДП: пересчёт идёт по всем им, а не только по текущей;
  • версию сборки: пересчёт в фоне появился в сборке 2.268.

Решение: на актуальной сборке сохранение с галочкой завершается сразу, а снимки пересчитываются в фоне. Не сохраняйте повторно «для ускорения» — повтор лишь поставит контрольный проход после текущего. Если приложение перезапускали, сохраните ещё раз с галочкой.

Когда обращаться в поддержку 1Ф: если на актуальной сборке сохранение с галочкой всё равно падает с ошибкой; если через время, разумное для объёма категорий, значения в списке так и не появились. Приложить ID категории, ID ДП, текст ошибки или скриншот, время операции.

2. Lookup / Multilookup / Иерархический справочник

Вторая по частоте тема обращений. Типичные жалобы: не работает поиск, не подгружаются задачи, иерархия не отображается, фильтрация в таблице лукапа.

2.1 Иерархическое представление не работает

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

Что проверить:

  • Настроено ли иерархическое представление в настройках ДП лукап
  • Есть ли в категории-справочнике подкатегории (иерархия строится по подкатегориям)
  • Достаточно ли прав у пользователя на категорию-справочник

Решение:

  • Проверить настройку «Иерархия» в параметрах лукапа
  • Убедиться, что категория-справочник имеет подкатегории с задачами
  • Проверить права пользователя на категорию-справочник

Когда обращаться в поддержку: если настройка корректна, права есть, но иерархия не показывается.

2.2 Задачи не подгружаются / подгружаются не все

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

Что проверить:

  • Количество задач в категории-справочнике (при большом количестве возможны лимиты)
  • Настройки фильтрации лукапа — есть ли фильтр по статусам (AllowedStates)
  • Права пользователя на задачи в категории-справочнике

Решение:

  • Если задач много (>10000) — это известное ограничение, рекомендовать настроить фильтрацию
  • Проверить AllowedStates — возможно, фильтр по статусам отсекает нужные задачи
  • Проверить права

Когда обращаться в поддержку: если задач немного, фильтры корректны, но список пуст.

2.3 Поиск в лукапе не работает

Симптом: поиск по тексту/цифрам в лукапе не даёт результатов или ищет некорректно.

Что проверить:

  • Что именно пользователь вводит в поиск (текст задачи? значение ДП?)
  • Настройку отображаемых полей лукапа — по каким полям идёт поиск
  • Тип лукапа — обычный, выпадающий, табличный с поиском

Решение:

  • Поиск ищет по тексту задачи и отображаемым полям лукапа
  • Если поиск по цифрам — убедиться, что поле числовое, а не строковое
  • Для табличного: поиск работает по видимым колонкам

2.4 Multilookup — проблемы выбора и отображения

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

Что проверить:

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

Решение:

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

Когда обращаться в поддержку: если проблема стабильно воспроизводится.

Отдельный случай (исправлено, влито в dev 08.07.2026): если на MultiLookup-поле настроено смарт-правило на событие «После смены ДП» с условием «был удалён элемент из ДП», удаление одного значения или выбор/снятие всех значений («Выбрать все») приводили к ошибке 500 (внутренняя ошибка сервера). До исправления обходной путь — временно отключить смарт-правило на время массовых операций.

Отдельный случай (исправлено, влито в dev 05.08.2026): в гриде ДП «Мультилукап» числовые колонки (Число, Деньги, а также число, полученное через связь) не показывали значение, если оно содержало разделитель тысяч (обычно от 1000 — например, «1 234»); значения меньше 1000 отображались нормально. Устранено: числовое значение колонки берётся из типизированного значения исходного ДП, а не из его строкового представления.

Отдельный случай (исправлено, влито в dev 20.08.2026, сборка 2.268): на PostgreSQL создание задачи через НТФ завершалось ошибкой 42883: operator does not exist: text = integer, если в категории есть ДП «Множественная ссылка» с жёсткой связью на другой лукап (связь «Lookup → MultiLookup» в «Связях параметров») и значение этой связи заполнялось прямо на форме постановки. На MSSQL не воспроизводилось. Устранено: значение ведущего параметра связи передаётся строкой и больше не приводится принудительно к целому числу перед выполнением запроса.

Отдельный случай (исправлено, влито в dev 29.09.2026, сборка 2.268): в карточке задачи, где в категорию добавлено несколько ДП «Выбор нескольких задач из категории» (мультилукап), изменение значения в одном блоке вызывало перечитывания и по соседним блокам: строки запрашивались повторно, а вместе с ними заново уходили запросы настроек таблиц. Повторялось только чтение — сама запись значения уходила одним запросом на .../multilookup/{extParamId}/{taskId}/update. С одним мультилукапом в категории дефект не воспроизводился: перечитывать было нечего. Устранено: настройки блока запрашиваются только при смене контекста, а строки после записи перечитывает только изменённый блок. Как проверить: открыть задачу в карточке, где три блока мультилукапа, отфильтровать в инструментах разработчика запросы по multilookup и добавить значение в один блок — ожидается один POST .../update, один запрос данных по этому же параметру и ни одного запроса настроек или данных по соседним блокам. Когда обращаться в поддержку: если на актуальной сборке перечитывания повторяются — приложить HAR, ID задачи, ID категории и номера параметров-мультилукапов.

Отдельный случай (исправлено, влито в dev 30.09.2026, сборка 2.268): в табличном виде ДП «Выбор нескольких задач из категории» (Multilookup) денежные значения в колонках выводились в машинном формате — 7816.57: без разделителя разрядов и с точкой в дробной части, хотя на карточке задачи то же значение показывалось как 7 816,57. Устранено: значение ячейки форматируется по настройкам ДП-источника — 7 816,57 при включённом разделителе разрядов и 7816,57 при выключенном.

Отдельный случай (исправлено, влито в dev 29.09.2026, сборка 2.268): на вкладке «Параметры в гриде» в настройках ДП «Выбор нескольких задач из категории» (Multilookup) изменение порядка колонок перетаскиванием не сохранялось: после сохранения настроек колонки возвращались к прежней последовательности — и в настройках, и в табличном представлении выбранных задач в карточке, при этом ошибок в консоли при сохранении не было. Порядок терялся только на клиенте: серверная часть порядок хранит и отдаёт (колонки показываются по своему порядковому номеру), а редактор настроек при перестановке строк не пересчитывал эти номера, поэтому в сохранение уходил исходный порядок. Общий обходной путь «переоткрыть настройки и сохранить заново» здесь не помогает: новый порядок до правки не попадал в сохраняемые настройки и при переоткрытии терялся. Устранено: после перетаскивания порядок считывается из сетки, номера пересчитываются по позициям и сохраняются вместе с остальными настройками. Как проверить: настройки мультилукапа → вкладка «Параметры в гриде» → перетащить колонку → сохранить → перезагрузить страницу: порядок в настройках и в табличном представлении выбранных задач в карточке должен совпасть с новым. Когда обращаться в поддержку: если на сборке 2.268 «Скульптор» или новее порядок по-прежнему сбрасывается — приложить ID категории, ID ДП и запись экрана.

Симптом: подчинённый лукап пустой, после выбора значения ведущего ДП зависимый не обновляется.

Что проверить:

  • Настроена ли связь в разделе «Связи параметров» (ExtParamLink)
  • Заполнено ли значение ведущего ДП
  • Совместимы ли типы ведущего и зависимого ДП

Решение:

  • Проверить наличие связи в админке (Связи параметров)
  • Убедиться, что ведущий ДП заполнен и содержит корректное значение
  • Попробовать пересохранить значение ведущего ДП

Когда обращаться в поддержку: если связь настроена, ведущий ДП заполнен, но зависимый пуст.

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q3 (ExtParamLink).

2.6 Потеря данных при смене настроек лукапа

Симптом: после смены типа отображения лукапа (например, «как радио-кнопки») потерялись данные пользователя.

Что проверить:

  • Какой тип отображения был до и после изменения
  • Были ли данные в лукапе до смены настройки

ВАЖНО: Это критичная ситуация. Смена типа отображения может привести к потере данных, если новый тип несовместим со старым форматом хранения.

Решение:

  • Если данные потеряны — немедленно обратиться в поддержку 1Ф — возможно восстановление из резервной копии
  • Предупредить пользователя о рисках смены типа отображения у заполненных ДП

2.7 Лукап на сводный раздел — некорректная работа

Симптом: лукап, настроенный на сводный раздел (несколько категорий), показывает задачи не из всех категорий или работает некорректно.

Что проверить:

  • Настройку источника данных лукапа — указан ли сводный раздел
  • Права пользователя на все категории в сводном разделе
  • Не пуст ли сводный раздел

Решение:

  • Проверить, что все категории сводного раздела доступны пользователю
  • Если часть задач не отображается — проверить фильтры лукапа (AllowedStates может быть несовместим между категориями)

Когда обращаться в поддержку: если настройка корректна, но лукап показывает неполные данные.

2.8 Диагностика лукапов через API (datasource)

Для проверки настроек лукапа на площадке можно использовать API /api-core/datasource/. Этот раздел API обслуживает все типы источников данных, включая лукапы.

Полезные маршруты:

Метод Путь Что возвращает
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/ (без дефиса) — источники данных (лукапы). /api-core/data-source/ (с дефисом) — отдельный раздел API для журналов и реестров.

2.9 Ошибка при сохранении лукапа: источник не существует

Симптом: при сохранении настроек ДП типа «Лукап» появляется ошибка валидации с текстом вида «Summary category with id {id} does not exist» или «Subcategory with id {id} does not exist».

Причина: в настройках лукапа указан несуществующий источник — либо summaryCategoryId (сводный раздел), либо subcatId (категория). Это может произойти, если:

  • перепутаны поля источника (например, в summaryCategoryId подставлен id обычной категории);
  • источник был удалён после создания настроек.

Что проверить:

  • Существует ли категория или сводный раздел с указанным id.
  • Какое поле используется: subcatId — для категории, summaryCategoryId — для сводного раздела. Если заполнены оба, используется summaryCategoryId.

Решение:

  • Указать корректный существующий источник.
  • Если источник удалён — выбрать новый или перенастроить лукап.

Когда обращаться в поддержку 1Ф: если источник точно существует и доступен, но ошибка повторяется — приложить id ДП, id категории/сводного раздела и текст ошибки.


2.10 Ошибка 500 при сохранении значения Lookup-ДП, добавленного в категорию в двух блоках

Симптом: при сохранении значения дополнительного параметра типа «Lookup» (ссылка на задачу), размещённого в категории одновременно в двух разных блоках, запрос завершается ошибкой HTTP 500. В консоли браузера отображается Failed to load resource: the server responded with a status of 500 (), а в журнале ошибок фиксируется Microsoft.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_ExtParamValueSelectedTasks'. Cannot insert duplicate key in object 'dbo.ExtParamValueSelectedTasks'.

Причина: при сохранении формы значения отправляются раздельно по блокам. Метод сохранения значения Lookup выполнял неатомарную проверку наличия строки перед вставкой, из-за чего второй вызов для того же параметра и задачи приводил к повторной попытке INSERT по первичному ключу (TaskID, ExtParamID) в таблицу ExtParamValueSelectedTasks.

Что проверить:

  • привязан ли один и тот же Lookup-параметр к нескольким блокам в настройках категории;
  • версию сборки: дефект исправлен в сборке 2.268 (начиная с тега 2.268.703).

Решение:

  • обновить систему до сборки 2.268.703 или новее — запись значения Lookup в ExtParamValueSelectedTasks выполняется атомарным upsert с блокировкой ключа на время транзакции, повторные вызовы идемпотентны и не дают дублей и ошибки 500;
  • до обновления как временный обход — исключить дублирование параметра в двух блоках категории (оставить параметр в одном блоке).

Когда обращаться в поддержку 1Ф: если на сборке 2.268.703 или новее сохранение Lookup-ДП падает с нарушением ключа PK_ExtParamValueSelectedTasks — приложить идентификаторы категории, параметра, задачи и текст ошибки из журнала.

3. Блоки ДП и группы блоков

Частая тема обращений. Типичные жалобы: ДП не отображается, блок не сворачивается, порядок сбился, ошибка при создании блока.

3.1 ДП не отображается в категории

Симптом: ДП добавлен, но не виден на форме задачи.

Что проверить:

  • Добавлен ли ДП в категорию (а не только создан глобально)
  • Не скрыт ли ДП настройкой Hidden
  • Привязан ли к блоку — если блок скрыт смарт-фильтром, ДП тоже не виден
  • Права по статусу — может ли пользователь видеть ДП в текущем статусе задачи

Решение:

  • Проверить в админке: Категория → ДП → наличие ДП в списке
  • Проверить флаг Hidden
  • Проверить блок ДП — не скрыт ли смарт-фильтром
  • Проверить права по статусам (CanRead)

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q1 (ExtParamsInSubcat), Q6 (ExtParamStateView).

3.2 Порядок ДП сбился

Симптом: ДП отображается «не на своём месте», порядок после переноса/обновления изменился.

Что проверить:

  • Порядок ДП в настройках категории (SubcatOrder)
  • Принадлежность к блоку — ДП может отображаться в блоке, а не в общем списке
  • Не выполнялся ли «Сброс порядка»

Решение:

  • Перейти в админку → Категория → ДП → выставить нужный порядок
  • Если ДП в блоке — проверить порядок внутри блока

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q2 (порядок ДП и блоки).

3.3 Блок ДП не сворачивается / не скрывается

Симптом: настройка «Сворачивать» или «Скрывать по смарт-фильтру» не работает для блока ДП, особенно если блок входит в группу блоков.

Что проверить:

  • Входит ли блок в группу блоков — для групп поведение может отличаться
  • Корректность смарт-фильтра скрытия
  • Версия системы — некоторые ошибки исправлены в свежих версиях

Решение:

  • Если блок в группе — попробовать настроить сворачивание на уровне группы
  • Проверить смарт-фильтр скрытия — работает ли он для других блоков

Окно «Редактирование блока ДП»: поля «Сворачивать по смарт-фильтру» и «Скрывать по смарт-фильтру»

3.4 Ошибка при создании блока ДП / привязке ДП к блоку

Симптом: ошибка в AdminSPA при попытке создать блок ДП или посмотреть привязку ДП к блокам.

Что проверить:

  • Версия AdminSPA
  • Есть ли ДП в категории (блок нельзя создать в пустой категории)

Решение:

  • Попробовать обновить страницу AdminSPA
  • Если ошибка повторяется — обращение в поддержку 1Ф с текстом ошибки и скриншотом

3.5 Ошибка 500 при создании задачи (НТФ), если на блоке/группе блоков ДП настроен смарт-фильтр видимости

Симптом: при открытии формы создания задачи (НТФ, spa/newtask/{subcatId}) вместо формы — HTTP 500 / «Произошла ошибка». На карточке уже существующей задачи (МТФ) та же категория и тот же смарт-фильтр открываются без проблем.

Что проверить:

  • Настроен ли на блоке ДП или группе блоков ДП этой категории смарт-фильтр видимости или сворачивания (Скрывать по смарт-фильтру / Сворачивать по смарт-фильтру), ссылающийся на свойство задачи (например, статус)
  • Версия системы — ошибка исправлена в сборке 2.268.423 и выше; если ниже — воспроизводится на любом фильтре видимости блока/группы, который обращается к полям задачи
  • Работает ли тот же фильтр на существующей задаче (МТФ) — если да, а НТФ падает, это именно этот кейс

Решение:

  • Обновить систему до версии, включающей фикс (2.268.423+) — смарт-фильтр видимости блока/группы блоков корректно вычисляется и без контекста (на форме создания), не роняя форму
  • До обновления как временный обход: снять привязку смарт-фильтра от видимости блока/группы блоков в этой категории — форма создания откроется, но видимость перестанет учитывать условие на НТФ

Когда обращаться в поддержку: если версия актуальная (2.268.423+), а форма создания всё равно падает с 500 при наличии смарт-фильтра на блоке/группе блоков — с указанием ID категории, ID смарт-фильтра и текста ошибки/стека.


3.6 Параметр из блока «Шапка задачи» показывается дважды на форме создания задачи

Симптом: на форме создания задачи параметр, привязанный к системному блоку «Шапка задачи», виден дважды — в шапке формы и в отдельной группе «Шапка задачи». В карточке уже созданной задачи дубля нет.

Что проверить:

  • Версия системы — случай исправлен в сборке 2.268.669 и выше; на более ранних дубль воспроизводится в любой категории, где есть параметры в «Шапке задачи»
  • Есть ли в категории параметры, привязанные к системному блоку (настройки категории, колонка имени блока)
  • Открывается ли та же задача в карточке — если там параметр один, это именно этот случай

Решение:

  • Обновить систему до сборки с исправлением; снимать привязку параметра к системному блоку или удалять блок не требуется
  • Временный обход до обновления: скрыть параметр настройкой «Не отображать» в режиме «При постановке» — в шапке формы он останется

Когда обращаться в поддержку 1Ф: если версия актуальная, а параметр на форме создания всё равно дублируется — с идентификаторами категории и параметра и снимком экрана формы.

3.7 При создании группы блоков ДП сообщается, что имя уже занято

Симптом: при сохранении новой группы блоков ДП с именем, которое уже используется в этой же категории, группа не создаётся — система сообщает, что группа блоков с таким названием уже существует. На сборках ниже 2.268.662 в этом случае возвращалась системная ошибка (HTTP 500), а в журнал исключений попадала запись SqlException по индексу ux__dbo__ExtParamBlocksGroups__SubcatId__Name.

Что проверить:

  • Есть ли в этой категории группа с таким же названием — имена групп уникальны в пределах категории
  • В какой категории создаётся группа — то же имя в другой категории допустимо и созданию не мешает
  • Версия системы — случай исправлен в сборке 2.268.662 и выше; на более ранних занятое имя даёт 500 вместо сообщения

Решение:

  • Задать группе другое имя
  • Если группа с таким названием в категории не нужна — переименовать или удалить существующую

Когда обращаться в поддержку 1Ф: если версия актуальная (2.268.662+), а при занятом имени вместо сообщения возвращается системная ошибка — приложить ID категории, имя группы и текст ошибки.


3.8 Значения ДП «Таблица» нет в созданной задаче, если параметр добавлен в два блока одной группы блоков

Симптом: пользователь заполняет таблицу на форме создания задачи в одном из двух блоков одной группы блоков и ставит задачу — в созданной задаче ДП «Таблица» пуст. Значение, введённое в другой блок той же группы, при этом сохраняется.

Что проверить:

  • сколько раз этот параметр добавлен в блоки категории — привязки видны в настройках блоков; признак — один и тот же ДП стоит в двух блоках;
  • объединены ли эти блоки в одну группу блоков (поле «Группа блоков» в настройках блока) — если блоки в разных группах или не в группе, случай не воспроизводится;
  • какой блок группы заполнял пользователь: значение берётся из блока, с которым он взаимодействовал последним, а не обязательно из того, куда вводили данные;
  • точный номер сборки (вид 2.268.693, а не только название «Скульптор»: по названию семейства сборку с исправлением от более ранней не отличить).

Решение:

  • обновить систему до актуальной сборки 2.268 «Скульптор» — после обновления значение сохраняется из того блока группы, с которым работал пользователь, привязки менять не нужно;
  • до обновления как временный обход — не размещать один и тот же ДП «Таблица» в двух блоках одной группы: оставить параметр в одном блоке или разнести блоки по разным группам.

Когда обращаться в поддержку 1Ф: если сборка актуальная, а таблица по-прежнему теряет введённые значения при постановке задачи — приложить ID категории, ID параметра, номер созданной задачи и запись экрана с заполнением таблицы на форме создания задачи.

4. Права и видимость ДП

Частая тема обращений. Вопросы о смарт-доступе, матрице доступа, правах по статусам.

4.1 ДП доступен/недоступен вопреки ожиданию

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

Что проверить (в порядке приоритета):

  1. Права по статусам (ExtParamStateView) — CanRead/CanEdit для текущего статуса
  2. Права по матрице доступа — функциональный доступ к ДП
  3. Гибкие права (EPRights) — если настроены
  4. Смарт-доступ — если используется смарт-выражение для видимости/доступности

Решение:

  • Последовательно проверить все уровни прав
  • Права по статусам перекрывают матрицу доступа
  • Гибкие права (EPRights) — дополнительный механизм, работает через SelectUsers

Когда обращаться в поддержку: если все уровни прав проверены и выглядят корректно.

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q4 (EPRights), Q6 (ExtParamStateView).

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

Симптом: после массового копирования прав (copypermissions / copypermissionsstates) точечные настройки для отдельных ДП потерялись.

Что проверить:

  • Какая операция выполнялась (копирование групповых прав или прав по статусам)
  • Что было источником копирования

ВАЖНО: Операции копирования прав перезаписывают целевые настройки без возможности отмены.

Решение:

  • Восстановить точечные настройки вручную
  • Предупредить пользователя о рисках массового копирования

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q6, Q7.

4.4 ДП не появляется после маршрутного перехода — требуется обновление страницы

Симптом: после перехода задачи в новый статус ДП, который должен стать видимым по матрице доступа, не отображается. После F5 — появляется. Воспроизводится нестабильно, чаще на нагруженных площадках.

Что проверить:

  • Включена ли матрица доступа для ДП (TaskEntityPermissionControl = true)
  • Прописаны ли права ДП именно для нового статуса (CanRead/CanWrite)
  • Версия системы — проблема воспроизводилась на версии 2.267

Решение:

  • Если версия 2.267 и нет патча — обновиться до версии с исправлением (патч 2.267)
  • Временный обходной путь: пользователь обновляет карточку задачи (F5)

Когда обращаться в поддержку: с указанием ID задачи, ID ДП, типа ДП, статуса до и после перехода, типа инфраструктуры площадки.


4.3 Файлы из закрытых ДП доступны через поиск

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

Что проверить:

  • Настройки доступа к ДП (CanRead) — закрыт ли для пользователя
  • Индексируются ли файлы ДП в поисковом движке

Решение:

  • Известная проблема: поисковый индекс может не учитывать права доступа к ДП при индексации файлов
  • Обращение в поддержку 1Ф (как вопрос безопасности) с указанием ID ДП и способа воспроизведения

4.5 Опция «Просмотр не ограничивается» не отражается в настройках без перезагрузки страницы

Симптом: при сохранении опции «Просмотр не ограничивается» (или изменении функций доступа по SQL-функции) настройка записывается, но окно продолжает показывать прежнее состояние — новая галка отражается только после обновления страницы. На категориях с большим объёмом значений это выглядит как «опция не сохраняется с первого раза».

Что проверить:

  • Версию сборки: в сборках до исправления результат сохранения был виден только после перезагрузки страницы;
  • Тип доступа у ДП — опция применяется к доступу «По SQL-функции»;
  • Записалась ли настройка на самом деле: закрыть окно и открыть заново либо посмотреть значение в настройках ДП категории

Решение:

  • В актуальной сборке состояние перечитывается сразу после сохранения; если окно показывает прежнее значение — обновиться до сборки с исправлением;
  • Временный обходной путь: пользователь обновляет страницу

Когда обращаться в поддержку: если на актуальной сборке сохранение по-прежнему не отражается без перезагрузки или окно показывает расхождение с сохранённым значением. В обращение приложите: ID категории, ID ДП, версию сборки, тип доступа и снимки экрана до и после сохранения.

4.6 Параметр, закрытый правами по статусу, в таблице выглядит как «0» или пусто

Симптом: у параметра с настройкой «Доступ зависит от статуса» в части статусов ячейка табличного представления показывает «0» или остаётся пустой, хотя в карточке задачи (в статусе, где чтение разрешено) значение заполнено. Под фильтром «исключая значение» такие строки ведут себя не как настоящий ноль.

Что проверить: включён ли у параметра в категории «Доступ зависит от статуса» и есть ли в текущем статусе право на чтение; включено ли «Использовать 0 для пустых значений» — оно рисует ноль только для реально пустого значения.

Решение: на сборке 2.268 «Скульптор» с 02.10.2026 ячейка показывает «(нет доступа)», значение не раскрывается — ни в таблице, ни в выгрузке. Скрытие здесь задают права по статусам или матрица доступа; скрытие значения смарт-фильтром блока устроено иначе и выгрузку не затрагивает. Если на актуальной сборке по-прежнему «0» или пусто — приложить категорию, параметр, номер задачи, статус и снимок ячейки.


5–14. Сквозные ДП, настройка, значения, типы, мобильное приложение, список задач, смарт-выражения, локализация, копирование и API

Сложная тема — значения вычисляются через цепочку лукапов.

5.1 Сквозной ДП показывает неверное значение или пуст

Симптом: через ДП не «протягивается» значение из связанной задачи, показывается пустое или устаревшее значение.

Что проверить:

  • Настройку цепочки: ДП → Lookup → через какой ДП в задаче-источнике берётся значение
  • Заполнен ли lookup в текущей задаче
  • Заполнен ли целевой ДП в задаче-источнике (той, на которую ссылается lookup)

Решение:

  • Проверить, что lookup в задаче указывает на правильную задачу-источник
  • Проверить, что в задаче-источнике целевой ДП заполнен
  • Пересохранить lookup — это может инициировать пересчёт сквозного значения

Когда обращаться в поддержку: если цепочка корректна, значения заполнены, но through-ДП пуст — с указанием: ID задачи, ID сквозного ДП, ID lookup-ДП.

Подробнее — Сквозные ДП.

5.2 Ошибка логики доступа к сквозному ДП

Симптом: ошибка при попытке чтения/записи сквозного ДП, или пользователь не видит/не может редактировать сквозной ДП.

Что проверить:

  • Не был ли удалён или изменён lookup-ДП, через который строится цепочка
  • Не изменилась ли категория-справочник
  • Настройку «Учитывать настройки доступа по целевому ДП»: если включена — доступ = логическое И прав на сквозной ДП и целевой ДП; если выключена — чтение по сквозному ДП, но без прав на целевое поле оно будет доступно только для чтения
  • Состав ответа чтения при включённой настройке: у сквозного параметра, на целевой параметр которого нет права чтения, значения в ответе быть не должно, а для файлового целевого параметра в ответе не должно быть ни имени, ни идентификатора вложения

Подробнее о матрице доступа: Сквозные ДП → Настройка доступа.

Когда обращаться в поддержку: с текстом ошибки из лога. Если при включённой настройке значение недоступного целевого параметра всё же приходит в ответе, приложите задачу, сквозной и целевой параметры, состояние настройки и тип целевого параметра — это расхождение разграничения доступа.


6. Настройка и перенос ДП

Симптом: после переноса категории между площадками связи ДП работают некорректно, ID в ExtParamLink изменились.

Что проверить:

  • Утилита переноса — какая версия использовалась
  • Перенесены ли все связанные категории-справочники

Решение:

  • После переноса проверить связи ДП в админке (Связи параметров)
  • Если ID изменились — это ожидаемое поведение при переносе, связи нужно пересоздать или скорректировать

Когда обращаться в поддержку: если утилита не перенесла ExtParamsInSubcatToBlocks или ExtParamStateView.

6.2 Удаление ДП — ошибка таймаута

Симптом: при удалении глобального ДП возникает ошибка таймаута.

Что проверить:

  • Используется ли ДП в категориях (есть ли привязки)
  • Используется ли ДП в подписях
  • Есть ли значения у этого ДП в задачах

Решение:

  • Сначала удалить ДП из всех категорий, где он используется
  • Затем удалить глобальный ДП
  • Если много данных — удаление может занять время, это нормально

Когда обращаться в поддержку: если ДП не используется нигде, но удаление всё равно падает.

Углублённая SQL-диагностика (при доступе к БД) — в Настройке ДП: Q8 (использование ДП).

6.3 NullReferenceException при открытии настроек ДП

Симптом: ошибка NullReferenceException в AdminSPA при открытии настроек конкретного ДП в категории.

Что проверить:

  • ID ДП и категории
  • Тип ДП — для некоторых типов настройки могут быть неконсистентны

Когда обращаться в поддержку: с текстом ошибки, ID ДП, ID категории.

6.4 После сохранения настроек ДП «Дерево» пропали все узлы

Симптом: после сохранения глобальных настроек ДП «Дерево» через POST /api/admin/extparams/settings дерево оказалось пустым — выбирать из него нечего.

Причина: коллекция узлов сохраняется полной заменой. Пустой список означает «узлов нет» и удаляет все узлы вместе с дочерними; узлы, которых нет в переданном списке, тоже удаляются.

Что проверить:

  • Тело запроса — передавался ли полный текущий состав узлов
  • Тип запроса — обновление настроек ДП всегда перезаписывает дерево целиком

Решение: при любом обновлении настроек дерева передавать полный текущий список узлов. Запрос, в котором коллекция узлов отсутствует совсем, дерево не трогает: он отклоняется с кодом 400 и сообщением «Не обнаружены настройки для доп. параметра». На сборках до 2.268 «Скульптор» такой запрос завершался ошибкой 500.

Когда обращаться в поддержку: если узлы пропали после запроса с непустым списком — приложить ID ДП, тело запроса и время операции.

6.5 В окне «Создать ДП» не видно поле поиска и верхние типы списка «Тип»

Симптом: в окне «Создать ДП» (общий «Список ДП» или вкладка «ДП» в настройках категории) раскрытый список «Тип» обрезан верхним краем окна браузера: не видно поле поиска и первые типы, например «Lookup поле». Прокрутка списка не помогает — он уже в верхнем положении.

Почему так: список типов отсортирован так, что первыми идут англоязычные названия, поэтому первый пункт — «Lookup поле». Панели списка не хватает места в окне невысокой высоты (около 860 px и меньше — например, 1920×1080 при масштабе Windows 125% или открытая панель DevTools): если высоту панели не ограничить и не вернуть её в границы окна, верхняя часть списка — поле поиска и первые типы — уходит за край экрана.

Что проверить:

  • Версию системы — начиная со сборки 2.268 «Скульптор» панель списка целиком остаётся в пределах окна: видны поле поиска и первые типы, остальные доступны прокруткой. Если сборка старше — обновитесь.
  • Если обновление пока невозможно: уменьшите масштаб страницы в браузере (например, до 80%), увеличьте высоту окна или закройте DevTools — панель поместится, поиск и «Lookup поле» станут видны.
  • Обходной путь без изменения окна: начните вводить название типа в поле поиска (если оно видно) — список отфильтруется до нужного типа.

Когда обращаться в поддержку 1Ф: если сборка 2.268 «Скульптор» или новее, а панель списка «Тип» по-прежнему выходит за край окна — приложите версию сборки, разрешение экрана, масштаб Windows и браузера, открыто ли DevTools, и снимок экрана с раскрытым списком.


7. Значения ДП — расчёты и история

7.1 Значение ДП не пересчитывается

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

Что проверить:

  • Текст смарт-выражения — нет ли синтаксических ошибок
  • Зависимости — все ли ДП, от которых зависит формула, заполнены
  • Тип ДП — совместим ли результат формулы с типом ДП

Решение:

  • Попросить пользователя показать смарт-выражение
  • Проверить, не изменился ли тип ДП после создания формулы

7.2 История изменений ДП пуста или некорректна

Симптом: блок «История изменений ДП» пуст, изменение ДП не фиксируется.

Что проверить:

  • Включено ли логирование изменений для этого ДП в настройках категории
  • Тип ДП — не все типы поддерживают историю одинаково

Решение:

  • Проверить настройку логирования в категории
  • Если логирование включено, но история пуста — обратиться в поддержку 1Ф

7.3 Округление денежных ДП

Симптом: ДП типа «Деньги» округляется до целых, хотя настроена дробная часть.

Что проверить:

  • Настройку дробной части в ДП (количество знаков после запятой)
  • Не переопределяется ли формат отображения на уровне списка задач

Решение:

  • Проверить настройку в админке: ДП → дробная часть
  • Если настройка корректна, но отображается целое — проверить формат колонки в списке задач

8. Специфические типы ДП

8.1 ДП Файл / Мультифайл

Симптом: ошибка при вложении файлов, картинки некорректно отображаются при переносе текста, подсказка из смарт-выражения не работает; только что загруженный файл в «Мультифайл» не открывается, не скачивается или не удаляется.

Что проверить:

  • Ограничения на размер/тип файла в настройках ДП
  • Провайдер хранения (БД, файловая система, S3/MinIO)
  • Версию системы — в актуальных версиях загруженный в «Мультифайл» файл доступен для открытия, скачивания и удаления сразу после загрузки; если файл недоступен до ручного сброса кэшей, обновите систему

Симптом: TSQL с событийным параметром @eventParam1 в смарт-выражении имени файла ДП «Файл» (Настройки ДП → «Имя файла» → «Смарт-выражение») не создаётся и не сохраняется; выражение не отображается в списке или не открывается по карандашу. В консоли браузера при этом падает POST /api/admin/smart/expressions/editor 400 (Bad Request).

Причина: фронтовый дефект AdminSPA (точка входа «Имя файла ДП Файл») — в запрос редактора не передавался EventID события, в контексте которого вычисляется выражение.

Решение: обновить систему до версии, включающей фикс (сборка 2.268 и выше) — AdminSPA теперь передаёт EventID = 24 (AfterFileUploaded) во все операции редактора имени файла, и выражение с @eventParam1 сохраняется и применяется при вложении файла.

Когда обращаться в поддержку 1Ф: если версия актуальная (2.268+), а выражение с @eventParam1 всё равно не сохраняется — приложить ID ДП, текст смарт-выражения и текст ошибки из консоли браузера.

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С — как обрабатывается пустое значение

Решение:

  • Зафиксировать версию до и после — возможная регрессия
  • Как обход: заполнить пустые значения ДП значением по умолчанию до обмена
  • Обращение в поддержку 1Ф (как регрессия)

8.7 ДП Выпадающий список, источник «Из таблицы» — ошибка при создании задачи в НТФ (PostgreSQL)

Симптом: при создании задачи через НТФ появляется системная ошибка «Произошла ошибка. Обратитесь в техническую поддержку.» Ошибка воспроизводится только при наличии на форме НТФ ДП типа «Выпадающий список» с источником данных «Из таблицы», у которого колонка значений содержит текстовые данные (не числа). На MSSQL-инсталляции ошибки нет, проблема специфична для PostgreSQL.

Что проверить:

  • Версию системы — ошибка устранена в v2.267; если ниже — требуется обновление
  • Тип ДП и его источник данных: «Выпадающий список» → вкладка источника → «Из таблицы»
  • Тип данных в колонке-значении (valueColumn) — если текстовый (varchar, text) при PostgreSQL, до v2.267 это воспроизводит ошибку
  • Проверить в МТФ (уже созданной задаче) — если там работает, а НТФ падает, это именно этот кейс

Решение:

  • Обновить систему до v2.267 или выше — ошибка полностью устранена
  • До обновления: как временный обход — заменить источник «Из таблицы» на «Набор элементов» с теми же значениями или убрать ДП с НТФ

8.8 ДП Выпадающий список, источник «Из таблицы» — ошибка для таблиц из схемы custom (Excel-импорт, PostgreSQL)

Симптом: значения ДП типа «Выпадающий список» с источником «Из таблицы» не загружаются либо возникает ошибка, если таблица-источник находится в схеме custom — такие таблицы создаёт импорт данных из Excel. На MSSQL-инсталляции ошибки нет, проблема специфична для PostgreSQL.

Что проверить:

  • Версию системы — ошибка устранена в v2.268; если ниже — требуется обновление
  • Где создана таблица-источник — если через импорт из Excel (попадает в схему custom), до v2.268 это воспроизводит ошибку
  • Отличие от § 8.7 — здесь причина в разрешении схемы объекта (custom/dbo), а не в типе данных колонки-значения

Решение:

  • Обновить систему до v2.268 или выше — ошибка полностью устранена

9. Мобильное приложение и ДП

9.1 ДП не работают / некорректно работают на мобильном

Симптом: ДП невозможно заполнить на iOS/Android, текстовое ДП работает некорректно, поиск в SelectUsers не ищет по группам/оргединицам, API файлов ДП не работает в мобильном приложении (Андромеда).

Что проверить:

  • Платформа: iOS или Android
  • Версия мобильного приложения
  • Тип ДП — какие именно ДП не работают
  • Для API: проверить маршрут /app/v1.2/api/files/eps/{taskId}/{extParamId} — работает ли на вебе

Решение:

  • Уточнить тип ДП и платформу — ряд типов имеют ограниченную поддержку на мобильных
  • Для SelectUsers на iOS: поиск по оргединицам может не поддерживаться в текущей версии
  • Обновить мобильное приложение до последней версии
  • Если проблема на актуальной версии — обращение в поддержку 1Ф с указанием: платформа, версия МП, тип ДП, шаги воспроизведения

10. Взаимодействие со списком задач

10.1 Изменение ДП в списке задач без обязательного комментария

Симптом: пользователь может изменить ДП прямо в списке задач, минуя проверку обязательного комментария.

Это известное ограничение: редактирование ДП в гриде может не проходить через все валидации карточки задачи.

10.2 ДП определённых типов нельзя добавить в список задач

Симптом: нельзя добавить ДП с типом «Выбор нескольких задач» (Multilookup) в колонки списка задач.

Решение: не все типы ДП поддерживаются как колонки списка задач. Это ограничение системы.


11. Смарт-выражения и ДП

11.1 Смарт-выражение возвращает неожиданный результат

Симптом: после обновления версии смарт-выражение для ДП стало работать иначе (например, пустой список вместо строки при конкатенации с незаполненным ДП).

Что проверить:

  • Версию, на которой работало и на которой сломалось
  • Текст смарт-выражения
  • Типы ДП, используемых в выражении

Решение:

  • Зафиксировать: выражение, версию до и после, ожидаемый и фактический результат
  • Обращение в поддержку 1Ф (как регрессия)

12. Локализация ДП

12.1 Элементы интерфейса ДП не локализованы

Симптом: кнопки, привязанные к ДП, не переводятся на язык пользователя. Группы блоков ДП не локализованы. Таблица истории изменений ДП отображается без перевода.

Что проверить:

  • Язык интерфейса пользователя
  • Настроена ли локализация для кнопок/блоков ДП в AdminSPA
  • Версия системы — локализация некоторых элементов добавлена в свежих версиях

Решение:

  • Для кнопок: проверить, заполнены ли переводы в настройках кнопки ДП
  • Для групп блоков: локализация групп блоков может не поддерживаться — уточнить в текущей версии
  • Для истории изменений: известная проблема, не локализована — обращение в поддержку 1Ф как запрос на доработку

Подписи «Да» и «Нет» у ДП «Флажок». Логическое значение ДП «Флажок» показывается текстом на языке интерфейса: в колонке ДП таблицы резолюций, в снимке задачи и в карточке задачи мобильного приложения. На русском интерфейсе это «Да» и «Нет», на остальных языках — перевод из словаря языка с откатом на английский, затем на русский. Если подпись не меняется при смене языка интерфейса, проверьте, что язык сохранён в профиле пользователя и что в файле этого языка заполнены ключи блока common.


13. Копирование значений ДП

13.1 Некорректное копирование ДП при создании задачи

Симптом: при копировании задачи или создании подзадачи значения ДП копируются некорректно — лишние ДП копируются, нужные не копируются, или значения искажаются.

Что проверить:

  • Настройку «Копировать значение из родительской задачи» для каждого ДП
  • Тип ДП — не все типы корректно копируются (Таблица, Мультилукап — особые случаи)
  • Метод создания: через кнопку «Копировать», через смарт, через API

Решение:

  • Проверить настройку копирования в параметрах ДП в категории
  • Для смартов: проверить, явно ли заполняются ДП в смарте или ожидается автокопирование
  • Если копирование через API — проверить, передаются ли значения ДП в запросе

13.2 Запрет копирования текста из ДП

Симптом: пользователь хочет запретить пользователям копировать содержимое ДП (Ctrl+C).

Решение:

  • Штатного механизма запрета копирования текста из ДП нет
  • Можно реализовать через пользовательскый JS (SmartScript), но это неполная защита (данные доступны через API)
  • Зафиксировать как запрос на доработку

14. API для работы с ДП

14.1 Получение и обновление значений ДП через API

Симптом: пользователь спрашивает, как получить все ДП задачи через API, как обновить ДП типа «Файл» через API, как работать с ДП из Lua-скриптов.

Что проверить:

  • Цель: чтение или запись ДП
  • Тип ДП (простые типы, файл, мультилукап, таблица — разные маршруты)

Решение:

  • Чтение всех ДП задачи: GET /api/task/{taskId} возвращает ДП в блоке ExtParams
  • Обновление простых ДП: POST /api/extParams/update
  • Обновление ДП Файл: POST /api/files/upload/ToPreUploadedFiles → затем привязка к ДП
  • Синхронизация с 1С: для лукапов использовать TCLookupGUIDEPID — указывать ID ДП-лукапа
  • Lua: доступ к ДП через task.ExtParams[epId], запись через task:SetExtParam(epId, value)

Чеклист для первичной диагностики ДП и обращения в поддержку 1Ф

Что уточнить по любой проблеме с ДП:

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

Когда обращаться в поддержку 1Ф

Обратитесь в поддержку 1Ф, если столкнулись с одним из следующих:

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