Имя: Пароль:
1C
1С v8
Создание уникальных кодов/купонов
0 EverGreenMouse
 
09.08.16
21:49
Здрасте, товарищи.
Столкнулся с задачей, которая не дает покоя уставшему мозгу :)
Сабж: необходимо периодически программно генерировать уникальные 6-значные (в дальнейшем n-значные) промокоды. На данном этапе только числовые, в дальнешем символьные и комбинированные.
УникальныйИдентификатор()  - не лезет ибо36 символов и бла-бла-бла, ГенераторСлучайныхЧисел - не дает 100% уникальности даже в рамках 6-значных кодов.
Генерация с Помощью ГСЧ и дальнейшая обработка в цикле тоже вызывает сомнения так как заворачиваемся в рекурсию.

Есть у кого опыт или соображения по поводу реализации?
1 EverGreenMouse
 
09.08.16
21:51
пока что я прихожу к выводу что ГСЧ и дальнейшая обработка в рекурсии будет наиболее точно гарантировать уникальность
2 Звездец
 
09.08.16
21:54
сгенерировать сразу овердофига и забыть на какое-то время об этом?
3 EverGreenMouse
 
09.08.16
21:55
(2) и в дальнейшем их распределять по группам. Заказчик с ума сойдет от объемов :)
4 bolder
 
09.08.16
21:56
(1) рекурсия<>цикл;))
5 shuhard
 
09.08.16
21:57
(3) нет в промокодах ни чего уникального, у них есть срок действия + любой словарик
6 Звездец
 
09.08.16
21:59
(3) по каким группам? обрабатывай статус: новый, напечатан/выдан, погашен и тп
7 bolder
 
09.08.16
21:59
(0) Элементарно, в цикле.Работает очень быстро.
8 EverGreenMouse
 
09.08.16
21:59
(4) Да, плохо мысль сформулировал. Рекурсия подразумевалась
9 Garykom
 
гуру
09.08.16
22:01
Почитай про ШК, контрольная цифра и базы данных. Еще про 16-ричную и прочие системы с любым основанием, затем про Base64 кодировку.

Можно еще чего для развития интеллекта и поймешь что задачка яйца выеденного не стоит и решается в куче вариантов разными способами.

Остается только уточнить ТЗ: "Дайте примеры этих промо-кодов как они должны выглядеть?" и "код EE22ЫЫ, пойдет или надо тока EE22SS?"
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.