Как скрыть колонку Номенклатура поставщика в документе Поступление товаров и услуг

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

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

Почему изменение видимости в конфигураторе игнорируется?

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

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

Выясним, какими способами можно корректно скрыть это поле в зависимости от того, нужен ли этот функционал системе в целом или мешает только конкретному пользователю.

Способ 1: Отключение функциональной опции (Глобальный метод)

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

Разберем шаги по отключению:

  1. Перейдем в раздел НСИ и администрирование.
  2. Выберем пункт Номенклатура.
  3. Раскроем подраздел Дополнительная информация.
  4. Найдем флаг Номенклатура поставщиков и снимем его.

Важное замечание: Этот метод является радикальным. Рассмотрим последствия: система перестанет хранить сопоставления ваших товаров с товарами контрагентов. Это сделает невозможным автоматическое распознавание номенклатуры при загрузке документов через 1С:ЭДО или из внешних файлов. Если вы используете электронный документооборот, этот способ вам не подходит.

Способ 2: Пользовательская настройка формы (Индивидуальный метод)

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

Рассмотрим алгоритм действий для пользователя:

  1. Откроем документ Поступление товаров и услуг.
  2. Нажмем кнопку Ещё в правой верхней части формы и выберем пункт Изменить форму....
  3. В появившемся дереве элементов найдем группу Товары, а внутри нее — поле Номенклатура поставщика.
  4. Снимем галочку слева от названия этого поля.
  5. Нажмем ОК.

Теперь для данного пользователя колонка исчезнет, но данные в базе останутся, и другие сотрудники (например, менеджеры по закупкам, работающие с ЭДО) продолжат видеть эту информацию.

Способ 3: Программное скрытие через расширение (Для разработчиков)

Если стоит задача скрыть поле для всех пользователей сразу, но при этом сохранить работу функциональных опций (не отключая их в НСИ), наиболее правильным техническим решением будет использование Расширения конфигурации. Это позволит избежать изменения основной конфигурации и сохранит возможность легкого обновления.

Проанализируем пример кода, который необходимо разместить в модуле формы документа в расширении. Нам нужно перехватить процедуру ПриСозданииНаСервере:


&НаСервере
&После("ПриСозданииНаСервере")
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    // Находим элемент формы и принудительно скрываем его
    ЭлементНоменклатураПоставщика = Элементы.Найти("ТоварыНоменклатураПоставщика");
    Если ЭлементНоменклатураПоставщика <> Неопределено Тогда
        ЭлементНоменклатураПоставщика.Видимость = Ложь;
    КонецЕсли;
КонецПроцедуры

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

Групповое управление настройками пользователей

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

Резюме

Выясним, какой путь выбрать именно вам:

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

← На главную