1С 8 Штрих-кодирование документов

11.08.10

Интеграция - Сканер штрих-кода

Простой способ получения штрих-кодов документов, без необходимости хранить его.

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

Некоторые пояснения:

Штрих-код  у меня состоит из полей: 2 символа - код документа (вряд ли в базе свыше 99 видов документов)-задает разработчик, 2 символа - код фирмы (вряд ли в одной базе ведут свыше 99 своих фирм)- я беру его из кода карточки фирмы, дата-пояснений не нужно, номер документа - поставлен в конец, т.к. в моей базе есть документы с разной длиной номера, плавает длина-номер в конце - проще разбор. Еще момент - от номера отсекается префикс документов (у нас префикс задается по фирме) для универсальности - некоторые виды штрих-кодов не понимают литер, а так - только цифры. Префикс однозначно восстанавливается (у меня) по фирме. Если применяются более сложные префиксы (пр-р по подразделениям), то проще перед номером добавить 2 символа с кодировкой префиксов.

Вторая функция позволяет найти документ по сканированному штрих-коду, а дальше по фантазии...

//формирование штрих-кода
Функция мирПолучитьШтрихКодПоДокументу(ДокСсылка) Экспорт
	стрНомерДокумента=Прав(СокрП(ДокСсылка.Номер),7);
	стрДата=""+Формат(ДокСсылка.Дата,"ДФ=yyyy")+?(Месяц(ДокСсылка.Дата)<10,"0"+Месяц(ДокСсылка.Дата),Месяц(ДокСсылка.Дата))+Лев(ДокСсылка.Дата,2);
	ВидДок=ТипЗнч(ДокСсылка);
	Если ВидДок=Тип("ДокументСсылка.ЗаказНаряд") Тогда  // для заказ-наряда
		КодДокумента="01";
	ИначеЕсли ВидДок=Тип("ДокументСсылка.РеализацияАвтомобилей") Тогда    
		КодДокумента="02";
	ИначеЕсли ВидДок=Тип("ДокументСсылка.СчетНаОплатуЗаАвтомобили") Тогда    
		КодДокумента="03";     
	ИначеЕсли ВидДок=Тип("ДокументСсылка.ПриходныйКассовыйОрдер") Тогда    
		КодДокумента="04";    
	ИначеЕсли ВидДок=Тип("ДокументСсылка.РасходныйКассовыйОрдер") Тогда    
		КодДокумента="05";
	ИначеЕсли ВидДок=Тип("ДокументСсылка.СчетНаОплату") Тогда    
		КодДокумента="06";    
	ИначеЕсли ВидДок=Тип("ДокументСсылка.РеализацияТоваров") Тогда    
		КодДокумента="07";    
	Иначе
		Возврат  "";
	КонецЕсли;
	КодФирмы=Число(Прав(СокрП(ДокСсылка.Организация.Код),2));
	СтрФирма=?(КодФирмы<10,"0"+КодФирмы, Строка(КодФирмы));
	ШтрихКод=КодДокумента+СтрФирма+стрДата+стрНомерДокумента;
	Возврат ШтрихКод;
КонецФункции

//получение документа
Функция мирПолучитьДокументПоШтрихКоду(ШтрихКод) Экспорт
	ШтрихКод=СокрЛ(ШтрихКод);
	КодДокумента=Лев(ШтрихКод,2);
	Если КодДокумента="01" Тогда
		ВидДок="ЗаказНаряд";
	ИначеЕсли КодДокумента="02" Тогда   
		ВидДок="РеализацияАвтомобилей";
	ИначеЕсли КодДокумента="03" Тогда   
		ВидДок="СчетНаОплатуЗаАвтомобили";
	ИначеЕсли КодДокумента="04" Тогда   
		ВидДок="ПриходныйКассовыйОрдер";
	ИначеЕсли КодДокумента="05" Тогда   
		ВидДок="РасходныйКассовыйОрдер";
	ИначеЕсли КодДокумента="06" Тогда   
		ВидДок="СчетНаОплату";
	ИначеЕсли КодДокумента="07" Тогда   
		ВидДок="РеализацияТоваров";
	Иначе 
		Возврат Неопределено;   
	КонецЕсли;   
	ДатаДок=Дата(Сред(ШтрихКод,5,4),Сред(ШтрихКод,9,2),Сред(ШтрихКод,11,2));
	КодФирмы="000000"+Сред(ШтрихКод,3,2);
	Организация=Справочники.Организации.НайтиПоКоду(КодФирмы);
	Префикс=Организация.Префикс;
	НомерДок=Префикс+Сред(ШтрихКод,13);
	Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	|    Документ.Ссылка
	|ИЗ
	|    Документ."+ВидДок+" КАК Документ
	|ГДЕ
	|    Документ.Номер = &Номер
	|    И Документ.Дата >= &ДатаНач";
	Запрос.УстановитьПараметр("ДатаНач",НачалоДня(ДатаДок));             
	Запрос.УстановитьПараметр("Номер",НомерДок);
	Выборка=Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Ссылка;
	КонецЕсли;    
	Возврат Неопределено;
