В процессе работы с конфигурациями на платформе 1С:Предприятие 8.3 (например, 1С:Комплексная автоматизация или ERP) пользователи могут столкнуться с внезапным закрытием программы. Типичный сценарий: при попытке выбрать документ-основание (например, в документе Поступление безналичных денежных средств) программа просто «вылетает» без сообщения об ошибке или с коротким уведомлением об «Access Violation». Примечательно, что проблема часто носит локальный характер и проявляется только на конкретном рабочем месте.
В данной статье мы подробно разберем, как диагностировать и устранить эту проблему, пройдя путь от простых действий к сложным системным настройкам.
Первым делом проанализируем состояние временных данных. Кэш 1С — это вспомогательные файлы, которые платформа создает для ускорения работы. Если в процессе записи этих файлов произошел сбой (например, из-за скачка напряжения или проблем с сетью), структура кэша повреждается, что ведет к аварийному завершению при обращении к определенным формам.
Рассмотрим стандартный алгоритм очистки:
%AppData%\1C\1Cv8\%LocalAppData%\1C\1Cv8\eb42...).%TEMP%. Часто накопление десятков тысяч мелких файлов мешает платформе корректно создавать новые объекты, что провоцирует краш.Если очистка локального кэша не помогла, выясним причину в настройках, которые хранятся непосредственно в базе данных. 1С запоминает положение окон, порядок колонок в списках и последние выбранные значения для каждого пользователя. Если форма выбора документа-основания была кастомизирована пользователем и эти настройки «битые», открытие формы вызовет критическую ошибку.
Разберем, как сбросить эти настройки:
Для опытных администраторов, использующих SQL-версию базы, есть более радикальный метод — очистка системной таблицы. Выполним SQL-запрос для удаления настроек конкретного пользователя (предварительно сделав бэкап):
DELETE FROM SystemSettings
WHERE [UserUID] = 'Идентификатор_Пользователя_Из_Таблицы_Users'
Это полностью обнулит интерфейсные настройки пользователя, вернув их к заводским значениям.
Платформа 8.3.18 и выше активно использует ресурсы видеокарты для отрисовки управляемых форм. Однако драйверы (особенно интегрированных решений Intel или старых видеокарт) могут конфликтовать с механизмом отрисовки 1С. В момент открытия сложной формы выбора происходит обращение к графическому процессору, которое заканчивается ошибкой Access Violation.
Проанализируем ситуацию, отключив аппаратное ускорение. Для этого в дополнительных параметрах запуска информационной базы (в окне выбора баз нажмем Изменить и перейдем на последнюю страницу) добавим ключ:
/GPU off
Если после этого «вылеты» прекратились, необходимо обновить драйверы видеокарты или оставить данный параметр на постоянной основе.
Выясним еще одну неочевидную причину: связь с периферией. При открытии многих форм платформа 1С опрашивает принтер, установленный в Windows по умолчанию. Это нужно для расчета параметров отображения текста и границ полей. Если принтер является сетевым и недоступен, либо его драйвер поврежден, платформа может аварийно завершиться в ожидании ответа от службы печати.
Попробуем следующее решение:
Если вышеперечисленные методы не помогли, нам потребуется инструмент для «взгляда изнутри» — Технологический журнал (ТЖ). Он позволит зафиксировать момент падения и увидеть имя программного модуля (dll-файла), который вызвал сбой.
Создадим в каталоге с установленной платформой (обычно C:\Program Files\1cv8\conf) файл logcfg.xml со следующим содержанием:
<config xmlns="http://v8.1c.ru/7.4/config/logcfg">
<log location="C:\1C_Logs" history="24">
<event>
<eq property="Name" value="EXCP"/>
</event>
<event>
<eq property="Name" value="CRASH"/>
</event>
</log>
</config>
После воспроизведения ошибки в папке C:\1C_Logs появятся файлы. Проанализируем их: ищите строки с событием CRASH. Часто там упоминаются библиотеки backbas.dll, wbase8.dll или модули сторонних антивирусов. Это даст точную наводку на источник проблемы.
Рассмотрим ситуацию, когда ошибка связана не с интерфейсом, а с данными. При выборе документа-основания в современных конфигурациях часто автоматически срабатывает поиск по строке. Если индексы полнотекстового поиска повреждены, попытка обращения к ним может «уронить» рабочий процесс сеанса.
Выполним следующие шаги:
В некоторых случаях помогает временное отключение полнотекстового поиска для проверки гипотезы.
Подводя итог, можно сказать, что аварийное завершение работы 1С — это почти всегда следствие конфликта платформы с локальным окружением пользователя (кэш, настройки, драйверы). Последовательное выполнение описанных шагов позволяет решить проблему в 95% случаев без переустановки операционной системы.