При обновлении конфигурации «1С:Бухгалтерия предприятия» (особенно часто проблема встречается на релизах ветки 3.0.52.32) пользователи и администраторы могут столкнуться с критической ошибкой, которая препятствует запуску программы в пользовательском режиме. При запуске «1С:Предприятия» система аварийно завершает работу, выдавая сообщения «Ошибка формата потока» и «Ошибка инициализации модуля: ОбщийМодуль.ЦентрМониторингаСлужебный.Модуль».
В этой статье мы подробно проанализируем причины возникновения этой неисправности и рассмотрим пошаговые методы её устранения для конфигураций различных версий (Базовая и ПРОФ).
Причиной сбоя является появление некорректных («битых») символов в тексте общего модуля конфигурации. В процессе записи файлов обновления или из-за сбоя раскодирования сжатых потоков платформы в файле базы данных 1Cv8.1CD управляющая конструкция встроенного языка 1С повреждается. Вместо стандартного оператора закрытия условия компилятор видит строку со служебными символами:
КонецЕли;
Платформа не может распознать эту конструкцию, из-за чего компиляция модуля ОбщийМодуль.ЦентрМониторингаСлужебный.Модуль прерывается с ошибкой синтаксиса. Поскольку данный модуль является служебным и инициализируется при старте системы, запуск программы становится невозможным.
Поврежденный фрагмент кода обычно выглядит следующим образом:
ПараметрыЦентраМониторинга.ОтправкаДанныхСледующееФормирование = ТекущаяУниверсальнаяДата + ПолучитьПараметрыЦентраМониторинга("ОтправкаДанныхПериодФормирования");
ПараметрыЦентраМониторинга.Удалить("РегистрацияДамповСледующееФормирование");
ПараметрыЦентраМониторинга.Удалить("РегистрацияДамповПериодФормирования");
ПараметрыЦентраМониторинга.Удалить("БизнесСтатистикаСледующееФормирование");
ПараметрыЦентраМониторинга.Удалить("БизнесСтатистикаПериодФормирования");
ПараметрыЦентраМониторинга.Удалить("СтатистикаКонфигурацииСледующееФормирование");
ПараметрыЦентраМониторинга.Удалить("СтатистикаКонфигурацииПериодФормирования");
НеобходимаЗаписьОценкиПроизводительности = Истина;
КонецЕли; // Ошибка компиляции возникает именно здесь
Ниже приведены проверенные способы исправления этой ошибки в зависимости от версии вашей информационной базы.
ВНИМАНИЕ: Перед выполнением любых манипуляций с базой данных обязательно создайте резервную копию (файл 1Cv8.dt или копию файла 1Cv8.1CD)!
---
Если вы используете версию ПРОФ или КОРП и у вас включена возможность изменения конфигурации, исправить ошибку проще всего вручную:
ЦентрМониторингаСлужебный.КонецЕли; и замените его на корректный: КонецЕсли;.---
В базовых версиях конфигураций редактирование кода заблокировано на уровне платформы. Напрямую исправить символ в конфигураторе не удастся. Чтобы обойти это ограничение, выполните следующие шаги:
ЦентрМониторингаСлужебный и замените испорченный текст КонецЕли; на КонецЕсли;.---
Этот способ универсален и подходит как для ПРОФ, так и для Базовых версий. Он позволяет полностью исключить влияние поврежденных модулей путем их перезаписи «чистым» кодом от поставщика.
1Cv8.cf.1Cv8.cf).---
Если ошибка формата потока сохраняется или синтаксическая ошибка вызвана физическим повреждением структуры файла базы данных 1Cv8.1CD, необходимо провести низкоуровневую диагностику:
C:\Program Files\1cv8\8.3.XX.XXXX\bin\).chdbfl.exe.1Cv8.1CD, установите флаг «Исправлять обнаруженные ошибки» и запустите процесс тестирования. Утилита восстановит поврежденную разметку таблиц Config и ConfigSave.Использование одного из предложенных методов гарантированно решает проблему со сбойными символами и позволяет завершить обновление конфигурации 1С в штатном режиме.