В практике сопровождения отраслевых и доработанных конфигураций 1С можно столкнуться с нестандартной ситуацией: при попытке записать или провести любой документ, а также при изменении данных в регистрах сведений сеанс «1С:Предприятие» мгновенно закрывается (вылетает) без отображения каких-либо диагностических сообщений об ошибке. При этом запись элементов справочников может проходить в штатном режиме. Стандартные действия по обслуживанию базы данных — тестирование и исправление (ТиИ), утилита chdbfl.exe, очистка пользовательского кэша и перезапуск на другой платформе — не дают положительного результата.
Разберем детально, почему возникает такое поведение платформы, как локализовать источник сбоя и какими способами можно восстановить корректную работу системы без потери функционала.
Проанализируем архитектуру отраслевых решений. Основное отличие между справочниками и такими объектами, как документы или регистры сведений, заключается в наличии глобальных обработчиков событий и механизмах лицензирования.
1cv8.exe или рабочий процесс сервера rphost.exe.ЭтотОбъект.Записать()), что приводит к переполнению стека вызовов и мгновенному падению процесса.Для подтверждения того, что падение связано именно с подписками на события и системой защиты, выполним диагностические действия.
Event ID 1000 (Application Error), зафиксированное в момент вылета 1С. В описании события обратим внимание на строку «Имя сбойного модуля» (Faulting module name). Если там указана внешняя библиотека защиты (например, LicenceServer.dll, v8protect.dll и т.д.), сбой однозначно вызван подсистемой лицензирования.Общие -> Подписки на события. Обратим внимание на подписки, у которых в свойстве Источник указан составной тип (например, ДокументОбъект или РегистрСведенийНаборЗаписей), а в качестве обработчика назначен закрытый общий модуль.Если конфигурация является лицензионной и использует аппаратные или программные ключи защиты, восстановим работоспособность подсистемы СЛК:
services.msc операционной системы — служба должна быть запущена.Если требуется экстренно восстановить возможность проведения документов и записи регистров, а доступ к серверу лицензирования временно отсутствует, разберем порядок действий по точечному отключению сбойных подписок.
Важно: полное удаление подписок на события приведет к потере отраслевого функционала и нарушению бизнес-логики. Действовать нужно избирательно.
Конфигурация -> Поддержка -> Настройка поддержки (кнопка «Включить возможность изменения»).Подписки на события обработчики, ссылающиеся на закрытые модули.Источник снимем галочки только с тех объектов (например, конкретного регистра или документа), которые вызывают сбой при записи..cf.Таким образом, комплексная проверка службы защиты и анализ подписок на события позволяют быстро локализовать падение платформы и вернуть систему в рабочее состояние.