При обновлении конфигурации 1С:Управление торговлей до версии 11.5.25.80 и выше в сочетании с переходом на платформу 8.3.26 или 8.3.27 многие специалисты столкнулись с неприятным визуальным багом. Форма «Структура подчиненности» (связанные документы) начинает работать некорректно: дерево документов обрезается, визуальные связи отображаются с разрывами, а выделение строки происходит не целиком, а по отдельным ячейкам. Чтобы облегчить работу пользователям в этот период, многие решают вернуть кнопку «Связанные документы» на командную панель для быстрого доступа к структуре из журналов и списков. Рассмотрим подробно, почему возникают ошибки отрисовки и какими способами можно вернуть интерфейсу рабочее состояние.
Проанализируем ситуацию с технической точки зрения. Проблема носит «пограничный» характер и проявляется на стыке обновленной платформы и механизмов конфигурации. В платформе версии 8.3.27 были внедрены значительные изменения в движок отрисовки интерфейса «Такси», направленные на повышение производительности динамических списков и деревьев. Хотя сама по себе настройка списка в 1С позволяет добиться гибкого отображения данных, стандартная форма связанных документов в релизах УТ 11.5.25 использует устаревшие методы управления элементом Дерево.
Выясним причину странного поведения выделения: свойство FullRowSelect (выделение всей строки) в новых версиях платформы может игнорироваться, если форма была модифицирована расширениями или если в коде конфигурации нарушена последовательность инициализации элементов управления. В результате фокус «проваливается» до конкретной ячейки, что делает работу пользователя крайне неудобной.
Первым делом разберем наиболее быстрый способ исправления — установку экстренного патча от компании 1С. Для исправления ошибки отрисовки динамических списков и иерархических деревьев был выпущен патч EF_00_00807037.
Порядок действий по установке:
EF_00_00807037.Важно отметить, что данный патч корректирует логику серверных вызовов при формировании иерархии документов. Если после его установки проблема не исчезла, значит, причина кроется в конфликте с установленными расширениями.
Зачастую проблема усугубляется наличием сторонних модулей. Рассмотрим пример: популярное расширение для интеграции с Деловыми линиями или другими логистическими сервисами часто вмешивается в работу формы связанных документов. Если вы проводили обновление нетиповой конфигурации с выносом доработок в расширение, или вам требовалась доработка отчета «Связанные документы» для вывода объектов из расширений, это также может повлиять на верстку формы в новых реалиях платформы.
Проанализируем алгоритм проверки влияния расширений:
/NoExtensions. Это позволит убедиться, что проблема не в основной конфигурации.Посмотрим на типичный пример кода в расширении, который может вызывать ошибку из-за изменения состава реквизитов в новых релизах УТ:
&После("ПриСозданииНаСервере")
Процедура Инт_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Если расширение обращается к элементам, которые в 11.5.25 были перемещены
ЭлементДерево = ЭтаФорма.Элементы.Найти("ДеревоСвязанныхДокументов");
Если ЭлементДерево <> Неопределено Тогда
// Попытка программной настройки может сбивать FullRowSelect платформы 8.3.27
ЭлементДерево.РежимВыделения = РежимВыделенияТаблицы.ВыделениеСтроки;
КонецЕсли;
КонецПроцедуры
Если вы обнаружили такой код, попробуйте временно отключить расширение или обновить его до версии, совместимой с УТ 11.5.25.92+.
Даже после установки патча или обновления расширений, «глюк» может сохраняться из-за кэшированных настроек формы. Платформа 1С сохраняет состояние элементов управления для каждого пользователя индивидуально. Разберем, как сбросить эти данные.
Выполним следующие шаги:
СтруктураПодчиненности или СвязанныеДокументы.Это действие заставит платформу заново отрисовать форму, используя актуальные (исправленные патчем) программные механизмы.
Если позволяют условия эксплуатации базы, наиболее надежным решением будет обновление на релиз, где данная ошибка исправлена на уровне программного кода самой конфигурации. По официальным данным Bugboard 1С, проблема полностью устранена в следующих версиях:
Стоит заметить, что релиз 11.5.25.85 (вышедший в конце декабря) не содержал этого исправления, так как сборка была «заморожена» для включения только законодательных изменений. Поэтому переход именно на версию .92 является критически важным для исправления интерфейсных ошибок.
Подводя итог, скажем: если вы столкнулись с «рассыпающимся» деревом связанных документов, не спешите винить только платформу или только свой код. Это комплексная ошибка отрисовки. Рассмотрим краткий чек-лист исправления: установите патч EF_00_00807037, проверьте расширения, используя инструменты на анализ состава расширений, очистите настройки формы у проблемных пользователей и, при первой возможности, обновите УТ до 11.5.25.92. Также убедитесь, что пользователям обеспечен удобный доступ к структуре подчиненности через командную панель для оперативной работы.