В практике работы с платформой 1С:Предприятие 8.3 часто встречается загадочная ситуация: один и тот же пользователь, заходя в одну и ту же информационную базу, видит разный набор команд и кнопок. Особенно ярко это проявляется при смене способа удаленного доступа — например, при переключении с прямого подключения через RDP (Remote Desktop Protocol) на работу через TeamViewer или AnyDesk. Рассмотрим подробно, почему так происходит, и проанализируем механизмы решения этой проблемы.
Представим ситуацию: вы работаете в конфигурации 1С:Бухгалтерия 3.0. При входе через терминальный сервер в «Настройке панели действий» вам доступны все необходимые функции, например, Регистрация СФ на аванс. Однако, если тот же самый пользователь заходит в ту же базу через стороннее приложение для удаленного доступа, этот пункт меню исчезает из списка доступных, и даже использование команды «Добавить все» не возвращает его на место.
Многие пользователи ошибочно полагают, что это связано с правами доступа или программными ошибками в коде конфигурации. На самом деле, причина кроется в особенностях работы платформы с временными файлами и специфике операционных систем Windows. Разберем ситуацию по шагам.
Основным виновником того, что интерфейс «застывает» в неправильном состоянии или отображается не полностью, является локальный кэш платформы 1С. Проанализируем, что именно хранится в этих папках. Платформа сохраняет там описания управляемых форм, настройки панелей, конфигурацию интерфейса «Такси» и вспомогательные данные для ускорения запуска.
Если при одном из подключений произошел программный сбой, некорректное завершение сеанса или обрыв связи, файлы кэша могут повредиться. В результате при последующих входах платформа считывает «битую» структуру интерфейса. Выясним, почему это привязано к способу подключения: часто RDP и TeamViewer инициируют разные сеансы в операционной системе, что может приводить к обращению к разным областям временных папок.
Для исправления ситуации нам необходимо принудительно заставить 1С перечитать структуру метаданных из информационной базы. Рассмотрим алгоритм ручной очистки кэша:
%AppData%\Local\1C\1Cv8%AppData%\Roaming\1C\1Cv8Проанализируем ситуацию: после выполнения этих действий под тем же пользователем в любом режиме подключения (хоть локально, хоть через удаленный рабочий стол) состав команд в настройках панели действий станет идентичным и полным.
Рассмотрим более глубокую техническую причину. В серверных операционных системах Windows по умолчанию включен режим разделения временных папок для разных сессий. Когда вы заходите через терминальный сервер, система создает для вашей сессии путь вида Temp/1, Temp/2 и так далее.
Программа 1С активно использует переменную окружения %TEMP%. Если TeamViewer подключается к консольной («нулевой») сессии, а RDP создает новую виртуальную сессию, пути к временным файлам физически могут различаться. Таким образом, почистив кэш в одной сессии, вы можете не решить проблему в другой. Рекомендуется выполнять очистку именно под той учетной записью и в том окружении, где наблюдается проблема.
Выясним, как разрешение монитора влияет на видимость пунктов меню. Современный интерфейс 1С:Предприятие является адаптивным. Если при подключении через TeamViewer используется низкое разрешение экрана или высокий масштаб DPI (например, 150%), платформа может автоматически скрывать часть команд в подменю «Еще» или вовсе исключать их из отображения в настройках, если считает, что для них недостаточно места.
Проанализируем это: 1С пытается быть «умной» и подстраиваться под размер окна. При работе через RDP разрешение часто пробрасывается с вашего локального монитора, а в TeamViewer оно может ограничиваться настройками удаленного рабочего стола. Это создает иллюзию «разных баз».
Чтобы не заниматься ручным удалением папок каждый раз, когда интерфейс начинает вести себя странно, мы можем использовать встроенный механизм платформы. Рассмотрим применение параметра запуска. В настройках информационной базы в окне запуска (в поле «Дополнительные параметры запуска») можно прописать специальный флаг.
/ClearCache
Этот параметр заставляет систему игнорировать существующий кэш запросов к серверу при запуске. Это наиболее безопасный способ поддерживать актуальность интерфейса, хотя он может незначительно увеличить время открытия программы. Стоит отметить, что этот флаг очищает только кэш метаданных, но не сбрасывает пользовательские настройки (например, ширину колонок или состав выбранных отборов), которые хранятся в SystemSettingsStorage внутри самой базы данных.
Если в вашей организации используются перемещаемые профили или диски профилей (User Profile Disks), ситуация осложняется. Посмотрим на это со стороны системного администрирования: при подключении через разные шлюзы или методы доступа может происходить частичная синхронизация профиля. Если часть папки AppData не синхронизировалась вовремя, 1С будет работать с устаревшими данными.
Важный совет: для стабильной работы интерфейса в распределенных средах всегда проверяйте, чтобы права на запись в папку профиля пользователя были полными, а антивирусное ПО не блокировало создание временных файлов с расширением .pfl и .tmp в каталогах 1С.
Подводя итог, можно сказать, что «разные интерфейсы» — это почти всегда симптом проблем с временными данными на стороне клиента. Очистка кэша является «золотым стандартом» решения подобных проблем в среде 1С:Предприятие 8.3.