Почему в списке 1С у проведенного документа отображается значок пометки на удаление и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При доработке системы или переносе объектов между конфигурациями (например, при переносе документа в 1С:ERP Управление предприятием) разработчики иногда сталкиваются с визуальной аномалией. Документ успешно проводится, в базе присутствуют все необходимые движения, однако в форме списка пиктограмма состояния указывает на то, что объект помечен на удаление. При повторных попытках интерактивного изменения пометки удаления значки могут переключаться хаотично, а отладчик при этом подтверждает правильность реквизитов Проведен = Истина и ПометкаУдаления = Ложь.

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

Причина 1. Повреждение локального кэша платформы и кэша сеанса

Самая частая причина несовпадения реального состояния объекта с его пиктограммой в списке — закэшированные метаданные и визуальные настройки формы. Платформа 1С сохраняет кэш структуры форм, картинок и пользовательских отображений. При копировании или объединении объектов метаданных ссылки на внутренние коллекции картинок могут сбиться.

Решение: Очистка кэша и выполнение ТИИ

  1. Выполним ручную очистку локального кэша платформы. Для этого необходимо завершить сеанс работы с базой 1С и удалить содержимое папок %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8 (каталоги с наименованиями в виде GUID).
  2. Для автоматической очистки кэша вызовов процедур и функций при запуске базы можно использовать ключ /ClearCache в параметрах строки запуска клиентского приложения.
  3. Если проблема сохраняется в клиент-серверном варианте, выполним процедуру Тестирование и исправление информационной базы (ТИИ) в режиме «Конфигуратор» с проверкой логической и ссылочной целостности.

Причина 2. Залипание пользовательских настроек формы

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

Разберем, как сбросить сохраненный вид формы к первоначальному состоянию:

  1. В режиме «1С:Предприятие» откроем проблемную форму списка документов.
  2. Перейдем в меню Ещё → Установить стандартные настройки (или Ещё → Изменить форму → Ещё → Установить стандартные настройки).
  3. Если требуется очистить настройки у всех пользователей централизованно, зайдём в раздел администрирования настроек пользователей и удалим сохраненный интерфейсный кэш для данной формы.

Причина 3. Неверные настройки динамического списка и коллекции пиктограмм

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

Выполним следующие проверки в режиме «Конфигуратор»:

  1. Откроем форму списка документа и выделим реквизит формы Список (тип ДинамическийСписок).
  2. В палитре свойств убедимся, что заполнено свойство Основная таблица (например, Документ.ИмяДокумента). Это необходимо для того, чтобы платформа автоматически рассчитывала картинку строки.
  3. Проверим свойства элемента формы Таблица. В свойстве ПутьКДаннымКартинкиСтроки должно быть указано значение Список.СтандартнаяКартинка.

Причина 4. Смещение индексов картинок при явном вычислении состояния

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

Проанализируем пример кода запроса, вычисляющего индекс состояния документа:


ВЫБОР
    КОГДА ДокументТаблица.ПометкаУдаления ТОГДА 2
    КОГДА ДокументТаблица.Проведен ТОГДА 1
    ИНАЧЕ 0
КОНЕЦ КАК ИндексСостояния

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

← На главную