При обновлении типовой конфигурации 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.х:
СоглашенияОбИспользованииЭД был признан устаревшим, выведен из эксплуатации и переименован в УдалитьСоглашенияОбИспользованииЭД.Справочник.СоглашенияОбИспользованииЭД.НеверноеИмяТекущейТаблицы.Посмотрим, какими путями мы можем решить данную проблему и вернуть работоспособность нашей базе данных.
Самый быстрый и эффективный способ преодолеть ошибку без изменения программного кода конфигурации — временно отключить проверку прав RLS на время завершения отложенного обновления. Для этого нам необходимо запустить процесс обновления от имени нового суперпользователя, для которого механизмы RLS полностью игнорируются платформой.
Разберем этот процесс по шагам:
SuperAdmin) и задайте пароль.Администратор системного склада (при наличии);Администрирование;Полные права.Полные права гарантирует, что платформа полностью отключит компиляцию шаблонов RLS при его авторизации.
SuperAdmin.Поскольку подсистема ограничения прав доступа RLS для данного пользователя не активна, платформа успешно минует проверку прав для удаленного справочника ЭДО. Все процедуры отложенного обновления успешно завершатся в фоновом режиме. После этого вы сможете без проблем заходить в программу под своими привычными учетными записями.
Разработчики фирмы «1С» оперативно признали ошибку RLS при реструктуризации справочника соглашений ЭДО критической. Если вы не хотите создавать дополнительных пользователей в конфигураторе или если ваша база находится на автоматическом обновлении, оптимальным решением станет переход на стабильный релиз.
Проанализируем порядок действий для корректного обновления:
F7.Чтобы минимизировать риски возникновения подобных сбоев при обслуживании баз 1С, рекомендуем придерживаться нескольких правил:
Обслуживание -> Результаты обновления программы -> Отложенные обработчики.