gifts2017

DBF-база штрихкодов продуктового магазина (35310 записей)

Опубликовал Роман (hrom) в раздел Обмен - Обмен через DBF

Штатная обработка 1С ТиС ничего не находила в базе "ЮНИСКАН", поэтому возникла идея создать свою локальную базу по работе со штрихкодами для 1с77 и 1С81. Сканируем штрихкод и если в 1С нет информации о таком товаре, он ищется в моей DBF базе, автоматически создается номенклатура с найденным названием, единицей измерения и штрихкодом, плюс заносится в документ "ПоступлениеТоваров и Услуг", или в подобный (оператору остается только указать цену товара).

База состоит из DBF файла и индексного файлка к нему.

DBF имеет три поля:

"SHKOD" (строка 13 символов) - штрихкод

"NAME"  (строка 50 символов)- название товара
"EDIZM"(строка 4 символа) - единица измерения

и 35310 записей о товарах. Штрихкода уникальные (т.е. нет задвоений штрихкодов)

CDX файл содержит индексы по полю "SHKOD".

В базе содержатся товары из трех супермакетов, обработки, которыми выгружал эту инфу для 1с ТиС и 1С УТ прилагаю в архиве "ОбработкиВыгрузкиИз1СвДБФ.rar".

Также прилагаю обработку для создания товара по штрихкоду и заполнению в выбранный документ: "СоздатьНоменклатуруПоШК.rar"

К СоздатьНоменклатуруПоШК.epf можно подключать одновременно несколько DBF-файлов, все настройки на вкладке "Настройки".

Для того, чтобы "прикрутить" СоздатьНоменклатуруПоШК.epf к УТ надо добавить в модуль формы документа такой код:

Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт


ФайлОбработки = новый Файл(КаталогПрограммы()+"СоздатьНоменклатуруПоШК.epf");


Если ФайлОбработки.Существует() Тогда

Обработка = ВнешниеОбработки.Создать(КаталогПрограммы()+"СоздатьНоменклатуруПоШК.epf");

мФормаИдентификацияШтрихкодов=Обработка.ПолучитьФорму("Форма");

мФормаИдентификацияШтрихкодов.Открыть();

мФормаИдентификацияШтрихкодов.ДобавитьНеизвестныйШтрихкод(ТипКода, Штрихкод, 1, Этаформа);

Иначе

Если мФормаИдентификацияШтрихкодов = Неопределено Тогда

мФормаИдентификацияШтрихкодов = Обработки.ИдентификацияШтрихкодов.ПолучитьФорму();

КонецЕсли;

мФормаИдентификацияШтрихкодов.Открыть();
мФормаИдентификацияШтрихкодов.ДобавитьНеизвестныйШтрихкод(ТипКода, Штрихкод, 1, Этаформа);

Активизировать();
КонецЕсли;

Возврат Истина;

КонецФункции // СШКНеизвестныйКод()


 Для 1С77 прилагаю фрагмент кода, по нахождению нужной записи в моей базе товаров:

Файл=СоздатьОбъект("XBASE");

Файл.ОткрытьФайл(ВыбФайлВыгрузки,ВыбФайлВыгрузки,1);

Файл.ТекущийИндекс("IDSHKOD");

Файл.Ключ.SHKOD = ВыбШк;

Если Файл.НайтиПоКлючу(0)=1 Тогда

Сообщить(Файл.NAME);

Иначе

Предупреждение("Нет такого Штрихкода!");

КонецЕсли;

Файл.ЗакрытьФайл();

 


P.S.: Если интересно, могу сделать DBF-ки для Хоз.магазинов и Оптики.

P.P.S.: Написал обработку для 1С77 "СоздатьНоменклатуруПоШК-КА и ТиС.zip" писал и тестировал её под комплексной конфигурацией, но в ТиС она тоже будет работать. Вообще, будет работать в любой конфе под 1С77,  где есть Справочник "Номенклатура" и подчиненный справочник "Единицы", "ОКЕИ" со стандартным набором реквизитов, ессно.

 

 

 

Скачать файлы

Наименование Файл Версия Размер
Сама база 370
.rar 696,74Kb
20.10.14
370
.rar 696,74Kb Скачать
1С81 УТ10.3 создание номенклатуры по ШК 88
.rar 9,93Kb
20.10.14
88
.rar 9,93Kb Скачать
Обработка для 1С77 по поиску и созданию номенклатуры на основе ШК 16
.ert 79,00Kb
20.10.14
16
.ert 79,00Kb Скачать
выгрузка из ТиС и УТ 41
.rar 12,96Kb
20.10.14
41
.rar 12,96Kb Скачать
База магазина Оптики - 7030 записей 26
.zip 60,20Kb
20.10.14
26
.zip 60,20Kb Скачать
База магазина Хозтоваров - 19875 записей 46
.zip 500,65Kb
20.10.14
46
.zip 500,65Kb Скачать
База канцелярских товаров - 9496 записей 35
.zip 212,68Kb
20.10.14
35
.zip 212,68Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Александр Рытов (Арчибальд) 03.08.10 11:12
Файлы прикрепи, потом публикуйся
2. Дмитрий Осипенков (Рязанский) 09.08.10 10:52
название: продкутового - продуктового
А своя база - это хорошая идея...
3. Роман (hrom) 09.08.10 11:36
Рязанский,
исправил :)

