Дополнительные параметры — Решение проблем¶
Документ описывает типовые проблемы дополнительных параметров от самых частых к менее частым. Внутри собраны разделы по ДП Таблица, lookup, блокам ДП, правам и видимости, сквозным ДП, настройке и переносу, расчётам, специфическим типам ДП, мобильному приложению, списку задач, смарт-выражениям, локализации, копированию и API. Для каждой проблемы указаны симптом, что проверить, решение и когда обращаться в поддержку 1Ф.
Как пользоваться этим документом
Документ организован по типам проблем — от самых частых к менее частым. Для каждой проблемы:
- Симптом — что наблюдает пользователь
- Что проверить — шаги диагностики без доступа к БД
- Решение — что проверить или исправить
- Когда обращаться в поддержку 1Ф — что приложить к обращению
1. ДП Таблица¶
Самая частая тема обращений по ДП. Типичные жалобы: не работает фильтрация, множественный выбор, значения по умолчанию, автосохранение, отображение.
1.1 Фильтрация в ДП Таблица не работает¶
Симптом: пользователь пытается фильтровать строки в табличном ДП, фильтр не реагирует или показывает все строки.
Что проверить:
- Версия системы — фильтрация в ДП Таблица поддерживается начиная с определённых версий (уточнить у пользователя версию)
- Тип колонки — не все типы колонок поддерживают фильтрацию: lookup-колонки фильтруются текстовым поиском по значению (как в гриде, без ограничения на число записей справочника); «Блок кнопок» и «Шаблонная» не фильтруются
- Настройка категории — включена ли фильтрация для этого ДП Таблица в настройках категории
Решение:
- Убедиться, что версия актуальная
- Проверить, что фильтрация включена в настройках ДП Таблица
- Если проблема с конкретным типом колонки — зафиксировать какой именно тип и версию
Когда обращаться в поддержку: если фильтрация включена, версия актуальная, но не работает — обращение в поддержку 1Ф с указанием: ID категории, ID ДП, тип проблемной колонки, версия.
1.2 Множественный выбор в ДП Таблица¶
Симптом: при использовании множественного выбора строк — не все позиции добавляются, появляются пустые строки, кнопка «Применить» не работает.
Ожидаемое поведение выбора. Отметки в окне накапливаются: поиск, фильтрация, сортировка, группировка, переход между страницами и кнопка «Обновить» уже отмеченные строки не снимают, а по «Применить» в таблицу уходят все отмеченные объекты из любого положения списка. Пропажа ранее отмеченных строк — дефект, а не следствие фильтра или настройки: пока выбор теряется при поиске, стоит проверить, что сборка содержит накопительный выбор в плоском окне табличного ДП.
Известное ограничение: кнопка «Множественный выбор» не отображается в НТФ (форма постановки задачи). Это ожидаемое поведение — не требует обращения в поддержку. Множественный выбор доступен только после создания задачи, в МТФ.
Что проверить:
- Количество выбираемых элементов — есть ли ограничение в настройках
- Воспроизводится ли при выборе небольшого количества (2-3 элемента)
- Есть ли обязательные поля в строке таблицы
Решение:
- Попросить пользователя попробовать с меньшим количеством элементов
- Проверить, не блокирует ли обязательное поле сохранение
- Если проблема стабильно воспроизводится — фиксировать шаги
Когда обращаться в поддержку: с описанием шагов воспроизведения, ID категории, ID ДП.
1.3 Значения по умолчанию в ДП Таблица¶
Симптом: значение по умолчанию не появляется при создании задачи (НТФ), удаляется после сохранения строки, рассчитывается некорректно.
Что проверить:
- Настроено ли значение по умолчанию в настройках колонки ДП Таблица
- Тип значения по умолчанию — статическое или через смарт-выражение
- Если смарт-выражение — корректно ли оно (нет ли ошибки в логике)
Решение:
- Проверить настройку значения по умолчанию в админке
- Если смарт — попросить пользователя показать текст смарт-выражения
- Для НТФ: проверить, не стоит ли флаг «Не копировать значение из родительской задачи»
Когда обращаться в поддержку: если настройка корректна, но значение не появляется.
1.4 Автосохранение и обновление ДП Таблица¶
Симптом: после отработки автоматизации/действия значения в таблице не обновляются; при включённом автосохранении очищаются значения.
Ожидаемое поведение. Открытая карточка получает сигнал об изменении таблицы и показывает новое значение без обновления страницы. Это касается обоих способов показа — сетки и набора полей, — а также таблицы, выведенной в карточке в нескольких блоках или на разных вкладках: новое значение появляется во всех её экземплярах. Если пользователь правил ячейку и не сохранил, правка остаётся на экране поверх новых данных и уходит на сервер при следующем сохранении.
Что проверить:
- Включено ли автосохранение строк в настройках ДП Таблица
- Происходит ли проблема после конкретного действия/перехода или при ручном редактировании
- Точный номер сборки: для режима «динамический набор полей» (настройка «Отображать как») обновление по сигналу появилось в сборке 2.268 «Скульптор», тег 2.268.724. До неё набор полей перечитывал данные только после собственного сохранения, и обновление страницы было единственным способом увидеть изменение
Решение:
- Обновить площадку до сборки с тегом 2.268.724 или новее — после этого значения меняются без обновления страницы в обоих режимах показа
- На сборках до исправления единственная мера — обновить страницу карточки (F5): если после неё данные на месте, потеря была только в отображении
- Если данные пропали и после обновления — обратиться в поддержку 1Ф
Когда обращаться в поддержку: с указанием ID задачи, где значения расходятся с данными в базе, ID дополнительного параметра, режима показа таблицы (сетка или набор полей), действия, которое вызвало проблему, и точного номера сборки.
1.5 Итог по числовой колонке меняется при прокрутке или обновлении, либо не совпадает с ожидаемым¶
Симптом: в строке итогов ДП Таблица меняется сумма по колонке типа «Число» или «Деньги» после прокрутки, загрузки следующих строк или обновления таблицы; либо итог не совпадает с ручным подсчётом.
Ожидаемое поведение: итог рассчитывается отдельным запросом по всем строкам, соответствующим текущим фильтрам (но не более 1000 строк — см. ниже), и не зависит от количества строк, загруженных на экране.
Что проверить:
- включено ли отображение итога у проблемной числовой колонки;
- меняются ли данные или фильтры таблицы перед изменением итога;
- воспроизводится ли проблема после последовательности: открыть таблицу → зафиксировать итог → прокрутить → обновить таблицу;
- воспроизводится ли проблема одновременно для нескольких числовых колонок;
- количество строк в таблице под текущим фильтром — если больше 1000, заниженный итог ожидаем (известное ограничение, не баг).
Решение:
- если итог меняется только после изменения фильтра, это ожидаемо: сумма пересчитывается по отфильтрованным строкам;
- если строк под фильтром больше 1000 — заниженный итог соответствует известному ограничению, не требует обращения в поддержку;
- если итог меняется после прокрутки или обновления без изменения данных, фильтров и при количестве строк ≤ 1000 — это несоответствие;
- зафиксировать задачу, ДП Таблица, названия колонок, исходный и изменившийся итог, количество строк и запись экрана.
Когда обращаться в поддержку 1Ф: если итог меняется без изменения данных/условий фильтрации при количестве строк ≤ 1000.
1.6 Отображение и форматирование ДП Таблица¶
Симптом: некорректное отображение дат (день/месяц перепутаны), обрезание названий лукапов, нет названия при открытии в отдельной вкладке, проблемы с высотой строк и секциями.
Что проверить:
- Локаль браузера (для проблем с датами)
- Ширина колонок — достаточна ли для отображения содержимого
- Секции — если включены, проверить нет ли конфликта с другими ДП под таблицей
Решение:
- Даты: проверить локаль браузера, формат дат в настройках ДП
- Ширина: предложить настроить ширину колонок
- Секции: известная проблема — если под таблицей с секциями нет других ДП, таблица может обрезаться
1.6а Текст соседних колонок накладывается друг на друга при сжатии колонки¶
Симптом: при сжатии одной колонки — например, текстовой — соседняя колонка «Деньги» или «Число» сжимается сильнее, чем нужно для её содержимого, и текст ячеек соседних колонок накладывается друг на друга.
Что проверить:
- версию сборки: колонки перестали схлопываться в сборке 2.268 «Скульптор», на более ранних поведение воспроизводится;
- тип сжимаемой колонки: симптом касался колонок «Деньги», «Число», «Нумератор» и «Телефон».
Решение: обновиться до сборки 2.268 «Скульптор» или новее. После обновления колонка останавливается на минимальной ширине, рассчитанной по типу столбца, а непоместившееся значение обрезается внутри своей ячейки и не выходит за её границы.
Когда обращаться в поддержку 1Ф: если на сборке 2.268 «Скульптор» или новее текст по-прежнему накладывается на соседние колонки — приложить идентификаторы задачи и табличного ДП, названия колонок, точный номер сборки (вид 2.268.693, а не только название семейства) и запись экрана.
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 Колонка настроена, но не участвует в фильтрации и сортировке¶
Симптом: колонка есть в настройках ДП Таблица, но по ней не работают фильтр, сортировка и группировка; в логе приложения — предупреждение о том, что колонка отсутствует во вью.
Причина: колонка настроена, но физически отсутствует в денормализованном представлении данных таблицы. Типичные случаи — ДП колонки отвязан от категории либо колонка не попала в сводную выборку.
Что проверить:
- Привязан ли ДП, на котором основана колонка, к категории задачи
- Присутствует ли колонка в денормализованном представлении таблицы
Что делать: сама по себе ситуация работу не блокирует — таблица открывается без учёта такой колонки. На сборках до 2.268 такая же рассинхронизация могла не только отключить операции по колонке, но и уронить чтение табличного представления категории ошибкой 500 (в журнале исключений — KeyNotFoundException с кадром Helper.InitValuesFromDenormalized); после исправления колонка пропускается, а пропуск пишется предупреждением. Разбор для поддержки — в документе «Гриды — Решение проблем». Если колонка нужна, восстановите привязку ДП к категории и настройки колонки.
Когда обращаться в поддержку: если привязка ДП на месте, а колонка всё равно отсутствует в представлении — с указанием ID задачи и ID ДП.
1.13 По краям строк видны узкие колонки без заголовков¶
Симптом: в ДП «Таблица» по краям каждой строки видны узкие колонки без заголовков — одна слева, другая справа.
Что это: служебные колонки, а не данные. Слева — колонка номеров строк: номер показывает место строки в таблице и не меняется при фильтрации, сортировке и переходе на другую страницу; в режиме редактирования за эту же колонку строка перетаскивается мышью. Справа — кнопка … с меню строки («Добавить строку», «Переместить»). Заголовков у колонок нет.
Когда колонок не будет: если в настройках таблицы включены обе настройки — «Скрыть номера строк» и «Запретить перемещение строк», — левой колонки на экране нет: номера скрыты, а перетаскивание запрещено и ручка больше не нужна. Колонка номеров также не показывается под строками группировки и итогов и у несохранённой строки: пока строка не сохранена, номера у неё нет.
Что делать не нужно: колонки appearance не ломают таблицу и не мешают работе с данными — это ожидаемое оформление. Если мешает вид, попросите администратора включить «Скрыть номера строк».
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 ДП, текст ошибки или скриншот, время операции.
1.20 Сохранение табличного ДП шифрованной задачи отвечает ошибкой 400, а таблица остаётся изменённой¶
Симптом: при добавлении, изменении или удалении строк в таблице дополнительного параметра шифрованной задачи, а также при копировании таблицы и перестановке строк, запрос завершается ошибкой 400 с техническим текстом вида «An item with the same key has already been added. Key: <число>». Строки при этом сохраняются, поэтому повторное добавление даёт дубль строки, а повторное удаление — сообщение про отсутствующий номер строки. Сигнал обновления таблицы не приходит ни подписчикам, ни тем, у кого есть право на просмотр шифрованных задач; сводное значение параметра и события «после изменения ДП» за этот раз не выполняются.
Различающий сигнал: ошибка воспроизводится только у шифрованной задачи и только когда среди её подписчиков двое и больше уволенных пользователей — у них нет групп. У задач без признака шифрования и у шифрованных задач без уволенных подписчиков сохранение отвечает успехом. Повтор того же действия без изменения состава подписчиков иногда проходит: недостающие ключи оседают в кэше групп, поэтому сбой возвращается после следующего полного обновления кэша групп.
Что проверить:
- помечена ли задача шифрованной и есть ли среди её подписчиков уволенные пользователи;
- не выполнялся ли незадолго до этого полный пересчёт состава групп на площадке — после него пользователей без групп в кэше не остаётся, и сбой проявляется чаще;
- точный номер сборки: исправление вошло в сборку 2.268 «Скульптор», тег 2.268.713.
Решение: обновить площадку до сборки с тегом 2.268.713 или новее — пакетная проверка доступа к содержимому шифрованной задачи возвращает ровно запрошенных получателей, сохранение обрабатывается целиком (строки, сводное значение параметра, события «после изменения ДП»), а сигнал обновления уходит только тем, у кого есть доступ к содержимому. До обновления — временный обходной путь: снять уволенных пользователей с подписки на такие задачи (снятие подписки данные не удаляет) либо не редактировать таблицу шифрованной задачи, пока среди подписчиков двое и больше уволенных.
Когда обращаться в поддержку 1Ф: если на сборке 2.268.713 или новее сохранение табличного ДП шифрованной задачи всё ещё отвечает 400 — приложить ID задачи, ID табличного дополнительного параметра, состав подписчиков с признаком увольнения, точный номер сборки и текст ошибки из журнала.
1.21 При импорте из Excel часть ячеек в колонке осталась пустой, а ошибки нет¶
Симптом: импорт из Excel завершается успешно, но в колонке, где были и числа, и текст, часть ячеек осталась пустой. Ошибки в окне импорта нет, часть строк при этом загрузилась.
Различающий сигнал: пустые ячейки появляются именно в колонке со смешанными значениями. Если та же колонка в файле состоит только из текста, она импортируется целиком; если только из чисел — тоже. Начиная со сборки 2.268 «Скульптор» система предупреждает о каждой такой ячейке в результате импорта — строкой с адресом ячейки и названием колонки: «Ячейка B3: значение не удалось преобразовать для колонки «Телефон», оно не импортировано». Предупреждение не отменяет импорт: остальные строки применяются как обычно.
Что проверить:
- есть ли в результате импорта предупреждения — именно они перечисляют потерянные ячейки, а не ошибка импорта;
- тип колонки ДП, в которую шёл импорт: для «Текста», «Большого текста», «Маски», «Телефона» и «URL» текст принимается, даже если в файле колонка числовая;
- версию сборки: до 2.268 «Скульптор» значения терялись молча, без предупреждения;
- один это столбец или таких несколько — потеря возникает в каждом, где смешаны числа и текст.
Решение: обновить площадку до сборки 2.268 «Скульптор» или новее — импорт сохраняет нечисловой текст в текстовых колонках и перечисляет оставшиеся непреобразуемые ячейки в результате. До обновления вынести телефон в отдельную колонку файла либо хранить его как текст целиком, без добавочного в скобках. Заново импортировать стоит только те данные, где значения действительно потерялись: восстановить их можно лишь из исходного файла.
Когда обращаться в поддержку 1Ф: если на сборке 2.268 «Скульптор» или новее значения всё равно теряются, а предупреждения в результате импорта нет — приложить файл-пример, 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 ДП и запись экрана.
2.5 Зависимые / связанные лукапы (ExtParamLink)¶
Симптом: подчинённый лукап пустой, после выбора значения ведущего ДП зависимый не обновляется.
Что проверить:
- Настроена ли связь в разделе «Связи параметров» (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}).
Идентификатор {id} обязателен. Запрос без него — например, POST /api-core/datasource/Lookup/data — не выполняется вовсе: сервер отвечает ошибкой 400 с сообщением о пустом параметре, а не выдачей и не внутренней ошибкой. Для диагностики окна выбора всегда подставляйте числовой 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-параметр к нескольким блокам в настройках категории;
- версию сборки: ошибка 500 появляется на сборках с диапазонной блокировкой ключа (впервые — с тега 2.268.703); откат вошёл в сборку 2.268.704. Уточняйте номер сборки, а не только название семейства «Скульптор» — по названию сборку с откатом от более ранней не отличить.
Решение:
- обновить систему до сборки 2.268.704 или новее — запись значения Lookup в
ExtParamValueSelectedTasksвыполняется без предварительной блокировки ключа: нарушение первичного ключа перехватывается, строка-победитель перечитывается и обновляется, поэтому повторные вызовы не дают дублей и ошибки 500; - до обновления как временный обход — исключить дублирование параметра в двух блоках категории (оставить параметр в одном блоке).
Когда обращаться в поддержку 1Ф: если на сборке 2.268.704 или новее сохранение Lookup-ДП падает с нарушением ключа PK_ExtParamValueSelectedTasks — приложить идентификаторы категории, параметра, задачи и текст ошибки из журнала.
Ошибка «duplicate key» при одновременной записи в один табличный ДП.
Симптом. В журнале ошибок — нарушение первичного ключа таблицы значений табличного ДП (при колонке «Выбор пользователей» — ограничение уникальности её таблицы); строка, которую добавляло правило, в таблице отсутствует.
Когда возникает. Несколько правил пишут строки в один и тот же табличный ДП одной задачи одновременно: например, несколько задач добавляют себя в общий пакет режимом «+», а рядом выполняется «Копировать значение ДП» в тот же параметр.
Что проверить. Версию сборки (до 2.268 «Скульптор» копирование значения ДП не было сериализовано с добавлением строк); настройки правил — используют ли «Изменить значение ДП» в режиме «+» и «Копировать значение ДП» один параметр у одной задачи-приёмника; журнал ошибок по задаче-приёмнику.
Что делать. Обновиться до сборки 2.268 «Скульптор»: копирование значения ДП и добавление строки выполняются по очереди, строка не теряется. Ручное восстановление строки возможно повторным запуском правила после завершения параллельных действий.
2.11 Два окна подтверждения при выборе значения в лукапе, выведенном в двух блоках¶
Симптом: при выборе значения в поле типа «Ссылка» (Lookup), на котором настроено действие отмены перед сохранением (событие «перед сохранением», отмена с подтверждением), показываются подряд два окна подтверждения вместо одного. Воспроизводится только когда это поле выведено на карточке одновременно в двух блоках; в одном блоке подтверждение одно.
Причина: подтверждение запрашивалось отдельно для каждого экземпляра поля, отрисованного на карточке. При двух блоках поле создаётся дважды, поэтому проверка «перед сохранением» и диалог подтверждения выполнялись дважды. Значение при этом сохраняется одним запросом — дефект клиентский, к записи в базу отношения не имеет.
Что проверить:
- сколько блоков карточки показывают это поле — привязки видны в настройках блоков категории;
- версию сборки: дефект устранён, начиная со сборки 2.268 «Скульптор» (тег 2.268.718);
- в инструментах разработчика (вкладка Network) — сколько запросов сохранения уходит на один выбор значения: при этом дефекте запрос один, а окна два.
Решение:
- обновить систему до сборки 2.268.718 или новее — подтверждение запрашивается один раз на значение поля, а не на каждый экземпляр, повторные экземпляры переиспользуют результат первого, включая отказ; при отказе в подтверждении значение не сохраняется и второго окна нет;
- до обновления как временный обход — оставить поле в одном блоке категории.
Когда обращаться в поддержку 1Ф: если на сборке 2.268.718 или новее выбор значения в поле, выведенном в нескольких блоках, по-прежнему даёт больше одного окна подтверждения — приложить идентификаторы категории и параметра, число блоков, которые показывают поле, и запись экрана. Сценарий с ошибкой 500 (без окон подтверждения) — отдельный случай, см. § 2.10.
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 параметра, номер созданной задачи и запись экрана с заполнением таблицы на форме создания задачи.
ДП отображается дважды после повторного переноса категории. Симптом: после повторного переноса категории на ту же площадку-приёмник дополнительный параметр, перемещённый на источнике в другой блок, виден на форме задачи дважды — в прежнем и в новом блоках.
Что проверить: переносили ли категорию на этот приёмник повторно (симптом накопительный — нужна уже существующая привязка «ДП → прежний блок»; на чистый приёмник его не бывает); перемещался ли параметр между блоками на источнике (в списке ДП это видно по действию перетаскивания: «Переместить» против «Дублировать»); версию сборки — исправление в 2.268 «Скульптор»; не путать с § 1.10, где двоение вызвано совпадением идентификатора блока с системным.
Решение: обновить площадку-приёмник и повторить перенос; до обновления — перетащить параметр в нужный блок вручную или снять лишнюю привязку в настройках блоков. Для приёмки нужен архив, выгруженный со сборки с исправлением: архив старой сборки несёт прежнюю настройку привязок и при импорте перекрывает новую.
Когда обращаться в поддержку 1Ф: если на сборке 2.268 «Скульптор» или новее после повторного переноса у ДП по-прежнему две привязки — приложить идентификаторы категории и параметра, названия блоков, версии сборок источника и приёмника и архив переноса.
4. Права и видимость ДП¶
Частая тема обращений. Вопросы о смарт-доступе, матрице доступа, правах по статусам.
4.1 ДП доступен/недоступен вопреки ожиданию
Симптом: пользователь может/не может редактировать ДП, хотя по настройкам должно быть иначе.
Что проверить (в порядке приоритета):
- Права по статусам (ExtParamStateView) — CanRead/CanEdit для текущего статуса
- Права по матрице доступа — функциональный доступ к ДП
- Гибкие права (EPRights) — если настроены
- Смарт-доступ — если используется смарт-выражение для видимости/доступности
Решение:
- Последовательно проверить все уровни прав
- Права по статусам перекрывают матрицу доступа
- Гибкие права (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 ДП, типа ДП, статуса до и после перехода, типа инфраструктуры площадки.
3.9 Удаление строки в таблице блоков снимает не ту строку
Симптом: при удалении строки в таблице блоков ДП пропадают привязки соседней строки или очищается блок выше.
Что проверить: версию сборки — поведение исправлено в 2.268 «Скульптор»; какие блоки были выбраны в строках до правки и какие остались после; сохранён ли состав таблицы.
Решение: обновить площадку до сборки 2.268 «Скульптор» или новее. После обновления удаление снимает ровно свою строку, привязки остальных строк сохраняются.
Когда обращаться в поддержку 1Ф: если на сборке 2.268 или новее удаление строки снова затрагивает другие строки — приложить номер категории, состав таблицы до и после и версию сборки.
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. Настройка и перенос ДП
6.1 Перенос категории — связи ДП (ExtParamLink) ломаются¶
Симптом: после переноса категории между площадками связи ДП работают некорректно, ID в ExtParamLink изменились.
Что проверить:
- Утилита переноса — какая версия использовалась
- Перенесены ли все связанные категории-справочники
Решение:
- После переноса проверить связи ДП в админке (Связи параметров)
- Если ID изменились — это ожидаемое поведение при переносе, связи нужно пересоздать или скорректировать
Когда обращаться в поддержку: если утилита не перенесла ExtParamsInSubcatToBlocks или ExtParamStateView.
6.2 Удаление ДП — ошибка таймаута¶
Симптом: при удалении глобального ДП возникает ошибка таймаута.
Что проверить:
- Используется ли ДП в категориях (есть ли привязки)
- Используется ли ДП в подписях
- Есть ли значения у этого ДП в задачах
Решение:
- Сначала удалить ДП из всех категорий, где он используется
- Затем удалить глобальный ДП
- Если много данных — удаление может занять время, это нормально
Если ДП — типа «Ссылка» и обслуживает путь сквозного, этот порядок не сработает: снятие с категории, где проходит путь, блокируется отдельным запретом — см. 6.7.
Когда обращаться в поддержку: если ДП не используется нигде, но удаление всё равно падает.
Углублённая 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, и снимок экрана с раскрытым списком.
6.6 Список значений ДП «Выпадающий список» выходит за нижнюю границу окна¶
Симптом: на форме задачи раскрытая панель ДП «Выпадающий список» у нижнего края формы выходит за нижнюю границу окна браузера. Часть вариантов не видна, а при большом списке до нижних значений не добраться обычной прокруткой страницы.
Различающий сигнал: симптом появляется, когда окно невысокое (например, около 864 px) и поле расположено близко к нижнему краю. При достаточном месте под полем список раскрывается вниз, в верхней части формы симптома нет. Значит, дело в положении и высоте панели, а не в том, что значений нет в источнике.
Ожидаемое поведение: панель остаётся в видимой области окна; при нехватке места снизу она раскрывается в сторону, где места больше. Высота панели ограничивается доступным пространством, а переполнение прокручивается внутри списка. При прокрутке формы и изменении размера окна открытая панель перепозиционируется и пересчитывает высоту.
Что проверить:
- точную версию сборки и наличие исправления в обновлении площадки;
- высоту окна браузера и положение поля на форме;
- видны ли все варианты при открытии списка и добирается ли внутренняя прокрутка до последнего;
- остаётся ли панель в границах окна после изменения размера окна и прокрутки формы;
- не относится ли поле к другому типу контрола — Lookup, MultiLookup или «Выбор пользователей»: их поведение проверяется отдельно.
Решение: если исправление ещё не установлено, обратитесь к ответственному за обновление площадки. Временная проверка — увеличить высоту окна или переместить поле в область со свободным пространством; менять масштаб страницы или прокручивать форму постоянно — не решение.
Когда обращаться в поддержку 1Ф: если на сборке с исправлением панель всё ещё выходит за край или значения недоступны. Приложите номер сборки, разрешение и высоту окна, масштаб браузера, расположение поля, тип ДП, шаги воспроизведения и снимок экрана с раскрытой панелью; отдельно укажите, меняется ли результат после прокрутки формы или изменения размера окна.
6.7 Не удаляется ДП-лукап: он входит в путь сквозного ДП¶
Симптом: при снятии с категории или при глобальном удалении ДП типа «Ссылка» (Lookup) появляется отказ с сообщением, что параметр входит в путь сквозных ДП; данные не меняются.
Что проверить:
- в каких сквозных ДП этот лукап стоит в пути — система перечисляет их в тексте отказа;
- в каких категориях он обслуживает путь: снятие блокируется только там, где путь действительно проходит;
- не пытается ли пользователь удалить ДП, который в пути не участвует, — такой параметр удаляется как обычно.
Решение: сначала исключить лукап из пути сквозного в настройках цепочки, затем снимать его с категорий и удалять глобально. Отказ наследуют также удаление категории с таким ДП и синхронизация с 1С.
Когда обращаться в поддержку 1Ф: если лукап в путях сквозных не участвует, но удаление всё равно отклоняется — приложить ID ДП, ID категории и текст отказа.
Смежный симптом — сохранение нового правила на вкладке «Динамическая обязательность». Правило записывается, но вместо перехода на список табличных параметров появляется окно «Сохранить изменения», а следующее нажатие «Сохранить» открывает окно с ошибкой Http failure response for …/required-rules/undefined: 404; каждое следующее сохранение повторяет ту же ошибку, пока страницу не перезагрузить. Ошибка воспроизводится у только что созданного правила и не зависит от темы и ширины окна, а на вкладке «Условное форматирование» той же страницы сохранение проходит. Исправлено в сборке 2.268 «Скульптор»: на исправленной сборке сохранение нового правила сразу уводит на список табличных параметров, пересоздавать правила и настройки не нужно. На сборках до исправления обходной путь — после сохранения нового правила перезагрузить страницу и не сохранять её повторно. Если на исправленной сборке запрос с пустым идентификатором повторяется — приложить идентификатор табличного параметра, номер сборки и снимок вкладки Network с запросами создания, изменения и удаления правила.
7. Значения ДП — расчёты и история¶
7.1 Значение ДП не пересчитывается
Симптом: смарт-выражение для значения по умолчанию или вычисляемого ДП не отрабатывает, формулы в категории не пересчитывают ДП.
Что проверить:
- Текст смарт-выражения — нет ли синтаксических ошибок
- Зависимости — все ли ДП, от которых зависит формула, заполнены
- Тип ДП — совместим ли результат формулы с типом ДП
Решение:
- Попросить пользователя показать смарт-выражение
- Проверить, не изменился ли тип ДП после создания формулы
7.2 История изменений ДП пуста или некорректна
Симптом: блок «История изменений ДП» пуст, изменение ДП не фиксируется.
Что проверить:
- Включено ли логирование изменений для этого ДП в настройках категории
- Тип ДП — не все типы поддерживают историю одинаково
Решение:
- Проверить настройку логирования в категории
- Если логирование включено, но история пуста — обратиться в поддержку 1Ф
7.3 Округление денежных ДП
Симптом: ДП типа «Деньги» округляется до целых, хотя настроена дробная часть.
Что проверить:
- Настройку дробной части в ДП (количество знаков после запятой)
- Не переопределяется ли формат отображения на уровне списка задач
Решение:
- Проверить настройку в админке: ДП → дробная часть
- Если настройка корректна, но отображается целое — проверить формат колонки в списке задач
7.4 На MS SQL создание задач и сохранение значений ДП ждут секунды, смарт-действия падают с ошибкой 1205¶
Симптом: на крупной инсталляции с MS SQL массово задерживаются создание задач и запись значений дополнительных параметров — от секунд до десятков секунд; хук inbound-call не укладывается в таймаут АТС; в журнале ошибок приложения встречается SqlException 1205 (deadlock victim) на смарт-действиях «Изменить значение ДП». Виноват при этом не сам смарт: жертвой отката становится транзакция, которая слишком долго держала блокировку.
Различающий сигнал: симптом есть только на MS SQL и только на сборках с диапазонной блокировкой — её принесла сборка 2.268.693, откат вошёл в сборку 2.268.704, поэтому на сборках между ними такая выборка ещё выполняется. В захвате блокировок (blocked_process_report, extended events) видно ожидание на последнем ключе индекса PK_ExtParamValues в режимах RangeI-N/RangeS-U, а среди участников — запрос выборки значений ДП с WITH (UPDLOCK, HOLDLOCK). На PostgreSQL симптома нет: там пара (задача, ДП) блокируется рекомендательной блокировкой и хвост ключа не захватывает.
Тот же симптом даёт и вторая таблица значений: у лукап-ДП диапазонную блокировку брал ключ PK_ExtParamValueSelectedTasks — там ключ трёхколоночный («задача, параметр, выбранная задача»), у новой задачи строки нет, и блокировка так же ложилась на конец индекса. Откат этого случая — отдельный сценарий, вошёл в сборку 2.268 «Скульптор» (тег 2.268.704, см. запись от 2026-10-02 в «Дополнительные параметры — Changelog»); в захвате блокировок ему соответствуют ожидания RangeI-N/RangeS-U на последнем ключе PK_ExtParamValueSelectedTasks, а среди участников — запрос выборки значений лукапа с WITH (UPDLOCK, HOLDLOCK).
Что проверить:
- номер сборки (вид 2.268.693, а не только семейство «Скульптор»: по названию сборку с откатом от более ранней не отличить);
- ожидания в
sys.dm_exec_requestsиblocked_process_report— на каком ключеPK_ExtParamValuesстоит очередь и какой запрос её держит; - нет ли рядом дедлоков процедуры обновления триграмм (
system_health) — это отдельный известный класс, в откат диапазонной блокировки он не входит.
Решение: обновиться до сборки с откатом диапазонной блокировки (в накате на dev это тег 2.268.704). Для PostgreSQL правок не требуется.
Когда обращаться в поддержку 1Ф: если на сборке с откатом ожидания на конце ключа PK_ExtParamValues сохраняются — приложить номер сборки, фрагмент захвата блокировок с текстом ожидающего и держащего запросов и временем, а также выдержку из журнала ошибок приложения с ошибкой 1205.
8. Специфические типы ДП¶
8.1 ДП Файл / Мультифайл
Симптом: ошибка при вложении файлов, картинки некорректно отображаются при переносе текста, подсказка из смарт-выражения не работает; только что загруженный файл в «Мультифайл» не открывается, не скачивается или не удаляется.
Что проверить:
- Ограничения на размер/тип файла в настройках ДП
- Провайдер хранения (БД, файловая система, S3/MinIO)
- Версию системы — в актуальных версиях загруженный в «Мультифайл» файл доступен для открытия, скачивания и удаления сразу после загрузки; если файл недоступен до ручного сброса кэшей, обновите систему
Симптом: в карточке настроек ДП «Файл» не удаётся задать допустимые расширения — блок «Список допустимых расширений» на вкладке «Доп. настройки» не показывает значения и не принимает новое, при этом вложение файла отклоняется с сообщением «Разрешено вкладывать только файлы формата …».
Что проверить:
- Какие расширения у поля заданы на самом деле: ограничение действует, пока список непуст, поэтому отказ во вложении возможен и тогда, когда в карточке список выглядит пустым
- Версию системы и наличие обновлений AdminSPA
Решение: ввести расширение в строку поиска блока, нажать «+», дождаться появления чипа выбранного расширения и сохранить карточку — значение записывается в список поля и после перечитывания начинает действовать. Уже ненужное расширение убирают тем же блоком.
Когда обращаться в поддержку 1Ф: если значения не сохраняются и после этого или набор в карточке расходится с фактическим ограничением — приложить ID ДП или задачи, версию сборки и снимок блока «Список допустимых расширений».
Симптом: 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)
Если относительная граница ведёт себя как соседний день. Границы «Вчера», «Сегодня» и «Завтра» у ДП «Дата» вычисляются как календарные дни в часовом поясе профиля пользователя. Если нужного дня в этой зоне не существует (например, Pacific/Apia пропустил 30.12.2011), соседний день не подставляется: граница получает широкий резервный диапазон и выглядит как отсутствие ограничения.
Что проверить: часовой пояс профиля, локальную зону компьютера, режим и направление границы («от»/«до», видимые или доступные даты), тип ограничения — статическая дата или смарт-выражение, — и существует ли ожидаемый день в зоне профиля.
Когда обращаться в поддержку 1Ф: если в обычной зоне на сборке с исправлением граница сдвигается или не совпадает с календарным днём профиля — приложите зону профиля, зону компьютера, настройки границы, ожидаемый и фактический день и версию сборки.
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. Мобильное приложение и ДП
8.9 Значение по умолчанию не появляется в пакетной обработке или в мобильном приложении¶
Симптом: у дополнительного параметра задано значение по умолчанию, параметр выбран в пакетной обработке или задача создаётся в мобильном приложении, но в задаче значение пустое.
Что проверить:
- задано ли значение по умолчанию в настройках параметра в категории;
- существует ли оно среди опций (для «Выпадающего списка с ручным вводом») или среди узлов дерева (для параметра «Дерево») — ненайденное значение не подставляется;
- не перекрыто ли значение настройкой на уровне категории;
- версию системы: до 2.268 значение по умолчанию этих двух типов в пакетных диалогах и в мобильной карточке создания задачи не применялось.
Решение: если значение настроено, но не подставляется, а сборка ниже 2.268 — обновить систему.
Когда обращаться в поддержку 1Ф: если значение настроено, существует среди опций или узлов и сборка актуальная, а поле всё равно пустое — приложить ID ДП, тип, значение по умолчанию из настроек категории и название места, где оно не подставилось.
8.10 После смены языка подсказки быстрого выбора у «Выпадающего списка» не появляются¶
Симптом: пользователь выбирал значения в параметре «Выпадающий список», переключил язык интерфейса — и над списком значений больше нет подсказок с ранее выбранными значениями. Иногда ряд пуст, иногда в нём остаются подсказки, выбранные уже на новом языке.
Что это: подсказки привязаны к языку интерфейса — значение запоминается вместе с языком, на котором его выбрали, и показывается только на нём. Подсказки прежнего языка не выводятся и не переводятся, это штатное поведение, а не сбой; так же ведёт себя «Выпадающий список с редактированием», а у «Ссылки» и «Множественной ссылки» подсказки при смене языка остаются на месте, потому что в них хранится номер связанной задачи, а не текст.
Что проверить: язык интерфейса в профиле и язык, на котором выбирались значения; версию сборки — привязка к языку входит в сборку 2.268 «Скульптор», на более ранних сборках подсказки показывались вперемешку и выбор чужой подсказки давал ошибку про значение вне списка. Мест в ряду всего три, и они общие для всех языков: выбор на новом языке вытесняет самую старую подсказку, сделанную на прежнем.
Решение: настраивать ничего не нужно — подсказки на новом языке накопятся по мере выбора значений, а сохранённые до обновления не показываются ни при каком языке и вытесняются новыми. Когда обращаться в поддержку 1Ф: если подсказки не появляются и после выбора значений на текущем языке на сборке 2.268 «Скульптор» или новее — приложить ID параметра, язык профиля и номер сборки.
Отдельный случай (исправлено): в таблице выбранных задач мультилукапа («Показ задач») при сортировке по колонке, которую пользователь не читает, строки на границах страниц могли дублироваться или пропадать, а при фильтре, состоявшем только из условий по закрытым колонкам, счётчик показывал число меньше выданного. Устранено: страницы собираются в определённом порядке — по номеру задачи, поэтому повторный запрос той же страницы даёт тот же состав, а общее число строк считается по тому же набору, что и выдача. Как проверить: в таблице «Показ задач» отсортировать по закрытой колонке в обе стороны и прокрутить список на 2–3 порции — строки не повторяются и не теряются; затем оставить фильтр только по закрытой колонке — счётчик совпадает с числом выбранных значений.
8.11 Клик по ссылке в поле «Ссылка» открывает не то — конференцию, другую задачу или ничего¶
Симптом: клик по значению поля типа «Ссылка» в карточке задачи или в форме создания ведёт себя не как обычная ссылка: открывается видеоконференция вместо вкладки, окно карточки закрывается, внутри открывается другая задача, в окне вида «Календарь» карточка пропадает без перехода. Иногда наоборот — вместо новой вкладки ничего не открывается, и помогает только Ctrl+клик.
Ожидаемое поведение: в браузере ссылка из поля открывается как есть в новой вкладке, окно карточки остаётся на месте. mailto:, tel: и e1c: открывают системное приложение. В десктоп-клиенте и PWA поведение прежнее: там ссылка на видеоконференцию открывает конференцию внутри приложения.
Что проверить:
- версию сборки: исправление вошло в сборку 2.268 «Скульптор»; на более ранних сборках описанное поведение сохраняется;
- режим интерфейса — браузер, десктоп-клиент или PWA: в двух последних режимах новое правило не действует;
- какой контекст: карточка открыта целиком, во всплывающем окне или в окне вида «Календарь» — ожидаемый результат одинаковый;
- в инструментах разработчика у якоря поля в браузере должны быть
target="_blank"(дляhttp/https) иdata-vh-self-handled-link; - значение поля: с адресом конференции поведение в браузере и в десктоп-клиенте различается намеренно, это не дефект;
- не относится ли случай к ссылкам вне поля — в комментариях и в описании задачи ссылка на видеоконференцию открывает конференцию, и это правильное поведение.
Решение: обновить площадку до сборки с исправлением. До обновления обходной путь — открывать значение поля через Ctrl+клик или пункт контекстного меню «Открыть ссылку в новой вкладке».
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.
12.2 Значение локализуемого ДП не сохраняется, если в категории запрашивается комментарий¶
Симптом: в категории, где у параметра включено «Требовать комментарий при изменении», пользователь меняет значение, вводит комментарий в окне сохранения — значение в карточке не меняется или пропадает после обновления страницы. Ошибка при этом не показывается. Чаще жалуются на параметры «Текст» и «Большой текст с форматированием», у которых включена локализация.
Что проверить:
- версию сборки: исправление вошло в сборку 2.268 «Скульптор», на более ранних сборках симптом воспроизводится;
- тип параметра и признак локализации: под удар попадают локализуемые текстовые параметры, для которых включено «Требовать комментарий при изменении»;
- сохраняется ли то же изменение в этой же категории без окна комментария — если без окна значение записывается, это тот самый случай.
Решение: обновиться до сборки 2.268 «Скульптор» или новее; перестраивать настройки категории не нужно.
Когда обращаться в поддержку 1Ф: если на сборке 2.268 «Скульптор» или новее значение локализуемого ДП по-прежнему теряется при сохранении с комментарием — приложить ID категории, ID параметра с его типом и признаком локализации, ID задачи и номер сборки.
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Ф¶
Что уточнить по любой проблеме с ДП:
- Версия системы — какая версия у пользователя
- ID категории и ID ДП — всегда запрашивать
- Тип ДП — уточнить (Text, Lookup, Table, Through, File, SelectUsers и т.д.)
- Воспроизводимость — стабильно или периодически
- Платформа — web, мобильное, AdminSPA
- Скриншот/видео — попросить при неочевидных проблемах
- Текст ошибки — если есть, включая консоль браузера (F12)
Когда обращаться в поддержку 1Ф
Обратитесь в поддержку 1Ф, если столкнулись с одним из следующих:
- Потеря данных (значения ДП исчезли)
- NullReferenceException или серверные ошибки
- Регрессия после обновления (работало, перестало)
- Проблема воспроизводится стабильно, все настройки проверены
- Проблема с производительностью (таймауты)