В платформе 1С:Предприятие 7.7 пользователи нередко сталкиваются с ситуацией, когда даже только что созданный документ фиксируется в журнале со статусом проведения «задним числом». Особенно часто эта коллизия проявляется в конфигурациях бухгалтерского учета, доработанных с использованием механизма регистров (оперативного учета). Разберем причины такого поведения платформы, специфику работы Точки Актуальности (ТА) и способы корректного разграничения прав менеджеров и операторов.
Проанализируем ключевые факторы, из-за которых платформа считает проведение документа неоперативным:
При попытке обезопасить базу данных от злоупотреблений персонала (удаления, редактирования или отмены проведения накладных после отгрузки) администраторы сталкиваются с ограничением визуального интерфейса настройки прав платформы 7.7:
В правах пользователя флажки «Проведение документа задним числом» и «Изменение проведенных документов» жестко связаны. Если разрешить проведение задним числом (что необходимо, когда ТА находится впереди), система автоматически открывает пользователю возможность редактировать уже зафиксированные накладные.
Поскольку штатными галочками в Конфигураторе разделить эти два права невозможно, оптимальным решением является программная проверка в модуле формы или модуле документа.
Разберем по шагам, как настроить такую защиту:
ПриЗаписи() реализуем проверку признака проведения документа до начала модификации данных.Посмотрим на пример программной проверки прав на уровне модуля документа:
Процедура ПриЗаписи()
// Проверяем, был ли документ проведен до попытки сохранения
Если Проведен() = 1 Тогда
Если НазваниеНабораПрав() = "Продавец" Тогда
Предупреждение("Изменение уже проведенного документа запрещено!");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Данный подход позволяет менеджерам свободно проводить новые накладные (даже если они попадают в категорию «задним числом» из-за смещенной ТА), но намертво блокирует изменение и повторную перезапись уже проведенных документов без участия администратора.
Если в конфигурации используется оперативный учет, важно нормализовать работу с ТА:
РасходнаяНакладная в Конфигураторе проверить параметр «Автоматическая установка времени» и выставить режим использования текущего времени.В типовых решениях 1С 7.7 предусмотрен механизм даты запрета редактирования данных. Выясним, как использовать его для защиты прошлых периодов:
Если доработка по резервированию товаров на регистрах больше не используется на предприятии, рекомендуется удалить программные вызовы формирования движений по регистрам из модуля документа РасходнаяНакладная.
Как только документ перестанет формировать записи в регистры остатков, платформа отключит строгий контроль Точки Актуальности по секундам для данного объекта и вернет стандартное бухгалтерское проведение по датам без коллизий времени.
Хранение непроведенных расходных накладных в качестве «задела на будущее» или резерва часто приводит к пересортице и учетным ошибкам. Для предварительного согласования отгрузок правильнее использовать документы, не создающие проводок и движений по складам (например, Счет или ЗаявкаПокупателя), а саму накладную формировать методом ввода на основании строго в момент передачи материальных ценностей клиенту.