В процессе администрирования систем на базе платформы 1С:Предприятие 8.3 специалисты часто сталкиваются с ситуацией, когда один конкретный пользователь не может войти в свою учетную запись на определенном рабочем месте (например, на кассовом терминале или на отдельном компьютере в офисе). При этом на сервере или других компьютерах под этим же именем вход выполняется успешно. Характерный симптом проблемы — после успешного ввода логина и пароля окно авторизации исчезает, но стандартная заставка 1С с логотипом программы «зависает» и висит бесконечно долго, не выдавая никаких ошибок, а главное окно программы так и не открывается.
Давайте подробно проанализируем причины возникновения этой проблемы и рассмотрим по шагам все проверенные способы ее решения — от самых простых действий с интерфейсом запуска до тонких настроек операционной системы и базы данных.
Это самая распространенная причина зависания платформы при запуске. В процессе работы 1С:Предприятие кэширует на локальном диске пользователя метаданные конфигурации, конфигурацию базы данных, файлы интерфейса и настроек. При аварийном завершении работы компьютера, сбоях в электросети на кассе или некорректном закрытии программы файлы кэша могут повредиться. При следующем запуске платформа пытается прочитать поврежденные данные и уходит в бесконечный цикл загрузки.
Разберем три основных метода очистки кэша клиента.
Метод А. Передобавление информационной базы в список (самый быстрый способ)
Когда мы удаляем базу из списка запуска и добавляем ее заново, платформа создает для нее новую уникальную папку кэша (с новым внутренним идентификатором), а старый поврежденный кэш просто перестает использоваться. Для этого выполним следующие действия:
Метод Б. Ручное удаление папок кэша на диске компьютера
Если передобавление базы по какой-то причине неудобно, мы можем полностью зачистить физические каталоги временных файлов 1С на диске. Рассмотрим, где они находятся. Для этого выполним команду «Выполнить» (сочетание клавиш Win + R) и поочередно очистим две папки:
%AppData%\1C\1Cv8 и нажмем Enter. В открывшемся окне проводника мы увидим папки с длинными буквенно-цифровыми именами (например, 87b2803b-185d-4f11-9a73-982736173ba). Это и есть папки кэша. Удалим все папки с подобными именами.Win + R, введем команду %LOCALAPPDATA%\1C\1Cv8 и также очистим все буквенно-цифровые каталоги в этой папке.Важно помнить, что перед удалением файлов необходимо полностью закрыть все запущенные процессы 1С (включая тонкий и толстый клиенты) через «Диспетчер задач». Для автоматизации этого процесса можно использовать скрипт для завершения процессов и очистки кэша 1С.
Метод В. Использование ключа запуска ClearCache
Мы можем настроить автоматическую очистку кэша данных при каждом запуске программы. Для этого проанализируем настройки запуска конкретной информационной базы:
/ClearCache.Стоит учитывать особенности работы этого параметра: ключ /ClearCache очищает только кэш запросов клиент-серверного взаимодействия, но не удаляет локальный кэш метаданных конфигурации. Поэтому, если поврежден именно кэш метаданных, данный ключ может не помочь, и нам придется прибегнуть к методам А или Б.
Малоизвестная, но крайне частая причина «мертвого» зависания заставки 1С на рабочих местах. При запуске под конкретной учетной записью платформа опрашивает параметры принтера по умолчанию, зарегистрированного в операционной системе Windows. Если на кассе или рабочем месте по умолчанию установлен сетевой принтер, принтер чеков или этикеток, который в данный момент отключен, завис или недоступен по сети, системная служба печати Windows долго не отвечает на запросы 1С, из-за чего запуск программы полностью блокируется.
Выясним причину и исправим ситуацию по шагам:
Microsoft Print to PDF или Microsoft XPS Document Writer) и выберем пункт «Использовать по умолчанию».Иногда очистка локального кэша на диске компьютера не приносит результата. Это происходит потому, что настройки окон, открытых при закрытии форм, отборы в списках и персональные параметры пользователя хранятся непосредственно в самой информационной базе данных (в системных таблицах _SystemSettings и _CommonSettings). Для интерактивного анализа и сброса этих данных подойдет обработка для просмотра и очистки хранилища настроек пользователя.
Если в предыдущем сеансе пользователь закрыл программу с открытым тяжелым отчетом или обработкой, которая теперь при инициализации вызывает бесконечный цикл или критическую ошибку, запуск будет зависать сразу после ввода пароля. Чтобы решить эту проблему, выполним очистку настроек силами администратора системы:
Для разработчиков отметим, что очистить проблемные настройки конкретного пользователя можно также программным путем во внешней обработке, используя следующий метод:
ИмяПользователяИнформационнойБазы = "ИвановИИ";
ПользовательБД = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователяИнформационнойБазы);
Если ПользовательБД <> Неопределено Тогда
ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, ПользовательБД.Имя);
ХранилищеОбщихНастроек.Удалить(Неопределено, Неопределено, ПользовательБД.Имя);
КонецЕсли;
В процессе своей жизнедеятельности платформа 1С активно создает временные файлы во временной папке Windows. При аварийных выключениях компьютера файлы с расширением .tmp остаются заблокированными процессами ОС. При попытке повторного входа платформа сталкивается с невозможностью создать или прочитать временный файл под текущей сессией Windows и зависает.
Рассмотрим процедуру очистки временной папки:
Win + R.%temp% и нажмем кнопку «ОК».Ctrl + A) и удалим их (сочетание клавиш Shift + Delete для безвозвратного удаления). Если операционная система сообщит, что некоторые файлы заняты другими процессами, просто пропустим их удаление.Начиная с версии 8.3, платформа 1С:Предприятие активно использует ресурсы видеокарты для отрисовки современного интерфейса «Такси». На слабых компьютерах, моноблоках или кассовых терминалах со встроенными видеокартами (особенно со старыми драйверами от Intel или AMD) это может приводить к зависанию графической оболочки сразу после этапа авторизации.
Разберем, как отключить аппаратное ускорение графики для платформы 1С:
/NoHardwareAcceleration.Этот ключ заставит платформу выполнять отрисовку интерфейса программно, силами центрального процессора, что исключит зависания из-за несовместимости видеодрайвера.
Иногда зависание заставки происходит из-за того, что установленный на компьютере антивирус или брандмауэр блокирует сетевую активность тонкого или толстого клиента 1С в момент загрузки тяжелых файлов метаданных. Защитные программы могут расценивать интенсивное чтение сотен мелких файлов кэша из папки AppData как потенциальную вирусную активность (поведение шифровальщика) и временно приостанавливать процесс 1cv8c.exe или 1cv8.exe.
Для решения этой проблемы добавим исполняемые файлы платформы 1С (обычно они расположены по пути C:\Program Files\1cv8\ или C:\Program Files (x86)\1cv8\) и каталоги кэша в список исключений вашего антивируса.
Мы проанализировали основные причины зависания заставки 1С при входе пользователя и разобрали пошаговые сценарии устранения неисправностей. В большинстве случаев эффективным решением оказывается простая очистка кэша путем удаления и повторного добавления базы в список запуска, однако системному администратору всегда стоит держать в голове альтернативные варианты с принтером по умолчанию, сбросом настроек в базе данных и отключением аппаратного ускорения графики.