Как исправить ошибку «НеверноеИмяТекущейТаблицы: Справочник.СоглашенияОбИспользованииЭД» при обновлении 1С:Бухгалтерии?

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

При обновлении типовой конфигурации 1С:Бухгалтерия предприятия 3.0 (в частности, при переходе с релизов 3.0.70.х на промежуточные версии 3.0.71.63 или 3.0.71.69) многие специалисты сталкиваются с критическим сбоем. Программа успешно завершает обновление в режиме конфигуратора, но при первом запуске в пользовательском режиме (тонкий или толстый клиент) аварийно завершает работу.

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

Анализ технической причины ошибки

Для начала изучим стек вызовов и текст ошибки, которые предоставил автор темы:


{(41, 27)}: Синтаксическая ошибка ":" НеверноеИмяТекущейТаблицы>: "Справочник.СоглашенияОбИспользованииЭД"
{ОбщийМодуль.ДлительныеОперации.Модуль(389)}: ВызватьИсключение(ТекстОшибки);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(3329)}: ЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(3422)}: Если ЗавершитьПотокиВыполнившиеФЗ(ОписаниеПотоков, Параметры) Тогда
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(7130)}: ОжидатьСвободныйПоток(ОписаниеПотоков, СведенияОбОбновлении);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ЗапускРегистрацииДанныхОтложенногоОбновления(Параметры[0],Параметры[1])

Выясним причину этой синтаксической ошибки. Она кроется в масштабной реструктуризации подсистемы ЭДО (электронного документооборота), которую разработчики фирмы «1С» провели в линейке релизов 3.0.71.х:

  1. Переименование метаданных: В новых версиях конфигурации старый справочник СоглашенияОбИспользованииЭД был признан устаревшим, выведен из эксплуатации и переименован в УдалитьСоглашенияОбИспользованииЭД.
  2. Проблема в шаблонах RLS (Row Level Security): При переименовании справочника разработчики упустили из виду, что в некоторых ролях конфигурации ограничения доступа на уровне записей (RLS) продолжали жестко ссылаться на старое имя таблицы — Справочник.СоглашенияОбИспользованииЭД.
  3. Запуск отложенного обновления: При старте системы запускается фоновое задание регистрации данных для отложенного обновления базы. Если запуск производится от имени пользователя, для которого активны механизмы RLS (ограничение прав доступа к договорам, контрагентам или организациям), платформа начинает компилировать RLS-запросы. Обнаружив обращение к несуществующей таблице, парсер платформы аварийно завершает работу с ошибкой НеверноеИмяТекущейТаблицы.
  4. ЭДО не используется: Обратите внимание, что ошибка проявляется даже в тех информационных базах, где функционал электронного документооборота полностью отключен в настройках. Обработчик обновления метаданных ЭДО запускается принудительно для всех баз без предварительной проверки активности подсистемы.

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

Решение №1: Создание «чистого» администратора без ограничений RLS (Быстрый обходной путь)

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

Разберем этот процесс по шагам:

  1. Запустите информационную базу в режиме Конфигуратора.
  2. Откройте список пользователей через меню: Администрирование -> Пользователи.
  3. Нажмите кнопку «Добавить» для создания нового пользователя.
  4. На вкладке «Основные» укажите имя (например, SuperAdmin) и задайте пароль.
  5. Перейдите на вкладку «Прочие» и отметьте флажками следующие роли:
    • Администратор системного склада (при наличии);
    • Администрирование;
    • Полные права.
    Важно: Убедитесь, что у этого пользователя нет никаких ролей, ограничивающих доступ по организациям, контрагентам или физическим лицам. Наличие только роли Полные права гарантирует, что платформа полностью отключит компиляцию шаблонов RLS при его авторизации.
  6. Сохраните изменения, нажав кнопку «ОК».
  7. Закройте Конфигуратор и запустите базу в режиме 1С:Предприятие, выбрав в окне авторизации созданного пользователя SuperAdmin.

Поскольку подсистема ограничения прав доступа RLS для данного пользователя не активна, платформа успешно минует проверку прав для удаленного справочника ЭДО. Все процедуры отложенного обновления успешно завершатся в фоновом режиме. После этого вы сможете без проблем заходить в программу под своими привычными учетными записями.

Решение №2: Обновление на исправленный релиз (Официальный способ)

Разработчики фирмы «1С» оперативно признали ошибку RLS при реструктуризации справочника соглашений ЭДО критической. Если вы не хотите создавать дополнительных пользователей в конфигураторе или если ваша база находится на автоматическом обновлении, оптимальным решением станет переход на стабильный релиз.

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

  1. Выясним статус текущих обновлений. Данная ошибка была полностью устранена в релизе 3.0.71.75 и всех последующих сборках линейки 3.0.71.х / 3.0.72.х.
  2. Если вы уже «застряли» на версии 3.0.71.69 и база не открывается, вернитесь в Конфигуратор.
  3. Выполните обновление конфигурации (меню Конфигурация -> Поддержка -> Обновить конфигурацию), выбрав в качестве источника дистрибутив версии 3.0.71.75 (или более поздний актуальный релиз).
  4. Примените изменения базы данных по клавише F7.
  5. Запустите режим «1С:Предприятие». Первый запуск после обновления обязательно проводите под учетной записью с административными правами. Ошибка компиляции RLS больше не побеспокоит вас, так как ссылки на старый справочник в шаблонах ограничений были корректно удалены разработчиками.

Рекомендации по предотвращению подобных ошибок в будущем

Чтобы минимизировать риски возникновения подобных сбоев при обслуживании баз 1С, рекомендуем придерживаться нескольких правил:

← На главную