Ну как? Штрихкода то находятся?
В эту DBF-ку легко штрихкода из своей базы добавлять с помощью моих внешних обработок, так силами сообщества infostart.ru можно довести её до всеобъемлющих размеров :-)
4. Екатерина Степанова (FERMER111) 10.08.10 03:11
"Для того, чтобы "прикрутить" СоздатьНоменклатуруПоШК.epf к УТ надо добавить в модуль формы документа такой код"
Можно поконкретней? Модуль формы какого документа? И как это работает на примере ввода нового поступления.
5. Роман (hrom) 10.08.10 05:38
FERMER111,
Я пробовал на "Управлении торглвей 10.3"
Конфигуратор, Документ "ПоступлениеТоваровУслуг", модуль формы "ФормаДокумента", там ищешь функцию "СШКНеизвестныйКод(Штрихкод, ТипКода, СШК)", существующий код функции комментишь и заменяешь на текст, приведенный мной в описании (ну или вносишь руками нужные изменения в существующий код). Сохраняешь изменения в конфигурации.
По адресу: "КаталогПрограммы()+"СоздатьНоменклатуруПоШК.epf""(обычно C:\Program Files\1cv81\bin\), кладешь мою обработку- "СоздатьНоменклатуруПоШК.epf".
В составе этой обработки есть экспортная процедура "ДобавитьНеизвестныйШтрихкод(ТипКода, Штрихкод, 1, Этаформа)", эта процедура вызвается конфигурацией при внешнем событии ввода штрихкода, если введенный штрихкод не найден в регистре сведений "Штрихкода". Только штатно это процедура вызвается из встроенной обработки "Обработки.ИдентификацияШтрихкодов", а её вызвыаю из моей внешней обработки. Кстати, можешь встроенную "заменить на внешний отчет\обработки" из моего файла "СоздатьНоменклатуруПоШК.epf" и тогда не придется вносить изменения в текст функции "СШКНеизвестныйКод" в каждом документе, но мне кажется это извращение и сам я его не пробовал. По мне лучше в каждом документе внести изменения руками, чтобы понимать в каких документах мне нужен автоматический ввод штрихкода из моей DBF базы, а в каких луше оставить штатную обработку неизвестного штрихкода.
В обработке "СоздатьНоменклатуруПоШК.epf" надо зайти на вкладку "Настройки", заполнить соответствующие поля и "сохранить настройку", тогда вновь создаваемая номенклатура будет создавать в отдельно выделенной для этих целей группе, также там можно изменить лимит строк в документе (чтбы юзер не плодил документы по тысяче строк) и обязательно указать путь к DBF-кам, в которых нужно искать штрихкод. Количество DBF-ок не ограничено. Но обработка ищет сначала в тех DBF-ках, которые идут в начале списка, как только находит соответсвующий штрихкод, поиск прерывается. Если один и тот же штрихкод встречается в нескольких DBF-ках, его можно найти по кнопке "Найти похожие штрихкода", если нужный штрихкод не найдется, то моя обработка предложит для заполнения соседние штрихкода (это только по кнопке "Найти похожие штрихкода").
6. Екатерина Степанова (FERMER111) 11.08.10 00:31
Замечательно!! +++ Все получилось. Правда, пока еще нет возможности проверить в отделе, завтра обязательно пущу в дело. А как создавать свои DBF-ки, например от поставщика?
7. Аркадий Кучер (Abadonna) 11.08.10 00:40
Если база работает на скуле, то ловчее и стороннюю базу сделать на SQL, а не на DBF.
Помню делал стороннюю, которая фиксировала все изменения в особо важных объектах (например, Справочник Контрагенты). Очень удобно, а чем лучше скуль - индексы у него не ломаются и можно напрямую из 1С через ADO подключиться
8. Роман (hrom) 11.08.10 05:00
FERMER111,
Чтобы создать свою DBF-ку запусти внешнюю обработку ВыгрузкаШКвДБФизУТ.epf в 1С81 (или ВыгрузитьШКизТиС.ert для 1С77), там есть три кнопки: "выгрузить базу", "объединить с текущей базой", "тест чтения"
1. "выгрузить базу" - задаёшь имя файла выгрузки, нажимаешь кнопку "выгрузить базу" и все штрихкода сливаются в файл выгрузки - получаются два файла *.DBF, *.CDX
2. "объединить с текущей базой" - указываешь путь к существующему файлу DBF (в том же самом поле, что и в п.1 - т.е. имя файла выгрузки), нажимаешь "объединить с текущей базой". Штрихкод из 1С-ки сначала ищется в указанной DBF-ке, если не находит, то добавляет запись в эту же DBF-ку и соответствующую запись в индексный файл.
3. "тест чтения" - указываешь путь к существующему файлу DBF (или ничего не задаешь, если путь остался после п.1, или п.2), вводишь искомый штрихкод в поле слева от кнопки "тест чтения", нажимаешь кнопку "тест чтения". Тебе выдается сообщение с найденным названием товара, или предупреждение "штрихкод не найден".
9. Роман (hrom) 11.08.10 05:10
Abadonna,
ну тем кто работает на SQL-е может быть и да.
Только современные одинэсники, творящие на 1С81 этот sql дяже и не нюхали :)
Вообще, идея моей базы - облегчить жизнь товароведу или кладовщику при приёмке большого количества НОВОГО товара, такое бывает, например, когда магазин только открывается. А когда магазин уже долго фунциклирует он, как правило, уже имеют свою внутреннюю базу штрихкодов и дополнительные внешние базы ему редко нужны. Пэтому ИМХО для моей внешней базы важнее быстрота подключения, простота переноса с одного компа на другой, универсальность обмена информации с другими базами. Для этих целей dbf-ки подходят больше, так как не требуют установки никакого дополнительного ПО и работают с любой базой.
10. Аркадий Кучер (Abadonna) 11.08.10 05:24
Только современные одинэсники, творящие на 1С81 этот sql дяже и не нюхали

