# Гриды и фильтры — Решение проблем

Руководство помогает разобрать обращения пользователей по работе с таблицами (гридами) и фильтрами. Документ структурирован по типам проблем и для каждой описывает симптомы, шаги проверки и решение. Внутри — рекомендации по устранению неполадок с фильтрацией, сортировкой, экспортом в Excel, канбан-представлениями и правами доступа.

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

Руководство помогает быстро классифицировать и решать проблемы пользователей с табличными представлениями.

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

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

**Терминология**

| Термин пользователя | Что это |
|---|---|
| Реестр, таблица, грид | Табличное представление списка задач |
| Фильтр в колонке | Фильтр, заданный в заголовке столбца |
| Смарт-фильтр | Фильтр на языке выражений (ESQL); отдельный раздел «Смарт-фильтры» |
| Быстрый фильтр | Строка поиска над таблицей |
| Отбор по умолчанию | Предустановленный фильтр категории |
| БИ | Блок «Используется» |
| Канбан | Представление «Канбан» |

## 1. Фильтрация

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

![Контекстное меню ячейки реестра: «Фильтр по значению» и «Исключая значение»](https://help.1forma.ru/help-images/grids/cat_table_context_new_02-01.png)

### 1.1 Фильтр в гриде не работает / показывает неверные результаты

Фильтрация по колонкам грида может давать неожиданные результаты из-за особенностей работы операторов или ограничений типов полей.

**Симптом:** пользователь применяет фильтр по колонке, но результат некорректный — показывает лишние задачи, не находит нужные, или фильтр вообще не реагирует.

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

- Тип колонки — каждый тип ДП имеет свой фильтр (текстовый, числовой, set-фильтр). Фильтрация по некоторым типам ДП ограничена
- Оператор фильтра — «Содержит», «Равно», «Не содержит» работают по-разному
- «Не содержит» — известная особенность: вычитает в том числе записи с пустыми значениями
- Колонка с ДП «Мультилукап» — фильтр сверяет условие с наименованием каждой выбранной задачи по отдельности; значение, введённое через запятую, сравнивается с содержимым ячейки целиком
- Формат даты в конструкторе поиска — если фильтр по дате подсвечивается красным, проверь формат. Используй `yyyy-mm-dd` (например, `2026-03-10`), а не `dd.mm.yyyy`
- Фильтр по множественным полям — при использовании оператора ИЛИ с полями типа «Все исполнители» ранее возникала ошибка `Incorrect syntax near ')'`, в актуальных версиях исправлена

**Решение:**

- Уточнить какой именно оператор фильтра используется
- Для «Не содержит» — объяснить, что пустые значения также исключаются (это штатное поведение)
- Для lookup/multilookup колонок — фильтрация может работать иначе, чем для текстовых
- Для дат — использовать формат `yyyy-mm-dd` в конструкторе поиска
- Для множественных полей — убедиться, что установлена актуальная версия с исправлением

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

### 1.2 Фильтры слетают / не сохраняются

Неполадки с сохранением фильтров возникают, когда настроенные пользователем параметры сбрасываются после перезагрузки страницы или смены категории.

**Симптом:** настроенные пользователем фильтры колонок сбрасываются после перезагрузки страницы или перехода между категориями.

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

- Настройку «Сохранять пользовательские настройки» в табличном представлении категории
- Не было ли обновления системы (после обновления настройки могут сброситься)
- Сессия — не истекла ли

- Для колонки Лукап или Мультилукап с типом фильтра «Выбор значений» отбор сохраняется вместе с видом и переживает перезагрузку страницы; если он пропадает — зафиксировать идентификатор категории, название колонки и версию стенда

**Решение:**

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

**Когда обращаться в поддержку 1Ф:** если настройка включена, кеш очищен, но проблема повторяется.

### 1.3 Фильтр по ДП в гриде

Фильтрация по колонкам дополнительных параметров (ДП) зависит от типа данных параметра и поддерживается не для всех типов полей.

**Симптом:** фильтр по колонке ДП не работает, хотя по системным колонкам (текст задачи, статус) всё нормально.

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

- Тип ДП — не все типы поддерживают фильтрацию в гриде (см. справочник ниже)
- Для ДП Таблица — фильтрация **возможна, но требует настройки** (см. блок ниже)
- Для lookup — фильтрация по связанной задаче, а не по отображаемому тексту
- Для колонки «Ссылка» с типом фильтра «Выбор значений» — пустой список значений: в реестре категории и реестре раздела список строится из значений, видимых пользователю в этой же таблице, в остальных таблицах — из задач категории-источника под правами пользователя на неё
- Отбор «всё, кроме снятого» у той же колонки — ожидаемое поведение, а не сбой: фильтр открывается со всеми отмеченными значениями, снятая галка исключает значение, а над таблицей появляется чип «Все, кроме: …» со списком снятых
- Сообщение «Найдено больше 1000 значений. Уточните поиск.» при нажатии «Выбрать все» — под поиск подходит слишком много значений, отметки не изменились; нужно уточнить поиск
- Пустая таблица сразу после снятия всех отметок в фильтре «Выбор значений» — состояние «ничего не отмечено» отбирает ноль строк; повторное «Выбрать все» возвращает все значения
- Ограничение доступа к параметру — при доступе «По матрице доступа» фильтр, быстрый поиск, сортировка и группировка по колонке доступны только тому, кто читает значения параметра во всех состояниях категории;
- Пункты «Фильтр по значению» и «Исключая значение» в контекстном меню ячейки у колонки «Ссылка» или «Множественная ссылка» недоступны по той же причине, что и фильтр в заголовке: когда операции по колонке закрыты, пунктов в меню нет, а условие по колонке молча не применяется — внешне это выглядит как «на лукапе нет фильтра» тем же правилом закрываются итоги и перечень значений фильтра. При доступе «По SQL-функции» эти операции закрывает только заданная пакетная функция при выключенной опции «Просмотр не ограничивается»: одна скалярная функция операции не закрывает, хотя значение в ячейке может оставаться скрытым, — подобрать такое значение через отбор можно, и это осознанное решение, а не дефект
- Для колонки сквозного ДП — настроена ли цепочка: тип фильтра берётся у параметра-источника в конце цепочки, поэтому при сообщении о неверной настройке сквозного параметра проверяется цепочка в настройках параметра, а не значение в задаче-источнике
- Сообщение о неверной настройке сквозного параметра — не отказ доступа, а ненастроенная цель у доступной колонки: у пользователя, которому параметр недоступен, колонки нет вовсе, и сообщения он не увидит
- Сохранённый вид открывается без отбора «Выбор значений», хотя отбор в нём был, — при чтении настроек отброшен негодный `taskIdSet`-фильтр: санитайзер снимает те отборы, на которых живой запрос ответил бы ошибкой (например, оба списка сразу, `taskIds` без признака «(Пусто)», набор из одних неположительных идентификаторов, набор больше 1000). Вид при этом открывается, отбор по колонке отсутствует — его задают заново.

**Какие типы ДП поддерживают фильтрацию в гриде:**

| Тип ДП | Фильтр в гриде | Примечание |
|---|:---:|---|
| Текст, Числовое, Деньги | Да | TextFilter / NumberFilter |
| Дата, Дата-время | Да | DateFilter |
| Чекбокс | Да | SetFilter (Да/Нет) |
| Выпадающий список, Combobox | Да | SetFilter |
| Lookup | Да | SetFilter / TextFilter |
| Выбор пользователей | Да | SetFilter |
| Multilookup | Ограничено | SetFilter, но не все колонки отображаются |
| ДП Таблица | Ограничено | Требуется настройка шаблона (см. ниже) |
| Файл, Мультифайл | Нет | — |
| Сквозной (Through) | Да | Как обычный параметр типа источника: фильтр строится по параметру в конце цепочки. Ссылка на удалённый или недоступный параметр условие по колонке снимает; пустая цепочка у доступной колонки — ошибка неверной настройки сквозного параметра (цепочку правит администратор) |
| Адрес | Нет | — |

#### Фильтрация по ДП типа «Таблица» в гриде категории

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

![Фильтр по столбцу ДП «Таблица»: операторы «Содержит», «Не содержит», «Есть значение» и др.](https://help.1forma.ru/help-images/grids/dp_table_filter.png)

**Симптомы** (любой из):

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

**Корневая причина в 90% случаев:** не включён флаг **«Участвует в поиске»** (`IsUsedInSearch`) на столбцах ДП Таблица. Без этого флага фильтр «Содержит» и поиск «в полях» не видят данные столбца. Фильтры «Нет значения» и «Есть значение» от этого флага не зависят.

**Быстрая проверка:** Админка → ДП → столбец таблицы → чекбокс «Участвует в поиске». Если выключен — включить и пересинхронизировать.

#### Настройка шаблона фильтрации для ДП «Таблица»

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

SP `ShowTasksFeed` **не фильтрует** по типу «Таблица» напрямую (этот тип исключён из прямой фильтрации). Но фильтрация задач по содержимому таблицы **возможна** через механизм HTML-представления. Для этого нужно выполнить **все три** шага:

1. **Настроить шаблон** (Админка → ДП → вкладка «Шаблон в табличных представлениях»):
   - `Использовать шаблон` = Да
   - `Количество отображаемых строк` > 0 (например, 10)
   - `Шаблон строки` (`ItemTemplate`) — обязательно заполнить с тегами `<cell columnid="ID">`, где ID = идентификатор столбца таблицы. **Без шаблона HTML не генерируется, и фильтровать нечего.**

2. **Включить `Хранить html представление`** (`StoreHtmlPresentation`) — сохраняет сгенерированный HTML в `ExtParamValues.ExtParamValueGZip`, откуда попадает в денормализованную `ExtParamNativeValue`.

3. **Включить `Участвует в поиске`** (`IsUsedInSearch`) на нужных столбцах таблицы — определяет, какие столбцы участвуют в поиске «в полях» в гриде категории.

После настройки: включить «Синхронизировать существующие задачи» для пересчёта HTML по существующим данным. Job `TableExtParamValuesGZipCompressJob` сжимает значения каждые 3 минуты.

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

```mermaid
flowchart TD
    A["Нужна фильтрация по ДП «Таблица» в гриде"] --> B{"Шаблон настроен? (ItemTemplate с cell columnid)"}
    B -- "нет" --> X["HTML не генерируется — фильтровать нечего"]
    B -- "да" --> C{"Включён StoreHtmlPresentation?"}
    C -- "нет" --> Y["HTML не попадает в денормализацию (ExtParamNativeValue)"]
    C -- "да" --> D{"Включён IsUsedInSearch на нужных столбцах?"}
    D -- "нет" --> Z["Фильтр «Содержит» и поиск «в полях» не видят столбец"]
    D -- "да" --> E["Синхронизировать существующие задачи → фильтрация работает"]
```

**Важно (с версии 2.265):** значение ДП Таблица **не хранится** в `ExtParamValue` и `ExtParamXXXValue` денормализованных таблиц. Наличие в `ExtParamNativeValue` зависит от флага `StoreHtmlPresentation`. Без настроенного шаблона данные не попадают в денормализацию и фильтрация не работает.




Подробнее о том, какой фильтр доступен для каждого типа колонки: [Гриды и фильтры — справочник фильтров](https://help.1forma.ru/domains/grids/filters-reference.md).

### 1.4 Неполадки фильтрации в мобильном приложении и после обновлений

Проблемы с фильтрацией могут возникать на мобильных платформах или после проведения плановых обновлений системы.

**Фильтрация в мобильном приложении**

- Симптом: меню фильтра не отображается в мобильном приложении на Android/iOS.
- Что проверить: версия мобильного приложения (поддерживает ли фильтрацию в гриде) и платформа (Android/iOS).
- Решение: уточнить версию МП. Фильтрация в МП ограничена по сравнению с web — не все типы фильтров доступны.

**Решение:**

- Уточнить версию МП
- Фильтрация в МП ограничена по сравнению с web — не все типы фильтров доступны

### 1.5 Перестал работать фильтр после обновления

**Симптом:** фильтр в конкретной категории работал до обновления, после — перестал.

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

- Какая версия была до и после
- Тип фильтра — колоночный, смарт-фильтр, «Отбор по умолчанию»
- Не изменилась ли структура категории (ДП, колонки) при обновлении
- Для колонки Лукап или Мультилукап — тип фильтра колонки: при обновлении на 2.268 сохранённые виды один раз переведены с «Текстового» на «Выбор значений», и отбор идёт по связанным задачам, а не по тексту

**Решение:**

- Зафиксировать: ID категории, версию до/после, описание поведения
- Попробовать сбросить пользовательские настройки грида (если проблема только у одного пользователя)
- Если нужен поиск по тексту в колонке Лукап или Мультилукап — переключить её на тип «Текстовый» и сохранить вид: перевод одноразовый, обратно настройка не меняется

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

### 1.6 ПКМ-фильтр по «Заказчик»/«Исполнитель» падает с `[object Object]`

**Симптом:** в реестре категории / реестре раздела / БИ-гриде правый клик по ячейке «Заказчик» или «Исполнитель» → «Фильтр по значению» или «Исключая значения» приводит к падению грида; в чипе активного фильтра отображается `[object Object]`. На ДП типа «Выбор пользователя» (`SelectUsers`) тот же сценарий работает корректно.

**Решение:** баг исправлен в **2.268.361**. Нужна сборка не ниже этой версии. До обновления — фильтровать эти колонки через обычный фильтр в заголовке столбца, не через ПКМ по ячейке.

**Проверка после обновления:** открыть реестр любой категории, ПКМ по ячейке «Заказчик» → «Фильтр по значению»; в чипе фильтра должно отобразиться имя пользователя, грид — нормально отфильтроваться.

### 1.7 Фильтр по «Приоритету» не фильтрует, запросы падают с 400

**Симптом:** в реестре категории выбор значения в меню фильтра колонки «Приоритет» не меняет список; запросы `/api-core/datasource/subcat/{id}/data` и `/api-core/datasource/subcat/{id}/performers` возвращают 400 Bad Request, в интерфейсе — предупреждение «Не удалось выполнить запрос с переданными параметрами». Затронуты оба вида фильтра колонки — и выбор значений, и текстовый.

**Решение:** баг исправлен в **2.268.592**. Нужна сборка не ниже этой версии. Обходного пути в гриде нет — до обновления фильтр по этой колонке не работает.

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

---

### 1.8 Значения в фильтре колонки-лукапа не загружаются

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

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

- СУБД площадки: дефект проявлялся только на PostgreSQL, на MS SQL поведение в порядке;
- версию сборки: исправлено в 2.268 «Скульптор»;
- ID категории, название колонки и номер задачи для воспроизведения.

**Решение:** обновить площадку до сборки с исправлением. До обновления значения по колонке-лукапу можно отбирать не через фильтр в заголовке колонки, а через общий фильтр грида или конструктор поиска.

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

### 1.9 Фильтр по колонке-мультилукапу даёт 500 на загрузке грида

**Симптом:** при фильтре по колонке-мультилукапу (тип фильтра «Выбор значений»), у значения которого не проставлена задача, грид не загружается — запрос данных отвечает `500`, в журнале исключений ошибка приведения `null` к числу по пути `taskId`.

**Что проверить:** тип фильтра колонки («Выбор значений» для Лукап/Мультилукап), версию сборки, ID категории и название колонки.

**Решение:** исправлено в сборке 2.268 «Скульптор» — поле `taskId` в модели значения фильтра стало необязательным. Обходного пути в интерфейсе нет.

**Проверка после обновления:** в реестре категории задать фильтр по колонке-мультилукапу, у значения которого нет задачи; запрос данных должен вернуть `200` и отфильтрованную выдачу.

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

### 1.10 ПКМ по колонке «Ссылка» / «Множественная ссылка» ставит «Нет значения»

**Симптом:** в гриде правый клик по значению в колонке «Ссылка» или «Множественная ссылка» → «Фильтр по значению» оставляет только незаполненные строки, а «Исключая значение» — только заполненные. Вместо выбранного значения в таблице остаётся отбор «заполнено / не заполнено».

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

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

**Решение:** обновить площадку до сборки с исправлением. До обновления отбирать по колонке через фильтр в её заголовке, общий фильтр грида или конструктор поиска.

**Проверка после обновления:** открыть реестр категории с колонкой «Ссылка», нажать правую кнопку на заполненной ячейке → «Фильтр по значению»: число строк должно совпасть с числом задач, у которых в параметре выбрана именно эта задача. «Исключая значение» на той же ячейке даёт все остальные строки, включая незаполненные.

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

### 1.11 Лента, сгруппированная по исполнителю, не загружается

**Симптом:** лента задач с включённой группировкой по колонке «Исполнитель» не открывается: при раскрытии группы запрос данных отвечает `500` с текстом `Incorrect syntax near 'id'.` (номер 50000). Без группировки и при группировке по другим колонкам лента работает. На стенде и на проде проблема выглядела одинаково — это платформенная ошибка, а не настройка стенда.

**Что проверить:** включена ли группировка именно по колонке «Исполнитель» и раскрывается ли группа; дату и время обращения из журнала ошибок стенда; версию сборки.

**Решение:** обновить площадку — исправлено в сборке 2.268 «Скульптор». Ключ группы по исполнителю читается как идентификатор пользователя, а значение, которое должно быть числом, проверяется до обращения к базе: нечитаемое значение отбрасывается, запрос остаётся рабочим, группа приходит пустой. См. [Гриды — известные проблемы](https://help.1forma.ru/domains/grids/known-issues.md) § 24.

**Проверка после обновления:** в ленте включить группировку по колонке «Исполнитель» и раскрыть группу. Запрос данных должен вернуть `200`; в журнале ошибок стенда не должно быть новых записей `Incorrect syntax near id`. Числовой отбор по исполнителю без группировки должен отдавать те же строки, что и раньше.

**Обходной путь на сборках до исправления:** не группировать ленту по колонке «Исполнитель».

**Когда обращаться в поддержку 1Ф:** если на актуальной сборке та же лента отвечает `500` — с датой и временем, версией, стендом и текстом ошибки из журнала.

## 2. Колонки грида

### Разделители колонок пропали при уменьшенном масштабе браузера

**Симптом:** при уменьшении масштаба страницы (зум браузера примерно от 90 % и ниже) между частью ячеек шапки таблицы нет вертикальных разделителей; линии между строками самой таблицы при этом на месте, а на масштабе 100 % разделители видны.

**Что проверить:** масштаб браузера (в том числе `Ctrl` + `-`) и масштаб системы, число колонок с длинными заголовками и наличие нескольких таблиц на одной странице — на этих условиях дефект заметнее.

**Решение:** на сборке 2.268 «Скульптор» и новее разделители шапки на месте при любом масштабе. Если на этой сборке они всё равно пропадают — приложить значение масштаба, номер сборки, снимок шапки и запись воспроизведения.

**Когда обращаться в поддержку 1Ф:** если после обновления до сборки с исправлением разделители пропадают и на масштабе 100 % — приложить версию сборки, снимок шапки и настройки масштаба.

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

![Панель «Колонки»: выбор отображаемых столбцов реестра флажками](https://help.1forma.ru/help-images/grids/cat_table_fields_new_2.png)

**Не видно горизонтальной прокрутки, хотя колонки не помещаются**

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

**Колонки не отображаются или пропали**

- Симптом: в гриде отсутствуют колонки, которые должны быть — ДП, системные поля «Должность», «Подразделение» и др.
- Что проверить: настройку колонок в представлении категории, личные настройки пользователя, данные в денормализованных таблицах.
- Решение: проверить настройки «Вид по умолчанию» в категории. Предложить пользователю сбросить личные настройки грида. Для денормализованных колонок — проверить, что job денормализации отработал.
- Когда обращаться в поддержку 1Ф: если колонка настроена, но не отображается.

**Таблица не открывается (ошибка 500) из-за колонки ДП, которой нет в справочнике**

- Симптом: реестр категории не открывается, запрос данных отвечает 500; в журнале исключений — `KeyNotFoundException` из `Helper.InitValuesFromDenormalized`. Отказ воспроизводится только там, где в наборе колонок есть колонка дополнительного параметра.
- Что проверить: есть ли в настройках табличного вида колонка ДП, которого нет в справочнике параметров — параметр удалён, не создан или не привязан к этой категории; версию площадки.
- Решение: на сборках до 2.268 убрать такую колонку из настроек вида — в категории и в личных настройках пользователей, — это снимает 500. На 2.268 и новее колонка пропускается сама: строки приходят, ячейка пустая, в лог пишется предупреждение. Если колонка нужна, восстановите параметр и его привязку к категории.
- Когда обращаться в поддержку 1Ф: если 500 сохраняется, хотя колонок с несуществующим ДП в настройках нет, — с ID категории, составом колонок и выдержкой из журнала исключений.

**В таблице блока «Используется» показаны колонки и отбор другой вкладки**

- Симптом: во вкладке блока «Используется» состав колонок и отбор не свои — видны поля соседней вкладки этого же блока (например, во вкладке «Договоры — Оплаты» вместо «Дата оплаты / Договор / Этап работ / Сумма / Валюта» и отбора «Активные» показываются «Номер задачи / Статус / Сумма» и «Все записи»). У одного пользователя на разных карточках вкладка выглядит по-разному, перезагрузка страницы вкладку не исправляет.
- Что проверить: название вкладки и чьи поля в ней видны; версию площадки (исправлено начиная с 2.268); запись вкладки в `DataSourceSettings` — нет ли в ней полей чужой категории, пустого набора колонок или состояния, в котором скрыты все колонки.
- Решение: подсказать пользователю восстановление вида — меню «⋮» у вкладки → «Вид по умолчанию». Перезагрузка страницы не помогает: испорченный вид уже сохранён за пользователем. На сборке до 2.268 рекомендовать обновление, иначе вид испортится снова.
- Когда обращаться в поддержку 1Ф: если после сброса вида вкладка снова открывается с чужими колонками или отбором — с названием блока, номерами вкладок и версией площадки.

**Настройки колонок — закрепление, ширина, перенос**

- Симптом: нельзя закрепить колонку, настроить ширину, включить перенос по строкам. Ширина не применяется в виджете.
- Что проверить: тип грида (в виджетах настройки ограничены), версию платформы, уровень настройки (категория vs личные настройки).
- Решение: для закрепления и переноса строк проверить версию, так как это может быть заблокировано в интерфейсе. Для ширины в виджетах — это известное ограничение, ширина может не применяться внутри группы виджетов.

**Некорректное отображение значений в колонках**

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

**Ограничения на добавление ДП в грид**

- Симптом: невозможно добавить ДП с типом «Выбор нескольких задач» (Multilookup) или другой сложный тип в параметры грида.
- Решение: не все типы ДП поддерживаются как колонки грида. Это ограничение системы. Поддерживаемые типы: текст, число, дата, чекбокс, lookup, выпадающий список, деньги, выбор пользователей.

**Подсказка показывается на необрезанном тексте**

- Симптом: при наведении на ячейку или на заголовок столбца подсказка появляется, хотя значение помещается целиком.
- Что проверить: поверхность. Так ведут себя грид табличного ДП «Таблица» и колонки с собственным компонентом заголовка — приоритет, избранное, значок, выбор всех в гриде источника данных. В реестре категории, таблице подзадач и блоках информации карточки задачи лишней подсказки быть не должно.
- Решение: это известное ограничение, а не настройка пользователя — см. [Гриды — известные проблемы](https://help.1forma.ru/domains/grids/known-issues.md) § 11. Настройками грида не лечится.
- Когда обращаться в поддержку 1Ф: если подсказка появляется на необрезанном тексте в реестре категории, блоке «Используется» или таблице подзадач.

**Подсказка не исчезает после ухода курсора**

- Симптом: подсказка остаётся на экране при переходе на соседнюю строку, в правую панель или после клика по строке; при наведении на другую строку подсказок на экране становится две.
- Что проверить: воспроизводится в реестре категории с включённой группировкой и открытой карточкой справа — при обновлении данных, сворачивании группы, прокрутке, смене ширины грида.
- Решение: известная проблема, исправление в работе — см. [Гриды — известные проблемы](https://help.1forma.ru/domains/grids/known-issues.md) § 12. Обходной путь для пользователя: обновить грид или навести курсор на ту же ячейку повторно.
- Когда обращаться в поддержку 1Ф: если подсказка остаётся на экране и после обновления грида.

**Колонка «Описание»: недоступны группировка, сортировка и фильтр**

- Симптом: в реестре категории есть колонка «Описание», но по ней нельзя ни сгруппировать, ни отсортировать, ни задать фильтр.
- Что проверить: что это именно системная колонка «Описание» — в её ячейке текст задачи и, по настройке шаблона, теги, приоритет, заказчик, исполнители, срок, статус, номер задачи, — а не поле задачи или ДП с похожим названием.
- Решение: это штатное поведение. Ячейка колонки собирается по шаблону категории с контекстом «Таблица» и служит только для отображения. Для отбора и группировки включают колонки-источники: «Теги», «Приоритет», «Заказчик», «Исполнители», «Срок», «Статус», «Номер задачи».
- Когда обращаться в поддержку 1Ф: если при включённой колонке ячейка остаётся пустой или в ней нет элемента, который доступен пользователю.

## 3. Сортировка и группировка

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

**Сортировка не работает или выполняется некорректно**

- Симптом: сортировка по колонке не работает, порядок неожиданный (числовая колонка сортируется как текст), сортировка по умолчанию не сохраняется.
- Что проверить: тип колонки (числовая сортировка vs текстовая), сортировку по тексту для lookup/multilookup, влияние локализации, место задания сортировки (БИ, лукап, категория).
- Решение: для чисел убедиться, что тип колонки числовой (а не текстовый ДП с цифрами). Для сортировки по умолчанию в БИ/лукапе — известная проблема в некоторых версиях.

**Группировка работает некорректно**

- Симптом: в группировку попадают задачи из других категорий, группировка пропадает периодически, после обновления группировка перестала работать в БИ.
- Что проверить: тип грида («Мои задачи» группирует задачи из разных категорий по дизайну), настройки группировки по полю/ДП, настройки через «Табличный вид БИ».
- Решение: для «Мои задачи» группировка по категориям является ожидаемым поведением. Если группировка пропадает — проверить флаг «Сохранять пользовательские настройки». Для БИ — пересоздать настройку группировки в табличном виде.
- Когда обращаться в поддержку 1Ф: если группировка стабильно не работает после пересоздания настройки.

**Группировка или выгрузка отдаёт `500` при обращении к API грида**

- Симптом: прямой вызов API грида (`POST /api-core/datasource/{type}/{id}/data` или выгрузка) с группировкой отвечает `500`. В интерфейсе та же таблица открывается и группируется штатно.
- Что проверить: тело запроса — в списке колонок группировки не должно быть пустых элементов и объектов без имени колонки (`field`). Такое состояние в интерфейсе не создаётся, оно приходит только из внешнего вызова.
- Решение: обновить площадку — колонка группировки без имени отбрасывается, группировка строится по остальным уровням. На сборках до исправления такой запрос отвечает `500`; обходной путь — убрать некорректный элемент из тела запроса.
- Когда обращаться в поддержку 1Ф: если на актуальной сборке тот же запрос продолжает отвечать `500` — приложить тело запроса и версию сборки.

**Группировка по лукапу показывает русские названия вместо локализованных**

- Симптом: при группировке по ДП типа «Лукап» заголовки групп отображаются на русском, хотя язык интерфейса пользователя — английский (или другой).
- Причина: известный баг — сервис группировки не локализует значения для типов «Лукап», «Combobox», «Select»: значение из денормализованной таблицы передаётся в интерфейс без перевода. См. [Гриды — известные проблемы](https://help.1forma.ru/domains/grids/known-issues.md) § 1.
- Решение: прямого обходного пути нет. Зафиксировать как баг. Постановка на доработку: [Гриды — известные проблемы](https://help.1forma.ru/domains/grids/known-issues.md) § 1.
- Когда обращаться в поддержку 1Ф: сразу, с указанием ID категории и ID ДП-лукапа.

### Запрос таблицы отвечает 500, если в сортировке есть пустой элемент

**Симптом:** табличное представление не загружается, запрос данных отвечает 500, в журнале исключений — ошибка разыменования `null`. Воспроизводится, когда клиент передал в запросе список сортировки с пустым элементом; чаще всего пустой элемент появляется в сохранённом виде или настройке, собранных нестандартным клиентом.

**Что проверить:** версию сборки — исправлено в 2.268 «Скульптор»; в журнале исключений — ошибку разыменования `null` при разборе параметров запроса; в запросе — список сортировки на пустые элементы.

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

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

**Поиск по ленте задач отвечает 500, если в сортировке есть элемент без имени колонки**

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

## 4. Экспорт в Excel

Неполадки при экспорте в Excel обычно проявляются в виде таймаутов при больших объемах данных или ошибок конфигурации при выгрузке.

**Проблемы с выгрузкой данных в Excel**

Отдельно проверьте тип сборки: в сертифицированной сборке (ФСТЭК) выгрузка в Excel недоступна по составу поставки — при выборе «В Excel» приходит сообщение с предложением выгрузить в CSV. Это ограничение поставки, а не неполадка.

- Симптом: кнопка экспорта не работает, выгрузка пустая, ошибка при экспорте.
- Что проверить: откуда экспортируется (грид категории, «Мои задачи», портал, drill down), количество задач (возможен таймаут), ошибки в консоли браузера (F12).
- Решение: для большого объёма предложить сузить фильтр перед экспортом. Для портала — экспорт может быть ограничен. Для раздела «Подписка» — известная проблема в некоторых версиях.
- Когда обращаться в поддержку 1Ф: если экспорт не работает на небольшом количестве задач (<100).

**Ошибка Mapping types при экспорте конфигурации**

- Симптом: при попытке экспорта конфигурации категории — ошибка «Mapping types».
- Когда обращаться в поддержку 1Ф: сразу, с текстом ошибки и ID категории. Это ошибка на стороне сервера.

## 5. Канбан

Неполадки при работе с представлением «Канбан» включают задержки обновления карточек, проблемы с отображением элементов интерфейса и ограничения поиска.

**Вопросы по настройке канбан-доски**

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

**Канбан не обновляется или долго загружается**

- Симптом: при смене статуса задачи (через ПКМ или форму) канбан не перемещает карточку, требуется ручное обновление. Долгая загрузка при группировке по исполнителю.
- Что проверить: способ смены статуса (перетаскивание или форма задачи), количество задач в категории (при большом объёме канбан тормозит), группировку (по исполнителю медленнее, чем по статусу).
- Решение: при смене через форму обновление может происходить с задержкой (SignalR). Для большого количества задач рекомендовать фильтрацию. В крайнем случае — ручное обновление страницы (F5).
- Когда обращаться в поддержку 1Ф: если канбан стабильно не обновляется при перетаскивании.

**Проблемы пользовательского интерфейса канбана**

- Симптом: не грузятся фото исполнителей, нет кнопки «Очистить» в группировке.
- Решение: зафиксировать как баг интерфейса конкретной версии.

**Поиск по части строки в канбане**

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

## 6. Избранное

Обращения пользователей по разделу «Избранное» обычно связаны с ошибками переходов по ссылкам, отображением иконок или отсутствием поиска.

**Ошибка при переходе между категориями из панели избранного**

- Симптом: при клике на категорию в панели избранного — ошибка, страница не загружается.
- Что проверить: версия системы, тип ссылки в избранном (категория, задача, внешняя), доступ пользователя к категории.
- Решение: проверить наличие у пользователя доступа к категории. Попробовать открыть категорию напрямую (не через избранное). Если напрямую работает, а через избранное нет — обратиться в поддержку 1Ф.

**Отображение иконок и цветов задач в избранном**

- Симптом: после обновления пропали иконки в избранном, нет возможности задать цвет задачи при добавлении в избранное, не предлагается выбрать группу/цвет.
- Что проверить: версию системы (в новых версиях интерфейс избранного изменился), была ли доступна эта функция ранее.
- Решение: объяснить изменения в новой версии интерфейса. Для «Избранного группы» локализация названий папок доступна через кнопку глобуса в диалоге добавления/переименования папки (AdminSPA).

**Отсутствие поиска в панели избранного**

- Симптом: на панели избранного отсутствует возможность поиска.
- Решение: функционал поиска в панели избранного может быть недоступен в текущей версии. Зафиксировать как пожелание.

**В избранном вместо названия задачи или текста комментария — «(Текст задачи скрыт)»**

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

## 7. Представления и настройки времени

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

**Проблемы с отбором по умолчанию в табличном представлении**

- Симптом: при попытке сменить «Отбор по умолчанию» — ошибка. При отключении «Сохранять пользовательские настройки» автоматически включается фильтр «Активные».
- Что проверить: ID категории, какой смарт-фильтр выбран как «Отбор по умолчанию», наличие ошибок в смарт-фильтре.
- Решение: автоматическое включение «Активных» при отключении сохранения настроек является поведением по дизайну. При ошибке смены — обратиться в поддержку 1Ф.

**Неполадки фильтрации на календарном представлении**

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

**Проблемы с часовыми поясами в ресурсном представлении**

- Симптом: некорректное отображение при часовом поясе отличном от +3, фильтр по сотрудникам не работает, шаблоны для cell не применяются.
- Что проверить: часовой пояс пользователя/сервера, настройки ресурсного представления.

**Задачи без дочерних скрыты в иерархическом представлении**

- Симптом: в иерархическом представлении грида задачи без дочерних подзадач не отображаются.
- Что проверить: настройку иерархического представления в категории, фильтры (не скрывают ли листовые задачи), тип иерархии (по подзадачам или по ДП-лукапу).
- Решение: проверить настройки иерархического представления — возможно включён режим, который скрывает задачи без дочерних. Если это баг — обратиться в поддержку 1Ф.

**Расхождение значений в колонках дата и время с часовым поясом пользователя**

- Симптом: в колонке «Дата и время» (или в выгрузке грида в Excel) значения отличаются на несколько часов от ожидаемых. Типовая жалоба пользователя: «время в заявке указано 8:00, по факту машина пришла к 6:00».
- Что проверить: часовой пояс в профиле пользователя (Профиль → Редактировать → блок «География» → «Часовой пояс»), совпадение часового пояса у разных пользователей одной задачи.
- Решение: если часовой пояс в профиле некорректен, пользователь меняет его сам, время пересчитывается автоматически. Если требуется общее «серверное» время для всех пользователей — это административное решение по процессу, а не баг платформы.

## 8. Индикаторы и поиск в табличных представлениях

Ошибки в работе поисковой строки и числовых индикаторов (тикеров) над гридом могут приводить к неверному отображению количества задач.

![Страница «Расширенный поиск»: строка поиска и реестр результатов](https://help.1forma.ru/help-images/search/extended_search.png)

**Некорректное отображение тикеров**

- Симптом: тикер показывает неправильное количество, не совпадает с реальным количеством задач.
- Что проверить: настройку тикера в AdminSPA (Индикаторы), источник данных (SQL или предопределённый), текст SQL-запроса пользовательского тикера.
- Решение: тикеры обновляются периодически через SignalR, задержка обновления является нормальным поведением. При стабильно неверном значении проверить SQL-запрос.

**Поиск требует ввода полного наименования или уходит в таймаут**

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

**Разные результаты поиска по локализованному лукапу в разных локалях**

- Симптом: поиск «в полях» по колонке-лукапу возвращает разное количество строк при переключении локали интерфейса (ru/en).
- Что проверить: тип колонки (лукап с локализованными значениями), индексацию (какие локали попали в денормализованные данные), локаль пользователя.
- Решение: поиск идёт по денормализованному тексту, который зависит от локали на момент денормализации. Зафиксировать как баг с указанием ID категории, ID ДП, локалей.


**Поиск, введённый в одной категории, остался при открытии другой**

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

## 9. Смарт-фильтры в AdminSPA

Неполадки при настройке смарт-фильтров в AdminSPA включают проблемы с отображением правил, сохранением результатов и логическими ошибками в синтаксисе ESQL.

**Смарт-фильтры не отображаются в интерфейсе AdminSPA**

- Симптом: в окне редактирования смарт-правила не отображаются смарт-фильтры.
- Что проверить: версию AdminSPA, контекст вызова (из настроек категории, из настроек подписи).
- Решение: обновить страницу AdminSPA. Если не помогает, зафиксировать версию и контекст.

**Не сохраняется отдаваемый результат смарт-фильтра**

- Симптом: при создании смарт-фильтра «Отдаваемый результат» не сохраняется.
- Когда обращаться в поддержку 1Ф: сразу, с ID смарт-фильтра и описанием шагов.

**Смарт-фильтр возвращает некорректное значение**

- Симптом: смарт-фильтр не возвращает логическое значение, не вносится значение смарт-фильтра, странное поведение при фильтрации через смарт-фильтры.
- Что проверить: синтаксис ESQL в смарт-фильтре, соответствие возвращаемого типа ожидаемому, результат тестирования через предпросмотр в AdminSPA.
- Решение: проверить ESQL-выражение через предпросмотр. Для логических значений ESQL должен возвращать `true`/`false`, а не `1`/`0`.

## 10. Общие проблемы и ошибки гридов

Общие сбои в работе гридов могут выражаться в падении всего компонента, ошибках копирования ссылок или обходе прав доступа и валидаций.

**Все гриды падают в ошибку при загрузке**

- Симптом: при открытии любого грида — ошибка, ни один реестр не загружается.
- Что проверить: происходит ли это у одного пользователя или у всех, наличие ошибок в консоли браузера (F12), недавние обновления или изменения конфигурации.
- Решение: если проблема только у одного пользователя — сбросить настройки гридов и очистить кэш. Если у всех — немедленно обратиться в поддержку 1Ф.

**Редактирование ДП в гриде в обход валидации карточки**

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

**Доступ к параметрам через грид в режиме Конфиденциально**

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

**Ссылка из грида копируется как [object Object]**

- Симптом: при копировании ссылки из грида в буфер обмена вместо URL получается `[object Object]`.
- Когда обращаться в поддержку 1Ф: с указанием версии, браузера, типа колонки.

**Частая автоматическая перезагрузка грида**

**Предпросмотр настроек таблицы не открывается: «Ошибка в наборе данных»**

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

**В строке итогов «0» у колонки, для которой итог не настроен**

- Симптом: в закреплённой строке итогов под колонкой стоит «0», хотя операция по ней не задана, а в строках таблицы значения ненулевые. Пользователь читает это как «сумма = 0».
- Что проверить: включена ли у параметра настройка «Использовать 0 для пустых значений» — без неё дефект не проявлялся; версию площадки — исправлено в сборке 2.268 «Скульптор».
- Решение: обновить площадку до сборки с исправлением. После обновления ячейка итога у колонки без операции остаётся пустой, настоящий нулевой итог показывается как «0», а в обычных строках пустое значение у таких параметров по-прежнему отображается нулём — настройка работает как раньше.
- Когда обращаться в поддержку 1Ф: если после обновления в строке итогов появляется «0» у колонки без операции — с ID категории, названием колонки и скриншотом.

- Симптом: список задач в гриде категории обновляется слишком часто, мешает работе.
- Что проверить: настройку частоты автообновления грида в категории, интенсивность SignalR-уведомлений.
- Решение: изменить настройки категории (увеличить интервал автообновления или отключить его).

**Некорректная подсказка при наведении на ячейку**

- Симптом: при наведении курсора на ячейку грида отображается некорректный или неполный контент во всплывающей подсказке. Проблема появилась после обновления на v2.266.
- Что проверить: версию системы (v2.266+), тип колонки (какой ДП), воспроизводимость в других категориях.
- Решение: если проблема только на v2.266, зафиксировать как регрессию и обратиться в поддержку 1Ф со скриншотом.

**Грид пуст при включённой группировке или фильтре по колонке сквозного ДП**

- Симптом: при включённой группировке или фильтре по одной колонке сквозного ДП грид отдаёт пустой результат; в ответе загрузки данных приходит сообщение о неверных настройках сквозного параметра с идентификатором параметра.
- Что проверить: сообщение в ответе грида, цепочку сквозного параметра в настройках категории, доступность параметра текущему пользователю.
- Решение: сообщение означает ненастроенную цель у доступной колонки — цепочку правит администратор. Если параметр пользователю недоступен, колонки в гриде нет вовсе и сообщения он не увидит, поэтому у разных пользователей симптом выглядит по-разному.

## 11. Конструктор поиска

Ошибки при использовании конструктора поиска обычно возникают из-за сложных условий фильтрации, дублирования исполнителей или проблем конкретной версии системы.

**Ошибки при использовании конструктора поиска**

- Симптом: при попытке фильтрации через конструктор поиска возникает ошибка. Также: двойная фильтрация по исполнителям, некорректные результаты поиска.
- Что проверить: версию системы, используемые в конструкторе поля и операторы, воспроизводимость при упрощении запроса.
- Решение: упростить запрос (убирать условия по одному) для выявления проблемного поля. Для двойной фильтрации проверить дубли условий.
- Когда обращаться в поддержку 1Ф: с ID категории, скриншотом конструктора, текстом ошибки.

## 12. Неполадки внутри компонента ДП «Таблица»

Неполадки внутри табличных дополнительных параметров включают сбои группировки и импорта из Excel, а также проблемы с обновлением данных на фронтенде.

**Ошибки при группировке и фильтрации внутри ДП Таблица**

- Симптом: ошибка при группировке строк в ДП Таблица. Ошибка при снятии всех галочек в фильтре множественного выбора внутри таблицы. Дублирование строк при заполнении колонок.
- Что проверить: версию системы, тип колонки ДП Таблица (лукап, текст, число), воспроизводимость на другой категории.
- Решение: для ошибки снятия галочек — известная проблема, обратиться в поддержку 1Ф. Для дублирования — проверить наличие смарт-действий/событий на создание строки.
- Когда обращаться в поддержку 1Ф: с ID ДП Таблица, типом колонки, шагами воспроизведения.

**Ошибки при импорте данных из Excel в ДП Таблица**

- Симптом: при импорте данных из Excel в ДП типа «Таблица» возникает ошибка. Файл загружается, но данные не записываются или записываются с ошибками.
- Что проверить: формат файла (.xlsx, а не .xls или .csv), соответствие колонок (заголовки), типы данных, объем строк.
- Решение: проверить формат файла и соответствие колонок. Попробовать импортировать файл с 1-2 строками для локализации.
- Когда обращаться в поддержку 1Ф: с файлом-примером и ID ДП.

**Значения не очищаются в интерфейсе после смарт-отмены**

- Симптом: после срабатывания смарт-отмены значение в колонке ДП Таблица не очищается на фронте. Данные визуально остаются, хотя в БД уже пустые.
- Что проверить: действие-триггер смарт-отмены, обновляется ли значение после ручной перезагрузки (F5).
- Решение: если F5 помогает — это проблема фронтового кэша, зафиксировать как баг интерфейса и обратиться в поддержку 1Ф с ID задачи, ID ДП и описанием.

## 13. Права доступа и сброс настроек грида

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

**Задача не открывается из грида под учетной записью без прав администратора**

- Симптом: под пользователем без админских прав задача не открывается при клике в гриде. Под админом — работает.
- Что проверить: права пользователя на категорию и задачу, тип грида (обычный, виджет, портал), настройки видимости задач в категории.
- Решение: проверить права доступа на роль пользователя в категории. Для виджетов проверить права на уровне портала.
- Когда обращаться в поддержку 1Ф: если доступ есть, но открытие блокируется.

**Настройки колонок в гриде БИ не сбрасываются через панель администрирования**

- Симптом: в гриде блока «Используется» (БИ) пользовательские настройки колонок не сбрасываются через админку.
- Что проверить: тип грида (блок «Используется»), способ сброса в админке.
- Решение: сброс настроек БИ может отличаться. Попробовать удалить пользовательские настройки грида напрямую через API.
- Когда обращаться в поддержку 1Ф: с ID категории, ID пользователя, шагами сброса.

**Настройка таблицы не сохраняется: отказ в доступе**

- Симптом: пользователь меняет состав, порядок или ширину колонок таблицы категории и нажимает «Сохранить» — приходит сообщение об отказе в доступе, настройка не применяется. У администратора та же операция проходит.
- Что проверить: роль пользователя (администратор платформы или нет), что именно сохраняется — общая настройка таблицы категории (её видят все пользователи) или личный вид грида.
- Решение: обе настройки выглядят в интерфейсе одинаково, но сохраняет их разный круг лиц. Общую настройку таблицы правит только администратор платформы — из блока «Таблица» в настройках категории; отказ обычному пользователю здесь ожидаем. Свой вид грида пользователь сохраняет и сбрасывает сам. Если вид должен быть общим для категории, его настраивает администратор.
- Когда обращаться в поддержку 1Ф: если отказ в доступе получает администратор платформы, либо если перестал сохраняться личный вид грида — с указанием ID категории, роли пользователя и версии площадки.

**Группировка табличного ДП недоступна: запрос группировки отвечает 403**

- Симптом: запрос группировки по колонке табличного ДП (`POST /net-core-api/datasource/Table/{id}/groups`) возвращает 403, группы не строятся.
- Что проверить: есть ли у пользователя доступ к задаче, в контексте которой открыт грид табличного ДП.
- Решение: это штатное ограничение доступа — без прав на задачу значения таблицы не отдаются. Выдайте пользователю доступ к задаче.
- Когда обращаться в поддержку 1Ф: если доступ к задаче есть — с ID задачи, ID табличного ДП и версией сборки.

## 14. Конфликты и сохранение настроек DataSource

Конфликты настроек DataSource возникают при использовании устаревших режимов конфигурации или при сохранении видов во всплывающих окнах выбора.

**Настройки DataSourceSettings в режиме classic перебивают tablesettings**

- Симптом: настройки DataSource в режиме classic перезаписывают tablesettings. Пользовательские настройки табличного представления не применяются или сбрасываются.
- Что проверить: тип DataSource (classic vs modern), наличие конфликтов между настройками категории и пользователя, версию системы.
- Решение: проверить наличие DataSourceSettings в режиме classic (он имеет приоритет). Переключить на modern или синхронизировать настройки.

**Пользовательские настройки лукап-пикера не сохраняются между сессиями**

- Симптом: настройки табличного представления в окне выбора лукапа (lookup picker) не сохраняются между сессиями.
- Что проверить: тип лукапа (обычный или расширенный), настройку сохранения пользовательских настроек в связанной категории.
- Решение: лукап-пикер использует отдельный DataSource, настройки которого могут не сохраняться. Зафиксировать как баг или пожелание.

**После переноса категории настройки табличного представления сбросились к дефолту**

- Симптом: администратор настроил состав и порядок колонок в блоке «Используется» (БИ) или в табличном представлении категории, после переноса категории на другую площадку виден полный набор колонок.
- Что проверить: версию площадки-приёмника (перенос админских настроек табличного представления работает начиная со сборки 2.268 «Скульптор»), не настраивался ли этот блок или категория на приёмнике заранее, действительно ли речь об админской настройке — личные настройки отображения утилита не переносит.
- Решение: повторить перенос на сборке с исправлением. Если блок или категория были настроены вручную до переноса — удалить лишнюю запись, иначе действовать будет прежняя настройка.
- Когда обращаться в поддержку 1Ф: если площадки одной версии 2.268 «Скульптор», блок до переноса не настраивался, а вид всё равно сброшен — приложить ID категории, ID блока и ссылку на архив переноса.

## 15. Производительность гридов

Низкая производительность гридов, особенно в разделе «На подпись», может замедлять открытие карточек и вызывать задержки при загрузке реестра.

**Грид «на подпись» тормозит открытие задач**

- Симптом: при работе в гриде «на подпись» открытие задач занимает значительное время. Грид долго загружается.
- Что проверить: количество задач в выборке, количество ДП в гриде, наличие тяжелых смарт-фильтров на подписях.
- Решение: рекомендовать сузить выборку фильтрами, проверить избыточность колонок.
- Когда обращаться в поддержку 1Ф: при массовом характере проблемы — как проблему производительности.

**Выгрузка или печать категории с блоком, скрываемым по смарт-фильтру, идёт заметно дольше обычной выдачи**

- Симптом: выгрузка в Excel и HTML-печать категории, где есть блок ДП со «Скрывать по смарт-фильтру», идёт заметно дольше обычной выдачи; на крупных категориях (от 1000 задач) может уходить в минуты или в таймаут.
- Что проверить: версию платформы, размер категории (число задач), наличие блоков ДП с заданным смарт-фильтром видимости.
- Решение: исправлено в сборке 2.268.670 и выше. Пакетная оценка видимости ДП ограничена задачами выдачи, а для Entity SQL-ветки введён порог `MaxEsqlTaskIdsLiteralCount = 1000` — на крупных категориях запрос идёт без `IN`-списка, и ограничение по задачам выдачи применяет бэкенд. На более ранних сборках линии деградация воспроизводится.
- Проверка после обновления: замерить время выгрузки той же категории на стенде с исправлением; содержимое выгрузки, кроме признака скрытия, должно совпадать с прежним.
- Когда обращаться в поддержку 1Ф: если деградация сохраняется на актуальной сборке — с замером (категория, число задач, длительность, версия).

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

Для проведения первичной диагностики неполадок в работе гридов и фильтров рекомендуется последовательно проверить ключевые параметры окружения.

1. **Версия системы** — какая версия у клиента
2. **ID категории** — всегда запрашивать
3. **Тип грида** — реестр категории, «Мои задачи», БИ, канбан, lookup-пикер
4. **Тип проблемы** — фильтр, колонка, сортировка, экспорт, отображение
5. **Один пользователь или все** — определяет масштаб проблемы
6. **Было обновление?** — регрессия или давняя проблема
7. **Скриншот / ошибка в консоли (F12)** — попросить при неочевидных проблемах
8. **Платформа** — web, мобильное

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

В поддержку 1Ф следует обращаться при выявлении системных ошибок, проблем с безопасностью или производительностью.

- Все гриды падают в ошибку (ошибка сервера)
- Проблема безопасности (данные видны без доступа)
- Регрессия после обновления (особенно v2.266)
- Потеря данных (значения ДП изменились через грид)
- Таймауты при поиске/фильтрации (производительность)
- Ошибка экспорта конфигурации (Mapping types)
- Ошибки конструктора поиска, воспроизводимые стабильно
- Разные результаты поиска в разных локалях (баг денормализации)

## Таблица или лента не загружается после правки запроса, отбора или вида

**Симптом.** Запрос данных отклонён с текстом о недопустимом имени колонки, хотя в интерфейсе имя выглядит обычным.

**Что проверить.** Не пришло ли имя колонки из сохранённого вида, отбора или прямого вызова API: имена с кавычкой, точкой с запятой, `--`, `/*`, `*/`, управляющими символами или длиной больше 128 символов запрос теперь отклоняет, раньше они вырезались и запрос проходил.

**Решение.** Переименовать колонку или убрать из вида такой столбец. Обычные имена с пробелами, запятой, скобками, точкой, слешем и дефисом продолжают работать.