Ошибка «Модуль объекта не обнаружен»: кэш, обновление базы и тестирование

· 10 мин

Содержание

Ошибку Модуль объекта не обнаружен в 1С обычно исправляют в таком порядке: запуск с параметром /ClearCache, затем в Конфигураторе Конфигурация → Обновить конфигурацию базы данных, затем Администрирование → Тестирование и исправление. Первый шаг занимает минуту и помогает, если сбой видит один пользователь. Второй и третий нужны, когда ошибка у всех и появилась после обновления или аварийного завершения.

Платформа выдаёт это сообщение, когда не может получить откомпилированный код модуля объекта: документа, справочника, обработки или отчёта. Сам код может быть в порядке. Сломан бывает кэш на компьютере, хранимая в базе копия конфигурации или файл внешней обработки. Задача — понять, какой из этих слоёв дал сбой.

Почему 1С не находит модуль объекта

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

Типичные причины:

  • 🗂️ Повреждённый кэш клиента. Компьютер выключили во время работы, профиль скопировали с другой машины, антивирус заблокировал файлы кэша. Ошибка тогда видна у одного пользователя или на одном компьютере.
  • 🔄 Прерванное обновление. Реструктуризация оборвалась из-за сбоя питания, закрытия Конфигуратора через диспетчер задач или нехватки места. В базе остаётся конфигурация «наполовину».
  • 💾 Повреждение файла базы или таблиц СУБД. Для файловой базы — сбои диска, работа по сети с нестабильным соединением, копирование файла 1Cv8.1CD при открытых сеансах.
  • 📄 Битая внешняя обработка или отчёт. Файл .epf или .erf скачан не полностью, сохранён в другой версии платформы или испорчен при пересылке.
  • 🧩 Расширение конфигурации не подходит к базе. Расширение делали под другой релиз, и после обновления оно ссылается на изменившиеся объекты.
  • 🔒 Конфигурация без исходных текстов. Некоторые отраслевые решения поставляют часть модулей только в откомпилированном виде. Если поставщик не выпустил сборку под вашу версию платформы, такие модули могут не подняться.

Ниже в таблице — как по признакам быстро сузить круг поиска.

Что видитеВероятный слойС чего начать
Ошибка у одного пользователяКэш клиентаОчистка кэша
Ошибка у всех после обновленияКонфигурация базыОбновление конфигурации БД
Ошибка у всех без видимой причиныДанные или файл базыТестирование и исправление
Только при открытии одной внешней обработкиФайл .epf / .erfПересохранить или заменить файл
После установки или обновления расширенияРасширениеОтключить расширение и проверить

Где взять подробности: текст ошибки и журнал регистрации

Само сообщение мало что говорит. Нажмите в окне ошибки кнопку «Подробно» (или ссылку с подробным текстом) и скопируйте всё содержимое. Обычно там указан объект: например, Обработка.ЗагрузкаИзФайла.МодульОбъекта или Документ.РеализацияТоваровУслуг.МодульОбъекта.

Имя объекта сразу подсказывает направление:

  • 🔹 имя начинается с ВнешняяОбработка или ВнешнийОтчет — проблема в файле, а не в базе;
  • 🔹 в имени есть префикс расширения или объект вы добавляли сами — проверяйте расширение;
  • 🔹 стандартный объект типовой конфигурации — смотрите кэш и конфигурацию базы.

Как найти записи в журнале регистрации

Журнал регистрации показывает, когда ошибка появилась впервые и у кого.

  1. В пользовательском режиме БП 3.0 и ЗУП 3.1 откройте Администрирование → Обслуживание → Журнал регистрации. В Конфигураторе — Администрирование → Журнал регистрации.
  2. Установите отбор по уровню «Ошибка» и по интервалу — день, когда пожаловались пользователи.
  3. Ищите в колонке комментария текст «Модуль объекта не обнаружен».
  4. Посмотрите записи рядом по времени: события обновления конфигурации, установки расширений, аварийного завершения сеансов.

Если первая ошибка в журнале идёт сразу после записи об изменении конфигурации или расширения — причина почти наверняка в обновлении. Начинайте со второго шага, кэш можно пропустить.

Если журнал пуст или база не открывается в пользовательском режиме, переходите к шагам ниже.

Шаг 1. Очистка кэша, если ошибка у одного пользователя

Самое быстрое и безопасное действие. Данные базы оно не трогает.

