Нечеткий поиск по штрихкоду

17.05.17

Задачи пользователя - Поиск данных

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Нечеткий поиск по штрихкоду:
.epf 9,41Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

Делюсь обработкой, вдруг кому понадобится. Обработка написана для УТ 11.2, но подойдет для любой конфигурации, где есть таблица "Штрихкоды номенклатуры" с полями "Штрихкод, Номенклатура".

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

Обработка в цикле перебирает все записи из регистра сведений "Штрихкоды номенклатуры" и для каждого штрихкоды вызывается функция, которая возвращает расстояние между словами. Если расстояние не превосходит заданного параметра (для себя установил значение 3), то штрихкод добавляется в таблицу найденных значений.

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

Код основной функции:

Функция РасстояниеЛевенштейна(Строка1, Строка2)
	
	л1 = СтрДлина(Строка1) + 1;
	л2 = СтрДлина(Строка2) + 1;
	
	Если л1 = 1 ИЛИ л2 =1 Тогда
		Возврат 449;
	КонецЕсли;
	
	м = Новый Массив(л1 + 1, л2 + 1);
	
	Для ы = 0 По л1 Цикл
		м[ы][0] = ы;
	КонецЦикла;
	
	Для ы = 0 По л2 Цикл
		м[0][ы] = ы;
	КонецЦикла;
	
	Для ы1 = 1 По л1 Цикл
		Для ы2 = 1 По л2 Цикл
			дифф = Сред(Строка1, ы1, 1) = Сред(Строка2, ы2, 1);
			м[ы1][ы2] = Мин(м[ы1-1][ы2] + 1, м[ы1][ы2-1] + 1, м[ы1-1][ы2-1] + ?(дифф, 0, 1));
		КонецЦикла;
	КонецЦикла;
	
    Возврат м[л1][л2];

КонецФункции

обработка поиск номенклатуры поиск по штрихкоду

См. также

SALE! 20%

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 7176 руб.

15.12.2015    170836    956    364    

400

Логистика, склад и ТМЦ Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

89900 руб.

09.06.2020    38702    28    59    

64

SALE! 20%

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

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    234254    1062    898    

1003

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    194980    150    243    

280

Логистика, склад и ТМЦ Платформа 1С v8.3 Россия Платные (руб)

Подсистема автоматизированного управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления, хранения и учета на адресном складе. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

40000 руб.

26.07.2023    6089    21    0    

12

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

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий (тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

44000 руб.

08.11.2017    122965    292    140    

398

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

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

30000 руб.

02.11.2015    112312    102    87    

185
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. MSConfig 17.05.17 15:27 Сейчас в теме
>> Обработка в цикле перебирает все записи из регистра сведений "Штрихкоды номенклатуры" и для каждого штрихкоды вызывается функция
Вы делали какие-нибудь замеры времени выполнения такого поиска? Сколько будет работать такая функция, если в базе скажем 100 тыс. шк?
2. KazanKokos 11 17.05.17 15:29 Сейчас в теме
(1) вопрос хороший :) а вообще если посмотреть на код, его легко можно всунуть в запрос. тогда проблемы скорости не будет )
3. MSConfig 17.05.17 15:35 Сейчас в теме
(2) да, вариант с запросом был бы более интересным.
5. harmer 1 17.05.17 19:57 Сейчас в теме
(1)
В рабочей базе порядка 20к записей, алгоритм на глаз отрабатывает за 4-5 сек (более точного анализа не производилось, так как время работы устраивает). При увеличении количества ШК время будет увеличиваться пропорционально, поэтому на объемах данных порядка 100к придется задуматься об оптимизации (выбрать другой алгоритм или оптимизировать данный). Возможно, когда мы достигнем такого объема, кто-то уже напишет решение в комментариях).

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

Спасибо за ссылку. Разборы строк в запросе выглядит ужасно и требует гораздо бОльшего времени на разработку, чем переписать известный алгоритм на 1С. Если кто-то решит перенести все в запрос, скажу ему огромное спасибо и попробую сравнить скорость работы.
6. KazanKokos 11 18.05.17 09:36 Сейчас в теме
(5) а "ы" "л" "м" это чтобы враг не раскрыл военную тайну?:)
7. harmer 1 18.05.17 11:43 Сейчас в теме
(6) Конечно! Когда в коде присутствуют такие переменные, сложность алгоритма возрастает в несколько раз, что автоматически увеличивает гордость автора =)
4. KazanKokos 11 17.05.17 15:51 Сейчас в теме
автор - посмотри тут http://infostart.ru/public/558079/ . вообще на ИС полно таких запросов. и в комментах еще попроще кинули, но в нем сложно разобраться. может поможет сделать все одни запросом
8. пользователь 23.05.17 10:21
Сообщение было скрыто модератором.
...
Оставьте свое сообщение