Штрихкодирование автозапчастей. Альфа-авто.

10.12.15

Задачи пользователя - Адаптация типовых решений

При запуске штрихкодирования в автозапчастях основной сложностью является заполнение самих штрихкодов. Так же т.к. различной номенклатуры очень много и постоянно могут появляться новые товарные позиции, то оклейка склада наклейками со своими штрихкодами становится проблематичной. Но..

Но на упаковках в большинстве случаях есть штрихкоды производителей. И можно попробовать использовать их.

Большинство штрихкодов производителей по оригинальным и приличным не оригинальным брендам - это каталожный номер детали. Но с небольшими дополнениями/изменениями. Есть, конечно, еще китай, но там своя песня.  :)

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

В статье сделана попытка систематизировать отличия штрихкода от каталожного номера, информация получена опытным путем, и буду благодарен за комментарии и дополнения. Плюс приведены фрагменты кода для автоматизации этих проверок на базе Альфа-авто, ред.5. (Для ред.4 потребует некоторых корректировок).

Первое, сделаем автоматическое формирование штрихкода, равному артикулу при записи номенклатуры:

// Если нет ещё штрих кода, то заполним его по Артикулу.
Если НЕ ЭтоГруппа Тогда
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ШтрихКоды.ШтрихКод
	|ИЗ
	|	РегистрСведений.ШтрихКоды КАК ШтрихКоды
	|ГДЕ
	|	ШтрихКоды.Объект = &Объект
	|	И ШтрихКоды.ШтрихКод = ПОДСТРОКА(&ШтрихКод, 1, 22)";
	Запрос.УстановитьПараметр("Объект",   Ссылка);
	Запрос.УстановитьПараметр("ШтрихКод", Артикул);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Не Выборка.Следующий() ТОгда
		// Ещё не записи, сделаем новую запись
		Набор = РегистрыСведений.ШтрихКоды.СоздатьНаборЗаписей();	
		Набор.Отбор.Объект.Значение      = Ссылка;
		Набор.Отбор.Объект.Использование = Истина;
		Набор.Прочитать();
		
		НоваяСтрока = Набор.Добавить();
		НоваяСтрока.Запрет 			 = Ложь;
		НоваяСтрока.Объект           = Ссылка;
		НоваяСтрока.ЕдиницаИзмерения = ОсновнаяЕдиницаИзмерения;
		НоваяСтрока.ШтрихКод         = Артикул;
		
		Набор.Записать();
	КонецЕсли;
КонецЕсли;

Дальше, если штрих код, равный артикулу, не найден, то пробуем модифицировать его по различным вариантам и найти в нем каталожный номер детали. В Альфа-авто для этого в обработке ШтрихКоды необходимо модифицировать процедуру НайтиСтруктуруПоШтрихКоду().

Для запчастей Toyota, Suzuki и некоторых других в конце штрих кода обычно встречается дополнительный символ через два пробела: <8871006420  Q>, <531112B060  K> и др.

