Почему не отображается доработанная вкладка в справочнике «Контрагенты» в УТ 11?

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

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

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

Архитектурная причина: разделение Партнеров и Контрагентов

В конфигурации «Управление торговлей 11» реализовано четкое разделение управленческого и регламентированного учета контрагентов:

  1. Справочник «Партнеры» — отвечает за управленческий учет, отображает управленческую структуру холдингов, сетевых покупателей, филиалов и взаимоотношения с ними (CRM).
  2. Справочник «Контрагенты» — содержит данные о юридических и физических лицах с точки зрения законодательства (ИНН, КПП, банковские счета, официальные адреса).

В зависимости от настроек системы работа с этими справочниками может происходить совместно или раздельно. За это отвечает функциональная опция ИспользоватьПартнеровКакКонтрагентов.

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

Анализ программного кода перенаправления

Проанализируем модуль формы элемента справочника Контрагенты. В процедуре ПриОткрытии прописана следующая логика:


Процедура ПриОткрытии(Отказ)
    
    // СтандартныеПодсистемы.Свойства
    УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.Свойства
    
    Если ИспользоватьПартнеровКакКонтрагентов Тогда
        
        Отказ = Истина;
        ПараметрыФормы = Новый Структура;
        ПараметрыФормы.Вставить("Ключ", Объект.Партнер);
        ПараметрыФормы.Вставить("ИНН", Объект.ИНН);
        ПараметрыФормы.Вставить("Наименование", Объект.Наименование);
        
        ИмяФормыДляОткрытия = ?(Объект.Ссылка.Пустая(), "Форма.ПомощникНового", "ФормаОбъекта");
        ОткрытьФорму("Справочник.Партнеры." + ИмяФормыДляОткрытия, ПараметрыФормы, );
        Возврат;
    КонецЕсли;
КонецПроцедуры

В процедуре ПриСозданииНаСервере значение переменной инициализируется с помощью чтения функциональной опции:


ИспользоватьПартнеровКакКонтрагентов = ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов");

Таким образом, если значение функциональной опции равно Истина, форма справочника Контрагенты отменяет свое открытие (переменная Отказ = Истина) и вместо себя открывает форму объекта справочника Партнеры. Добавленные нами реквизиты и вкладки остаются на неактивной форме контрагента и физически не отображаются пользователю.

Корректная настройка режима ведения в «1С:Предприятие»

Значение функциональной опции ИспользоватьПартнеровКакКонтрагентов хранится в одноименной константе и регулируется пользовательской настройкой программы.

Важно: Не следует комментировать код в конфигураторе или вручную менять значение константы через отладчик, так как это нарушит целостность данных и синхронизацию пар «Партнер — Контрагент» при оформлении документов.

Для управления этим режимом выполним следующие шаги в режиме «1С:Предприятие»:

  1. Перейдем в раздел НСИ и администрирование.
  2. В блоке Настройка НСИ и разделов выберем пункт CRM и маркетинг.
  3. Найдем флажок Независимо вести партнеров и контрагентов:
    • Если флажок снят, включен совместный учет (работает функциональная опция ИспользоватьПартнеровКакКонтрагентов = Истина), и система открывает форму Партнера.
    • Если флажок установлен, учет ведется раздельно (ИспользоватьПартнеровКакКонтрагентов = Ложь), и при вызове контрагента открывается именно форма справочника Контрагенты.

Варианты решения задачи доработки

Выбор способа решения зависит от того, какой режим работы принят в конкретной базе данных:

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