Ситуация, когда успешно выполненное закрытие месяца внезапно меняет статус на «Не выполнено» или «Требуется перепроведение», знакома каждому бухгалтеру и системному администратору 1С. В конфигурации «Бухгалтерия предприятия 3.0» (БП 3.0) механизмы контроля актуальности данных работают очень строго. Даже незначительное изменение документа в прошлом периоде может привести к «разваливанию» всей последовательности. Разберемся детально, как найти виновника и какие инструменты для этого использовать.
Прежде чем переходить к поиску, проанализируем механику работы системы. В 1С существует понятие «Граница последовательности». Это своего рода временная метка, до которой все движения документов считаются актуальными и правильными. Как только пользователь записывает или проводит документ датой, предшествующей этой метке, система понимает: данные могли измениться, и все последующие расчеты (себестоимость, налоги, регламентные операции) теперь под вопросом.
Важно понимать, что в БП 3.0 статус может сброситься даже при простом нажатии кнопки Провести и закрыть (или ОК), если пользователь просто открыл старый документ «посмотреть» и случайно инициировал его перепроведение. Даже если суммы и счета не изменились, объект получает новый момент времени или отметку о перепроведении, что сдвигает границу последовательности назад.
Это самый быстрый и очевидный способ начать расследование. Рассмотрим его по шагам:
Однако этот метод покажет нам что изменилось, но не всегда ответит на вопрос кто и когда это сделал. Для получения этих данных перейдем к техническим инструментам.
Журнал регистрации — это главный бортовой самописец системы 1С. Чтобы эффективно найти причину в нем, проанализируем ситуацию и настроим фильтры:
Данные.ИзменениеДанные.ПроведениеДанные.УдалениеРеализация (акты, накладные, УПД)).Просмотрев отобранные события, мы увидим колонки «Пользователь» и «Время». Это позволит нам аргументированно указать на сотрудника, который внес изменения в закрытый период.
Если документов много и непонятно, с какого именно начался «сбой», мы можем заглянуть в технические недра программы. Каждая конфигурация хранит состояние последовательностей. Для БП 3.0 основной интерес представляет Последовательность.ДокументыОрганизации.
Посмотрим на пример того, как технический специалист может быстро получить данные о текущем состоянии границы последовательности через консоль запросов или программный код:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДокументыОрганизацииГраницы.Организация,
| ДокументыОрганизацииГраницы.Период КАК ДатаГраницы,
| ДокументыОрганизацииГраницы.Регистратор КАК ПервыйСбитыйДокумент
|ИЗ
| Последовательность.ДокументыОрганизации.Границы КАК ДокументыОрганизацииГраницы";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("Организация: " + Выборка.Организация + " | Граница: " + Выборка.ДатаГраницы);
Сообщить("Сбито документом: " + Выборка.ПервыйСбитыйДокумент);
КонецЦикла;
Зная Регистратор (первый документ, на котором остановилась последовательность), мы возвращаемся в Журнал регистрации и ставим фильтр по этому конкретному объекту. Это даст 100% результат.
Часто пользователи говорят: «Я ничего не менял, просто открыл и закрыл». Журнал регистрации подтвердит факт записи, но не покажет, изменились ли данные. Для этого в 1С предусмотрен механизм Версионирования объектов.
Если эта функция включена (Администрирование — Общие настройки — История изменений), мы можем проанализировать ситуацию детально:
Проанализируем результат: если система подсвечивает изменения в суммах, счетах или количестве — значит, данные были изменены. Если подсвечивается только реквизит МоментВремени или Дата — значит, документ просто перепровели без правок в содержательной части.
Выяснить, кто виноват — это только половина дела. Важно исключить повторение ситуации. Разберем основные методы защиты:
1. Установка даты запрета редактирования данных
Это самый эффективный метод. Сразу после выполнения закрытия месяца и сдачи отчетности необходимо установить дату запрета. Перейдем в Администрирование — Настройки пользователей и прав — Даты запрета изменения. Установим дату, соответствующую последнему дню закрытого месяца. После этого никто, включая главного бухгалтера (если не заданы исключения), не сможет случайно «сбить» последовательность.
2. Разграничение прав доступа
Выясним, кому из сотрудников действительно нужно право редактирования документов прошлых периодов. Рекомендуется создать роль «Просмотр» для менеджеров, чтобы они могли изучать документы, не имея технической возможности нажать Записать.
3. Использование регистра «Состояния регламентных операций»
Для мониторинга можно настроить отчет по регистру сведений СостоянияРегламентныхОпераций. Он фиксирует время выполнения каждой операции. Если время изменения записи в этом регистре не совпадает с плановым закрытием — это повод проверить журнал регистрации за этот период.
Для эффективного поиска «виновника» в БП 3.0 используем связку: Помощник закрытия месяца (для определения точки сбоя) + Журнал регистрации (для поиска исполнителя). Чтобы споры с пользователями были конструктивными, заранее включите Версионирование объектов. И помните: лучшая защита закрытого месяца — это вовремя установленная Дата запрета редактирования.