Как исправить ошибку инициализации модуля «ЦентрМониторингаСлужебный» с текстом «Ожидается ключевое слово КонецЕсли» при обновлении 1С?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При обновлении конфигурации «1С:Бухгалтерия предприятия» (особенно часто проблема встречается на релизах ветки 3.0.52.32) пользователи и администраторы могут столкнуться с критической ошибкой, которая препятствует запуску программы в пользовательском режиме. При запуске «1С:Предприятия» система аварийно завершает работу, выдавая сообщения «Ошибка формата потока» и «Ошибка инициализации модуля: ОбщийМодуль.ЦентрМониторингаСлужебный.Модуль».

В этой статье мы подробно проанализируем причины возникновения этой неисправности и рассмотрим пошаговые методы её устранения для конфигураций различных версий (Базовая и ПРОФ).

Выясняем причину проблемы

Причиной сбоя является появление некорректных («битых») символов в тексте общего модуля конфигурации. В процессе записи файлов обновления или из-за сбоя раскодирования сжатых потоков платформы в файле базы данных 1Cv8.1CD управляющая конструкция встроенного языка 1С повреждается. Вместо стандартного оператора закрытия условия компилятор видит строку со служебными символами:

КонецЕли;

Платформа не может распознать эту конструкцию, из-за чего компиляция модуля ОбщийМодуль.ЦентрМониторингаСлужебный.Модуль прерывается с ошибкой синтаксиса. Поскольку данный модуль является служебным и инициализируется при старте системы, запуск программы становится невозможным.

Поврежденный фрагмент кода обычно выглядит следующим образом:


ПараметрыЦентраМониторинга.ОтправкаДанныхСледующееФормирование = ТекущаяУниверсальнаяДата + ПолучитьПараметрыЦентраМониторинга("ОтправкаДанныхПериодФормирования"); 
ПараметрыЦентраМониторинга.Удалить("РегистрацияДамповСледующееФормирование"); 
ПараметрыЦентраМониторинга.Удалить("РегистрацияДамповПериодФормирования"); 
ПараметрыЦентраМониторинга.Удалить("БизнесСтатистикаСледующееФормирование"); 
ПараметрыЦентраМониторинга.Удалить("БизнесСтатистикаПериодФормирования"); 
ПараметрыЦентраМониторинга.Удалить("СтатистикаКонфигурацииСледующееФормирование"); 
ПараметрыЦентраМониторинга.Удалить("СтатистикаКонфигурацииПериодФормирования"); 
НеобходимаЗаписьОценкиПроизводительности = Истина; 
КонецЕли; // Ошибка компиляции возникает именно здесь

Ниже приведены проверенные способы исправления этой ошибки в зависимости от версии вашей информационной базы.

ВНИМАНИЕ: Перед выполнением любых манипуляций с базой данных обязательно создайте резервную копию (файл 1Cv8.dt или копию файла 1Cv8.1CD)!

---

Способ 1. Прямое исправление кода в Конфигураторе (для версий ПРОФ и КОРП)

Если вы используете версию ПРОФ или КОРП и у вас включена возможность изменения конфигурации, исправить ошибку проще всего вручную:

  1. Откройте информационную базу в режиме Конфигуратор.
  2. В дереве метаданных найдите общий модуль ЦентрМониторингаСлужебный.
  3. Перейдите к строке, указанной в сообщении об ошибке (обычно это район 334-й строки).
  4. Найдите поврежденный оператор КонецЕли; и замените его на корректный: КонецЕсли;.
  5. Сохраните изменения в конфигурации базы данных (клавиша F7) и запустите программу в пользовательском режиме для завершения обновления.

---

Способ 2. Обход ограничений для Базовых версий (Конвертация в ПРОФ)

В базовых версиях конфигураций редактирование кода заблокировано на уровне платформы. Напрямую исправить символ в конфигураторе не удастся. Чтобы обойти это ограничение, выполните следующие шаги:

  1. Выполните резервное копирование вашей базы данных.
  2. Сконвертируйте базовую версию конфигурации в версию ПРОФ. Для этого в режиме Конфигуратора снимите конфигурацию с поддержки или загрузите в нее дистрибутив конфигурации ПРОФ того же релиза.
  3. После конвертации откройте модуль ЦентрМониторингаСлужебный и замените испорченный текст КонецЕли; на КонецЕсли;.
  4. Обновите конфигурацию базы данных (F7) и запустите режим «1С:Предприятие» для успешного завершения всех отложенных процедур обновления.
  5. После того как обновление полностью завершится в пользовательском режиме, выполните обратную конвертацию базы данных в Базовую версию.

---

Способ 3. Загрузка корректного файла конфигурации (CF-файла)

Этот способ универсален и подходит как для ПРОФ, так и для Базовых версий. Он позволяет полностью исключить влияние поврежденных модулей путем их перезаписи «чистым» кодом от поставщика.

  1. Найдите или скачайте с официального сайта поддержки пользователей 1С полный дистрибутив (не обновление, а именно дистрибутив установки) того же самого релиза, на котором произошел сбой.
  2. Создайте пустую информационную базу и разверните в неё конфигурацию из шаблона скачанного релиза, либо просто извлеките файл конфигурации 1Cv8.cf.
  3. Откройте вашу поврежденную базу в режиме Конфигуратор.
  4. Перейдите в меню Конфигурация — Поддержка — Обновить конфигурацию (или воспользуйтесь функцией Конфигурация — Загрузить конфигурацию из файла, выбрав заведомо исправный файл 1Cv8.cf).
  5. Согласитесь на замену и обновите конфигурацию базы данных. При этом все поврежденные бинарные потоки модулей будут перезаписаны корректными исходными кодами от разработчика.

---

Способ 4. Устранение логических повреждений базы данных

Если ошибка формата потока сохраняется или синтаксическая ошибка вызвана физическим повреждением структуры файла базы данных 1Cv8.1CD, необходимо провести низкоуровневую диагностику:

  1. Полностью закройте все сеансы работы с базой данных 1С.
  2. Перейдите в каталог установки вашей текущей платформы 1С (например, C:\Program Files\1cv8\8.3.XX.XXXX\bin\).
  3. Найдите и запустите утилиту проверки файловых баз данных chdbfl.exe.
  4. Укажите путь к файлу вашей базы данных 1Cv8.1CD, установите флаг «Исправлять обнаруженные ошибки» и запустите процесс тестирования. Утилита восстановит поврежденную разметку таблиц Config и ConfigSave.
  5. После завершения работы утилиты обязательно выполните очистку кэша конфигурации на рабочем компьютере, так как поврежденные версии модулей могли сохраниться во временных файлах операционной системы.

Использование одного из предложенных методов гарантированно решает проблему со сбойными символами и позволяет завершить обновление конфигурации 1С в штатном режиме.

← На главную