КонецФункции

См. также

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

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    97302    587    189    

322

Сканер штрих-кода Пользователь Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Розница 3.0 Управленческий учет Платные (руб)

У вас возникал вопрос - Как быстро и правильно выполнить приемку товара в торговой точке? Как минимизировать ошибки при сборке заказа клиента? Текущая разработка способна помочь в решении данных проблем. Её назначение - проверка с помощью сканера штрих кода поступления и реализации товаров, заказов клиентов, заказов поставщикам, расходных и приходных ордеров, перемещений и возвратов.

2400 руб.

29.07.2020    36544    170    159    

142

Сканер штрих-кода Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Теперь практически все торговые документы в конфигурации 1С Бухгалтерия 3.0 (ПРОФ / КОРП) и в конфигурации 1С Бухгалтерия сельскохозяйственного предприятия 3.0 поддерживают подбор товара по штрих-коду. Можно пользоваться сканером штрихкода или подбирать штрих-код вручную. В основных печатных формах документов выводится колонка Штрихкод. Для менеджеров по продажам будет удобным дополнительный отчет Прайс-лист с остатками и штрих-кодом.

3600 руб.

28.07.2020    29254    79    32    

58

Сканер штрих-кода Системный администратор Программист Абонемент ($m)

В документе собрана последовательность штрих-кодов, программирующих/конфигурирующих сканер штрих-кодов SCANTECH SD380 эмулировать нажатие клавиши F7 при считывании штрих-кода перед его отправкой.

1 стартмани

19.08.2021    4111    0    mailrum2004    5    

2

Сканер штрих-кода 1С:Розница 2 Абонемент ($m)

Улучшаем стандартное поступление товаров с помощью функционала присвоения штрихкода, контролируем алкогольную продукцию на наличие штрихкодов, выводим данные выделенной строки в удобный для работы формат с помощью одного расширения.

1 стартмани

03.08.2020    7494    15    virusas    12    

2

Производство готовой продукции (работ, услуг) Сканер штрих-кода Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия 3.0 позволяет использовать сканер штрихкодов для заполнения документа "Отчет производства за смену", "Перемещение товаров", "Требование-накладная".

1 стартмани

25.05.2020    7819    22    user725789    7    

2

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

Цель - печать этикеток на Штрих Принт (весы с печатью этикеток) весового товара и сбор штрихкодов на ТСД Cipher Lab CP55 в Mobile Smart Магазин 15.

