Каждый системный администратор или специалист 1С сталкивался с ситуацией, когда база начинает вести себя некорректно: «плывут» формы, возникают странные ошибки при открытии документов или конфигурация просто отказывается запускаться. В 90% случаев универсальным лекарством является очистка локального кэша. Однако у этой процедуры есть серьезный побочный эффект для рабочих мест кассиров — после удаления папок из AppData часто «слетают» драйверы фискальных регистраторов и обнуляется список подключенного оборудования. Рассмотрим, как выполнить очистку правильно, сохранив работоспособность торговых точек.
Для начала проанализируем, где именно 1С хранит свои временные данные и настройки. Кэш платформы 1С:Предприятие 8 распределен по двум основным директориям пользователя Windows:
Главная причина «слета» оборудования заключается в потере связи между текущим сеансом пользователя и записью в справочнике Рабочие места в самой базе 1С. Внутри папок кэша хранятся файлы с расширением .pfl (профили). В одном из таких файлов записан уникальный ID рабочего места. Если мы бездумно удаляем всё содержимое папок 1c8, 1С при следующем запуске не находит свой старый ID, генерирует новый (например, «ИмяКомпьютера_1») и открывает базу с абсолютно чистым списком оборудования. Старое оборудование остается привязанным к старому ID, который был безвозвратно удален вместе с файлами профиля.
Посмотрим на практический опыт, описанный в обсуждении. Чтобы не переустанавливать драйверы торгового оборудования (ДТО) и не настраивать логические устройства заново, мы должны действовать избирательно. Разберем по шагам, что можно и что нельзя трогать.
Во-первых, проанализируем папку Roaming. В ней находится критически важная директория ExtCompT. Рассмотрим её назначение: именно сюда 1С распаковывает драйверы (DLL-файлы) из макетов конфигурации. Если удалить эту папку, платформе придется заново регистрировать компоненты в системе, что может потребовать прав администратора или вызвать ошибки защиты. Поэтому папку ExtCompT трогать категорически нельзя.
Во-вторых, обратим внимание на структуру папок внутри Local и Roaming. Каждая база имеет свою подпапку, имя которой соответствует GUID. Вместо того чтобы удалять всю папку целиком, попробуем очистить только те данные, которые действительно являются кэшем метаданных. Внутри папки с GUID базы обычно находятся следующие объекты:
Config — кэш конфигурации (основной источник проблем, подлежит удалению).ConfigSave — временные данные при обновлении (подлежит удалению).vrs-cache — кэш веб-сервисов (можно удалять).*.pfl — файлы настроек и идентификации (не трогаем).Проанализируем альтернативный, более цивилизованный способ. Платформа 1С поддерживает специальный ключ запуска. Это самый безопасный метод, так как сама программа понимает, какие файлы являются временными, а какие — критически важными настройками пользователя.
Чтобы воспользоваться этим методом, выполним следующие действия:
/ClearCache
После этого запустим базу. 1С автоматически очистит кэш запросов и кэш тонкого клиента. Важно помнить: этот параметр стоит убрать после успешного запуска, иначе программа будет очищать кэш при каждом старте, что существенно замедлит работу пользователя.
Если рабочих мест много, и проблема с кэшем возникает регулярно, целесообразно использовать автоматизированный скрипт (bat-файл). Однако мы должны составить его так, чтобы он обходил важные файлы стороной. Посмотрим на пример логики такого скрипта, который удаляет только папки Config и vrs-cache, не затрагивая идентификаторы рабочего места.
@echo off
set "baseDirLocal=%LocalAppData%\1C\1cv8"
set "baseDirRoaming=%AppData%\1C\1cv8"
for /d %%i in ("%baseDirLocal%\*") do (
if exist "%%i\Config" rd /s /q "%%i\Config"
if exist "%%i\ConfigSave" rd /s /q "%%i\ConfigSave"
if exist "%%i\vrs-cache" rd /s /q "%%i\vrs-cache"
)
echo Очистка завершена, настройки оборудования сохранены.
pause
Разберем, что делает этот скрипт: он не удаляет корневые папки баз, а заходит внутрь каждой и точечно стирает только директории Config и vrs-cache. Это позволяет сбросить основные ошибки кэширования, но сохраняет файлы *.pfl в корне папки базы, благодаря чему 1С «узнает» рабочее место при запуске.
Выясним еще одну важную деталь. Некоторые старые драйверы (особенно для 1С 7.7 или работающие через старые COM-интерфейсы в 8.3) хранят свои параметры не в файлах кэша, а в реестре Windows. В частности, ветка HKEY_CURRENT_USER\Software\1C\1Cv8\3\ComNamespaces может содержать пути к библиотекам. Обычная очистка папок AppData их не задевает, но если вы используете сторонние утилиты для «полной очистки системы» (вроде CCleaner), они могут вычистить и эти ветки реестра. Рекомендуем исключать пути 1С из подобных программ-оптимизаторов.
Для эффективного решения проблемы без вреда для торгового оборудования придерживаемся следующих правил:
Roaming — это хранилище установленных драйверов..pfl, так как в них зашит ID рабочего места.Config внутри папки с GUID базы в каталоге Local./ClearCache в параметрах запуска как приоритетный метод.Следуя этим рекомендациям, мы сможем оперативно устранять программные сбои 1С, не тратя время на повторную настройку кассовых аппаратов, весов и сканеров штрихкодов.