После проведения масштабного обновления платформы и конфигурации 1С:Предприятие специалисты часто сталкиваются с ситуацией, когда штатные механизмы начинают вести себя непредсказуемо. Одной из наиболее острых проблем является «сброс» состояний закрытия месяца: бухгалтер видит, что за прошлые (уже закрытые) периоды статус операций изменился на «Не выполнено». В данной статье мы подробно разберем причины этого явления, проанализируем ошибки обмена данными и выясним, почему могут «пропадать» документы начисления зарплаты.
Рассмотрим наиболее частую причину, по которой «слетает» закрытие месяца. В конфигурации «1С:Бухгалтерия предприятия» (особенно в версии КОРП) существует критически важный переключатель способа ведения учета зарплаты. Если после обновления или некорректного переноса данных этот флаг самопроизвольно переключился в положение «Учет ведется в этой программе», система начинает ожидать наличия документов НачислениеЗарплаты непосредственно в текущей базе.
Проанализируем механику процесса: закрытие месяца — это цепочка взаимосвязанных регламентных операций. Как только в эту цепочку добавляется новое обязательное звено (документ начисления), все последующие операции автоматически помечаются как неактуальные. Если фактически учет ведется во внешней программе (например, в «1С:ЗУП»), то для исправления ситуации необходимо:
Выясним, почему система может выдавать сообщения о том, что «Информационная база перемещена». Начиная с версии платформы 8.3.6, в 1С встроен механизм защиты от дублирования функций в копиях баз. Если вы подготовили обновление на файловой копии, а затем загрузили .cf в рабочую базу (или просто перенесли серверную базу), система блокирует внешние ресурсы.
Посмотрим на последствия этой блокировки: перестают работать фоновые задания, обмены через COM-соединение и автоматические регламентные операции. Чтобы решить проблему, необходимо зайти в раздел Администрирование — Обслуживание и нажать кнопку «Разблокировать работу с внешними ресурсами» (или подтвердить, что «База перемещена»). Пока это не сделано, многие механизмы БСП (Библиотеки стандартных подсистем) будут работать в ограниченном режиме, что визуально может выглядеть как «пропажа» данных или отсутствие актуальных расчетов.
Разберем ситуацию, когда после обновления платформы (например, на 8.3.12 и выше) перестают работать обмены с ЗУП или УПП, а в журнале регистрации появляются ошибки вида Поле объекта не найдено. Часто это связано с тем, что администратор не зарегистрировал или «потерял» регистрацию COM-компоненты comcntr.dll.
Если сервер 1С работает в 64-битном режиме, необходимо убедиться, что зарегистрирована соответствующая версия компоненты. Проанализируем пример кода, который может вызывать ошибку в модуле менеджера плана обмена при изменении версии БСП:
// В новых версиях БСП структура настроек может измениться
НастройкиПлановОбмена.Алгоритмы.ОписаниеЗначенийПоУмолчаниюБазыКорреспондента = Истина;
Если после обновления БСП данное свойство было удалено или перемещено в другой общий модуль, код перестанет работать. В таком случае необходимо привести обращения к объектам БСП в соответствие с актуальной документацией к версии конфигурации. Также рекомендуется проверить регистрацию компоненты через командную строку:
regsvr32 "C:\Program Files\1cv8\8.3.12.1714\bin\comcntr.dll"
Многие программисты совершают критическую ошибку, подготавливая обновление на копии и загружая финальный файл .cf в рабочую базу через «Загрузить конфигурацию из файла». Рассмотрим, почему это опасно:
.cfu) запускаются процедуры реструктуризации данных и миграции значений в новые реквизиты. При прямой загрузке .cf эти процедуры могут не сработать.НачислениеЗарплаты был переименован или заменен новым объектом с тем же синонимом), простая загрузка .cf может привести к полной очистке таблиц этого документа в базе данных.Посмотрим на правильный алгоритм действий: всегда выполняйте последовательное обновление в рабочей базе или используйте механизм «Сравнить и объединить» с сохранением поддержки, но только после того, как убедитесь, что все фоновые обработчики обновления (из раздела «Результаты обновления программы») завершены на 100%.
Если настройки зарплаты верны, но закрытие месяца все равно требует перепроведения за несколько лет, попробуем использовать «технический» способ восстановления. В системе существует регистр сведений, отвечающий за актуальность операций. Рассмотрим последовательность действий:
Важный момент: Если документы действительно пропали из журналов, первым делом проверьте настройки RLS (Ограничение доступа на уровне записей). После обновления профили групп доступа могли обновиться некорректно, из-за чего пользователи перестали видеть документы, которые фактически присутствуют в базе данных. Выяснить это можно, запустив отчет по консоли запросов к таблице пропавшего документа под правами администратора.
Подводя итог, отметим: никогда не пренебрегайте созданием архивов перед любыми манипуляциями с .cf. Если после обновления возникли массовые ошибки в данных, самым надежным способом будет восстановление из архива и повторное проведение обновления штатным методом через файлы обновлений, а не через полную загрузку конфигурации.