Повторная печать кодов маркировки из Заказа на эмиссию кодов маркировки СУЗ и вывод полных кодов маркировки

14.11.24

Задачи пользователя - Этикетки, ценники

При типовом поведении, как минимум, для некоторых категорий товаров, после нанесения кодов маркировки и уведомления об этом CRPT (Честный знак), теряется возможность повторно распечатать коды, из-за их утери или повреждения. Это можно исправить.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Как повторно печатать коды маркировки из Заказа на эмиссию кодов маркировки СУЗ и выводить полные коды маркировки:
.cfe 33,29Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.

Для некоторых категорий, например, для антисептиков, при заказе кодов маркировки через Документ.ЗаказНаЭмиссиюКодовМаркировкиСУЗ (далее "Заказ"), обязательным является и Документ.МаркировкаТоваровИСМП (далее "Маркировка"). При передаче Маркировки в ИС МП, из РегистрыСведений.ПулКодовМаркировкиСУЗ (далее "Пул") удаляются заказанные ранее коды. Так же, передача Маркировки является подтверждением нанесения кодов на товар.

Иногда случается, что уже распечатанные из Заказа коды могут потеряться, повредиться или быть наклеены неправильно (не туда). Если к этому моменту уже был передан документ Маркировка, то придётся заказывать новые небесплатные коды.

При попытке снова распечатать коды, вы увидите сообщение вида "По заказу "Заказ на эмиссию кодов маркировки СУЗ ХХХХХХ от ХХХХХХХХ" коды маркировки отсутствуют. Возможно, коды уже введены в оборот и удалены из пула."

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

Сделать это можно, например, добавлением в расширение метода ОчисткаПулаКодовМаркировкиПоОтчетуОНанесении (с аннотацией &Вместо) из модуля менеджера упомянутого выше регистра сведений; а потом закомментаровав строку "ПродолжитьВызов(КодыМаркировки);".

Должно получиться примерно так:
 

&Вместо("ОчисткаПулаКодовМаркировкиПоОтчетуОНанесении")
Процедура МаркХ_ОчисткаПулаКодовМаркировкиПоОтчетуОНанесении(КодыМаркировки)
	// Вставить содержимое метода.
	//ПродолжитьВызов(КодыМаркировки);
КонецПроцедуры

 

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

Вывести полные коды можно следующим кодом:

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

&НаСервере
Функция МаркХ_ПолныеКодыМаркировкиНаСервере()
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	РегСв.ПолныйКодМаркировки КАК ПолныйКодМаркировки
		|ИЗ
		|	РегистрСведений.ПулКодовМаркировкиСУЗ КАК РегСв
		|ГДЕ
		|	РегСв.ЗаказНаЭмиссию = &ЗаказНаЭмиссию";
	
	Запрос.УстановитьПараметр("ЗаказНаЭмиссию", Объект.Ссылка);
	РезультатЗапроса = Запрос.Выполнить();
	Если РезультатЗапроса.Пустой() Тогда
		Возврат Неопределено;
	Иначе
		Массив = Новый Массив;
		Выборка = РезультатЗапроса.Выбрать();
		Пока Выборка.Следующий() Цикл
			Массив.Добавить(Выборка.ПолныйКодМаркировки);
		КонецЦикла;
		Возврат Массив;
	КонецЕсли;
КонецФункции

 

В прикреплённом расширении всё это уже сделано. Проверял на УТ 11.5.17.151. Скорее всего будет и на ERP работать.

В заметно более ранних версиях, имя модуля ШтрихкодированиеОбщегоНазначенияИСКлиентСервер может быть другим, но схожим по названию. В таком случае определяйте необходимый модуль путём поиска метода Base64ВШтрихкод.

Маркировка повторная печать кодов полные коды маркировки

См. также

Этикетки, ценники Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

Простая в использовании обработка для формирования и печати ценников и этикеток со штрих-кодом, с дополнительной ценой, для 1С8.х Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

3588 руб.

11.11.2020    49636    60    46    

69

Этикетки, ценники Пользователь Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 Платные (руб)

Встроенная в конфигурации Розница 2.3 и УНФ 1.6 подсистема печати ценников по мне слишком неповоротлива и с усилиями поддается тонкой настройке, решил с нуля написать свою универсальную печать ценников для этих конфигураций.

2000 руб.

04.11.2019    29337    115    87    

54

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Розница 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Абонемент ($m)

Расширение "Контроль ценников". Позволяет автоматизировать контроль над устаревшими ценниками в магазине при изменении цен на товары. Продавцы или товароведы получают список товаров с измененными ценами для замены ценников в режиме онлайн.

10 стартмани

30.10.2024    241    3    Miket78    4    

5

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Внешняя обработка для 1С Розница 2.2.ХХХ - 2.3.ХХХ для печати формирования штрихкодов весового товара и печати на принтере термоэтикеток или кассовом аппарате.

1 стартмани

29.10.2024    285    3    independ    1    

5

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

Выводит при печати этикетки складской ячейки в качестве штрихкода адрес ячейки вместо уникального идентификатора

1 стартмани

20.06.2024    1121    3    Alexei_Siva    4    

6

Этикетки, ценники Программист Мобильная платформа Бесплатно (free)

Печать этикеток на принтер WiFi без драйвера.

20.01.2023    2558    aldar    0    

9

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Абонемент ($m)

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

2 стартмани

03.01.2023    4102    29    AndreyPonom    9    

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