Как глобально включить отображение артикула в табличных частях документов 1С

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

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

Анализ проблемы: почему стандартная настройка не помогает

В старых версиях (например, УПП 1.3 или УТ 10.3) существовала глобальная константа Дополнительная колонка печатных форм, которая иногда влияла и на отображение в формах. В управляемых формах ситуация иная. Если мы откроем конфигуратор и посмотрим на элемент формы ТоварыНоменклатураАртикул, мы увидим, что свойство Видимость установлено в значение Истина. Однако при запуске программы колонка всё равно не отображается.

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

Способ 1. Программное включение через расширение конфигурации

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

Рассмотрим пример кода, который можно разместить в общем модуле расширения (с установленными флагами «Вызов сервера» и «Клиент»):


&НаСервере
Процедура Инт_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    // Попробуем найти колонку Артикул в табличной части Товары
    ЭлементАртикул = ЭтаФорма.Элементы.Найти("ТоварыНоменклатураАртикул");
    Если ЭлементАртикул <> Неопределено Тогда
        // Принудительно устанавливаем видимость
        ЭлементАртикул.Видимость = Истина;
        // Важно: переопределяем пользовательскую видимость для всех ролей
        ЭлементАртикул.УстановитьПользовательскуюВидимость(Истина);
    КонецЕсли;
КонецПроцедуры

Для того чтобы не прописывать этот код в каждой форме, воспользуемся механизмом подписки на события или создадим в расширении общую форму, если это уместно. Однако в последних версиях платформы (начиная с 8.3.15) можно просто добавить нужные формы документов в расширение и в окне свойств элемента ТоварыНоменклатураАртикул вручную проставить все галочки в пункте Пользовательская видимость для всех ролей. Это самый «чистый» способ с точки зрения разработки.

Способ 2. Глобальное копирование настроек пользователям

Если в вашей компании не принято использовать расширения для изменения интерфейса, воспользуемся административным методом. Разберем по шагам, как настроить одну форму и «раздать» её всем остальным пользователям:

  1. Зайдем в систему под пользователем с правами Администратор.
  2. Откроем нужный документ (например, Реализация товаров и услуг).
  3. Нажмем Еще — Изменить форму.
  4. Найдем в дереве элементов Товары — Номенклатура — Артикул и установим флажок. Нажмем ОК. Теперь у администратора колонка видна.
  5. Перейдем в раздел НСИ и Администрирование — Обслуживание — Управление настройками пользователей.
  6. Выберем вкладку Копирование настроек.
  7. В поле «От кого» выберем Администратора.
  8. В поле «Кому» выберем Все пользователи (или определенную группу).
  9. В списке настроек выберем только Настройки внешнего вида и найдем в списке форму документа реализации.
  10. Нажмем кнопку Копировать и заменить.

Важный нюанс: Чтобы настройки успешно применились, у пользователей в этот момент должны быть закрыты окна редактируемых документов. Иначе система может перезаписать настройки при закрытии сеанса пользователя.

Способ 3. Особенности настройки в 1С:Розница

Проанализируем ситуацию для конфигурации 1С:Розница 2.3/3.0. Здесь разработчики предусмотрели штатную «галочку», которой нет в УТ 11. Чтобы включить артикул глобально без программирования, выполним следующие действия:

Перейдем в раздел Администрирование — Настройки номенклатуры. Развернем подраздел Общие параметры. Найдем пункт Дополнительная колонка при отображении номенклатуры и установим переключатель в положение Артикул. После этого колонка появится автоматически во всех документах и справочниках.

Способ 4. Использование Библиотеки стандартных подсистем (БСП)

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

Для гарантированного результата в расширении рекомендуется использовать метод УстановитьПользовательскуюВидимость(Истина) в самом конце программного потока создания формы, чтобы ваши настройки не были перекрыты типовыми алгоритмами БСП.

Резюме и рекомендации

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

Если вы программист и хотите решить задачу один раз и навсегда для всех будущих пользователей — используйте расширение с изменением свойства Пользовательская видимость или программным кодом. Это предотвратит «слетание» настроек при очистке кэша пользователя.

Если вы системный администратор и вам нужно быстро включить колонку без внесения изменений в код — используйте механизм Копирования настроек в разделе «Обслуживание».

Помните, что настройки Печатных форм (НСИ и Администрирование — Продажи — Печать документов) влияют только на бумажные или PDF-версии документов и никак не связаны с отображением данных на мониторе пользователя в табличной части.

← На главную