Как запретить изменение даты регистрации или связать ее со сменой регистрационного номера в 1С:Документооборот?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Документооборот Управленческий учет
← На главную

В организациях нередко складывается ситуация, когда штатный делопроизводитель отсутствует, а обязанность регистрации входящей, исходящей или внутренней корреспонденции распределяется между рядовыми сотрудниками подразделений. Для обеспечения непрерывности процессов администраторы системы предоставляют широкие права на регистрацию документов практически всему персоналу. Это неизбежно приводит к методическим и системным сбоям.

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

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

Архитектура регистрации и прав доступа в типовой конфигурации

Чтобы оценить реализуемость требований стандартными средствами, необходимо рассмотреть внутреннее устройство механизмов регистрации в конфигурации «1С:Документооборот» (как редакции 2.1, так и редакции 3.0):

Проверка типовых инструментов для решения задачи без доработки

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

1. Ограничение прав через профили групп доступа

Наиболее надежный методический путь, рекомендуемый разработчиками платформы, — полный отзыв прав на регистрацию у рядовых исполнителей:

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

Ограничение: метод не позволяет решить задачу, если бизнес-процесс компании категорически требует, чтобы исполнители самостоятельно регистрировали документы всех видов. Типовой механизм прав не позволяет оставить сотруднику кнопку «Зарегистрировать», но заблокировать поле «Дата регистрации».

2. Использование механизма дат запрета изменения данных

В типовом функционале присутствует подсистема «Даты запрета изменения», позволяющая закрыть от редактирования документы за прошлые периоды:

  1. Перейдите в раздел «Администрирование» — «Настройки пользователей и прав».
  2. Установите флажок «Даты запрета изменения» и перейдите по гиперссылке «Настроить».
  3. Настройка может быть задана общей для всех пользователей либо индивидуально по пользователям или группам (за исключением администраторов).
  4. В качестве способа указания даты можно выбрать относительное значение: «Конец прошлого дня», «Конец прошлой недели» или «Конец прошлого месяца».

Ограничение: дата запрета блокирует объект целиком. Пользователь не сможет не только зарегистрировать документ прошедшим днем, но и прикрепить к нему скан-копию, скорректировать комментарий или запустить связанный процесс, если дата документа попадает в закрытый период. Кроме того, этот механизм не защищает от обратной ошибки: когда документ регистрируется текущей датой, но сотрудник вручную правит дату на день вперед.

3. Резервирование и ручное управление через форму нумератора

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

  1. Пользователь с соответствующими правами открывает карточку нумератора (раздел «НСИ — Нумераторы»).
  2. По гиперссылке «Все номера» открывается список занятых номеров, где можно вручную зарезервировать нужный номер или отредактировать существующий.
  3. В конфигурации «1С:Документооборот 3.0» предусмотрена опция «Использовать пропущенные номера». Если документ был зарегистрирован ошибочно и затем отменен, номер помещается в регистр сведений «Пропуски Регистрационных Номеров» и может быть повторно использован для документа с более ранней датой.

Ограничение: данный механизм требует высокой квалификации и осознанных действий пользователя. При массовой работе рядовых сотрудников он не предотвращает хаотичное изменение реквизитов непосредственно в карточке документа.

Реализация точечных ограничений с помощью расширения конфигурации

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

Для решения задачи в расширении конфигурации используются два основных алгоритма:

Пример серверного обработчика в модуле расширения для проверки смены даты регистрации:


&Вместо("ПередЗаписью")
Процедура Расш_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    // Если документ новый или еще не был зарегистрирован, пропускаем стандартную обработку
    Если ЭтоНовый() Или Не ЗначениеЗаполнено(Ссылка.РегистрационныйНомер) Тогда
        ПродолжитьВызов(Отказ, РежимЗаписи, РежимПроведения);
        Возврат;
    КонецЕсли;
    
    // Проверяем, изменилась ли дата регистрации относительно записанной в базе
    Если ДатаРегистрации <> Ссылка.ДатаРегистрации Тогда
        
        // Проверяем наличие специальной роли у текущего пользователя
        Если Не РольДоступна("ПолныеПрава") И Не РольДоступна("ОтветственныйЗаНумерацию") Тогда
            ВызватьИсключение "Изменение даты регистрации запрещено регламентом. "
                + "Для перерегистрации документа обратитесь к администратору или ответственному делопроизводителю.";
        КонецЕсли;
        
        // Если дата изменена, проверяем, был ли скорректирован регистрационный номер
        Если РегистрационныйНомер = Ссылка.РегистрационныйНомер Тогда
            ВызватьИсключение "При изменении даты регистрации необходимо изменить регистрационный номер "
                + "(присвоить дробный индекс или перерегистрировать документ).";
        КонецЕсли;
        
    КонецЕсли;
    
    ПродолжитьВызов(Отказ, РежимЗаписи, РежимПроведения);
    
КонецПроцедуры

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

Регламентные рекомендации и сопоставление вариантов

Выбор оптимального способа решения проблемы зависит от возможностей организации и готовности развивать систему:

В условиях, когда наем отдельного сотрудника не планируется, оптимальным шагом является подключение расширения с валидацией реквизитов регистрации в сочетании с четким регламентом делопроизводства, определяющим порядок присвоения номеров при восстановлении пропущенных документов.

← На главную