Каждый бухгалтер хотя бы раз сталкивался с ситуацией, когда при закрытии месяца в программе 1С процедура группового перепроведения документов уходит в бесконечный цикл. Система долго выполняет операции, а затем прерывает процесс и выдает досадное сообщение: «Был изменен документ». Граница последовательности сдвигается назад, и месяц закрыть не удается. При этом в отчете об измененных документах постоянно фигурируют одни и те же объекты: Выдача наличных, Списание с расчетного счета или Отражение зарплаты в бухучете.
В этой статье мы подробно проанализируем причины этой технической неполадки, рассмотрим взаимосвязи между зарплатными и кассовыми документами, а также разберем по шагам практические методы устранения циклической ошибки.
Выясним главную причину, которая чаще всего приводит к бесконечной перезаписи документов в процессе закрытия месяца. Если организация применяет специальный налоговый режим (например, ЕНВД или патент) совместно с основной системой налогообложения, ключевую роль начинает играть регламентная операция «Распределение расходов по видам деятельности».
Проанализируем логику работы этой операции. Программа распределяет общие расходы (например, заработную плату административного персонала со счета 26 или коммерческие расходы со счета 44) пропорционально полученным доходам от разных видов деятельности. Базой для расчета пропорции служит выручка, отраженная по кредиту счетов доходов.
Если в документах Реализация (акты, накладные) или Отчет о розничных продажах за закрываемый период бухгалтер ошибочно указал счет доходов 90.01.1 (выручка по деятельности с ОСНО/УСН) вместо счета 90.01.2 (выручка по деятельности с особым порядком налогообложения, ЕНВД), возникает следующий конфликт:
Отражение зарплаты в бухучете и связанные с ними платежные документы (Выдача наличных, Списание с расчетного счета).Решение проблемы:
Для исправления этой ситуации нам необходимо найти и скорректировать ошибочные счета учета доходов. Разберем, как сделать это быстро:
Реализация (акты, накладные) или Отчет о розничных продажах за проблемный период.90.01.1.90.01.2 (и, соответственно, счета расходов на 90.02.2).Рассмотрим еще один важный нюанс, влияющий на проведение кассовых и банковских документов по выплате заработной платы. Очень часто при обмене данными между конфигурациями «1С:Зарплата и управление персоналом» и «1С:Бухгалтерия» документы загружаются, но не формируют необходимые проводки.
Посмотрим на структуру документа Отражение зарплаты в бухучете. В его шапке или табличной части присутствует специальный признак (флажок) «Отражено в бухучете» (или «Принято к учету»). Если этот флажок не установлен, документ записывается в информационную базу как черновик:
70 («Расчеты с персоналом по оплате труда»).70 отсутствует начисление задолженности перед сотрудниками.Когда мы пытаемся провести документы выплаты — такие как Выдача наличных (Расходный кассовый ордер) или Списание с расчетного счета с видом операции «Выплата зарплаты», программа ищет сальдо по счету 70, чтобы сопоставить выплату с ведомостями и корректно распределить суммы авансов и переплат. Из-за отсутствия начисления система при каждом перепроведении пытается программно перераспределить копейки и округления, бесконечно перезаписывая цепочку связанных документов.
Решение проблемы:
Убедимся, что во всех документах Отражение зарплаты в бухучете за закрываемый период установлен флаг отражения в учете. Проведем их вручную, проверим наличие проводок по счету 70, после чего запустим повторное закрытие месяца.
Выясним, как внешние по отношению к закрытию месяца механизмы могут прерывать последовательность проведения. Современные версии платформы 1С активно используют многопоточность и фоновые задания.
Если параллельно с закрытием месяца в базе выполняются следующие процессы:
то эти фоновые задания могут перехватывать и модифицировать регистры документов прямо во время работы основного помощника закрытия месяца. Программа обнаруживает, что документ изменился «на лету», и останавливает проведение.
Решение проблемы:
Перед запуском закрытия месяца рекомендуется временно отключить выполнение регламентных задач. Мы можем сделать это через консоль администрирования кластера серверов 1С или запустив базу со специальным ключом командной строки:
/AllowExecuteScheduledJobs -Off
Также полезно установить дату запрета загрузки данных в настройках синхронизации (раздел Администрирование — Синхронизация данных), чтобы автоматический обмен не перезаписал документы закрываемого периода во время работы бухгалтера.
Проанализируем редкую, но коварную техническую проблему, связанную с нарушением уникальности записей в системных таблицах конфигурации. При обновлении программы или сбоях СУБД в справочнике ИдентификаторыОбъектовМетаданных могут возникнуть дублирующие записи.
Например, при тестировании информационной базы (Тестирование и исправление, ТиИ) может обнаружиться ошибка неуникальности полей для регистра сведений Состояния документов зачисления зарплаты. Наличие таких дублей приводит к тому, что платформа не может однозначно идентифицировать метаданные объектов зарплаты при проведении выплат, что вызывает сбой алгоритмов проведения.
Обычное исправление ошибок через ТиИ не всегда решает проблему до конца, так как старая структура метаданных может оставаться в кэше сервера или локального компьютера.
Решение проблемы:
Применим комплексный метод исправления системных таблиц:
1C:Enterprise и очистим содержимое временных папок. На клиентских машинах удалим базу из списка запуска и добавим её заново.
/C СтартОбновленияИнформационнойБазы
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Истина);
После выполнения этих шагов структура метаданных полностью восстановится, логические конфликты в зарплатных регистрах исчезнут, и групповое перепроведение документов завершится успешно.