Через параметр запуска

  1. Закройте все окна 1С на этом компьютере.
  2. В окне запуска выделите базу и нажмите «Изменить».
  3. Дойдите до последней страницы мастера. В поле «Дополнительные параметры запуска» впишите /ClearCache.
  4. Нажмите «Готово» и запустите базу.
  5. Если ошибка ушла, уберите параметр — иначе кэш будет очищаться при каждом входе и запуск станет медленнее.

Вручную через папки профиля

Если параметр не помог, удалите кэш руками. Папки находятся здесь:

%APPDATA%\1C\1cv8
%LOCALAPPDATA%\1C\1cv8

Внутри — каталоги с длинными именами вида GUID, по одному на каждую базу. Удалять нужно именно их. Файлы ibases.v8i и 1cv8strt.pfl в соседней папке %APPDATA%\1C\1CEStart не трогайте: в первом хранится список баз .

Перед удалением закройте 1С у этого пользователя. Если удалить кэш при открытом сеансе, часть файлов останется занятой, а работа оборвётся с ошибкой.

На терминальном сервере кэш свой у каждой учётной записи. Чистить нужно в профиле того пользователя, у которого ошибка.

Шаг 2. Обновление конфигурации базы данных

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

Перед любыми действиями в Конфигураторе сделайте резервную копию: Администрирование → Выгрузить информационную базу в файл .dt.

Порядок действий:

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

Если пункт обновления недоступен или платформа сообщает, что конфигурации совпадают, — конфигурация базы цела. Переходите к шагу 3.

Если обновление прервалось

Прерванная реструктуризация — главная причина «пропавших» модулей. Повторите обновление ещё раз из Конфигуратора. Если повторно не проходит и выдаёт ту же или другую ошибку, верните базу из .dt, сделанного до обновления, и обновите заново.

Перед повтором проверьте свободное место. Для реструктуризации больших таблиц нужен запас примерно в размер самой базы: на диске файловой базы или в файлах данных и журнала СУБД.

Проверка синтаксиса модулей

Если конфигурацию дорабатывали, полезно убедиться, что модули компилируются. Выберите Конфигурация → Проверка конфигурации, отметьте синтаксический контроль модулей и запустите. Ошибки компиляции в модуле объекта тоже могут проявляться как отсутствие модуля у пользователя.

Шаг 3. Тестирование и исправление информационной базы

Если кэш и обновление не помогли, проверьте саму базу. Режим доступен в Конфигураторе: Администрирование → Тестирование и исправление.

Тестирование с исправлением запускайте только после выгрузки в .dt: режим удаляет битые записи, и вернуть их без копии нельзя.

Какие флажки ставить:

ПроверкаЗачем при этой ошибке
Реиндексация таблиц информационной базыПерестраивает индексы, в том числе служебных таблиц
Проверка логической целостности информационной базыНаходит нарушения во внутренней структуре, включая конфигурацию
Проверка ссылочной целостности информационной базыЛовит «битые» ссылки на удалённые объекты
Пересчёт итоговДля этой ошибки не обязателен, но обычно включают заодно
Сжатие таблиц информационной базыДля файловой базы, уменьшает размер файла

Сначала запустите режим «Тестирование» без исправления и почитайте отчёт. Если ошибки найдены — повторите с режимом «Тестирование и исправление». Для битых ссылок выберите вариант «Создавать объекты» или «Не изменять», а не «Удалять ссылки»: так вы не потеряете проводки и документы, которые на них ссылаются.

Для режима нужен монопольный доступ. На базе в несколько гигабайт проверка идёт от десятков минут до нескольких часов — планируйте её на вечер.

Диагностика: выберите симптом

Если модуль объекта не обнаружен во внешней обработке или расширении

Ошибка часто вообще не связана с базой. Её вызывает один файл или одно расширение.

Внешняя обработка или отчёт

  1. Проверьте размер файла .epf или .erf. Пустой или очень маленький файл говорит о неполной загрузке — запросите файл ещё раз.
  2. Откройте его в Конфигураторе через Файл → Открыть. Если файл открывается и модуль объекта виден, пересохраните его через Файл → Сохранить в текущей версии платформы.
  3. Если обработка подключена в базе как дополнительная, загрузите обновлённый файл заново в карточку дополнительной обработки. В БП 3.0 список находится в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
  4. Обработку, написанную под другую конфигурацию, лучше не «чинить», а запросить у автора версию под ваш релиз.

Расширение конфигурации

  1. В пользовательском режиме БП 3.0 откройте Администрирование → Печатные формы, отчеты и обработки → Расширения. В Конфигураторе — Конфигурация → Расширения конфигурации.
  2. Снимите флажок «Активно» у подозрительного расширения и перезапустите базу.
  3. Если ошибка пропала — обновите расширение у разработчика или адаптируйте его к новому релизу.
  4. В Конфигураторе после правки расширения обновите конфигурацию базы данных, иначе изменения не применятся.