// Если в штрих коде есть два пробела и буква в конце, то убираем их. . 
ЕстьПробелы = Найти(ШК," ");
Если ЕстьПробелы > 0 И ЕстьПробелы + 2 = СтрДлина(ШК) Тогда
 СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(Формат(Лев(ШК,СтрДлина(ШК)-3),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);

Тут же можно добавить добавление нового реально прочитанного штрихкода в базу: 

СтуктураОбъект =  НайтиСтруктуруПоШтрихКоду(Формат(Лев(ШК,Найти(ШК,"  T")),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);	
							
				Если ТипЗнч(СтуктураОбъект) = Тип("Структура") Тогда
					// Нашли, изменим штирих код и вернём эту структуру.
					Набор = РегистрыСведений.ШтрихКоды.СоздатьНаборЗаписей();
					Набор.Отбор.Объект.Значение = СтуктураОбъект.Объект;
					Набор.Отбор.Объект.Использование = Истина;
					Набор.Прочитать();  
					
					НовыйШтрихКод = Набор.Добавить();
					НовыйШтрихКод.Объект           = СтуктураОбъект.Объект; 
					Если ТипЗнч(СтуктураОбъект.Объект)=Тип("СправочникСсылка.Номенклатура") Тогда 
						НовыйШтрихКод.ЕдиницаИзмерения           = СтуктураОбъект.Объект.ОсновнаяЕдиницаИзмерения;
					КонецЕсли;
					НовыйШтрихКод.ШтрихКод               = ШК;
					НовыйШтрихКод.Запрет= Ложь;
					Набор.Записать();
				
					Сообщить("Для номенклатуры '"+СтуктураОбъект.Объект.Артикул+"', "+СтуктураОбъект.Объект+
							" добавлен новый штрих код '"+ШК+"'."); 
										
					Возврат СтуктураОбъект; 
				КонецЕсли;

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

// Если в штрих коде есть "-", то убираем их. . 
Если Найти(ШК, "-") > 0 Тогда
СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(Формат(СтрЗаменить(ШК,"-",""),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);

Встречаются штрихкоды с одним или двумя лишними нулями на конце. Также можно проверить без них:

// Если в конце один ноль, проверим без них:
Если Сред(ШК,СтрДлина(Шк),СтрДлина(Шк)) = "0" Тогда
СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(Формат(Лев(ШК,СтрДлина(ШК)-1),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);

Для Cirtoen и, возможно, для всех PSA в штрихкоде на конце встречается -000, когда в каталожном номере -0000, встречаются лишние -С148 в конце номера:

Если Прав(ШК,4) = "-000" Тогда
СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(ШК+"0", флРугатьсяНаЗапрещенныйШтрихКод);

Для Mitsubishi в конце бывает лишние "  T" и через пробел число с двумя или треми лидирующими нулями <MF453033V T   001>,  <MD339754  T  0001>, <MD050316  T  0005>. Так же "T" и количество может быть без пробелов или с одним пробелом.  <MD339754T  0001>,  <MD339754 T  0001>. Бывает в переди символ "P".

// Если в конце " T" и количество, то отрезаем его:
Если Найти(ШК,"  T") > 0 Тогда
СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(Формат(Лев(ШК,Найти(ШК,"  T")),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);

Для Mitsubishi, Hyundai, Kia и некоторых других брендов число через различное количество пробелов (обычно это количество штук в упаковке): <MN195668      001>, <MF453019  0002> и т.д. Пробелов обычно больше двух, поэтому для отсечения таких символов можно ориентироваться на два пробела и выполнять эту проверку после остальных, чтобы не отсечь нужные символы.

Если Найти(ШК,"  ") > 0 Тогда
СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(Формат(Лев(ШК,Найти(ШК,"  ")),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);

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

// Если 13 символов, попробуем обрезать последний
Если СтрДлина(ШК) = 13 Тогда
СтуктураОбъект = НайтиСтруктуруПоШтрихКоду(Формат(Лев(ШК,12),"ЧГ=0"), флРугатьсяНаЗапрещенныйШтрихКод);

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

К минусам данного метода можно отнести:

  • При работе с различными брендами каталожные номера у разных производителей все-таки иногда пересекаются, что может привести к ошибкам. Тут можно добавить дополнительную проверку по бренду в случае нахождения нескольких одинаковых артикулов.
  • В базе уже должны быть заполнены сканируемые номенклатурные позиции с каталожными номерами.
  • На разных коробках у разных производителей штрихкоды находятся в разных местах, могут присутствовать другие штрихкоды, не содержащие в себе каталожного номера, что приводит к неудобству считывания штрихкодов.
  • Мелкие детали (болты, гайки, шайбы, клипсы и т.д.) не имеют оригинальных коробок.
  • Некоторые детали приходят по несколько штук в одной коробке, и их надо разделять.

К плюсам то, что нет необходимости оклеивать все детали, формировать и заносить штрихкоды в базу.

Штрих код Штрихкод сканер шрихкодов штрихкодирование запчасти Альфа-авто

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4448    9    4    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    2950    4    0    

19

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

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

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1280    dimanich70    6    

13

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

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

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

1 стартмани

27.10.2023    1991    13    avmartynov    10    

43

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

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

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Nio 70 11.12.15 08:39 Сейчас в теме
Сколько раз брался за это так и не получилось запустить ШК на складах. Дело в том что поставщики предоставляют электронные документы. И проще грузить из электронных версия. А для выдачи используют каталоги, где уже проставлены кат. номера. Кладовщику в таком случаи нужно просто найти запчасть уже по готовому списку. В итоге получается что ШК нужны только для инвентаризации. А быстрая и точная инвентаризация кладовщикам не выгодна. Вот я и попадал на откровенный саботаж. Вводили даже дополнительные премии за заведение ШК и оклейку товаров, но так и не сложилось.
Хорошо взлетели ячейки на складах. В приходных документах можно использовать раскладочный лист и при выдачи удобно так же указывать ячейку из которой нужно взять запчасть.
2. TODD22 18 11.12.15 09:07 Сейчас в теме
(1) Nio,
Вводили даже дополнительные премии за заведение ШК и оклейку товаров, но так и не сложилось.

Ещё бы ввели прогрессивную шкалу депремирования за отсутствие ШК. Может и дело бы наладилось.

И нормальный руководитель всех саботажников отправил бы искать себе другую работу.
3. de0nis 444 11.12.15 11:55 Сейчас в теме
Да, тут для поступления товара не всегда имеет смысл, т.к. есть электронные накладные и надо побыстрее товар принять. А для отгрузок бывает удобно иногда. С ячейками как раз тоже удобно бывает, в Альфе если вести полноценный ячеистый склад (не просто привязать номенклатуру к ячейкам, а именно возможность учета чего сколько в какой ячейке) то склад должен быть ордерный. И получается двойной документооборот - ПТиУ, РТиУ и Складские ордера. Менеджеры заполняют доки по электронным, а кладовщики сканером заполняют складские ордера. Потом можно сравнить, что получилось и проверить приходы и отгрузки. Можно еще ячейки оклеить штрих кодами и подставлять их в документы автоматически.
4. GopSTOP 3 16.12.15 10:18 Сейчас в теме
Делал недавно похожую работу с корейскими запчастями. Решение было похожим, считывал штрих-код пробовал достать артикул из него, дальше искал по артикулу. Если артикул не находился то искал уже по штрих-коду в регистре сведений.
5. proger1c81 16.12.15 13:43 Сейчас в теме
У нас тоже штрихкодирование не взлетело, т.к. при приемке товар ссортируется по брендам и номерам каталожным. В таком же порядке отправляются на полке. В таком же порядке после оформления электронной накладной печатается приемочный лист. По нему кладовщики быстро крыжат отклонения. При отпуске товара - его можно легко найти, т.к. по бренду и первым буквам кат.номера понятно, где товар находится. А инвентаризацию просто проводят незаинтересованные лица. Отклонения конечно потом показываются материально-ответственным лицам и происходит разбор полетов.
Таким образом, ни штрихкодирование, ни ячеистость не применяется у нас.
6. de0nis 444 16.12.15 17:26 Сейчас в теме
(5) proger1c81, тоже хороший вариант. По сути "псевдо ячеистость". Координаты только не числовые, а по брендам артикулам. Но это удобно только если поддерживается примерно постоянный склад. Если он часто и сильно меняется, то это не применимо, особенно для кузовных деталей, бампера и капоты по алфавиту сортировать не очень то удобно и не везде положишь их, а если что-нт не влезет и придется весь склад переставлять. :) От ячеек в такой ситуации никуда не деться.
7. proger1c81 17.12.15 11:38 Сейчас в теме
(6) Все верно, у меня случай, когда поддерживается ПРИМЕРНО постоянный склад, когда работаешь с постоянными поставщиками. В случае больших складов для интернет магазинов нужна совсем другая WMS.
Каждый сам выбирает по своему бюджету и необходимостям
8. lstep 15.10.18 06:48 Сейчас в теме
Спасибо. Полезная статья. Воспользуюсь. Сейчас как раз занимаюсь внедрением штрих-кодирования на предприятии автосервиса. Номенклатура более 50 тыс. наименований. Описанный метод позволит облегчить работу по заполнению справочника.
9. de0nis 444 17.10.18 11:43 Сейчас в теме
(8) Спасибо за отзыв. Надеюсь информация поможет.
10. caldino 07.12.18 14:32 Сейчас в теме
Спасибо за статью. Подскажите, знающие люди, с чего начинать внедрение штрихкодирования? Меня озадачили внедрить приемку и отгрузку товара с использованием штрих-кодов производителей автозапчастей. Вообще не знаю с чего начать и какие нужны сканеры или терминалы сбора данных?
Дано: 1С УТ 10.3 вручную дописанная для продажи Автозапчастей (автора уже не найти).

На данный момент в Поступление загружается табличка из Эксель и потом проводится. Товар считается вручную кладовщиками, ищутся артикулы , сверяется количество. Номенклатура на сладе более менее постоянная. Потом, при отгрузке, так же по артикулу и количеству делается сборка на основании реализации.
Далее - вопросы:
1. Для приемки нужен ТСД или достаточно сканера штрих-кодов?
2. При поступлении товара идет сверка с готовой накладной поступления из 1С или в пустую накладную вносятся значения при каждом "пропикивании" ?
3. Базу штрих кодов надо вносить по ходу работы или надо вносить заранее? Пока в Номенклатуре есть только Артикулы и Бренд поставщика.
4. При отгрузке товара идет сверка с готовой накладной поступления из 1С или в пустую накладную вносятся значения при каждом "пропикивании" ?
Подскажите пожалуйста, ни разу не сталкивался с сканированием товара по штрих коду. Спасибо за ответы.
11. de0nis 444 07.12.18 15:22 Сейчас в теме
(10) Нюансов много, всё зависит от задач и условий, но грубо:
1. Сканер будет сканировать на прямую в документ 1С по одной строке. ТСД накапливает информацию в себе, потом полностью весь товар можно перенести в накладную в 1С. Т.е. если ШК заполнены в базе, то для заполнения накладной достаточно сканера и если есть возможность приёмки у компьютера, что б сразу видеть считался ли штрих код и определилась ли номенклатура. ТСД позволит принимать товар без компьютера на улице.
2. В типовом функционале УТ 10.3 сверки, что должно быть и что заполнили по ШК - нет. В пустую накладную добавляются строки. Можно или доделать в 1С функционал сверки, или некоторые ТСД позволяют это делать, зависит от модели ТСД и установленного на нём софта.
3. Собственно об этом и была статья :) Штрих коды желательно что б уже были. С статье описан вариант автоматического поиска номенклатуры по артикулу, который закодирован в штрих коде и подводные камни с которыми столкнулись в этой задаче. Этот функционал требует доработки конфигурации, в типовом варианте, если ШК не заполнен номенклатура не будет найдена. В зависимости от релиза УТ, возможно будет предложено выбрать номенклатуру из справочника и она автоматически привяжется к считанному штрих коду. Но заполнение штрих кодов во время работы сильно увеличит время приёмки и отгрузки.
4. см. п. 2. В типовом функционале сверки что должно быть и что набили нет.
12. de0nis 444 07.12.18 15:23 Сейчас в теме
(10) По оборудованию всё сильно зависит от условий эксплуатации и схемы работы. В целом достаточно обычных одномерных сканеров (есть без проводные), ТСД по необходимости, тут нужно смотреть поддержку выбранных моделей для УТ 10, и возможно нужно будет докупать софт для самого ТСД и настраивать его. Желательно принтер этикеток, что б можно было печатать этикеты со штрихкодами для товара на котором нет этикеток или переделать поврежденные ШК.
13. caldino 07.12.18 18:31 Сейчас в теме
Денис, спасибо. Хотел вам написать личное сообщение, но почему-то не уходит, попадает в отложенную группу отправки. Если можете, то напишите мне в личку свой контакт (может скайп, или другие способ связи). Спасибо.
14. пользователь 01.05.19 05:22
Сообщение было скрыто модератором.
...
15. пользователь 23.03.20 17:25
Сообщение было скрыто модератором.
...
Оставьте свое сообщение