Почему обновление 1С:Бухгалтерия 3.0.121.31 меняет документы в закрытых периодах и как это исправить

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

При переходе на новые релизы программ «1С» мы часто ожидаем улучшения функционала и исправления старых ошибок. Однако в версии 3.0.121.31 типовой конфигурации «Бухгалтерия предприятия» многие пользователи столкнулись с катастрофической ситуацией: фоновые процедуры обновления начали массово изменять документы прошлых лет (начиная с 2017 года), игнорируя установленные даты запрета редактирования. Это привело к тому, что оборотно-сальдовая ведомость «разъехалась», а документы по учету основных средств потеряли свои проводки.

В этой статье мы подробно проанализируем причины такого поведения системы, выясним, почему не сработали стандартные механизмы защиты, и разберем по шагам, как восстановить учет и не допустить подобного в будущем.

Выясняем причины: почему обновление «залезло» в прошлые периоды

Проанализируем ситуацию. Основная причина массовых изменений кроется в реализации требований ФСБУ 6/2020 «Основные средства». Разработчики «1С» изменили методику отражения перехода на новый стандарт. Если ранее проводки по списанию стоимости малоценных ОС формировались непосредственно документом Перевод ОС в малоценное оборудование, то в новых релизах эти движения было решено вынести в специализированную Регламентную операцию с типом «Переход на ФСБУ 6».

Рассмотрим, какие именно процедуры обновления инициируют изменения:

  1. Перенос движений ОС: Специальный обработчик находит документы Перевод ОС в малоценное оборудование, очищает их движения (проводки) и создает на их основе новые регламентные операции датой 31.12.2021 (или 31.12.2020) в 23:59:59.
  2. Обновление реквизита УточнениеПериода: В регистре бухгалтерии Хозрасчетный появился новый системный реквизит УточнениеПериода. Он необходим для того, чтобы проводки межотчетного периода (которые делаются 31 декабря) не попадали в обороты декабря, а учитывались только в остатках на начало следующего года. Процедура обновления принудительно перезаписывает старые движения, чтобы заполнить этот реквизит.
  3. Обновление подсистемы ЭДО: Параллельно с учетом ОС, обновление затрагивает документы Реализация (акт, накладная, УПД). Программа заменяет устаревшие виды электронных документов на актуальные, что вызывает программную перезапись объекта.

Разберем механизм игнорирования даты запрета редактирования

Многие системные администраторы и бухгалтеры задаются вопросом: почему механизм ДатаЗапретаИзменения не остановил этот процесс? Посмотрим на техническую сторону реализации процедур обновления в библиотеке стандартных подсистем (БСП).

Когда выполняется отложенное обновление информационной базы, система использует режим «Загрузка». Проанализируем типичный фрагмент кода, который выполняется в таких случаях:


// Пример кода из типовых механизмов обновления
ДокументОбъект.ОбменДанными.Загрузка = Истина; // Отключение бизнес-логики и проверок
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ДокументОбъект);

При установке свойства ОбменДанными.Загрузка в значение Истина, платформа 1С отключает большинство проверок в модуле объекта, включая проверку на дату запрета редактирования. Это сделано намеренно: если разработчикам нужно изменить структуру данных или пересчитать итоги в соответствии с новым законодательством, программа должна иметь возможность обновить записи даже в закрытых периодах, иначе данные в будущем будут формироваться некорректно.

Анализ ошибки 000130534

Ситуация, описанная в релизе 3.0.121.31, была признана официальной ошибкой под номером 000130534. Проблема заключалась в том, что алгоритм «выноса» проводок в регламентные операции срабатывал некорректно, создавая дублирующие записи или полностью очищая проводки без создания замещающих операций. Это и привело к тому, что ОСВ «разъехалась».

Как исправить ситуацию: пошаговая инструкция

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

Шаг 1: Оценка ущерба

Прежде всего, сформируйте отчет Журнал регистрации. Отфильтруйте события по пользователю, под которым выполнялось обновление, и по метаданным Регламентная операция и Реализация. Так вы увидите точный масштаб изменений. Сравните оборотно-сальдовую ведомость за 2021 год с архивной копией (если она есть).

Шаг 2: Установка исправления (Patch) или нового релиза

Разработчики оперативно выпустили исправленный релиз 3.0.122.94. Если вы еще не успели сильно изменить данные в рабочей базе, лучшим решением будет:

  1. Сделать полную резервную копию текущего состояния.
  2. Обновиться до версии 3.0.122.94 или выше.
  3. Запустить процедуру исправления данных. В новых версиях включены механизмы, которые проверяют корректность созданных регламентных операций по переходу на ФСБУ 6.

Шаг 3: Использование внешней обработки

Для тех, у кого документы перехода на ФСБУ 6 остались без проводок, на портале ИТС была опубликована специализированная обработка «Корректировка перехода на ФСБУ 6». Проанализируем ее работу:

Шаг 4: Проверка планов обмена

Поскольку было изменено более 5000 документов, они все попали в ПланыОбмена для синхронизации с другими базами (ЗУП, УТ, ERP). Чтобы не «положить» обмен и не испортить данные в соседних системах, необходимо очистить регистрацию изменений:


// Пример программной очистки регистрации для реализации
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, Метаданные.Документы.РеализацияТоваровУслуг);

Профилактика: как не допустить подобных проблем

Ситуация в релизе 3.0.121.31 еще раз доказывает старую истину: обновление без бэкапа — это риск потери бизнеса. Рассмотрим правила безопасного обновления:

  1. Тестовая среда: Всегда разворачивайте копию базы перед обновлением рабочей. Запускайте в копии не только процесс наката конфигурации, но и дожидайтесь завершения всех Отложенных обработчиков обновления.
  2. Аудит отложенных заданий: После обновления зайдите в раздел Администрирование — Обслуживание — Обновление программы — Результаты обновления. Посмотрите список процедур. Если вы видите процедуры, связанные с изменением документов прошлых лет (как в случае с ФСБУ 6), будьте крайне внимательны.
  3. Контроль регламентных заданий: В клиент-серверном варианте после наката релиза часто запускается фоновое задание Старт отложенного обновления. Если база большая, это может занять часы и даже дни. Не позволяйте пользователям работать в базе, пока эти процессы не завершены и данные не проверены.
  4. Резервное копирование: Проверьте работоспособность автоматических скриптов бэкапа. Как показала практика автора темы, остановка службы бэкапа за полтора месяца до инцидента стала фатальной ошибкой.

Подведем итог. Обновление 1С:БП 3.0.121.31 действительно содержало деструктивный код для учета основных средств. Если вы пострадали от него, необходимо обновиться до актуального релиза (не ниже 3.0.122.x) и воспользоваться штатными средствами исправления данных ФСБУ 6. Помните, что режим Загрузка = Истина делает программу «всесильной», поэтому единственный надежный способ защиты — это предварительное тестирование на копии.

← На главную