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С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн. Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

2880 руб.

03.12.2018    54621    137    102    

161

Подсистема штрихкодирования серий номенклатуры для 1С:УТ 11.4/11.5 КА, ERP 2.4/2.5

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

Стандартные конфигурации ERP, КА, УТ 11 позволяют работать с штрихкодированием серий. Есть только одно суровое ограничение – на упаковке должна быть этикетка для номенклатуры и отдельно для серии. Во многих случаях это критически неудобно.

12000 руб.

19.04.2021    20699    57    35    

51

Проверка товаров сканером штрихкода/ТСД для УТ11, КА2, ERP2, УНФ, БП3, Розница 2/ 3

Сканер штрих-кода Платформа 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    34096    158    152    

128

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

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

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

2000 руб.

22.04.2019    91947    511    186    

293

Конфигурация "Информационный киоск". Обработки выгрузки товаров для ТиС 9.2, УТ 10.3, УТ 11 (обмен данными с любой конфигурацией 1С 7.7, 8.х)

Оптовая торговля Розничная торговля Обмен между базами 1C Сканер штрих-кода Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Управленческий учет Платные (руб)

Конфигурация предназначена для организации offline доступа клиента (покупателя) к информации о товарах, услугах или дисконтных картах посредством сканирования штрих-кода. Основная цель – мгновенно предоставить наиболее актуальную информацию о цене, остатках, наименовании товара (услуги) или накоплениях, держателе, состоянии дисконтной карты.

1800 руб.

21.12.2014    59237    8    21    

20

Прайс-чекер. Розница (Россия, Казахстан)

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

Простой и удобный прайс-чекер, работающий в режиме рабочего стола.

1 стартмани

28.11.2023    413    0    x-ynegve    0    

2

Прайсчекер для 1С (УНФ, УТ, Розница)

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

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

3 стартмани

15.11.2023    584    6    usinfostart1c    2    

4
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
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 115 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 765 11.08.10 18:17 Сейчас в теме
А Уникальный идентификатор зачем?
4. markers 274 11.08.10 20:43 Сейчас в теме
Мысль хорошая, покурим её!
7. mov68 37 12.08.10 14:34 Сейчас в теме
Загнать в штрих-код Уникальный идентификатор документа проще.
Но делалось под свою специфику: штрих-кодами помечаются и купоны на скидку (автосервис) - суммы порой весьма приличные и зависят от суммы прошлых работ, при этом купон хранит номер документа, по которому он распечатан. Физически его в базе нет.
Есть также ряд видов документов, по которым печатаются несколько типов печатных документов (для заказ-наряда их больше 20). Поэтому <Код документа> это скорее код печатной формы, что позволяет при сканировании автоматом выполнять нужные действия.
Тогда уж использовать Код документа и идентификатор.
Другой случай - вовремя не провели расходную накладную, смены сменились, посчитали что клиент отказался, пометили на удаление и благополучно удалили. Недели через 2 бухгалтерия забила тревогу - подписанная накладная есть, деньги пришли, а документа в системе нет. Документ был восстановлен по печатной форме (ессно все кому положено по шапке получили), соответственно уникальный идентификатор изменился, а номер, дата и прочее - нет. Это из реального...
8. anig99 2843 13.08.10 09:54 Сейчас в теме
Можно попробовать двухмерное штрихкодирование... Тогда можно будет туда кучу инфы ещё записать
9. ign 4 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. Рамзес 29 06.04.12 12:37 Сейчас в теме
А если после штрихкодирования документа пользователь по какой-либо причине изменил дату документа на более раннюю? Запрос в функции поиска документа по штрихкоду такой документ отбросит.
Может лучше идентифицировать документ по году? Типовые документы имеют периодичность "В пределах года".

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