Администрирование · 11 мин
Почему выкидывает из программы 1С: причины и решения
Разбираем, почему 1С вылетает без ошибки или закрывается сама: причины, диагностика, пошаговые решения для файловых и клиент-серверных баз, профилактика сбоев.
Внезапное закрытие 1С — одна из самых раздражающих проблем для бухгалтера, менеджера и администратора. Программа может «выкидывать» пользователя при запуске, при открытии документа, при проведении или формировании отчёта, причём иногда без какого-либо сообщения об ошибке. Причины при этом сильно различаются: от переполненного кэша и нехватки оперативной памяти до повреждения базы данных и конфликтов с антивирусом.
Хорошая новость в том, что большинство вылетов имеет воспроизводимую закономерность, и именно она подсказывает направление диагностики. Если программа закрывается у одного пользователя на одном компьютере — почти всегда виноваты локальные факторы: кэш, профиль, ПО. Если вылеты массовые — искать нужно на сервере или в самой базе.
Ниже разобраны основные причины вылетов 1С, способы их диагностики и конкретные действия по устранению. Материал подходит для файловых и клиент-серверных баз на платформе 8.3.
Как понять причину по характеру вылета
Прежде чем что-то чинить, зафиксируйте обстоятельства сбоя. Ответьте на четыре вопроса: когда происходит вылет (при запуске, при открытии объекта, в случайный момент), у кого (у одного пользователя или у всех), на каком компьютере (только на одном или на разных) и появляется ли сообщение об ошибке. Эти ответы сокращают круг подозреваемых в несколько раз.
Например, вылет только при открытии конкретного документа указывает на повреждённые данные этого объекта. Вылет при запуске у одного пользователя на одном ПК — почти наверняка кэш или профиль. Массовые вылеты в разгар рабочего дня чаще связаны с нехваткой ресурсов сервера или сетевыми проблемами.
Кэш, профиль пользователя, антивирус, нехватка памяти на компьютере
Перезагрузка сервера 1С, СУБД, разрывы сети, повреждение базы
Тестирование и исправление базы, проверка конкретного документа
Свободная ОЗУ, разрядность платформы, нагрузка на сервер
Очистка кэша — первое действие при вылетах
Кэш метаданных — это служебные файлы, которые платформа создаёт на компьютере пользователя для ускорения запуска. При аварийном завершении, обновлении конфигурации или сбое сети кэш может повредиться, и тогда 1С начинает вылетать при запуске или при обращении к отдельным объектам. Это самая частая причина локальных вылетов.
Самый простой способ очистить кэш — удалить базу из списка в окне запуска и добавить её заново. При этом сами данные не пострадают: удаляется только запись в списке и связанные служебные файлы. Альтернатива — вручную удалить содержимое папок кэша, расположенных в профиле пользователя.
- 1Закройте все сеансы 1С на проблемном компьютере
- 2Откройте папку %APPDATA%\1C\1cv8 и %APPDATA%\1C\1cv82 (если есть) через адресную строку проводника
- 3Найдите папки с длинными именами из букв и цифр — это кэш баз
- 4Удалите папку, соответствующую проблемной базе (или все, если не уверены)
- 5Запустите 1С заново — кэш создастся автоматически
Если после очистки кэша вылеты прекратились, но через время вернулись — проверьте, как завершается работа программы. Принудительное завершение процесса через диспетчер задач и отключение электричества регулярно портят кэш заново.
Нехватка памяти и разрядность платформы
32-разрядный клиент 1С ограничен примерно 2 ГБ оперативной памяти на процесс. Тяжёлые отчёты, обработки больших массивов данных, групповое перепроведение могут упереться в этот лимит, и программа аварийно закроется с ошибкой вроде «Недостаточно памяти» или вовсе без сообщения. Это особенно заметно на больших базах.
Решение — установить 64-разрядную версию платформы. Для клиент-серверного режима важна разрядность сервера 1С, для файлового — разрядность клиентского приложения. Проверить текущую разрядность можно в диспетчере задач: 32-разрядный процесс помечается соответствующей пометкой.
Отдельно проверьте общий объём свободной ОЗУ на компьютере и состояние файла подкачки. Если память забита другими программами, а файл подкачки отключён или слишком мал, вылеты возможны даже при умеренной нагрузке. На сервере дополнительно контролируйте настройки рабочих процессов кластера 1С — при превышении лимитов памяти процессы перезапускаются, что пользователи ощущают как вылет.
Повреждение базы данных
Если вылеты происходят при обращении к конкретным документам, справочникам или при проведении, а также если программа закрывается у всех пользователей, велика вероятность физического или логического повреждения базы. Причины — внезапное отключение питания, сбои диска, разрыв сети при работе с файловой базой по сети.
Для файловых баз используйте штатную утилиту chdbfl.exe из каталога установки платформы — она проверяет физическую целостность файла 1Cv8.1CD. Затем выполните «Тестирование и исправление» в конфигураторе с включённой проверкой логической целостности и ссылочной целостности. Для клиент-серверных баз применяйте средства СУБД (например, проверку целостности в MS SQL Server) и тестирование через конфигуратор.
Файловая база, размещённая на сетевом диске и используемая несколькими пользователями напрямую, — самый уязвимый вариант развёртывания. Разрыв сети во время записи почти гарантированно приводит к повреждениям. Если база растёт и пользователей больше двух-трёх, рассмотрите переход на клиент-серверный вариант или публикацию через веб-сервер.
Конфликты с антивирусом, обновлениями и другим ПО
Антивирусы нередко блокируют или «на лету» проверяют файлы базы, кэша и исполняемые файлы платформы, что вызывает ошибки доступа и аварийные завершения. Признак — вылеты начались после установки или обновления антивируса либо происходят в моменты фонового сканирования.
Добавьте в исключения антивируса папку с базой, каталоги кэша (%APPDATA%\1C), каталог установки платформы и процессы 1cv8.exe, ragent, rphost, rmngr (для сервера). После этого понаблюдайте за работой несколько дней. Полностью отключать антивирус не нужно — достаточно корректных исключений.
Также проверьте, не совпадают ли вылеты с установкой обновлений Windows, обновлением драйверов видеокарты или установкой сторонних программ. Известны случаи конфликтов 1С со старыми драйверами видео (программа падает при открытии форм), с ПО для удалённого доступа и с устаревшими версиями самой платформы. Если проблема появилась после обновления платформы — проверьте, воспроизводится ли она на предыдущем релизе.
Как использовать журнал событий и технологический журнал
Когда 1С закрывается без сообщения, главный источник информации — журнал событий Windows (Панель управления → Администрирование → Просмотр событий → Журналы Windows → Приложение). Найдите записи с уровнем «Ошибка» в момент вылета: там указан сбойное приложение (1cv8.exe) и сбойный модуль. Имя модуля часто прямо указывает на причину: драйвер видеокарты, компоненту антивируса, системную библиотеку.
Для сложных случаев включите технологический журнал 1С — он записывает все обращения платформы, ошибки и аварийные завершения. Настройка выполняется через файл logcfg.xml, размещаемый в каталоге conf платформы. Техжурнал незаменим при диагностике вылетов на сервере и при обращении в поддержку.
<config xmlns="http://v8.1c.ru/v8/tech-log"><log location="C:\1clogs" history="24"><event><eq property="name" value="EXCP"/></event><event><eq property="name" value="CLSTR"/></event><property name="all"/></log></config>Не забудьте отключить или ограничить технологический журнал после диагностики: при подробной настройке он генерирует большие объёмы данных и может заметно нагружать дисковую подсистему сервера.
Когда проблема на стороне сервера или сети
В клиент-серверном варианте вылеты у всех пользователей одновременно обычно означают перезапуск рабочих процессов кластера, падение службы агента сервера 1С или проблемы с СУБД. Проверьте журналы сервера 1С, журнал событий Windows на сервере и логи СУБД. Частая причина — нехватка памяти на сервере, из-за которой рабочие процессы rphost аварийно завершаются.
Сетевые проблемы проявляются иначе: пользователей выкидывает с ошибками соединения, сеансы «зависают» и обрываются. Проверьте стабильность сети между клиентами и сервером, настройки энергосбережения сетевых адаптеров (отключите отключение адаптера для экономии энергии), работу VPN, если пользователи подключаются удалённо.
Как выбрать действие
Профилактика вылетов
Большинство вылетов предотвращается базовой дисциплиной администрирования. Настройте регулярное резервное копирование и периодически проверяйте, что копии реально восстанавливаются. Следите за свободным местом на дисках с базой и кэшем — переполнение диска приводит к повреждениям файлов.
Поддерживайте платформу в актуальном состоянии, но обновляйте её планово, с проверкой на тестовой копии базы. Используйте источники бесперебойного питания на сервере и на компьютерах с файловыми базами. Завершайте работу 1С штатно, а не через диспетчер задач. Для многопользовательской работы откажитесь от файловой базы на сетевом диске в пользу клиент-серверной архитектуры.
Что важно запомнить
Начинайте диагностику с определения масштаба проблемы: один пользователь — чистите кэш и проверяйте ПК, все пользователи — проверяйте сервер и базу. Перед любыми исправлениями базы делайте резервную копию. Журнал событий Windows и технологический журнал 1С — главные инструменты поиска причины.
Частые вопросы
1С закрывается сразу после ввода пароля. Что делать?
Чаще всего это повреждённый кэш конкретной базы. Удалите базу из списка в окне запуска и добавьте заново, либо очистите папки кэша в %APPDATA%\1C\1cv8. Если не помогло — проверьте журнал событий Windows на предмет сбойного модуля и временно приостановите антивирус для проверки.
Выкидывает из 1С только при формировании большого отчёта. Почему?
Типичный признак нехватки памяти у 32-разрядного клиента: отчёт требует больше ~2 ГБ, доступных процессу. Установите 64-разрядную платформу, а также проверьте, не работает ли отчёт слишком долго из-за неоптимальных настроек СКД или отсутствия индексов.
Вылеты происходят у всех пользователей примерно в одно время дня. В чём причина?
Ищите плановые процессы: резервное копирование СУБД, антивирусное сканирование сервера, обновление Windows, перезагрузку сервера по расписанию. Сверьте время вылетов с журналами планировщика заданий и журналами сервера 1С.
Можно ли восстановить несохранённые данные после вылета?
Непроведённые и незаписанные данные при аварийном закрытии теряются — платформа не хранит черновики открытых форм. Частично спасает автосохранение настроек отчётов и то, что уже было записано в базу. Вывод: записывайте документы чаще, особенно при нестабильной работе.
Поможет ли переустановка 1С при вылетах?
Только если повреждены файлы самой платформы, что случается редко. В большинстве случаев переустановка не помогает, потому что причина — в кэше, базе, памяти или стороннем ПО. Сначала очистите кэш и изучите журнал событий, а переустановку оставьте на крайний случай.
Файловая база вылетает при работе по сети у нескольких пользователей. Это лечится?
Работа с файлом 1Cv8.1CD напрямую по сети — заведомо нестабильный режим: любой разрыв соединения во время записи повреждает базу. Правильные решения — переход на клиент-серверный вариант (в том числе на бесплатной СУБД PostgreSQL) или публикация файловой базы через веб-сервер.