Не удаляйте расширение, если в нём есть свои реквизиты или объекты: при удалении пропадут и данные, которые в них хранились. Отключение флажком безопасно.

Файловая и клиент-серверная база: что делается по-разному

Порядок шагов общий, но инструменты разные.

Файловая база

  • 🖥️ Проверка физической целостности. В каталоге платформы, в папке bin, лежит утилита chdbfl.exe. Она проверяет файл 1Cv8.1CD на уровне страниц. Запускайте её, когда никто не работает с базой, и на копии файла.
  • 🌐 Работа по сети. Если база лежит в общей папке, сбои часто идут от обрывов соединения. Проверьте сеть и исключите папку базы из проверки антивирусом.
  • 📦 Копирование файла. Копировать 1Cv8.1CD можно только когда все сеансы закрыты. Копия, снятая «на ходу», может нести этот сбой.

Клиент-серверная база

  • 🧠 Серверный кэш. Кроме клиентского кэша, свой кэш есть у сервера 1С: папки с именами, начинающимися на snccntx, внутри каталога кластера в srvinfo (по умолчанию srvinfo\reg_1541). Удалять их можно только при остановленной службе «Агент сервера 1С:Предприятия 8.3».
  • 🗄️ Проверка СУБД. Тестирование и исправление работает и для серверной базы. Физическую целостность таблиц проверяют средствами СУБД: в MS SQL Server — DBCC CHECKDB, в PostgreSQL — средствами резервного копирования и проверки самого сервера.
  • 👥 Сеансы. Для обновления и тестирования нужно завершить сеансы через консоль администрирования серверов 1С и установить блокировку начала сеансов в свойствах базы.
-- MS SQL Server: проверка базы без исправления
DBCC CHECKDB ('ИмяБазы') WITH NO_INFOMSGS;

Остановка службы агента сервера и завершение сеансов обрывают работу всех пользователей на этом сервере, а не только в одной базе. Делайте это вне рабочего времени и заранее предупредите людей.

Если после очистки серверного кэша ошибка ушла у всех разом — причина была на сервере. Повторять очистку регулярно не нужно, это разовое лечение.

Как не допустить повторения ошибки модуля объекта

Большинство случаев связано с прерванными операциями. Профилактика простая.

  • ✅ Резервная копия перед каждым обновлением. Выгрузка в .dt или копия файла базы при закрытых сеансах.
  • ✅ Обновление только в монопольном режиме. Не обновляйте конфигурацию базы, пока у пользователей открыты сеансы и идут обмены.
  • ✅ Не прерывать реструктуризацию. Если окно «зависло», подождите: на больших базах процесс может идти больше часа.
  • ✅ Запас места на диске. Следите, чтобы на диске базы и временных файлов оставалось свободное пространство.
  • ✅ ИБП для сервера. Отключение питания во время записи — частая причина повреждений.
  • ✅ Расширения и внешние обработки — под ваш релиз. После обновления типовой конфигурации проверяйте каждое расширение.
  • ✅ Тестирование по расписанию. Раз в месяц–квартал прогоняйте тестирование без исправления на копии базы, чтобы заметить проблемы до того, как их заметят пользователи.
Перед обновлением конфигурации
Выполнено: 0 / 5

Частые вопросы

Пропадут ли данные, если очистить кэш?
Нет. Кэш хранит только служебные копии конфигурации и настройки интерфейса. Документы и справочники лежат в базе и не затрагиваются.
Почему ошибка только в тонком клиенте, а в веб-клиенте её нет?
Веб-клиент не использует локальный кэш на компьютере пользователя. Если там всё работает, а в тонком клиенте нет — почти наверняка дело в кэше на конкретной машине.
Может ли пользователь исправить ошибку сам, без администратора?
Очистить свой кэш — да, это не требует прав администратора. Обновление конфигурации базы и тестирование требуют прав в Конфигураторе и монопольного доступа.
Помогает ли перезагрузка компьютера?
Сама по себе — редко. Она закрывает зависшие процессы 1С, но повреждённые файлы кэша остаются на диске до очистки.
Что делать, если не помогло ничего из перечисленного?
Разверните на отдельном компьютере новую базу из последнего рабочего .dt и проверьте ошибку там. Если в копии её нет — сравните конфигурации и обратитесь к тому, кто последним вносил изменения или обновлял базу.