Обновление конфигурации «1С:Бухгалтерия государственного учреждения 2.0» в режиме разделения данных (SaaS/облако) — процесс технически сложный, так как механизмы БСП (Библиотеки стандартных подсистем) накладывают определенные ограничения на доступ к данным при возникновении критических сбоев. Разберем ситуацию, когда при входе в область начинается автоматическое обновление, завершающееся ошибкой, и выясним, как получить доступ к регистрам для исправления ситуации.
Прежде чем пытаться редактировать записи регистров, нам необходимо понять, на какой именно итерации или процедуре происходит сбой. Рассмотрим самый важный источник информации — Журнал регистрации. Если ошибка возникает внутри области, запись об этом фиксируется с категорией «Обновление информационной базы».
Проанализируем алгоритм действий для поиска ошибки:
ОбновлениеИнформационнойБазыБГУ или РегистрыСведений.КЭКСчетов.ОбработатьДанныеДляПереходаНаНовуюВерсию.Если мы видим ошибку, связанную с КЭК (КОСГУ), это верный признак того, что механизмы обновления наткнулись на некорректные данные в справочниках или регистрах соответствий, которые не соответствуют новой логике детализации счетов, введенной в 2018-2019 годах.
Частая проблема, с которой сталкиваются разработчики: при запуске консоли запросов в сеансе, где обновление прервано, запрос к РегистрСведений.КЭКСчетов не возвращает строк. Это происходит потому, что сеанс не инициализирован для конкретной области или разделители установлены некорректно.
Разберем, как правильно составить запрос в неразделенном режиме, чтобы увидеть данные конкретного тенанта. Для этого нам нужно знать значение разделителя (например, ОбластьДанныхОсновныеДанные). Используем следующий подход:
ВЫБРАТЬ
Рег.Счет,
Рег.КЭК,
Рег.ОбластьДанныхОсновныеДанные
ИЗ
РегистрСведений.КЭКСчетов КАК Рег
ГДЕ
Рег.ОбластьДанныхОсновныеДанные = &НужныйНомерОбласти
Важный нюанс: такая конструкция сработает только в том случае, если в конфигураторе у регистра сведений свойство «Разделение данных» установлено в «Независимо и совместно». Если же разделение «Независимое», то данные других областей в неразделенном сеансе будут недоступны обычным запросом. В этом случае нам потребуется программная установка разделителей сеанса.
Если обновление блокирует вход в интерфейс, мы можем попытаться временно «обмануть» систему, чтобы запустить инструменты диагностики (например, внешнюю обработку «Редактор объекта БД»). Рассмотрим два способа:
Способ А: Параметр запуска. Попробуем добавить в дополнительные параметры запуска информационной базы строку /C ЗапуститьОбновлениеИнформационнойБазы = Ложь. В некоторых версиях БСП это позволяет войти в систему без немедленного старта обработчиков обновления.
Способ Б: Отключение обработчика в коде. Если у нас есть доступ к конфигуратору, мы можем временно закомментировать вызов проблемной процедуры в модуле обновления. Выясним, где она находится, через поиск по имени, найденному в Журнале регистрации. После успешного входа в область и исправления данных (например, удаления дублей в КЭКСчетов), код необходимо вернуть в исходное состояние и запустить обновление заново.
Когда мы получили доступ в область, нам нужно исправить некорректные записи. Участники форума часто ищут «Редактор объекта БД» — это мощный инструмент из состава «Инструментов разработчика» Сергея Большакова. Рассмотрим, как им пользоваться:
КЭКСчетов.ТолькоПросмотр.Если этого инструмента нет под рукой, воспользуемся стандартной обработкой «Групповое изменение реквизитов». Проанализируем, как включить в ней работу с регистрами:
Проанализируем ситуацию с «бесконечным поиском» при попытке зайти в План счетов. Это часто связано с тем, что система пытается динамически рассчитать допустимые КЭК для счетов в момент открытия формы. Если в базе есть дубли предопределенных счетов или нарушена ссылочная целостность (счет ссылается на удаленный КЭК), происходит зацикливание или фатальная ошибка.
Рекомендуем выполнить следующие действия:
Для успешного решения проблемы обновления в БГУ 2.0 необходимо последовательно:
КЭКСчетов с помощью инструментов разработчика.Помните, что любые ручные правки в регистрах сведений БГУ должны быть согласованы с методологией учета, так как некорректный КЭК (КОСГУ) приведет к ошибкам в формировании регламентированной отчетности.