Изменение SKU с буквенно-цифровых на числовые, как! - PullRequest
0 голосов
/ 21 мая 2009

Наша компания имеет тысячи SKU, которые в настоящее время имеют 1-6 цифр, за которыми следуют 10 букв, которые представляют различные варианты цвета, т.е. 1550-B = Продукт 1550 черный. B для черных. 165334-W = Продукт белого цвета и т. Д.

Наша новая система будет разрешать только числовые коды (и нашим сотрудникам будет проще также вводить все 10 клавиш).

Нам нужен совет, как численно ввести инвентарный номер плюс числовой код, который соответствует цвету. Мы пытаемся понять, как отличить продукт от цвета. SKU в настоящее время заканчиваются цифрами 1-9 + 0, поэтому мы в недоумении. Не уверен, что мы могли бы использовать точку. между числами, как это могло бы работать, т.е. 1665,2 с 2 представляющих черный. Могут ли точки или любые другие символы использоваться в числовой системе? Я склонен думать, что нет - поэтому, если у вас есть какие-либо идеи, вы были бы спасателем! Спасибо !!

Ответы [ 5 ]

2 голосов
/ 21 мая 2009

Вам необходимо наметить все опции, которые представляют ваши буквенные суффиксы, и посмотреть, сколько комбинаций используется. (Да, это будет большая задача.) Затем вы знаете, сколько «места» вам нужно между последующими новыми SKU, и используете его для преобразования числовой части старой, умножив ее на кратное 10, чтобы заполнить этот пробел.

Пример: продукт 165534 может быть четырех цветов: черный, белый, зеленый и коричневый. B, W, GR и N, например. Но 1550 поставляется в шести цветах: черный, белый, серый, синий с красными полосами, синий с желтыми полосами и синий с белыми полосами. B, W, G, BR, BY и BW. Хорошо, это делает восемь вариантов. Таким образом, вы можете преобразовать их следующим образом:

 - 165534-B  => 1655340
 - 165534-W  => 1655341
 - 165534-GR => 1655343
 - 165534-N  => 1655344
 - 1550-B    =>   15500
 - 1550-W    =>   15501
 - 1550-G    =>   15502
 - 1550-BR   =>   15505
 - 1550-BY   =>   15506
 - 1550-BW   =>   15507

Обратите внимание, что я умножил числовую часть на 10, а затем преобразовал алфавитный суффикс в уникальный числовой префикс. Первое преимущество этого в том, что SKU xxxx1 всегда будет белым. Второе преимущество заключается в том, что продукт 165534 по-прежнему будет 165534.

1 голос
/ 21 мая 2009

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

Можно ли объединить номер продукта с номерами цветов и просто создать один длинный числовой номер SKU? а именно:

1554643 х продукт - белый

1554644 х продукт - черный

1 голос
/ 21 мая 2009

Если ваша система допускает значение с плавающей запятой, лучше использовать десятичное число.

Если нет, потребуйте, чтобы последние (или две, или три, и т. Д.) Цифры в номере обозначали цвет. Таким образом, все, что вам нужно сделать, это посмотреть на последние n цифр, чтобы определить цвет.

0 голосов
/ 21 мая 2009

Ой, какая проблема! Если у вас относительно мало цветов, и подход, подобный статике, должен работать нормально. Если у вас богатый набор цветов, вы можете отобразить каждый из них на 12-битный или 24-битный цветовой код RGB. Это те же цветовые коды, которые вы использовали бы в дизайне веб-страницы, например, в таблицах стилей CSS.

Так, например, чтобы сделать что-то красное на веб-странице, вы увеличиваете красный цвет до максимума и оставляете зеленый и синий в нуле: # FF0000 (24-бит) или # F00 (12-бит). Белый - это каждый яркий цвет или #FFFFFF (#FFF). Черный имеет красный, зеленый и синий свет выключен: # 000000 (или # 000)

Таким образом, вы можете сопоставить имена цветов с такими значениями RGB, как это, а затем преобразовать их в десятичные и добавить их к существующему числовому коду.

Вы можете отобразить эти значения цвета в одно десятичное число или сопоставить их с отдельными десятичными числами R, G и B и объединить их (более читабельно, но затрачивает больше цифр). Думаю, я бы порекомендовал четырехзначное значение, которое является десятичным эквивалентом 12-битных значений RGB.

Если вы используете Firefox, вы можете загрузить дополнение ColorZilla, а затем использовать его для выбора цветов на веб-страницах, чтобы увидеть, что они также отображают. Также смотрите эту таблицу цветов CSS .

0 голосов
/ 21 мая 2009

Вы можете использовать десятичные дроби, если ваша система sku использует «десятичный» в качестве типа sku, но я сомневаюсь, что это так.

Кажется, что самый разумный путь - это

1) взять все буквы в sku, заглавные их 2) конвертировать в ascii 3) суммировать их все 4) использовать это как последние 4 цифры sku, с начальным нулем

Итак, 1555-WB => w = 87, b = 66, = 153

1555-WB = 1555(0153)
1555-WC = 1555(0154)
1555-ZZZZZZZZZZ = 1555(0900) (0900 i the max)

Поскольку перед вами 6 цифр, у вас всегда будут последние 4 цифры в качестве кода "sub product", пока вы не наберете более 6 ^ 10 продуктов!

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...