При работе в современных конфигурациях на платформе 1С:Предприятие 8.3, таких как Управление торговлей 11 (УТ 11), ERP 2 или Комплексная автоматизация (КА), пользователи часто сталкиваются с тем, что колонка Артикул отсутствует в табличных частях документов (Заказ клиента, Реализация товаров и услуг и др.). Настройка «Изменить форму» для каждого отдельного пользователя крайне трудозатратна, особенно если в штате сотни сотрудников. Разберем детально, почему эта колонка скрыта и какими способами можно включить ее отображение глобально для всей системы.
В старых версиях (например, УПП 1.3 или УТ 10.3) существовала глобальная константа Дополнительная колонка печатных форм, которая иногда влияла и на отображение в формах. В управляемых формах ситуация иная. Если мы откроем конфигуратор и посмотрим на элемент формы ТоварыНоменклатураАртикул, мы увидим, что свойство Видимость установлено в значение Истина. Однако при запуске программы колонка всё равно не отображается.
Проанализируем причину. Все дело в свойстве Пользовательская видимость. В типовых конфигурациях 1С для многих ролей флажки видимости этого реквизита сняты по умолчанию. Система 1С при первом открытии формы конкретным пользователем сохраняет эти настройки в его личный кэш. Поэтому даже изменение «общей» видимости в конфигураторе не всегда дает результат — настройки пользователя имеют приоритет.
Рассмотрим наиболее надежный и современный метод — использование расширения. Этот способ позволяет принудительно включить видимость колонки программным кодом, не снимая основную конфигурацию с поддержки. Нам необходимо перехватить событие ПриСозданииНаСервере для форм документов.
Рассмотрим пример кода, который можно разместить в общем модуле расширения (с установленными флагами «Вызов сервера» и «Клиент»):
&НаСервере
Процедура Инт_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
// Попробуем найти колонку Артикул в табличной части Товары
ЭлементАртикул = ЭтаФорма.Элементы.Найти("ТоварыНоменклатураАртикул");
Если ЭлементАртикул <> Неопределено Тогда
// Принудительно устанавливаем видимость
ЭлементАртикул.Видимость = Истина;
// Важно: переопределяем пользовательскую видимость для всех ролей
ЭлементАртикул.УстановитьПользовательскуюВидимость(Истина);
КонецЕсли;
КонецПроцедуры
Для того чтобы не прописывать этот код в каждой форме, воспользуемся механизмом подписки на события или создадим в расширении общую форму, если это уместно. Однако в последних версиях платформы (начиная с 8.3.15) можно просто добавить нужные формы документов в расширение и в окне свойств элемента ТоварыНоменклатураАртикул вручную проставить все галочки в пункте Пользовательская видимость для всех ролей. Это самый «чистый» способ с точки зрения разработки.
Если в вашей компании не принято использовать расширения для изменения интерфейса, воспользуемся административным методом. Разберем по шагам, как настроить одну форму и «раздать» её всем остальным пользователям:
Товары — Номенклатура — Артикул и установим флажок. Нажмем ОК. Теперь у администратора колонка видна.Важный нюанс: Чтобы настройки успешно применились, у пользователей в этот момент должны быть закрыты окна редактируемых документов. Иначе система может перезаписать настройки при закрытии сеанса пользователя.
Проанализируем ситуацию для конфигурации 1С:Розница 2.3/3.0. Здесь разработчики предусмотрели штатную «галочку», которой нет в УТ 11. Чтобы включить артикул глобально без программирования, выполним следующие действия:
Перейдем в раздел Администрирование — Настройки номенклатуры. Развернем подраздел Общие параметры. Найдем пункт Дополнительная колонка при отображении номенклатуры и установим переключатель в положение Артикул. После этого колонка появится автоматически во всех документах и справочниках.
В сложных системах на базе ERP видимость колонок может управляться динамически в зависимости от функциональных опций. Проверим, не задействованы ли они в вашем случае. Если в системе отключена опция Использовать несколько видов номенклатуры или включены строгие настройки поиска, артикул может скрываться кодом самой конфигурации в процедуре ПриСозданииНаСервере.
Для гарантированного результата в расширении рекомендуется использовать метод УстановитьПользовательскуюВидимость(Истина) в самом конце программного потока создания формы, чтобы ваши настройки не были перекрыты типовыми алгоритмами БСП.
Выясним, какой метод выбрать именно вам:
Если вы программист и хотите решить задачу один раз и навсегда для всех будущих пользователей — используйте расширение с изменением свойства Пользовательская видимость или программным кодом. Это предотвратит «слетание» настроек при очистке кэша пользователя.
Если вы системный администратор и вам нужно быстро включить колонку без внесения изменений в код — используйте механизм Копирования настроек в разделе «Обслуживание».
Помните, что настройки Печатных форм (НСИ и Администрирование — Продажи — Печать документов) влияют только на бумажные или PDF-версии документов и никак не связаны с отображением данных на мониторе пользователя в табличной части.