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

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

При автоматизации документооборота в крупных территориально-распределенных компаниях часто возникает задача разделения потоков документов по городам или филиалам. Основная цель — сделать так, чтобы в карточке документа (например, исходящего) автоматически или полуавтоматически определялось «Место регистрации», которое в дальнейшем будет влиять на индекс нумерации и разграничение прав доступа. Рассмотрим подробно, как решить эту задачу в системе 1С:Документооборот, используя стандартные механизмы и возможности версии 3.0.

Анализ задачи и выбор базового подхода

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

Решение 1: Использование справочника «Подразделения»

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

  1. Настройка структуры: Создадим в справочнике Подразделения группы или элементы, соответствующие городам (например, «Офис Москва», «Офис Казань», «Офис Самара»).
  2. Привязка сотрудников: Убедимся, что в карточке каждого пользователя указано его основное подразделение.
  3. Настройка индекса: В карточке подразделения заполним поле Индекс. Именно этот индекс мы будем использовать для формирования регистрационного номера.

Основное преимущество этого метода заключается в том, что нам не нужно заставлять пользователя выбирать город вручную — система сделает это сама, опираясь на организационную структуру.

Решение 2: Настройка независимой нумерации по разрезам

Чтобы каждый город имел свою очередь номеров (например, №1/МСК, №1/КЗН), необходимо правильно настроить Нумераторы. Проанализируем настройки нумератора для исходящих документов:

  1. Перейдем в настройки нумератора нужного вида документа.
  2. Установим флаг «Независимая нумерация по...» и выберем в списке Подразделение.
  3. В формате номера добавим индекс подразделения. Формат может выглядеть так: [Номер]-[ИндексПодразделения].

Таким образом, система будет вести отдельный счетчик для каждого филиала, что полностью закрывает потребность в «Месте регистрации» как в отдельном поле для нумерации.

Решение 3: Использование «Вопросов деятельности»

Если по каким-то причинам привязка к подразделениям не подходит (например, один сотрудник может регистрировать документы от разных филиалов), можно использовать справочник Вопросы деятельности. Рассмотрим этот вариант подробнее:

Этот справочник позволяет классифицировать документы независимо от оргструктуры. Мы можем создать вопросы деятельности «Регистрация Москва», «Регистрация Казань» и т.д. В настройках вида документа укажем, что использование вопросов деятельности обязательно. Это позволит:

Однако помните, что автоматическое заполнение вопроса деятельности в версии 2.1 может потребовать написания небольшого скрипта.

Решение 4: Новые возможности версии 3.0 — «Структурные единицы» и «Места регистрации»

В версии 1С:Документооборот 3.0 функционал значительно расширился. Выясним, какие инструменты появились для решения нашей задачи:

1. Структурные единицы

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

2. Места регистрации (Журналы)

Рассмотрим штатный механизм настройки Мест регистрации. Мы можем создать отдельные места регистрации для каждого города и указать, какие сотрудники или подразделения имеют право в них регистрировать. При нажатии кнопки «Зарегистрировать» система предложит пользователю только доступные ему места, что исключает ошибку выбора.

Использование скриптов для автоматизации (Advanced)

Если мы хотим автоматизировать заполнение дополнительного реквизита «Место регистрации» без изменения кода конфигурации, воспользуемся механизмом «Скрипты автозаполнения» или «Правила заполнения реквизитов». Проанализируем пример кода, который можно вставить в правило заполнения при создании документа:


// Скрипт для определения места регистрации по подразделению автора
АвторДокумента = Документ.Подготовил;
Если ЗначениеЗаполнено(АвторДокумента) Тогда
    ПодразделениеАвтор = АвторДокумента.Подразделение;
    // Определяем город по наименованию подразделения или по родителю
    Если Найти(ПодразделениеАвтор.Наименование, "Москва") > 0 Тогда
        Документ.МестоРегистрации = "МСК";
    ИначеЕсли Найти(ПодразделениеАвтор.Наименование, "Казань") > 0 Тогда
        Документ.МестоРегистрации = "КЗН";
    КонецЕсли;
КонецЕсли;

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

Разграничение прав доступа

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

  1. Включим в настройках программы использование «Групп доступа».
  2. Создадим группы доступа сотрудников по городам.
  3. В политиках доступа для вида документа настроим ограничения, где разрезом доступа будет выступать либо подразделение, либо созданный нами дополнительный реквизит.

Итоги

Подведем итог нашему анализу. Реализация реквизита «Место регистрации» в 1С:Документооборот возможна несколькими путями:

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

← На главную