Ну чё уж ты их так :D
Если 1С-сервер, то, как правило, и SQL
11. Александр Рытов (Арчибальд) 11.08.10 07:44
(10) Правильно он их. Видел ты восьмерочника, пользующегося прямыми запросами?
12. Аркадий Кучер (Abadonna) 11.08.10 08:38
13. Александр Рытов (Арчибальд) 11.08.10 09:11
(12) Это был не восьмерочник. Не примазывайся к младому поколению с девственными мозгами. :)
14. Аркадий Кучер (Abadonna) 11.08.10 09:14
(13) Ну, если честно, это и не одноэсник был :D
15. Екатерина Степанова (FERMER111) 11.08.10 10:18
(5) Еще раз спасибо за подробные комментарии. Все работает.
16. Роман (hrom) 11.08.10 12:49
(15) FERMER111,
:)
Выкладывай прицепом DBF-ку со своими добавлениями, пусть растет и ширится.
Если будет слишком большая, можно будет разбить на несколько файлов по диапазонам штрихкодов.
Например:
DBF№1 содержить кода от 8000000000000 до 8100000000000
DBF№2 содержить кода от 8100000000001 до 8200000000000
и так далее...
17. Екатерина Степанова (FERMER111) 11.08.10 23:19
После Ваших инструкций - выложу с удовольствием, правда у нас не так много, пытаемся все настроить. Переходим на автоматизацию поэтапно. Кстати, хозяйственная база тоже была бы очень кстати. Сейчас пытаюсь договориться с поставщиками о таком обмене.
18. Роман (hrom) 12.08.10 05:36
(17) FERMER111,
Прицепляю к этому сообщению DBF-ку со штрихкодами хозяйственного магазина: 19785 записей.
Есть еще базы с одеждой и оптикой (очки, линзы).
Прикрепленные файлы:
Хозтовар.zip
19. Екатерина Степанова (FERMER111) 12.08.10 06:07
И снова - СПАСИБО! За хозмаг. Может еще посоветуете что-нибудь в таком вопросе: существует магазин хоз-строй товары. Заведена номенклатура в УТ 10.3, но товар не отштрихован. Сейчас планируем автоматизацию. Как упростить ввод штрихов? У меня мелькает мысль о том, что плюнуть на старую базу (очень много ошибок в наименованиях, много задвоений и т.п.), взять, скажем, Вашу базу, может быть базы поставщиков и завести все сначала через ввод остатков. Или проще будет привязка штрихов к сущ. номенклатуре. Наименований около 2500 включая многое в ассортименте.
20. Роман (hrom) 12.08.10 09:36
(19) FERMER111,
Может в твоей ситуации немного облегчит жизнь вариант, когда ты будешь вводить штрикода сразу в регистр, а не через справочник. Открываешь меню Операции/Регистры сведений/Штрихкоды.
Открывается регистр Штрихкодов, нажимаешь "добавить новый элемент", указываешь тип штрикода (обычно EAN13), вводишь сам штрикод, выбираешь номенклатуру и если нужно, то характеристику и серию.
Чтобы не вводить вручную с клавиатуры цифры штрихкода, можно настроить сканер штрихкода на режим работы "в разрыв клавитуры" (позволяют не все сканеры) и НЕ подключать его через Сервис/торговое оборудование. Тогда считанный штрихкод будет ввиде цифр вводится в то поле, которое ты предварительно выделишь мышкой.
Наверное, такое вариант будет пошустрее работать, чем через справочник Номенклатура, или стандартную обработку "Обработки.ИдентификацияШтрихкодов".
21. Екатерина Степанова (FERMER111) 12.08.10 23:50
Да, попробовала, здорово. Век живи, век учись. Хочу сейчас приобрести терминал сбора данных, пока представляю только теоретически что это за штука такая. Но надо осваивать и это. С компом по магазину не побегаешь.
22. king nc (patriarh_812) 10.05.11 22:29
FERMER111,
Ну смотря какой магазин, я себе сделал удлинитель на 10 м., склад небольшой пока хватает.
Вопрос по поводу обработки, как ее закинуть в 7.7 ТиС 9.2 ?
Автору спасибо.
23. king nc (patriarh_812) 12.05.11 17:47
При попытке записать найденный элемент пишет
Перед записью в элементе справочника "Номенклатура" необходимо заполнить "вид номенклатуры"!
хотя вид номенклатуры выставлен правильно по справочнику единиц измерения (стоит шт)
24. Сергей (Che) Коцюра (CheBurator) 12.05.11 17:49
(23) вид номенклатуры - это не единица измерения!!!
25. king nc (patriarh_812) 12.05.11 20:39
Да точно, спасибо.
Но номенклатуру все равно не добавляет.
Кроме того заменил в документе ПоставлениеТоваровУслуг функцию СШКНеизвестныйКод на предложеную автором, но все равно открывается обработка ИдентификацияШтрихкодов, наведите в правильное русло=)
И еше автор пишет Для 1С77 прилагаю фрагмент кода, по нахождению нужной записи в моей базе товаров:, если можно поподробней как эту обработку к 7.7 привязать?
26. Сергей (Che) Коцюра (CheBurator) 12.05.11 20:48
в 8_2_14_439 можно внешние источники данных - типа этой автономной ДБФки подсоединять и отображать и прочее типа как штатно...
27. king nc (patriarh_812) 12.05.11 20:50
у меня стоит 8.1.15.14, может быть изза версии?
28. петр иванов (zerx) 17.09.11 12:18
А можно файлики еще где-нибудь выложить, а то скачать не получается(
29. Andrey Berdnik (lambda-tmn) 04.09.12 15:54
Здравствуйте.

А работает ли эта база на 8.2 ???
30. Shrek Shrek (Shrek2015) 04.09.12 16:07
31. Андрей Бердник (lambda) 05.09.12 19:59
Подскажите есть ли ветка в форуме по этой обработке и базе??
32. Сергей Камнев (Sergey Kamnev) 17.10.12 16:33
Добрый день, hrom.

У меня есть несколько вопросов по базе продуктов:
1. В базе данных содержатся розничные или оптовые товары?
2. Товары однозначно идентифицированы названием? То есть может быть товар "Кисель", но это может быть как напиток в жидком состояние, так и в порошкообразном.
3. Есть ли возможность получить хотя бы только штрих-коды, чтобы понять на сколько данная база мне подходит.
33. Сергей Камнев (Sergey Kamnev) 18.10.12 18:41
О! Ещё забыл вопрос задать.

В базе товары только Российского производства или импортного тоже?
34. Алексей М. (allesvet) 17.07.13 12:22
Как скачать базу? За 50 рублей? Но какой смысл ложить сюда 500 стартмани если нужна только база. Как положить 500 стартмани????
35. Алексей М. (allesvet) 17.07.13 12:23
Прошу прощение как положить 50!!!? стартмани.
36. Николай Николаевич Стадник (shtepin) 25.06.15 21:58
Есть ли возможность выборочно проверить наличие штрих кодов в базе?
37. Сергей Соколов (sfs1981) 12.12.15 23:13
Здесь готовая база Ean-13 все о потребительских товарах штрих-кодов, с API, которое подходит для 1С. 10млн. записей.
38. Яков Манченко (Икар) 09.11.16 19:42
Конечно база не плохая, но названия товаров как всегда хромает....
То кавычки с пробелами, то названия корявые...
Нет единого стиля написания названия товара.
Почему бы не взять и написать
1. Вид товара
2. Название товара
3. Упаковки и ед. измерения
4. Производитель
Получилось бы например Пиво Жигулевское 4% 0,5л Москва
И сразу и искать проще...

А то даже ж/б у Вас пишется и так и ж\б