Как настроить и расширить список выбора адресов доставки в заказе клиента 1С:УТ 11

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

При работе с документом «Заказ клиента» в программе «1С:Управление торговлей 11» пользователи часто сталкиваются с тем, что в поле «Адрес доставки» выпадающий список (тот, что открывается при нажатии на «треугольник») содержит не все нужные адреса или, наоборот, переполнен старыми данными. В этой статье мы подробно разберем механизмы формирования этого списка и выясним, как можно добавить в него свои значения или очистить историю.

Механизмы формирования списка выбора адресов

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

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

Включение расширенного справочника «Адреса доставки»

Если стандартного функционала (когда адреса берутся только из карточки партнера) недостаточно, давайте рассмотрим возможность включения специализированного справочника. В современных версиях УТ 11 предусмотрена отдельная функциональная опция.

Для активации выполним следующие шаги:

  1. Перейдем в раздел «НСИ и администрирование».
  2. Выберем пункт «Настройка НСИ и разделов», далее — «Продажи».
  3. Найдем и установим флаг «Адреса доставки».

После включения этой настройки в карточке партнера появится гиперссылка или отдельная вкладка «Адреса доставки». Теперь мы можем создать там неограниченное количество точек выгрузки. Все адреса, внесенные в этот справочник, будут гарантированно отображаться в выпадающем списке при создании заказа данному клиенту.

Управление количеством строк и историей выбора

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

Количество элементов в выпадающем списке ограничено на уровне платформы 1С:Предприятие (обычно это 10–15 позиций). Если список переполнен, новые адреса могут просто не отображаться. Чтобы очистить историю, которая мешает работе, можно воспользоваться стандартным инструментом:

Перейдите в меню «Сервис» — «Настройки» — «Очистка настроек». Там можно выбрать конкретного пользователя и очистить «Историю выбора» для полей ввода. Это позволит системе начать сбор статистики «с чистого листа».

Техническая реализация (для разработчиков)

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

В современных конфигурациях на базе БСП (Библиотека стандартных подсистем) наполнение списка происходит через механизм ОбработкаПолученияДанныхВыбора. Чтобы внедрить свои данные, мы можем создать расширение и перехватить этот метод в менеджере объекта или использовать событие АвтоПодбор на форме документа.

Пример логики перехвата данных выбора через расширение (общий принцип):


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Устанавливаем параметры получения данных выбора
    ПараметрыВыбораАдреса = Новый Структура;
    ПараметрыВыбораАдреса.Вставить("Партнер", Объект.Партнер);
    // Дополнительная логика фильтрации
КонецПроцедуры

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

Особенности адресов в «свободной форме»

Выясним причину, почему иногда введенный вручную адрес не сохраняется в списке. Если адрес вводится не через классификатор (ФИАС/ГАР), а просто текстом, система может не распознать его как полноценный объект контактной информации. Важный момент: для стабильного появления в списке выбора адрес должен быть не просто набран в поле, а зафиксирован в базе данных документа. Если документ просто записан, но не проведен, или если возникла ошибка валидации адреса, платформа может не добавить его в историю выбора.

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

← На главную