Как вывести артикул в табличной части заказа клиента в УТ 11.3 для всех пользователей

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

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

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

Способ 1. Создание пользователя-шаблона и копирование настроек (без программирования)

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

Рассмотрим по шагам, как настроить этот процесс:

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

Что делать с новыми пользователями? При создании нового сотрудника в системе администратору достаточно зайти в форму копирования настроек и за 10 секунд скопировать интерфейс от пользователя ШаблонНастроек новому коллеге. Это исключает необходимость заходить под учетной записью сотрудника и настраивать форму вручную.

Способ 2. Добавление колонки через Конфигуратор (прямое изменение метаданных)

Если конфигурация вашей информационной базы уже открыта для редактирования, самым надежным способом будет добавление реквизита на форму через Конфигуратор. В этом случае колонка артикула жестко прописывается в структуре интерфейса и гарантированно отображается у 100% пользователей (как старых, так и новых) сразу после обновления базы данных без выполнения дополнительных административных действий.

Проанализируем алгоритм выполнения этой доработки:

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

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

Способ 3. Использование расширения и программный вывод колонки

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

Для реализации этого метода выполните следующие действия:

  1. Перейдите в меню Конфигурация — Расширения конфигурации и создайте новое расширение (например, с именем ВыводАртикулаВЗаказе).
  2. Добавьте в созданное расширение документ ЗаказКлиента и его форму ФормаДокумента.
  3. Откройте модуль формы документа в расширении и перейдите к обработчику события ПриСозданииНаСервере. Нам потребуется дописать процедуру-перехватчик с аннотацией &После.

Приведем пример программного кода, который динамически создает колонку артикула на форме при ее инициализации для любого пользователя:


&После("ПриСозданииНаСервере")
Процедура Расш1_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Проверим, не была ли колонка уже добавлена ранее разработчиками
    Если Элементы.Найти("ТоварыНоменклатураАртикул") = Неопределено Тогда
        
        // Создаем новый элемент формы типа ПолеФормы внутри таблицы Товары
        НоваяКолонка = Элементы.Добавить("ТоварыНоменклатураАртикул", Тип("ПолеФормы"), Элементы.Товары);
        
        // Задаем вид поля - Поле ввода (текстовое поле только для чтения)
        НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
        
        // Прописываем путь к данным через реквизит табличной части Номенклатура
        НоваяКолонка.ПутьКДанным = "Объект.Товары.Номенклатура.Артикул";
        
        // Задаем понятный заголовок и настраиваем ширину
        НоваяКолонка.Заголовок = "Артикул";
        НоваяКолонка.Ширина = 15;
        
        // Запрещаем редактирование поля прямо в таблице, так как артикул берется из справочника
        НоваяКолонка.ТолькоПросмотр = Истина;
        
        // Перемещаем созданную колонку в начало таблицы, поближе к наименованию товара
        Элементы.Переместить(НоваяКолонка, Элементы.Товары, Элементы.ТоварыНоменклатура);
        
    КонецЕсли;
    
КонецПроцедуры

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

Способ 4. Настройка отображения артикула в печатных формах

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

В программе 1С:Управление торговлей 11.3 предусмотрена глобальная константа для управления этим поведением:

  1. Перейдите в главное меню: НСИ и администрирование — Продажи.
  2. Прокрутите список настроек вниз до подраздела Печать документов.
  3. Найдите опцию Дополнительная колонка печатных форм.
  4. По умолчанию в ней может быть установлено значение «Код» или «Не выводить». Выберите из выпадающего списка вариант «Артикул».

Эта настройка применяется мгновенно для всей информационной базы и начинает действовать для всех пользователей (как существующих, так и созданных в будущем). При печати Заказа клиента или Счета на оплату колонка с артикулом будет выводиться автоматически.

← На главную