При сопровождении и обновлении нетиповых конфигураций или доработанных типовых решений на платформе 1С:Предприятие 8.3 разработчики нередко сталкиваются с ситуацией, когда форма списка документов открывается корректно, командная панель (кнопки создания, копирования, проведения) отображается без ошибок, но сама таблица динамического списка на форме полностью отсутствует. При этом тестирование текста запроса в консоли запросов показывает, что данные в базе есть, а условия отбора не ограничивают выборку.
Разберем по шагам, почему возникает такое поведение платформы, как локализовать источник проблемы и восстановить отображение динамического списка.
Одной из наиболее частых причин внезапного исчезновения объектов метаданных, реквизитов или целых элементов формы является механизм Функциональных опций (ФО). Если после очередного релиза типовой конфигурации документ или табличная часть были включены в состав новой функциональной опции, а соответствующая настройка в программе выключена, платформа автоматически скрывает связанные элементы интерфейса.
Выясним, привязан ли документ к функциональной опции:
Документ.ПлатежноеПоручение), нажмем по нему правой кнопкой мыши и выберем пункт Дополнительно.Рассмотрим механизм работы функциональной опции подробнее. Большинство ФО в типовых конфигурациях привязаны к константам с типом Булево. Если константа установлена в значение Ложь, платформа исключает объект из командного интерфейса и скрывает его формы.
Важно: не рекомендуется просто исключать документ из состава функциональной опции в конфигураторе, так как это нарушает логику типового решения. Правильный подход — определить, какая константа управляет данной опцией, и включить соответствующую функциональность в режиме «1С:Предприятие» через раздел администрирования или настроек параметров учета.
Если значение константы было изменено программно в текущем сеансе, применим обновление командного интерфейса:
ОбновитьИнтерфейс();
Проанализируем свойства самого динамического списка в форме. Если для динамического списка включен режим произвольного запроса (например, когда к основной таблице документа через ЛЕВОЕ СОЕДИНЕНИЕ подключаются дополнительные регистры сведений), необходимо обязательно проверить заполнение свойства Основная таблица.
Посмотрим на пример запроса динамического списка:
ВЫБРАТЬ
ДокументПлатежноеПоручение.Ссылка КАК Ссылка,
ДокументПлатежноеПоручение.Номер КАК Номер,
ДокументПлатежноеПоручение.Дата КАК Дата,
ДокументПлатежноеПоручение.Организация КАК Организация,
ДокументПлатежноеПоручение.Контрагент КАК Контрагент,
ДокументПлатежноеПоручение.СуммаДокумента КАК СуммаДокумента,
СостоянияБанковскихДокументов.Состояние КАК Состояние
ИЗ
Документ.ПлатежноеПоручение КАК ДокументПлатежноеПоручение
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияБанковскихДокументов КАК СостоянияБанковскихДокументов
ПО ДокументПлатежноеПоручение.Ссылка = СостоянияБанковскихДокументов.СсылкаНаОбъект
В свойствах реквизита формы типа ДинамическийСписок свойство ОсновнаяТаблица должно иметь значение Документ.ПлатежноеПоручение. Если основная таблица не задана, платформа отключает динамическое считывание данных порциями, стандартную обработку прав доступа и работу некоторых стандартных отборов, что может приводить к сбоям отрисовки элементов формы.
При включении константы функциональной опции под полными правами может возникнуть ситуация, когда в командном интерфейсе задваиваются разделы и подсистемы. Рассмотрим причины этого явления:
Если функциональные опции включены, а список все еще не виден, выполним диагностику пользовательских настроек:
/ClearCache или удалим содержимое каталогов %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8.