Что делать, если после обновления 1С:Бухгалтерии «слетело» закрытие месяца и пропали документы?

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

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

Причина №1: Смена настройки ведения учета зарплаты

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

Проанализируем механику процесса: закрытие месяца — это цепочка взаимосвязанных регламентных операций. Как только в эту цепочку добавляется новое обязательное звено (документ начисления), все последующие операции автоматически помечаются как неактуальные. Если фактически учет ведется во внешней программе (например, в «1С:ЗУП»), то для исправления ситуации необходимо:

  1. Перейти в настройки параметров учета зарплаты.
  2. Установить переключатель в положение «Во внешней программе».
  3. Проверить состояние помощника закрытия месяца. Обычно после возврата настройки статусы за прошлые периоды восстанавливаются автоматически.

Причина №2: Блокировка регламентных заданий в копии базы

Выясним, почему система может выдавать сообщения о том, что «Информационная база перемещена». Начиная с версии платформы 8.3.6, в 1С встроен механизм защиты от дублирования функций в копиях баз. Если вы подготовили обновление на файловой копии, а затем загрузили .cf в рабочую базу (или просто перенесли серверную базу), система блокирует внешние ресурсы.

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

Причина №3: Ошибки планов обмена и COM-компоненты

Разберем ситуацию, когда после обновления платформы (например, на 8.3.12 и выше) перестают работать обмены с ЗУП или УПП, а в журнале регистрации появляются ошибки вида Поле объекта не найдено. Часто это связано с тем, что администратор не зарегистрировал или «потерял» регистрацию COM-компоненты comcntr.dll.

Если сервер 1С работает в 64-битном режиме, необходимо убедиться, что зарегистрирована соответствующая версия компоненты. Проанализируем пример кода, который может вызывать ошибку в модуле менеджера плана обмена при изменении версии БСП:


// В новых версиях БСП структура настроек может измениться
НастройкиПлановОбмена.Алгоритмы.ОписаниеЗначенийПоУмолчаниюБазыКорреспондента = Истина;

Если после обновления БСП данное свойство было удалено или перемещено в другой общий модуль, код перестанет работать. В таком случае необходимо привести обращения к объектам БСП в соответствие с актуальной документацией к версии конфигурации. Также рекомендуется проверить регистрацию компоненты через командную строку:

regsvr32 "C:\Program Files\1cv8\8.3.12.1714\bin\comcntr.dll"

Причина №4: Опасность обновления через загрузку конфигурации (.cf)

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

  1. Пропуск обработчиков обновления: При штатном обновлении (через .cfu) запускаются процедуры реструктуризации данных и миграции значений в новые реквизиты. При прямой загрузке .cf эти процедуры могут не сработать.
  2. Потеря документов: Если в новом релизе изменились метаданные (например, документ НачислениеЗарплаты был переименован или заменен новым объектом с тем же синонимом), простая загрузка .cf может привести к полной очистке таблиц этого документа в базе данных.
  3. Нарушение ссылочной целостности: Внутренние идентификаторы (UUID) новых объектов в файловой базе-копии могут отличаться от тех, что ожидает серверная база, если объекты создавались вручную.

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

Как восстановить актуальность регламентных операций?

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

  1. Откройте «Функции для технического специалиста» (или «Все функции»).
  2. Найдите регистр сведений «Неактуальные регламентные операции» (название может незначительно варьироваться в зависимости от версии БСП, например, «Актуальность регламентных операций»).
  3. Проанализируйте записи в этом регистре. Иногда для восстановления статуса достаточно очистить записи, помечающие старые периоды как требующие перепроведения.
  4. Обязательно запустите тестирование и исправление базы (ТиИ) с включенными опциями проверки ссылочной целостности и реструктуризации таблиц.

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

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

← На главную