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

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

Документ описывает типовые проблемы дополнительных параметров от самых частых к менее частым. Внутри собраны разделы по ДП Таблица, 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 Автосохранение и обновление ДП Таблица

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

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

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

  • Включено ли автосохранение строк в настройках ДП Таблица
  • Происходит ли проблема после конкретного действия/перехода или при ручном редактировании
  • Точный номер сборки: для режима «динамический набор полей» (настройка «Отображать как») обновление по сигналу появилось в сборке 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 ДП и запись экрана.

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

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

  • Настроена ли связь в разделе «Связи параметров» (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 ДП доступен/недоступен вопреки ожиданию

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

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

  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 ДП, типа ДП, статуса до и после перехода, типа инфраструктуры площадки.

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. Настройка и перенос ДП

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

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

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

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

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

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