При переходе на новые версии платформы (особенно ветки 8.3.21 и 8.3.22) и одновременном обновлении конфигурации «Бухгалтерия предприятия 3.0», системные администраторы и программисты часто сталкиваются с неприятным эффектом: формы списков некоторых документов открываются абсолютно пустыми. При этом стандартные элементы управления (кнопки, поиск) могут присутствовать, но сама таблица, отображающая данные ДинамическийСписок, полностью исчезает, даже если у пользователя есть полные права.
Рассмотрим детально причины этого явления, проанализируем взаимосвязь механизмов платформы и конфигурации, а также разберем по шагам методы решения — от самых простых до глубоких технических манипуляций с серверным кэшем.
Выясним первопричину, которая чаще всего оказывается верной в 90% случаев. В современных конфигурациях на базе БСП (Библиотеки стандартных подсистем), к которым относится и «Бухгалтерия предприятия 3.0», видимость объектов метаданных в интерфейсе жестко управляется механизмом ФункциональныеОпции. Если определенная опция отключена, платформа на уровне ядра скрывает связанные с ней документы, журналы и даже отдельные колонки в таблицах.
Проанализируем ситуацию: пользователь обновил платформу до 8.3.21.1624 и версию конфигурации до 3.0.128. После этого документы типа «Поступление в аренду (лизинг)» перестали выводить свои списки. Это происходит потому, что при обновлении значения констант, к которым привязаны функциональные опции, могут «сброситься» в кэше или считаться некорректно из-за изменения структуры метаданных.
Разберем, как восстановить работу через настройки программы:
Этот метод позволяет платформе заново пересчитать права и видимость для объекта ДинамическийСписок, основываясь на актуальных значениях констант.
Если работа с функциональными опциями не принесла результата, нам необходимо рассмотреть вероятность повреждения кэша метаданных. При обновлении платформы версии 8.3.21 старые описания форм могут конфликтовать с новыми механизмами отрисовки интерфейса Taxi.
Рассмотрим два этапа очистки:
1. Локальный кэш пользователя. Хотя многие считают это тривиальным действием, важно выполнить его правильно. Недостаточно просто удалить базу из списка и добавить заново. Рекомендуется использовать ключ запуска /ClearCache в дополнительных параметрах запуска или вручную удалить содержимое папок %AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8.
2. Серверный кэш (особенно актуально для клиент-серверного варианта). В версии 8.3.21.1624 наблюдались ошибки, когда сервер 1С:Предприятия кэшировал старое состояние функциональных опций в каталоге snccntx. Чтобы очистить серверный кэш, выполним следующие действия:
srvinfo (путь по умолчанию: C:\Program Files\1cv8\srvinfo).snccntx. Удалим всё содержимое этой папки.Проанализируем ситуацию с «французскими админами», упомянутую в теме: если прямой доступ к серверу затруднен, можно попробовать программный метод сброса параметров сеанса через консоль кластера или специальную обработку, вызывающую метод ПараметрыСеанса.УстановитьПовторноИспользуемыеЗначенияИзменились().
Посмотрим на ситуацию с точки зрения особенностей самой платформы 8.3.21.1624. В этой ветке были зафиксированы ошибки, связанные с масштабированием и режимом отображения форм. Иногда таблица динамического списка физически присутствует на форме, но имеет нулевую высоту или ширину из-за ошибок в расчете макета.
Выясним, как это проверить:
АвтоматическоеСохранениеДанныхВНастройках у формы. Иногда старые сохраненные настройки пользователя (настройки компоновки данных или настройки колонок) «ломают» визуализацию списка. В этом случае поможет удаление настроек данного пользователя через Администрирование — Настройки пользователей и прав — Очистка настроек.Рассмотрим еще один критический фактор — расширения. Часто после обновления основной конфигурации расширения переходят в состояние «частичной совместимости». Если в расширении была заимствована форма списка или сам документ, платформа может молчаливо блокировать вывод таблицы динамического списка, если структура запроса в расширении стала невалидной относительно новой структуры метаданных.
Проанализируем алгоритм проверки:
В коде расширения стоит обратить внимание на обработчики ПриСозданииНаСервере, где может динамически меняться текст запроса списка:
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
// Если здесь происходит модификация запроса,
// она может конфликтовать с новыми ФО (функциональными опциями)
ТекстЗапроса = Список.ТекстЗапроса;
// ... логика модификации ...
КонецПроцедуры
В редких случаях проблема кроется в «битых» ссылках в таблицах регистрации функциональных опций в самой базе данных. Разберем, как выполнить диагностику средствами конфигуратора. Запустим Тестирование и исправление со следующими флагами:
ДинамическийСписок.Особое внимание уделим проверке прав через механизм RLS (Record Level Security). В новых версиях БП 3.0 шаблоны ограничений доступа могут обновляться. Если после обновления платформы механизм RLS начинает работать некорректно, он может возвращать пустой результат запроса для динамического списка, даже если у пользователя «Полные права». В этом случае помогает обновление профилей групп доступа через соответствующий раздел в Администрировании.
Подводя итог, при исчезновении динамических списков после обновления, мы рекомендуем придерживаться следующего порядка действий: сначала проверяем Функциональность программы (включение нужных опций), затем очищаем серверный кэш, и только после этого приступаем к анализу расширений и тестированию базы. Как показала практика, именно «передергивание» настроек функциональности в интерфейсе 1С:Бухгалтерии является самым быстрым и эффективным решением данной проблемы.