После проведения очередного обновления конфигурации «1С:Управление торговлей» (начиная с версий 11.4 и выше, включая современные релизы УТ 11.5) системные администраторы и разработчики часто сталкиваются с жалобами пользователей. Суть проблемы проста: из интерфейса справочника контрагентов пропадает привычная кнопка «Создать нового» (или прямое создание элемента), а вместо нее остается только стандартная кнопка «Создать», которая принудительно запускает «Помощник регистрации нового партнера».
Для многих операторов и менеджеров по продажам использование помощника ввода неудобно, так как он требует обязательного заполнения контактных данных (телефона, e-mail) и выполняет множество дополнительных проверок, замедляя оперативную работу. В этой статье мы подробно разберем, почему возникает эта проблема, в чем заключается разница между механизмами создания объектов и какими способами можно вернуть привычную кнопку быстрого создания в интерфейс программы.
Прежде чем переходить к техническим решениям, проанализируем внутреннюю архитектуру справочников «1С:Управление торговлей 11». В системе разделены понятия юридического лица (справочник Контрагенты) и управленческого объекта (справочник Партнеры). По умолчанию в системе заложено два сценария создания новых контрагентов:
Рассмотрим по шагам три основных метода решения этой проблемы: от простых настроек в пользовательском режиме до программирования в конфигураторе и создания расширения.
Очень часто при обновлении информационной базы происходит автоматический сброс кэша пользовательских настроек форм. В результате платформа скрывает некоторые команды, перенося их в подменю дополнительных действий. Выясним, как вернуть кнопку силами самого пользователя без обращения к конфигуратору:
Если после выполнения этих действий кнопка не появилась или элемент «Создать нового» отсутствует в списке настройки формы, значит, проблема лежит глубже — на уровне прав доступа и командного интерфейса конфигурации.
Проанализируем ситуацию, когда у пользователя физически нет прав на вызов стандартной команды создания в обход помощника. Для этого нам понадобится открыть базу в режиме Конфигуратора.
Перейдем в дерево метаданных и найдем роли, назначенные проблемному пользователю (например, «Менеджер по продажам» или специально созданная роль для ввода нормативно-справочной информации).
Для корректной работы прямой кнопки создания у роли на справочники Партнеры и Контрагенты должны быть установлены следующие права:
Добавление (Insert) — позволяет программно создавать новые элементы.Интерактивное добавление (Interactive insert) — именно это право отвечает за видимость кнопки создания на формах списков. Если галочка «Интерактивное добавление» снята, платформа автоматически скроет все кнопки прямого добавления для данного пользователя.Еще одна частая причина исчезновения команд после обновления — изменение настроек видимости в командном интерфейсе подсистем. Чтобы исправить это, выполним следующие шаги:
Продажи или НСИ).Контрагенты (или Партнеры).Также проверим свойство самого справочника Контрагенты в конфигураторе. На вкладке «Основные» должно быть активно свойство «Использовать стандартные команды». Без этого флага платформа не сможет выводить стандартные кнопки добавления на управляемые формы.
Если ваши пользователи категорически отказываются работать с «Помощником регистрации нового партнера» и хотят, чтобы стандартная большая кнопка «Создать» сразу открывала обычную карточку контрагента (без лишних проверок, требований заполнения телефонов и email), лучшим решением будет использование механизма расширений конфигурации. Это позволит сохранить базу на поддержке и не вносить изменения в основную конфигурацию.
Давайте реализуем программный обход помощника. Для этого создадим расширение конфигурации и переопределим поведение формы списка справочника партнеров (так как в УТ 11 создание контрагента тесно связано с созданием партнера).
Рассмотрим пример кода, который необходимо поместить в расширение. Мы будем перехватывать событие перед началом добавления нового элемента на форме списка:
&Вместо("ПартнерыФормаСпискаВыбораСписокПередНачаломДобавления")
Процедура ИмяПрефикса_ПартнерыФормаСпискаВыбораСписокПередНачаломДобавления(Форма, Элемент, Отказ, Копирование, Родитель, Группа, Основание)
// Если происходит копирование существующего элемента, стандартный помощник не вызывается
Если Копирование Тогда
Возврат;
КонецЕсли;
// Блокируем стандартный запуск Помощника ввода
Отказ = Истина;
// Открываем напрямую стандартную карточку создания нового партнера
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначениеЗаполнения", Новый Структура("ЮридическоеФизическоеЛицо", ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ЮрЛицо")));
ОткрытьФорму("Справочник.Партнеры.ФормаОбъекта", ПараметрыФормы, Форма);
КонецПроцедуры
Разберем подробнее, как работает этот код. При нажатии кнопки «Создать» срабатывает событие ПередНачаломДобавления. Мы устанавливаем параметр Отказ = Истина, чтобы стандартный механизм платформы (который в типовом коде вызывает Помощник регистрации через общий модуль ПартнерыИКонтрагентыКлиент) прекратил свою работу. Вместо этого мы принудительно вызываем метод ОткрытьФорму для обычной формы объекта справочника Партнеры, передавая туда необходимые параметры заполнения по умолчанию.
Использование расширения гарантирует, что при последующих обновлениях «1С:Управление торговлей» вам не придется заново настраивать интерфейсы пользователей вручную — кнопка быстрого создания будет работать всегда и у всех учетных записей, которым это разрешено правами доступа.