Показ кодов маркировки в документах 1С ERP/УТ: мини-доработка управляемых форм, чтобы облегчить себе жизнь

03.09.24

Задачи пользователя - Адаптация типовых решений

Мы - производители табачной продукции. Огромное количество покупателей обращаются к нам за помощью при работе с маркировкой нашей табачной продукции и не только. При этом самая главная проблема в том, что пользователи просто не видят коды маркировки (далее КМ) в документах 1С и делают неправильные выводы. Приходится прибегать к скачиванию xml документов из ЭДО, где можно смотреть, сколько каких КМ добавлено в документ и в чем суть ошибок.

Я до сих пор не могу понять, почему 1С прячет от пользователя коды маркировки (КМ) в документах? Один значок в табличной части "Товары" - это все, что вам доступно.


Почему бы не сделать удобные инструменты для работы с КМ в документах: выгружать/загружать в текстовые файлы, осуществлять поиск документов по КМ, проверять через API и делать разбор данных и т.п.?
Это странная позиция 1С. Особенно, если учесть, что все для этого они уже сделали. Для хранения КМ в документах 1С предусмотрела специальную табличную часть "ШтрихкодыУпаковок", а сами КМ - это элементы справочника "ШтрихкодыУпаковокТоваров"

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

Создайте расширение конфигурации и приступим.

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

&НаСервере
Процедура ИТ_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)

	ИТ_ОбщиеИзмененияУФ.ВывестиТЧШтрихкодыУпаковок(ЭтаФорма);

КонецПроцедуры


Конечно, можно не добавлять в расширение конфигурации модули форм всех  документов, где используется маркировка, а вместо этого, использовать типовой вызов для всех документов, любезно предусмотренный компанией 1С, через общий модуль "МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере".
Однако помните, эта процедура вызывается со всех форм, и каждый раз вам придется проверять вид документа или непосредственно наличие табличной части "ШтрихкодыУпаковок" в метаданных документа. Сами выбирайте свой путь самурая, главное, чтоб вызывалась процедура "ВывестиТЧШтрихкодыУпаковок".

Итак.

Создаем общий модуль "ИТ_ОбщиеИзмененияУФ" и добавляем в нем вызываемую процедуру "ВывестиТЧШтрихкодыУпаковок".

Задача процедуры - программно вывести необходимую нам табличную часть на форму:

Процедура ВывестиТЧШтрихкодыУпаковок(ЭтаФорма) Экспорт
	
    ИТ_РаботаСУправляемойФормой.ДобавитьГруппу(ЭтаФорма,"ИТ_ГруппаШтрихкодыУпаковок","Штрихкоды упаковок","ГруппаСтраницы",ВидГруппыФормы.Страница);
    ИТ_РаботаСУправляемойФормой.ДобавитьТаблицу(ЭтаФорма,"ИТ_ШтрихкодыУпаковок","Штрихкоды упаковок", "ИТ_ГруппаШтрихкодыУпаковок","Объект.ШтрихкодыУпаковок");
	
    ИТ_РаботаСУправляемойФормой.ДобавитьПоле(ЭтаФорма,ВидПоляФормы.ПолеВвода,"НомерСтроки","№","ИТ_ШтрихкодыУпаковок","Объект.ШтрихкодыУпаковок.НомерСтроки");
    ИТ_РаботаСУправляемойФормой.ДобавитьПоле(ЭтаФорма,ВидПоляФормы.ПолеВвода,"ШтрихкодУпаковки","Штрихкод упаковки","ИТ_ШтрихкодыУпаковок","Объект.ШтрихкодыУпаковок.ШтрихкодУпаковки");
    ИТ_РаботаСУправляемойФормой.ДобавитьПоле(ЭтаФорма,ВидПоляФормы.ПолеВвода,"Номенклатура","Номенклатура","ИТ_ШтрихкодыУпаковок","Объект.ШтрихкодыУпаковок.ШтрихкодУпаковки.Номенклатура");
    ИТ_РаботаСУправляемойФормой.ДобавитьПоле(ЭтаФорма,ВидПоляФормы.ПолеВвода,"Характеристика","Характеристика","ИТ_ШтрихкодыУпаковок","Объект.ШтрихкодыУпаковок.ШтрихкодУпаковки.Характеристика");

    //Специальная роль "ИТ_РедактированиеТЧШтрихкодыУпаковок" с правами на редактирование кодов маркировки в документе
    ЭтаФорма.Элементы.ИТ_ШтрихкодыУпаковок.ТолькоПросмотр = НЕ Пользователи.РолиДоступны("ИТ_РедактированиеТЧШтрихкодыУпаковок");

    //Кнопки действий с КМ (не входит в тему нашей статьи)
    //ИТ_РаботаСУправляемойФормой.ДобавитьКоманду(ЭтаФорма,"ИТ_ВыгрузитьМаркерыИзДокументаВФайл","Выгрузить маркеры",ЭтаФорма.Элементы.ИТ_ШтрихкодыУпаковокКоманднаяПанель,"ИТ_ВыгрузитьМаркерыИзДокументаВФайл");
    //ЭтаФорма.Элементы.КнопкаИТ_ВыгрузитьМаркерыИзДокументаВФайл.Картинка = БиблиотекаКартинок.ИТ_ЗагрузитьФайл;
	
КонецПроцедуры

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

Но, если вы хотите подробности, то приводим пример реализации общего модуля  по работе с управляемыми формами:

 
 Работа с управляемой формой. Пример общего модуля "ИТ_РаботаСУправляемойФормой"

 

Создаем отдельную роль "ИТ_РедактированиеТЧШтрихкодыУпаковок", которая сможет работать с маркировкой, а для остальных данную табличную часть делаем только для просмотра. Это защита от дурных рук.

Попутно можно программно добавить команды на форму (в примере они закомментированы).

Получаем табличную часть с КМ, с которыми можно работать и анализировать

Пример вывода табличной части ШтрихкодыУпаковок

Вот так...5 минут и работать станет удобней.

 

А теперь минутка рекомендаций для 1С:

Я рекомендую 1С добавить инструменты по работе с КМ:

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

 

  • Определение номенклатуры по КМ.
    ERP умеет искать номенклатуру по штрихкодам, но не по КМ...а могла бы

     

Надеюсь, вместе мы сделаем 1С удобней для всех.

Управляемы формы маркировка

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5467    14    5    

24

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3776    10    0    

29

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    4955    dimanich70    15    

21

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    4862    dimanich70    8    

18
Оставьте свое сообщение