БГУ 2.0: Как исправить ошибку при обновлении в области данных и просмотреть записи регистра

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет Сфера услуг, туризм и социальный сектор
← На главную

Обновление конфигурации «1С:Бухгалтерия государственного учреждения 2.0» в режиме разделения данных (SaaS/облако) — процесс технически сложный, так как механизмы БСП (Библиотеки стандартных подсистем) накладывают определенные ограничения на доступ к данным при возникновении критических сбоев. Разберем ситуацию, когда при входе в область начинается автоматическое обновление, завершающееся ошибкой, и выясним, как получить доступ к регистрам для исправления ситуации.

Шаг 1. Анализ первопричины через Журнал регистрации

Прежде чем пытаться редактировать записи регистров, нам необходимо понять, на какой именно итерации или процедуре происходит сбой. Рассмотрим самый важный источник информации — Журнал регистрации. Если ошибка возникает внутри области, запись об этом фиксируется с категорией «Обновление информационной базы».

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

  1. Зайдем в информационную базу в неразделенном режиме (под полными правами без указания разделителя).
  2. Откроем Журнал регистрации и установим фильтр по периоду и важности «Ошибка».
  3. Найдем записи, относящиеся к проблемной области. В тексте ошибки часто фигурирует имя экспортной процедуры из модулей типа ОбновлениеИнформационнойБазыБГУ или РегистрыСведений.КЭКСчетов.ОбработатьДанныеДляПереходаНаНовуюВерсию.

Если мы видим ошибку, связанную с КЭК (КОСГУ), это верный признак того, что механизмы обновления наткнулись на некорректные данные в справочниках или регистрах соответствий, которые не соответствуют новой логике детализации счетов, введенной в 2018-2019 годах.

Шаг 2. Как просмотреть данные регистра, если консоль запросов возвращает пустоту

Частая проблема, с которой сталкиваются разработчики: при запуске консоли запросов в сеансе, где обновление прервано, запрос к РегистрСведений.КЭКСчетов не возвращает строк. Это происходит потому, что сеанс не инициализирован для конкретной области или разделители установлены некорректно.

Разберем, как правильно составить запрос в неразделенном режиме, чтобы увидеть данные конкретного тенанта. Для этого нам нужно знать значение разделителя (например, ОбластьДанныхОсновныеДанные). Используем следующий подход:


ВЫБРАТЬ
    Рег.Счет,
    Рег.КЭК,
    Рег.ОбластьДанныхОсновныеДанные
ИЗ
    РегистрСведений.КЭКСчетов КАК Рег
ГДЕ
    Рег.ОбластьДанныхОсновныеДанные = &НужныйНомерОбласти

Важный нюанс: такая конструкция сработает только в том случае, если в конфигураторе у регистра сведений свойство «Разделение данных» установлено в «Независимо и совместно». Если же разделение «Независимое», то данные других областей в неразделенном сеансе будут недоступны обычным запросом. В этом случае нам потребуется программная установка разделителей сеанса.

Шаг 3. Вход в область в обход автоматического обновления

Если обновление блокирует вход в интерфейс, мы можем попытаться временно «обмануть» систему, чтобы запустить инструменты диагностики (например, внешнюю обработку «Редактор объекта БД»). Рассмотрим два способа:

Способ А: Параметр запуска. Попробуем добавить в дополнительные параметры запуска информационной базы строку /C ЗапуститьОбновлениеИнформационнойБазы = Ложь. В некоторых версиях БСП это позволяет войти в систему без немедленного старта обработчиков обновления.

Способ Б: Отключение обработчика в коде. Если у нас есть доступ к конфигуратору, мы можем временно закомментировать вызов проблемной процедуры в модуле обновления. Выясним, где она находится, через поиск по имени, найденному в Журнале регистрации. После успешного входа в область и исправления данных (например, удаления дублей в КЭКСчетов), код необходимо вернуть в исходное состояние и запустить обновление заново.

Шаг 4. Работа с инструментами «Редактор объекта БД» и «Групповое изменение реквизитов»

Когда мы получили доступ в область, нам нужно исправить некорректные записи. Участники форума часто ищут «Редактор объекта БД» — это мощный инструмент из состава «Инструментов разработчика» Сергея Большакова. Рассмотрим, как им пользоваться:

  1. Открываем обработку и выбираем тип объекта «Регистр сведений».
  2. Находим КЭКСчетов.
  3. Инструмент позволяет редактировать измерения и ресурсы напрямую, игнорируя программные запреты ТолькоПросмотр.

Если этого инструмента нет под рукой, воспользуемся стандартной обработкой «Групповое изменение реквизитов». Проанализируем, как включить в ней работу с регистрами:

  1. Нажмем «Дополнительные параметры» и установим флаг «Показывать служебные реквизиты».
  2. В списке выбора объектов станем доступны регистры сведений.
  3. Выберем записи и изменим битые ссылки на КЭК на корректные значения из справочника «Классификация операций сектора государственного управления».

Шаг 5. Особенности Плана счетов в БГУ 2.0

Проанализируем ситуацию с «бесконечным поиском» при попытке зайти в План счетов. Это часто связано с тем, что система пытается динамически рассчитать допустимые КЭК для счетов в момент открытия формы. Если в базе есть дубли предопределенных счетов или нарушена ссылочная целостность (счет ссылается на удаленный КЭК), происходит зацикливание или фатальная ошибка.

Рекомендуем выполнить следующие действия:

Резюме

Для успешного решения проблемы обновления в БГУ 2.0 необходимо последовательно:

  1. Выявить конкретную ошибку в Журнале регистрации.
  2. Использовать консоль запросов с учетом разделителей для поиска пустых или некорректных значений КЭК.
  3. Принудительно зайти в область, используя параметры запуска или временную модификацию кода.
  4. Исправить данные в регистре КЭКСчетов с помощью инструментов разработчика.

Помните, что любые ручные правки в регистрах сведений БГУ должны быть согласованы с методологией учета, так как некорректный КЭК (КОСГУ) приведет к ошибкам в формировании регламентированной отчетности.

← На главную