Имя: Пароль:
1C
 
Расчет кратности количества позиций
0 Morphius
 
05.04.13
11:06
Расчет бонусов: при покупке допустим 4 штук товара из определенного ассортимента и количестве позиций не менее двух даем в подарок 1 пирожок. Т.е., купив 2х и 2у, покупатель получает 1 пирожок, купив  4х и 4у, покупатель получает 2 пирожка,купив 2х и 2у и 4z, покупатель получает 2 пирожка, но купив 1x и 7у покупатель получает по прежнему 1 пирожок, ибо условие вхождения 2 позиций кратно одному. При помощи какого алгоритма  можно подобный расчет реализовать программно?
1 cw014
 
05.04.13
11:07
Алгоритм не знаю, но трава у тебя отменная
2 Godofsin
 
05.04.13
11:07
(1) У него таблеточки - синяя и красная
3 Morphius
 
05.04.13
11:08
(1) Ну ты Петросян
4 Wobland
 
05.04.13
11:09
(3) сам ты куклачёв. предлагаю описать задачу нормальным общим языком, а не на пальцах
5 mr_K
 
05.04.13
11:09
(0) Алгоритм Зоммерфельда-Борисова-Криса спасет отца русской демократии
6 cw014
 
05.04.13
11:09
(2) Интересно, а за синюю или за красную дают два пирожка?
7 Wobland
 
05.04.13
11:12
(6) один пирожок. в котором две таблетки. это называется рекурсия
8 Morphius
 
05.04.13
11:13
Просьба отвечать по существу.
9 cw014
 
05.04.13
11:17
(8) В пятницу не принято таких вопросов задавать
10 Morphius
 
05.04.13
11:20
(9) Господа, с флеймом и петросянством идите в ж.другую ветку
11 mr_K
 
05.04.13
11:21
(0) ЦЕЛ(Всего штук / 4) - ограничение по бонусам сверху. Далее число штук по каждой позиции делить на полученное выше. Если для какой-то позиции результат деления меньше 1  - значит из ограничения отнимаем 1.
12 mr_K
 
05.04.13
11:22
(11)+ И ну да. Сначала проверка на количество позиций больше 1.
13 Зойч
 
05.04.13
11:23
нарисуй табличку
колво х, у, z, пирожки
сразу станет все понятно
14 DexterMorgan
 
05.04.13
11:32
Товар|Количество|Кратность

Бонус = 0;
Если Таблица.Количество() > 1 Тогда Перебор циклом -

Бонус = Бонус + Цел(Количество/Кратность);
15 Morphius
 
05.04.13
11:36
Дело в том, что переменных, за счет которых достигается кратность м.б. порядка 10. Т.е. клиент покупает 5*(x и y) и 6*(z и q), и 4*(u и t) - мы должны выдать за каждую пару
16 Morphius
 
05.04.13
11:37
(11) Сейчас на калькуляторе попробую. Почему отнимаем?
17 DexterMorgan
 
05.04.13
11:38
(15) Задачу понимаю, но объяснить не могу?)))
18 Morphius
 
05.04.13
11:58
(17) Не могу объяснить ее машине.
19 Wobland
 
05.04.13
11:59
(18) людям тоже не очень получается
20 1Сергей
 
05.04.13
12:01
Цел(МИН(X, Y)/2)

ЗЫ
или я не правильно понял задачу
21 ObjectRelation Model
 
05.04.13
12:01
Пирожков = 0;
Цикл по товарам
 Пирожков = Пирожков + ?(Количество>1,1,0);
КонецЦикла;
22 ObjectRelation Model
 
05.04.13
12:01
(0) автор, научись выражать правильно мысли - может и решение само придет тогда
23 mikecool
 
05.04.13
12:03
рисовал справочник Акции + Акционные наборы
в них - описание комплектов, которые должен набрать пользователь
+ обработка
24 Morphius
 
05.04.13
12:08
(22)Россия -  страна советов. Только советуют , как правило, не то, о чем спрашивают
25 1Сергей
 
05.04.13
12:10
(24) тебя очень трудно понять
26 ObjectRelation Model
 
05.04.13
12:11
(24) трудно посоветовать то, чего не понимаешь
кстати, ты бы прислушался к советам таки
27 Jonny_Khomich
 
05.04.13
12:18
Автор продавец пирожков! Помоги ему найти оптимальную акцию для увеличения количества реализаций.
28 Morphius
 
05.04.13
12:18
При 2-х единиц товара в количестве не менее 4-х дается бонус. Выдача бонуса-кратная. 2 единицы могут быть достигнуты за счет разного ассортимента. Как посчитать программно кратность бонуса
29 НафНаф
 
05.04.13
12:22
(28) почему "купив 1x и 7у покупатель получает по прежнему 1 пирожок"?
30 Morphius
 
05.04.13
12:24
(29) Потому что в 10 штуках товара 2 разных позиции встречаются 1 раз.
31 1Сергей
 
05.04.13
12:25
(30) как и в "4х и 4у", но там-то 2 пирожка
32 hhhh
 
05.04.13
12:28
(30) условия бонусов должны быть понятны покупателю, иначе он вас пошлет в задницу с вашими пирожками.
33 Птица
 
05.04.13
12:29
(31) из 4 и 4 можно сделать 2 разных набора,, за каждый из которых по пирожку, а из 1 и 7 - нет
34 Morphius
 
05.04.13
12:30
(32) Эти условия придумывает поставщик, мы - дистрибутор. Да и условия в общем-то понятны любой продавщице;)
(33) Совершенно верно
35 Morphius
 
05.04.13
12:31
Может, правильной формулировкой будет: как просчитать количество наборов согласно указанным условиям
36 НафНаф
 
05.04.13
12:37
упорядочиваем товары корзины по количеству
берем от меньшего из оставшихся 1 и от большего из оставшихся 3 (ну или что там осталось от предпоследнего еще)
37 hhhh
 
05.04.13
12:38
(34) ну смотри, допустим чел купил 1x + 8y + 1z + 8u

и у вас зависит от группировки

если (1x + 8у) + (1z + 8u) получится 2 пирожка
а     (1x + 1z) + (8y + 8u) получится 4 пирожка.

получается, ни хера не понятно.
38 Зойч
 
05.04.13
12:41
(37) нужно максимум найти - симплекс методом )))
39 НафНаф
 
05.04.13
12:41
даже так

берем максимальный по количеству товар и сравниваем с всем оставшимся товарам, если его больше чем всего остального то вычитаем кратно 4, пока можно
потом просто берем % 4
40 Helldown
 
05.04.13
12:58
Если в корзине может быть только 2 разных "продукта", то просто сравниваем

Если x>z Тогда
   КоличествоПирожков = Окр(x/2,,Окр15как10);
Иначе
   КоличествоПирожков = Окр(z/2,,Окр15как10);
КонецЕсли;
41 Helldown
 
05.04.13
13:01
Если их больше двух, то сначала сортируете по убыванию и потом попарно сравниваете и увеличивайте количество пирожков.
42 hhhh
 
05.04.13
13:29
(40) ага, продавец покупателю это лихо объяснит.
43 Крошка Ру
 
05.04.13
13:38
(34) Так ты у продавщиц бы и спросил))
Независимо от того, куда вы едете — это в гору и против ветра!