УТ 11.1 Простые примеры: Печать этикетки из карточки товара






Быстро, просто и удобно, а главное логично)

Не знаю как вам, а моим клиентам нередко хочется напечатать этикетку на товар в пару-тройку кликов!

Для более глубокого понимания проблемы опишу необходимые действия в типовой конфигурации:

Продажи, Печать этикеток и ценников, Установить режим печати: Печать этикеток (если до вас кто-то печатал ценники, а он их обязательно печатал, этот кто-то)). Далее добавляем строку, ищем в списке нужный товар, взводим галку Выбран, выбираем Шаблон этикетки, указываем Количество один, и вот она долгожданная кнопка Печать.

Поправьте меня, пожалуйста, если в типовой конфигурации есть более простой путь или он появится в более поздних версиях (на момент написания 11.1.6.20).

Итак, задача:

Печатать этикетку из карточки товара в три клика.

Решение:

Найти товар и выбрать нужный штрих-код пользователю всё равно предстоит самостоятельно, а потому переходим сразу в Основную форму записи Регистра сведений Штрихкоды номенклатуры см. рис. 1.

Создаём команду ПечатьШтрихкода и размещаем её под кнопкой НовыйШтрихкод, действие команды создаём на клиенте.

В созданной конструктором процедуре размещаем текст:

                ПараметрКоманды = Новый Массив;
ПараметрКоманды.Добавить(ПредопределенноеЗначение("Справочник.Номенклатура.ПустаяСсылка"));
ИменаМакетов = "ЭтикеткаТовары";

УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
"Обработка.ПечатьЭтикетокИЦенников",
ИменаМакетов,
ПараметрКоманды,
ЭтаФорма,
ПолучитьПараметрыПечатиШтрихКода(Запись.Номенклатура, Запись.Штрихкод));

См. рис. 3.

А следом за это процедурой размещаем функцию

ПолучитьПараметрыПечатиШтрихКода(Номенклатура, Штрихкод)

Её текст полностью видно на рисунке 4 или можно скачать вложением к статье, мне стармани – вам законный копипаст).

Теперь одно условие: в программе должен быть шаблон с именем «Этикетка» так как он используется в тексте предопределённо, поиском по наименованию (на рисунке подчёркнуто красным). Это не совсем правильно и лучше организовать выбор шаблона в процедуре на клиенте, но с целью упростить решение я сознательно делаю такое отступление от правил.

Создать шаблон «Этикетка» можно в меню Администрирование, Печатные формы отчеты и обработки, Шаблоны этикеток и ценников, см. рис. 6.

Всё. Сохраняем, запускаем, проверяем: Продажи, Номенклатура, находим и открываем требуемый товар.

Теперь считаем: 1 – перейти «Штрихкоды номенклатуры» (слева), 2 – открываем нужный штрих-код в списке, 3 – нажимаем «Печать штрихкода».

Задача решена и, надеюсь, довести до ума её будет гораздо легче, чем создавать с нуля.

3 Comments

  1. killovolt

    Печать этикеток из карточки товара для Розницы 2.0 реализовал через механизм дополнительных обработок в публикации http://infostart.ru/public/241486/ Возможно в УТ11 можно сделать аналогично.

    Reply
  2. Yury1001

    (1) killovolt, Конечно же, можно, но цель этой серии статей «УТ 11.1 Простые примеры» показать несложные приёмы настройки самой конфигурации, а если чуть позже я сделаю печать ценника из карточки товара – она обязательно будет внешней обработкой).

    Reply
  3. JaroslavBayev

    У меня выпадает в ошибку:

    Для Каждого ВременнаяПечатнаяФорма Из ВременнаяКоллекцияДляОднойПечатнойФормы Цикл
    Если ВременнаяПечатнаяФорма.ТабличныйДокумент <> Неопределено Тогда
    ПечатнаяФорма = КоллекцияПечатныхФорм.Добавить();
    ЗаполнитьЗначенияСвойств(ПечатнаяФорма, ВременнаяПечатнаяФорма);
    Если ВременнаяКоллекцияДляОднойПечатнойФормы.Количество() = 1 Тогда
    ПечатнаяФорма.ИмяМакета = ИмяМакета;
    ПечатнаяФорма.ИмяВРЕГ = ВРег(ИмяМакета);
    КонецЕсли;
    Иначе
    // возникла ошибка при формировании печатной формы
    Отказ = Истина;
    КонецЕсли;
    КонецЦикла;
    
    // вызов исключения при возникновении ошибки
    Если Отказ Тогда
    ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
    НСтр(«ru=’При формировании печатной формы «»%1″» возникла ошибка. Обратитесь к администратору.’;uk=’При формуванні друкованої форми «»%1″» виникла помилка. Зверніться до адміністратора.'»), ИмяМакета);
    ВызватьИсключение ТекстСообщенияОбОшибке;
    КонецЕсли;

    Показать

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *