AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2009, 15:27   #1  
iliah_imported is offline
iliah_imported
Участник
 
8 / 10 (1) +
Регистрация: 05.05.2005
->
Item Nr cледующего вида до 20 символов
1488-170-75C
456912-LEOP.-125C
456912-LEOP.-120D
Нужен алгоритм для генерации уникального ключа длиной 14 символов
Старый 16.02.2009, 09:56   #2  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Talking
Цитата:
Сообщение от iliah Посмотреть сообщение
Item Nr cледующего вида до 20 символов
1488-170-75C
456912-LEOP.-125C
456912-LEOP.-120D
Нужен алгоритм для генерации уникального ключа длиной 14 символов
A можно узнать какая цель преследуется? В зависимости от цели могут использоваться либо крипто, либо GUID, либо просто шеш-функция какая-нибудь..
Старый 16.02.2009, 11:27   #3  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
а настройка серий номеров не подходит?
начальный номер:
LEOP.100000000
конечный номер:
LEOP.999999999
сумма знаков - 14
каждый из номеров - уникальный
условия задачи выполнены
Старый 16.02.2009, 11:31   #4  
iliah_imported is offline
iliah_imported
Участник
 
8 / 10 (1) +
Регистрация: 05.05.2005
Из NAV данные экспортируются в кассовые терминалы.
В кассовых терминалах все завязано на поле артикул 14 символов.
в старой системе для поля артикула использовался EАN 13
Жизнь пошла быстрее и веселее все не успевают или забывают проставить новый EАN 13
Поэтому нужно сгенерировать уникальный код.Таблица около 220000 записей
идея есть состовлять из двух половинок длина + контрю. сумма+???
Старый 16.02.2009, 15:45   #5  
iliah_imported is offline
iliah_imported
Участник
 
8 / 10 (1) +
Регистрация: 05.05.2005
Цитата:
Сообщение от Sancho Посмотреть сообщение
а настройка серий номеров не подходит?
начальный номер:
LEOP.100000000
конечный номер:
LEOP.999999999
сумма знаков - 14
каждый из номеров - уникальный
условия задачи выполнены
Уникальный номер должен генерироваться один и тотже в независимости от изменений в базе
Старый 16.02.2009, 16:56   #6  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Talking
Цитата:
Сообщение от iliah Посмотреть сообщение
Из NAV данные экспортируются в кассовые терминалы.
В кассовых терминалах все завязано на поле артикул 14 символов.
в старой системе для поля артикула использовался EАN 13
Жизнь пошла быстрее и веселее все не успевают или забывают проставить новый EАN 13
Поэтому нужно сгенерировать уникальный код.Таблица около 220000 записей
идея есть состовлять из двух половинок длина + контрю. сумма+???
Так придумайте сами по аналогии с генерацией шрих-кода или заведите серию номеров + встроенная функция (CheckNumber :=STRCHECKSUM(String [, WeightString] [, Modulus])), которая будет расчитывать контрольную цифру.
Создание повесте на триггер, которые отвечается за какую "отмашку о готовности к работе" и всё будет ОК!
Старый 17.02.2009, 22:24   #7  
iliah_imported is offline
iliah_imported
Участник
 
8 / 10 (1) +
Регистрация: 05.05.2005
CheckNumber :=STRCHECKSUM(String [, WeightString] [, Modulus])), которая будет расчитывать контрольную цифру.

Работает только с цифрами. Нужна И Д Е Я!!!
Старый 18.02.2009, 09:51   #8  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Комбинация длина строки + 10 символов CRC32 (если в числе меньше символов - недостающие заменяем нулями) подойдет?
Гугл:
http://www.google.ru/search?hl=ru&q=cr...32+%D0%B0%D0%BB
Реализация на Дельфях:
http://www.delphisources.ru/pages/fa...ast_crc32.html
(Логических операций с байтами в Наве нет, но для их реализации средствами Нава достаточно школьного курса информатики).
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:53.