08.06.2018 19:54
Diamondne
 
Добрый день.

По итогам предыдущей темы https://olegon.ru/showthread.php?t=29376 , я смог загружать товары напрямую в БД кассы, но столкнулся с "подарком" производителя, а именно:
При загрузке товаров из личного кабинета, помимо заполнения талицы GOODS (в нее пишутся артикул/единицы/цена/налоги и т.д.), заполняется таблица GOODS_CODE. Эта таблица, по сути, является продолжением таблицы GOODS, в нее пишутся для каждого товара параметр HASH_VAL. И, если его изменить или не создать, то товарная позиция не воспринимается кассой. Опытным путем я выяснил, что на этот параметр влияет только штрих-код товара и артикул (т.е. походу этот хэш генерируется из значений этих ячеек). Для того, чтобы попытаться понять принцип генерации HASH_VAL, я в личном кабинете создал 4000+ товаров с одинаковым наименованием, ценой и т.д., но с артикулами идущими по порядку 1,2,3 и т.д. и без штрихкодов, прогрузил все это дело в кассу и дернул из нее БД. Но моих мозгов не хватило понять принципа генерации. Комрады, прошу глянуть на сие творение. мб у кого есть мысли? Во вложении файл, для удобства: первая колонка - артикул, вторая - HASH_VAL
https://storage.olegon.ru/supermag/u...ash_val.xls.7z
(0,24Мб)
09.06.2018 17:36
vdm
 
По длине и символам - похоже на crc32.
Но из каких данных оно вычисляется - х/з, да и разновидностей crc много, плюс поверх стандартных чего угодно можно навешать.
К "артикулам" и кодам из таблички стандартные crc не подходят.

"Методом тыка" записать в HASH_VAL свою crc32 из артикула и ШК, может алгоритм неважен, а главное уникальность более-менее обеспечить.
09.06.2018 17:54
konst
 
Интересно для разных касс эти значения совпадают?
А то может быть они еще и какой-нибудь код кассы используют
Часовой пояс GMT +3, время: 17:19.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.