Почему в документе реализации в 1С:УТ 11 подставляется старое ответственное лицо вместо нового?

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

При оформлении документов реализации товаров и услуг (РТУ) в программе «1С:Управление торговлей 11» пользователи часто сталкиваются с ситуацией, когда в реквизиты печати (например, для форм ТОРГ-12, УПД или актов) продолжает подставляться предыдущий руководитель или подписант, несмотря на то что в справочниках уже зарегистрировано новое ответственное лицо с правом подписи по доверенности и признаком использования по умолчанию.

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

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

В типовых конфигурациях линейки «1С:Управление торговлей» (начиная с редакции 11), а также в «1С:ERP» и «1С:Комплексная автоматизация» для ряда реквизитов документов применяется так называемое «интеллектуальное» статистическое автозаполнение. Система анализирует не только нормативно-справочную информацию (НСИ), но и историю действий текущего пользователя.

Проанализируем алгоритм работы статистического механизма:

  1. При создании нового документа вызывается обработчик ОбработкаЗаполнения, в котором выполняется обращение к функции общего модуля ОбщегоНазначенияУТ.ТекстЗапросаСвойствАвтозаполнения.
  2. Формируется запрос к информационной базе, выбирающий последние 5 документов того же вида, автором которых является текущий пользователь, не помеченные на удаление.
  3. Внутри выборки подсчитывается частота («вес») каждого использованного значения реквизита (в данном случае — лица с правом подписи или руководителя).
  4. Если какое-либо значение встречается в выборке более чем в 50% случаев (то есть минимум 3 раза из 5), программа считает его приоритетным и автоматически подставляет в создаваемый документ.
  5. Если ни одно из значений не набирает свыше 50% веса, статистический механизм не применяется, и программа обращается к стандартным регистрам и справочникам НСИ для поиска действующего лица по умолчанию на дату документа.

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


ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 5
    СтатистикаСДатами.ОбъектПоиска КАК ОбъектПоиска,
    СУММА(СтатистикаСДатами.Использование) КАК ОбщийВес
ПОМЕСТИТЬ Статистика_%ИмяОбъектаПоиска%
ИЗ
    (ВЫБРАТЬ ПЕРВЫЕ 5
        ВидДокумента.%ИмяОбъектаПоиска% КАК ОбъектПоиска,
        1 КАК Использование
    ИЗ
        Документ.%ИмяВидаОбъекта% КАК ВидДокумента
    ГДЕ
        НЕ ВидДокумента.ПометкаУдаления
        И (ВидДокумента.Автор = &Автор)
    УПОРЯДОЧИТЬ ПО
        ВидДокумента.Дата УБЫВ) КАК СтатистикаСДатами
СГРУППИРОВАТЬ ПО
    СтатистикаСДатами.ОбъектПоиска
;

ВЫБРАТЬ
    СУММА(Статистика.ОбщийВес) КАК ОбщийВес
ПОМЕСТИТЬ ОбщееКоличество_%ИмяОбъектаПоиска%
ИЗ
    Статистика_%ИмяОбъектаПоиска% КАК Статистика
;

ВЫБРАТЬ
    ВложенныйЗапрос.ОбъектПоиска
ИЗ
    (ВЫБРАТЬ
        Статистика.ОбъектПоиска КАК ОбъектПоиска,
        100 * Статистика.ОбщийВес / ОбщееКоличество.ОбщийВес КАК ВесПоСтатистике
    ИЗ
        Статистика_%ИмяОбъектаПоиска% КАК Статистика
        ЛЕВОЕ СОЕДИНЕНИЕ ОбщееКоличество_%ИмяОбъектаПоиска% КАК ОбщееКоличество
        ПО ИСТИНА) КАК ВложенныйЗапрос
ГДЕ
    ВложенныйЗапрос.ВесПоСтатистике > 50

Проверка настроек справочников НСИ

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

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

Способ 1. «Обучение» статистики в ходе текущей работы

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

Разберем по шагам, как переобучить алгоритм:

  1. Создаем новый документ реализации.
  2. Вручную выбираем на вкладке дополнительно/в реквизитах печати актуальное лицо с правом подписи (нового сотрудника). Проводим или сохраняем документ.
  3. Повторяем операцию еще для двух последовательно созданных документов.
  4. Когда в базе появятся 3 новых сохраненных документа с новым ответственным лицом, их доля в выборке последних 5 документов автора составит 60% (3 из 5).
  5. Начиная с 4-го документа система будет автоматически подставлять нового ответственного без ручного вмешательства.

Способ 2. Использование временных (черновых) документов

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

  1. Создаем под учетной записью пользователя 3 черновых непроведенных документа реализации с текущей датой и временем.
  2. В реквизитах печати каждого документа вручную указываем нового подписанта и записываем объекты.
  3. Теперь при создании реальных рабочих накладных статистика сразу вернет новое ответственное лицо.
  4. После того как пользователь оформит не менее 5 реальных документов с новым ответственным, временные черновые документы можно пометить на удаление. Поскольку запрос автозаполнения содержит условие НЕ ВидДокумента.ПометкаУдаления, помеченные объекты перестанут участвовать в расчете веса.

Способ 3. Программное отключение статистики или переопределение через расширение

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

Рассмотрим возможные варианты доработки:

  1. Исключение реквизита из автозаполнения по статистике: В функции ОбщегоНазначенияУТ.ТекстЗапросаСвойствАвтозаполнения можно удалить реквизиты ответственных лиц из структуры автоматически заполняемых полей. В таком случае система всегда будет обращаться к механизму считывания ответственных лиц по умолчанию на дату документа.
  2. Переопределение через расширение конфигурации: Создаем расширение и добавляем обработчик После или Вместо для процедуры ОбработкаЗаполнения соответствующего документа, где принудительно инициализируем реквизиты печати актуальными значениями из справочников ОтветственныеЛицаОрганизаций на дату формируемого документа.
← На главную