HelpF.pro

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

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

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

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

Общий реквизит документов "EAN13"
Тип – “Строка”, длина – 13, отбор по реквизиту

Добавляем в глобальный модуль процедуру
Код 1C v 7.x
 //******************************************************************************
// глСформироватьШтрихкодДокумента(Конт)
//
// Параметры:
// Конт - контекст документа для которого необходимо сформировать штрихкод
// EAN13- реквизит документа содержащий штрихкод
// Возвращаемое значение:
// Нет
//
// Описание:
// На основании номера документа и вида документа формирует штрихкод в формате
// EAN
//
Процедура глСформироватьШтрихкодДокумента(Конт, EAN13) Экспорт

Если ПустаяСтрока(EAN13) = 1 Тогда

ПрефиксыДокументов = СоздатьОбъект("СписокЗначений");

ПрефиксыДокументов.ДобавитьЗначение("001", "Реализация");

ПрефиксыДокументов.ДобавитьЗначение("002", "СчетФактураВыданный");
// и т.д

КодДокумента = СокрЛП(Прав(Конт.НомерДок,7));
КодВидаДокумента = ПрефиксыДокументов.Получить(Конт.Вид());


Префикс = Прав(ДатаГод(Конт.ДатаДок), 2);

ИспКолво = 10;

Штрихкод = СимволыВЦифры(Прав(СокрЛП(КодДокумента+КодВидаДокумента),
ИспКолво));
Штрихкод = Префикс + глДополнитьСтрокуЛ(Штрихкод, "0", ИспКолво);

EAN13 = Штрихкод + глКонтрольныйСимволEAN(Штрихкод, 13);
КонецЕсли;

КонецПроцедуры // глСформироватьШтрихкодДокумента()


После этого в документы, которым будут присваиваться штрихкоды добавляем вызов
вышеописанного в процедуру "ПриЗаписи()"
Код 1C v 7.x
 Процедура ПриЗаписи()
//..............................
глСформироватьШтрихкодДокумента(Контекст, EAN13);
КонецПроцедуры


В результате при первой записи документа ему будет присвоен штрихкод состоящий
из следующих блоков:
1. год документа (2 символа);
2. семь цифр справа от номера документа;
3. код вида документа (3 символа);
4. контрольный символ;


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

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

Автор: Александр Шкураев
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/723.html