Рассмотрим довольно частую ситуацию, с которой сталкиваются пользователи и администраторы 1С, особенно после обновления платформы или конфигурации. Проблема проявляется в том, что привычные окна, например, форма подбора номенклатуры в документ продажи, начинают открываться в искаженном, "скомканном" виде. Панели сбиты в кучу, размеры окон не сохраняются, и работать становится практически невозможно. Давайте разберемся в причинах такого поведения и найдем эффективные способы решения.
Изначально пользователь столкнулся с тем, что после обновления сервера 1С:Предприятие до версии 8.3.13 форма подбора стала открываться некорректно у всех сотрудников. Простые действия, такие как очистка локального кэша (то, что в теме назвали "кэш шмэш"), не приносили результата. Это важный момент, который указывает на корень проблемы.
В работе 1С использует два основных механизма хранения пользовательских данных, которые влияют на производительность и внешний вид интерфейса:
%AppData%). Они содержат метаданные конфигурации, часто используемые данные и служат для ускорения запуска и работы программы. Очистка этого кэша полезна при проблемах с запуском или при ошибках метаданных, но редко помогает с настройками внешнего вида окон.В обсуждаемом случае эксперимент с созданием нового пользователя показал, что у него все формы открываются корректно. Это стопроцентное подтверждение того, что проблема кроется именно в накопленных персональных настройках старых пользователей, а не в самой конфигурации или платформе.
Если проблема возникает только с одним или несколькими окнами, пользователь может самостоятельно сбросить их внешний вид к стандартному. Это самый простой и быстрый способ.
Разберем по шагам, как это сделать:
После этих действий форма должна принять свой первоначальный, стандартный вид. Пользователь сможет заново настроить ее под себя, и эти новые настройки уже сохранятся корректно.
Когда проблема носит массовый характер и затрагивает всех или большинство пользователей, подходить к каждому и сбрасывать настройки вручную неудобно. Для таких случаев в 1С предусмотрен инструмент централизованной очистки.
Важно: эту операцию должен выполнять пользователь с правами администратора. Действия необратимы и удалят сохраненные настройки пользователей.
Проанализируем порядок действий:
Предупреждение: после очистки все пользователи, которых она затронула, при следующем входе в программу увидят интерфейс "как в первый раз". Им придется заново настраивать расположение панелей, ширину колонок и другие элементы под свои предпочтения. Предупредите их об этом заранее.
Именно этот способ и помог в итоге решить проблему на форуме, так как позволил массово удалить "битые" настройки у всех сотрудников.
В первом сообщении автор пытался решить проблему программно, используя следующий код в событии ПриОткрытии:
Shell = Новый COMОбъект("WScript.Shell");
Shell.SendKeys("%+®");
Этот подход в корне неверен. Метод SendKeys объекта WScript.Shell — это инструмент операционной системы Windows, который эмулирует нажатия клавиш. Он не имеет никакого отношения к управлению внутренними механизмами форм 1С. Попытка отправить комбинацию клавиш для "восстановления" окна — это внешний, ненадежный и непредсказуемый способ, который не устраняет причину проблемы — поврежденные настройки в базе данных.
Для управления настройками форм из кода следует использовать встроенные объекты и методы платформы 1С, предназначенные для работы с хранилищем настроек, но в данном случае самым правильным и простым решением является использование стандартных интерактивных инструментов, описанных выше.