При работе в программе 1С:Управление торговлей 11 (а также в 1С:ERP и 1С:Комплексная автоматизация) менеджеры часто сталкиваются с жестким требованием системы: при вводе нового контрагента или партнера программа в обязательном порядке требует указать телефон или адрес электронной почты. Без этих данных записать карточку клиента невозможно.
Давайте выясним причину такого поведения системы. Разработчики фирмы 1С сознательно внедрили этот механизм в специальную обработку — Помощник регистрации нового партнера. На основе контактных данных система выполняет автоматический поиск дублей в базе, помогая избежать замусоривания справочника одинаковыми карточками. Однако на практике менеджер может просто не обладать контактами клиента на этапе его создания. Ниже мы подробно рассмотрим, как решить эту проблему различными методами.
Для начала разберем по шагам, как отключить обязательность полей на уровне настроек самих реквизитов контактной информации. Это необходимое действие, хотя само по себе оно не решает проблему работы Помощника полностью.
Партнеры (или Контрагенты).Проанализируем ситуацию: после выполнения этих действий при редактировании уже созданной карточки партнера программа больше не будет требовать контакты. Однако при создании нового партнера через встроенного Помощника система всё равно продолжит выдавать ошибку. Это связано с тем, что проверка жестко прописана в программном коде самого Помощника.
Чтобы обойти жесткое ограничение Помощника в пользовательском режиме без программирования, нам необходимо открывать обычную (стандартную) форму создания элемента справочника Партнеры напрямую. В стандартной форме проверки на дубли по контактам нет.
Рассмотрим подробнее, как задействовать этот механизм:
Право ввода информации о партнере без контроля (или у него должны быть установлены Полные права). Если этой роли нет, кнопка прямого создания будет скрыта.Если вам требуется, чтобы стандартный Помощник регистрации продолжал работать, но просто перестал ругаться на пустые контакты, лучшим решением будет использование механизма расширений. Это позволит сохранить конфигурацию на поддержке и избежать сложностей при обновлениях.
Посмотрим на пример кода, который можно внедрить в расширение для обхода стандартной валидации в форме Помощника регистрации. Нам потребуется перехватить процедуру проверки заполнения реквизитов в модуле формы ПомощникРегистрацииНовогоПартнера:
&Вместо("ПроверитьЗаполнениеКонтактнойИнформации")
Процедура Расш_ПроверитьЗаполнениеКонтактнойИнформации(Отказ)
// Отменяем стандартную проверку заполненности телефона и адреса электронной почты
// Устанавливаем Отказ в Ложь, чтобы система пропустила пользователя на следующий шаг
Отказ = Ложь;
КонецПроцедуры
Также разработчики часто используют расширения для автоматической подстановки временных данных. Расширение может перехватывать событие записи и, если контакты не заполнены, автоматически подставлять в скрытые поля предопределенные заглушки, избавляя пользователя от рутины.
Если у пользователей нет прав на обход Помощника (роли Право ввода информации о партнере без контроля), а расширение установить нет возможности (например, используется базовая версия программы), менеджеры применяют простой обходной путь. При создании нового партнера в поле телефона вводится любой символ (например, цифра 0), а в поле email — временный адрес заглушки вида no@mail.ru. Это позволяет мгновенно пройти проверку Помощника и успешно сохранить карточку клиента.