Каталог решений - Простое штрихкодирование документов

Простое штрихкодирование документов

Простое штрихкодирование документов

В наличии

Была поставлена задача на предприятии, где ежедневно выписывается по 300-500 накладных организовать штрихкодирование документов, для более удобной работы с бумажным носителем в дальнейшем. И вот результат…

Категория:

Описание

Конфигурация «Торговля и склад». Хотелось сделать как можно проще и быстрее, и в тоже время надежно. На решение задачи ушло 1,5 часа. И так приступим….

У нас будет использоваться штрихкод EAN13. Создаем общий реквизит документов.

Тип — «Строка», длина — 13, отбор по реквизиту.

Добавляем в глобальный модуль процедуру:

//******************************************************************************
// глСформироватьШтрихкодДокумента(Конт)
//
// Параметры:
//  Конт - контекст документа для которого необходимо сформировать штрихкод
//    EAN13- реквизит документа содержащий штрихкод
// Возвращаемое значение:
//  Нет                 
//
// Описание:
//  На основании номера документа и вида документа формирует штрихкод в формате EAN
//
Процедура глСформироватьШтрихкодДокумента(Конт, EAN13) Экспорт
	
	Если ПустаяСтрока(EAN13) = 1 Тогда
		
		ПрефиксыДокументов = СоздатьОбъект("СписокЗначений");
		ПрефиксыДокументов.ДобавитьЗначение("001", "Реализация");
		ПрефиксыДокументов.ДобавитьЗначение("002", "СчетФактураВыданный");                
		// и т.д
		КодДокумента        = СокрЛП(Прав(Конт.НомерДок,7));
		КодВидаДокумента    = Строка(Константа.ПрефиксВидаДокумента) + ПрефиксыДокументов.Получить(Конт.Вид());
		
		Префикс = Прав(ДатаГод(Конт.ДатаДок), 2);
		
		ИспКолво = 10;
		
		Штрихкод = СимволыВЦифры(Прав(СокрЛП(КодДокумента+КодВидаДокумента), ИспКолво));
		Штрихкод = Префикс + глДополнитьСтрокуЛ(Штрихкод, "0", ИспКолво);
		
		EAN13 = Штрихкод + глКонтрольныйСимволEAN(Штрихкод, 13);
	КонецЕсли;
	
КонецПроцедуры // глСформироватьШтрихкодДокумента()

После этого в документы, которым будут присваиваться штрихкоды добавляем вызов вышеописанного в процедуру:

Процедура ПриЗаписи()
	//..............................
	глСформироватьШтрихкодДокумента(Контекст, EAN13);
КонецПроцедуры

В результате при первой записи документа ему будет присвоен штрихкод состоящий из следующих блоков:

1) год документа (2 символа);

2) семь цифр справа от номера документа;

3) код вида документа (3 символа);

4) контрольный символ;

Осталось только вставить в печатную форму объект ActiveBarcode и настроить необходимые свойства у него.

А вот и результат Smile

Штрихкод на печатной форме документа

Минус у данного подхода несомненно есть — при совпадении префикса  штучного(весового) товара и последних двух цифр года документа возможно создание одинаковых штрихкодов для этих разных объектов базы.

http://shkuraev.ru

has been added to your cart:
Оформление заказа