Почему в 1С 7.7 документы проводятся задним числом и как запретить их изменение

Программист 1С v7.7 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

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

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

Проанализируем ключевые факторы, из-за которых платформа считает проведение документа неоперативным:

  1. Положение Точки Актуальности (ТА): Если в информационной базе используются регистры, платформа контролирует жесткую последовательность проведения через механизм ТА. Если позиция ТА смещена в будущее (например, установлена на начало следующего месяца или на конец текущего дня), то абсолютно любой документ, проведенный текущей датой и временем, технически располагается левее ТА на временной оси и платформой определяется как проведенный задним числом.
  2. Разница во времени фиксации и авто-время: Время нового документа может определяться в момент открытия формы или начала транзакции. Если между открытием экранной формы, записью и фактической фиксацией проходит даже одна секунда, либо если в свойствах метаданных документа настроено смещение времени (например, в начало дня или фиксированное время), документ регистрируется ранее текущей системной позиции ТА.
  3. Конфликт бухгалтерского и оперативного учета: Классический бухгалтерский учет оперирует суточными интервалами (датами), тогда как регистры оперируют секундами и строгой хронологией. Добавление движений по регистрам в бухгалтерскую накладную заставляет систему применять правила строгого оперативного учета.

Проблема разграничения прав доступа в Конфигураторе

При попытке обезопасить базу данных от злоупотреблений персонала (удаления, редактирования или отмены проведения накладных после отгрузки) администраторы сталкиваются с ограничением визуального интерфейса настройки прав платформы 7.7:

В правах пользователя флажки «Проведение документа задним числом» и «Изменение проведенных документов» жестко связаны. Если разрешить проведение задним числом (что необходимо, когда ТА находится впереди), система автоматически открывает пользователю возможность редактировать уже зафиксированные накладные.

Способ 1. Программный запрет изменения проведенных документов

Поскольку штатными галочками в Конфигураторе разделить эти два права невозможно, оптимальным решением является программная проверка в модуле формы или модуле документа.

Разберем по шагам, как настроить такую защиту:

  1. В Конфигураторе в правах пользователей оставляем разрешение на проведение задним числом (чтобы менеджеры могли оформлять первичные документы).
  2. В модуле документа в предопределенной процедуре ПриЗаписи() реализуем проверку признака проведения документа до начала модификации данных.

Посмотрим на пример программной проверки прав на уровне модуля документа:


Процедура ПриЗаписи()
    // Проверяем, был ли документ проведен до попытки сохранения
    Если Проведен() = 1 Тогда
        Если НазваниеНабораПрав() = "Продавец" Тогда
            Предупреждение("Изменение уже проведенного документа запрещено!");
            СтатусВозврата(0);
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Данный подход позволяет менеджерам свободно проводить новые накладные (даже если они попадают в категорию «задним числом» из-за смещенной ТА), но намертво блокирует изменение и повторную перезапись уже проведенных документов без участия администратора.

Способ 2. Корректировка работы с Точкой Актуальности

Если в конфигурации используется оперативный учет, важно нормализовать работу с ТА:

  1. Запретить проведение документов будущей датой без крайней необходимости.
  2. Установить Точку Актуальности на текущую системную дату и время через меню «Операции» — «Управление бухгалтерскими итогами / оперативными итогами».
  3. В свойствах документа РасходнаяНакладная в Конфигураторе проверить параметр «Автоматическая установка времени» и выставить режим использования текущего времени.

Способ 3. Использование даты запрета редактирования

В типовых решениях 1С 7.7 предусмотрен механизм даты запрета редактирования данных. Выясним, как использовать его для защиты прошлых периодов:

  1. Настроить автоматическую установку даты запрета редактирования на вчерашний день (значение даты сдвигается каждую полночь).
  2. При такой настройке менеджеры смогут оформлять и проводить документы исключительно текущим операционным днем, а любые правки документов за предыдущие сутки будут полностью заблокированы на системном уровне.

Способ 4. Отключение неиспользуемых регистров

Если доработка по резервированию товаров на регистрах больше не используется на предприятии, рекомендуется удалить программные вызовы формирования движений по регистрам из модуля документа РасходнаяНакладная.

Как только документ перестанет формировать записи в регистры остатков, платформа отключит строгий контроль Точки Актуальности по секундам для данного объекта и вернет стандартное бухгалтерское проведение по датам без коллизий времени.

Организация работы с черновиками документов

Хранение непроведенных расходных накладных в качестве «задела на будущее» или резерва часто приводит к пересортице и учетным ошибкам. Для предварительного согласования отгрузок правильнее использовать документы, не создающие проводок и движений по складам (например, Счет или ЗаявкаПокупателя), а саму накладную формировать методом ввода на основании строго в момент передачи материальных ценностей клиенту.

← На главную