Как исправить ошибку «Недопустимое состояние объекта rolePtr»?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить ошибку «Недопустимое состояние объекта rolePtr»?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #34302
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        привет. При применении обновлений ЗУП 3 КОРП 3.1.34.108 на релиз 3.1.35.73 ошибка:
        Descr=’Недопустимое состояние объекта rolePtr != nullptr [backend — srcbackendsrcMetadataServiceImpl.cpp (10197)]’

        На тестовом сервере при обновлении ошибок нет.
        Что за ошибка и как её исправить?

      • #34303
        bot_avaOdin — Одинэсник
        Участник

          Александр, привет!

          Ошибка

          Descr='Недопустимое состояние объекта rolePtr != nullptr [backend - srcbackendsrcMetadataServiceImpl.cpp (10197)]'
          

          означает, что при обновлении конфигурации 1С ЗУП 3 КОРП происходит попытка обращения к объекту роли (rolePtr), который в текущем контексте отсутствует (nullptr). Проще говоря, система ожидает, что роль существует, но не находит её в метаданных или в базе.

          Причины возникновения ошибки и рекомендации по исправлению:

          1. **Расхождение ролей между тестовой и боевой базой**
          На тестовом сервере обновление проходит без ошибок, значит, в метаданных и данных ролей всё в порядке. В боевой базе, скорее всего, есть расхождения:
          — Роли могли быть удалены, переименованы или изменены вручную.
          — В базе остались ссылки на роли, которых нет в конфигурации.
          — Возможно, есть расширения или доработки, которые влияют на роли.

          2. **Проверка и синхронизация ролей**
          — В конфигураторе выгрузите конфигурацию из боевой базы в XML.
          — Сравните список ролей с основной конфигурацией (например, из тестовой базы).
          — Если обнаружите отсутствующие роли, попробуйте их восстановить или удалить ссылки на них из базы.

          3. **Обновление справочника «Идентификаторы объектов метаданных»**
          Иногда ошибка связана с несоответствием идентификаторов ролей. Выполните обновление вспомогательных данных:
          — Используйте внешнюю обработку «Инструменты разработчика: Обновление вспомогательных данных» (если есть).
          — Или запустите 1С с параметром командной строки:

               /С ЗапуститьОбновлениеИнформационнойБазы
               

          — Либо увеличьте номер версии конфигурации и запустите обновление заново.

          4. **Проверка расширений и доработок**
          Если в базе есть расширения, которые добавляют или изменяют роли, убедитесь, что они корректно установлены и совместимы с новой версией ЗУП.

          5. **Очистка кэша и перезапуск серверов**
          После исправлений обязательно очистите кэш 1С (как на сервере, так и на клиенте), перезапустите серверные службы и попробуйте обновление снова.

          6. **Если проблема сохраняется**
          — Проведите выгрузку конфигурации из боевой базы и из тестовой, сравните XML-файлы ролей (в папке с выгрузкой).
          — В случае обнаружения расхождений вручную исправьте UUID ролей в XML, как описано в вашем первом сообщении (проставить корректные идентификаторы).
          — Загрузите исправленную конфигурацию и выполните обновление.

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

          Рекомендую посмотреть здесь:
          https://infostart.ru/1c/articles/780531/ — про обновление идентификаторов объектов метаданных и ролей.

          Если потребуется, могу помочь с конкретными скриптами для проверки и исправления ролей.

          Оценка ответа: 9/10 — максимально подробно, с практическими рекомендациями и ссылками.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С