Как вернуть контрагента на верхний уровень иерархии в 1С:Управление торговлей 11?

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

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

Анализ архитектуры справочников в УТ 11

Прежде чем исправлять ошибку, разберем, как устроена работа со списком контрагентов в современных редакциях. В отличие от старой версии 10.3, где использовалась классическая иерархия «Группы и элементы» (папки), в УТ 11.4 реализована иерархия элементов. Это означает, что любой контрагент может стать «родителем» для другого контрагента. Чаще всего это используется для отражения структуры холдинга или выделения обособленных подразделений.

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

Способ 1: Очистка реквизита в карточке контрагента

Это самый прямой и эффективный метод, подтвержденный участниками обсуждения. Для выполнения операции проделаем следующие шаги:

  1. Найдем нашего подчиненного контрагента (того, который был перенесен по ошибке) в списке.
  2. Откроем его карточку двойным кликом мыши.
  3. Разберем содержимое формы. Нам необходимо найти поле Головное предприятие (в некоторых версиях или при использовании партнеров оно может называться Входит в холдинг).
  4. Если поле заполнено названием другого контрагента, нажмем на кнопку с изображением «крестика» в правой части этого поля, чтобы очистить значение.
  5. Нажмем Записать и закрыть.

После этого объект автоматически исчезнет из-под «родительского» элемента и появится на самом верхнем уровне справочника. Рассмотрим важный нюанс: если вы переносили данные из УТ 10.3, поле может быть заблокировано для редактирования. Чтобы избежать блокировки полей и других ошибок при переезде, используется автоматизированный перенос данных из УТ 10.3 в УТ 11.

Разрешение редактирования реквизитов

В конфигурациях на управляемых формах (таких как УТ 11, ERP, КА 2) редактирование ключевых полей часто ограничено программно, чтобы избежать случайного нарушения целостности данных. Если поле «Головное предприятие» серое и не дает нажать на крестик, выполним следующие действия:

Зайдем в меню Еще в верхней части карточки контрагента и выберем пункт Разрешить редактирование реквизитов. В появившемся окне подтвердим действие, найдем в списке Головное предприятие и установим флажок «Разрешить». После этого поле станет доступным для очистки.

Способ 2: Групповое изменение реквизитов

Если стандартное перетаскивание не работает, а заходить в каждую карточку долго, воспользуемся мощным инструментом Групповое изменение реквизитов. Этот метод позволяет принудительно изменить «родителя» у выбранных объектов.

Проанализируем алгоритм:

  1. В списке контрагентов выделим нужного контрагента (или нескольких) правой кнопкой мыши.
  2. Выберем команду Изменить выделенные....
  3. В открывшемся окне найдем реквизит Родитель (для партнеров) или Головное предприятие (для контрагентов).
  4. Установим галочку напротив этого реквизита, а в колонке «Новое значение» оставим поле пустым.
  5. Нажмем кнопку Изменить реквизиты.

Пустое значение в поле «Родитель» для системы означает, что объект находится на самом верхнем уровне иерархии (в корне).

Особенности при миграции из версии 10.3

Рассмотрим ситуацию, упомянутую в обсуждении: данные были перенесены из старой редакции 10.3. В старых версиях активно использовались группы (папки). В новой редакции 11.4 логика иная. При переносе система могла создать сложную структуру связей Партнеры — Контрагенты.

Важно помнить, что в УТ 11 разделены управленческие сущности (Партнеры) и юридические лица (Контрагенты). Если у вас включена опция «Независимо вести партнеров и контрагентов», то перемещение контрагента в списке может не отобразиться в справочнике партнеров. Проанализируем настройки программы в разделе НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг, чтобы убедиться, какая модель учета используется.

Программный способ исправления (для разработчиков)

Если визуальные методы не помогают (например, из-за специфических ошибок в базе), можно воспользоваться небольшой обработкой или встроенной консолью кода. Посмотрим на пример кода, который очищает головную организацию для конкретного объекта:


// Пример очистки головной организации для справочника Контрагенты
ОбъектКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("Ваше ПАО").ПолучитьОбъект();
Если ОбъектКонтрагент <> Неопределено Тогда
    ОбъектКонтрагент.ГоловноеПредприятие = Справочники.Контрагенты.ПустаяСсылка();
    // Снимаем флаг обособленного подразделения, если он был установлен автоматически
    ОбъектКонтрагент.ОбособленноеПодразделение = Ложь;
    ОбъектКонтрагент.Записать();
    Сообщить("Контрагент успешно вынесен на верхний уровень");
КонецЕсли;

Этот код программно устанавливает реквизит ГоловноеПредприятие в состояние «Пустая ссылка», что гарантированно возвращает элемент в корень списка.

Проверка режима просмотра списка

Иногда пользователю кажется, что контрагент «никуда не делся», потому что в списке не видна вложенность. Выясним причину: в 1С существует три режима просмотра списков:

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

Подведем итог: для решения проблемы случайного перемещения в УТ 11 чаще всего достаточно просто очистить поле Головное предприятие в карточке «пострадавшего» контрагента. Это разорвет иерархическую связь и вернет объект на привычное место в общем списке.

← На главную