Как настроить автоматическое заполнение поля Менеджер в Заказе клиента в 1С:УТ 11.5?

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

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

Разберем иерархию поиска менеджера в системе

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

  1. Договор с клиентом: Если в заказе выбран договор, система в первую очередь проверяет поле Менеджер именно в нем — для этого подойдёт обработка автоматической подстановки основного договора в документы 1С.
  2. Соглашение об условиях продаж: Если в договоре менеджер не указан или договоры не используются, система обращается к типовому или индивидуальному соглашению. Важно помнить: если поле Менеджер в соглашении пустое, 1С может взять автора (ответственного) этого соглашения.
  3. Карточка Партнера (Клиента): Если в документах (договоре/соглашении) данных нет, система переходит к анализу связей партнера.
  4. Статистика заполнения: Новый механизм 11.5, который анализирует последние введенные документы пользователя.
  5. Текущий пользователь: Если ни один из вышеперечисленных пунктов не дал результата, проставляется автор документа (тот, кто его создает в данный момент).

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

Способ 1. Настройка через карточку Партнера

Если мы хотим, чтобы за определенным клиентом всегда закреплялся конкретный сотрудник, нам следует использовать вкладку «Участники» в карточке партнера. Рассмотрим по шагам, как это сделать правильно:

  1. Откроем карточку клиента (справочник Партнеры), предварительно проверив корректность данных через заполнение реквизитов по ИНН.
  2. Перейдем на вкладку Участники (если она скрыта, проверьте доступ и видимость реквизитов справочников).
  3. Добавим пользователя в список и обязательно назначим ему роль Основной менеджер.

Важный нюанс: если в списке участников будет несколько человек, но ни один не помечен как «Основной», система может проигнорировать этот список и перейти к поиску по статистике или по автору соглашения. Убедитесь, что флаг основного менеджера установлен корректно, а настройка проверки заполнения реквизитов поможет избежать сохранения пустых полей.

Способ 2. Очистка данных в типовых соглашениях

Часто проблема кроется в том, что в типовом соглашении в поле Менеджер или в реквизитах автора указан конкретный человек. Если соглашение используется всеми менеджерами отдела продаж, это поле должно быть абсолютно пустым. Проанализируем последствия: при пустом значении в соглашении система будет вынуждена «спуститься» ниже по иерархии — к карточке партнера или к текущему пользователю, что зачастую и требуется заказчику.

Способ 3. Учет механизма «Умного заполнения» по статистике

В последних релизах 11.5 (начиная с 11.5.10 и выше) внедрен модуль ЗаполнениеОбъектовПоСтатистике. Система анализирует последние 5 документов Заказ клиента, созданных текущим пользователем. Если в 3-х из них был указан один и тот же менеджер, программа автоматически предложит его в новом заказе.

Это может сбивать с толку: менеджер один раз вручную выбрал коллегу, и теперь система «подсовывает» его постоянно. Чтобы это исправить, пользователю достаточно в нескольких новых заказах подряд указать верного менеджера (себя), и система «переучится», либо можно настроить подстановку договора по умолчанию без учета статистики.

Способ 4. Программное изменение логики через Расширение

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

Рассмотрим пример кода. Нам необходимо переопределить заполнение в модуле ОтветственныеЛицаСервер. Найдем процедуру ЗаполнитьМенеджера. В расширении мы можем использовать метод После, чтобы принудительно установить текущего пользователя.

Пример кода для расширения (в модуле объекта или через обработку заполнения):


&НаСервере
Процедура ИмяПрефикс_После_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    // Устанавливаем текущего пользователя в поле Менеджер
    // Это гарантирует, что кто создает заказ, тот и будет менеджером
    ЭтотОбъект.Менеджер = Пользователи.ТекущийПользователь();
КонецПроцедуры

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


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

Влияние функциональных опций

Посмотрим на ситуацию со стороны настроек системы. В 1С:УТ 11.5 существует опция «Обособленное ведение продаж по подразделениям». Если она включена, система будет пытаться сопоставить подразделение менеджера, указанного в соглашении, с подразделением текущего пользователя. Если они не совпадают, система может сбросить значение менеджера или заменить его на автора документа, чтобы избежать конфликтов прав доступа. Проверьте эту настройку, если менеджер в заказе клиента остается пустым или заполняется непредсказуемо.

Подведем итоги

Мы проанализировали механизм заполнения поля Менеджер в 1С:УТ 11.5 и выяснили, что система использует сложную многоуровневую логику. Для исправления ситуации без программирования мы рекомендуем:

  1. Очистить поле Менеджер в типовых соглашениях.
  2. Назначить Основных менеджеров в карточках наиболее важных клиентов.
  3. Проверить заполнение поля Менеджер в Договорах (так как у них высший приоритет).

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

← На главную