15.05.2020    3758    dy4amaks    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. V_V_V 11.08.10 17:42 Сейчас в теме
А загнать в штрих-код Уникальный идентификатор документа не проще? И хранить нигде не надо, и кода пару строк... :D
garant21; Spacer; mov68; Asdam; Tarlich; qwest; +6 Ответить
2. mirco 74 11.08.10 18:03 Сейчас в теме
(1) я бы тоже использовал именно идентификатор...
5. Tarlich 116 11.08.10 21:15 Сейчас в теме
(1) полностью согласен , видел используется еан128
6. V_V_V 11.08.10 22:34 Сейчас в теме
(5) У меня с EAN128 не пошло ни в какую. Зато с Code93 и Code128 - на ура. И с дефисами, и без. Хотя есть у способа с Уникальным идентификатором большой минус - громадная ширина штрих-кода, почти на весь А4 формат (в портрете) при использовании стандартной 1С:Печать штрих-кодов, так что он не для гурманов. Но у автора статьи не намного меньше 36-ти символов получается - разница по-идее будет незначительна.
3. IronDemon 768 11.08.10 18:17 Сейчас в теме
А Уникальный идентификатор зачем?
4. markers 277 11.08.10 20:43 Сейчас в теме
Мысль хорошая, покурим её!
7. mov68 37 12.08.10 14:34 Сейчас в теме
Загнать в штрих-код Уникальный идентификатор документа проще.
Но делалось под свою специфику: штрих-кодами помечаются и купоны на скидку (автосервис) - суммы порой весьма приличные и зависят от суммы прошлых работ, при этом купон хранит номер документа, по которому он распечатан. Физически его в базе нет.
Есть также ряд видов документов, по которым печатаются несколько типов печатных документов (для заказ-наряда их больше 20). Поэтому <Код документа> это скорее код печатной формы, что позволяет при сканировании автоматом выполнять нужные действия.
Тогда уж использовать Код документа и идентификатор.
Другой случай - вовремя не провели расходную накладную, смены сменились, посчитали что клиент отказался, пометили на удаление и благополучно удалили. Недели через 2 бухгалтерия забила тревогу - подписанная накладная есть, деньги пришли, а документа в системе нет. Документ был восстановлен по печатной форме (ессно все кому положено по шапке получили), соответственно уникальный идентификатор изменился, а номер, дата и прочее - нет. Это из реального...
8. anig99 2852 13.08.10 09:54 Сейчас в теме
Можно попробовать двухмерное штрихкодирование... Тогда можно будет туда кучу инфы ещё записать
9. ign 5 12.10.11 19:31 Сейчас в теме
Спасибо за идею. Использовала Code128 (он ооочень длинный)при штрихкодировании готовой продукции на выходе из цеха. Оператору создала рабочий стол для печати ярлыков со штрихкодами по заказу покупателя или заказу на производство, в штрихкод засунула:
1.Код номенклатуры
2.Номер заказа
3.год, месяц и день, т.е. дату заказа
4.Количество в упаковке
уникальность обеспечена и код нигде не храниться.
(это печатается на ярлыке в виде текста и ввиде штрихкода)
Ежедневный огромный объем отгрузки и невозможность идентифицировать зрительно наименование номенклатуры правильно не позволяет вручную обеспечить скорость и точность создания документов "Отчет производства за смену", поэтому на продукцию клеят ярлыки со щтрихкодом и принимают продукцию собирая штрихкоды терминалом сбора данных. Затем загружают большие списки в "Отчет производства за смену" с расчетом количества в упаковке и сворачивание одинаковой номенклатуры. Заказы стали закрываться без потерь, и при отгрузке тоже меньше в разы. Склад ГП тоже маслит терминалом каждую коробку для док. реализация.
Altertego11; RustIG; +2 Ответить
10. JamilRG 17.10.11 11:30 Сейчас в теме
Очень надо шрихкодирование Заказ-Нарядов, подойдет ли эта обработка?
11. Alexez 75 29.12.11 11:44 Сейчас в теме
супер замечательный пример штрих кодирования, позволяет без труда найти в базе нужный документ. Будем пользоваться. Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!Спасибо!!!!
12. Рамзес 30 06.04.12 12:37 Сейчас в теме
А если после штрихкодирования документа пользователь по какой-либо причине изменил дату документа на более раннюю? Запрос в функции поиска документа по штрихкоду такой документ отбросит.
Может лучше идентифицировать документ по году? Типовые документы имеют периодичность "В пределах года".

Запрос.Текст = "ВЫБРАТЬ
| Документ.Ссылка
|ИЗ
| Документ." + ВидДок + " КАК Документ
|ГДЕ
| Документ.Номер = &Номер
| И ГОД(Документ.Дата) = &ГодДокумента";
psa247; Shakronya; RustIG; +3 Ответить
Оставьте свое сообщение