[ТЕМА ЗАКРЫТА]
12.07.2006 16:26
Mr_Vito
 
В Супермаге нет своего механизма отслеживания накопительных скидок. Поделитесь п-ста опытом кто и как их отслеживает и меняет проценты? Как часто? (раз в сутки, реалтайм по опер продажам)
12.07.2006 16:31
akonev
 
запросиком суммируем продажи и по результатам рассаживаем карточки по типам.
реалтайм, имхо, получится только при небольшом количестве магазинов. лучше всего - один.
ежедневно - в принципе реально, но надо или выгружать в базах магазинов, как-то сгребать в офис и там суммировать или тащить в офис все чеки (мало радости)
потому - раз в месяц
12.07.2006 16:33
Mtirt
 
Аналогично. Один раз в сутки в базе ЦО, после получения Z-отчетов, отрабатывает скрипт. Потом измененные карты отсылаются в базы магазинов.
12.07.2006 16:35
OlegON
 
Вы бы скриптами делились :) Интересно же. Заодно нюансы друг у друга бы повыяснили.
12.07.2006 16:37
Mtirt
 
В моем скрипте черт ногу сломит. У меня куча видов карт, да еще разные пределы накоплений для разных регионов.
12.07.2006 16:44
Mtirt
 
Приблизительно так:
Код:
 update smdiscpers set cardtype=4, lastchange=sysdate where code in
(SELECT b.code
FROM
   SUPERMAG.SMCLIENTINFO F
 , SUPERMAG.SMDISCPERS B
 , SUPERMAG.SMDOCDISCCARD H
WHERE
     (B.CLIENT = F.ID (+) )
 AND (B.CODE = H.CODE)
 AND (substr(b.code,1,3)='294' or substr(b.code,1,3)='2135')
 AND (B.CARDTYPE=3)
GROUP BY
   B.CODE
 having SUM(case when h.doctype='CS' then H.TOTALSUM else -H.TOTALSUM end)>=30000);
 commit;
 update smdiscpers set cardtype=5, lastchange=sysdate where code in
(SELECT b.code
FROM
   SUPERMAG.SMCLIENTINFO F
 , SUPERMAG.SMDISCPERS B
 , SUPERMAG.SMDOCDISCCARD H
WHERE
     (B.CLIENT = F.ID (+) )
 AND (B.CODE = H.CODE)
 AND (substr(b.code,1,3)='294' or substr(b.code,1,3)='2135')
 AND (B.CARDTYPE=4)
GROUP BY
   B.CODE
having SUM(case when h.doctype='CS' then H.TOTALSUM else -H.TOTALSUM end)>=50000);
 commit;
update smdiscpers set cardtype=4, lastchange=sysdate where code in
(select code from smdiscpers where client in
(SELECT b.client from
  SUPERMAG.SMDISCPERS B
 , SUPERMAG.SMDOCDISCCARD H
WHERE
  (B.CODE = H.CODE)
AND ((substr(b.code,1,3)='294') or (substr(b.code,1,3)='2135'))
 AND (B.CARDTYPE IN (3,4,5))
GROUP BY
   B.client
having SUM(case when h.doctype='CS' then H.TOTALSUM else -H.TOTALSUM end)>=30000)) and ((substr(code,1,3)='294') or (substr(code,1,3)='2135'));
 commit;
update smdiscpers set cardtype=5, lastchange=sysdate where code in
(select code from smdiscpers where client in
(SELECT b.client from
  SUPERMAG.SMDISCPERS B
 , SUPERMAG.SMDOCDISCCARD H
WHERE
 (B.CODE = H.CODE)
 AND ((substr(b.code,1,3)='294') or (substr(b.code,1,3)='2135'))
 AND (B.CARDTYPE IN (3,4,5))
GROUP BY
   B.client
having SUM(case when h.doctype='CS' then H.TOTALSUM else -H.TOTALSUM end)>=50000)) and ((substr(code,1,3)='294') or (substr(code,1,3)='2135')); 
 commit;
insert into smpostqueue(enqtime,enqseq,target,objtype,objid,paramint,paramstr,transflags,virtpack,commentary) select  sysdate,rownum,null,'DC', code , null, null, 0,null, null from smdiscpers where to_char(lastchange,'DDMMYYYY')=to_char(sysdate,'DDMMYYYY');
commit;
Изображения
Тип файла: jpg курочка.jpg (85.5 Кб, 2400 просмотров)
Тип файла: jpg курочка.jpg (85.5 Кб, 2400 просмотров)
12.07.2006 16:57
akonev
 
действительно! про SMDOCDISCCARD я как раз и забыл *01
стало быть ежедневно - тоже очень даже запросто
12.07.2006 16:59
Mtirt
 
Ну у нас это 2 года работает. С небольшими модификациями.
18.08.2006 13:10
akonev
 
абалдеть! их все-таки сделали *03
признавайтесь, на ком обкатывают!
18.08.2006 15:00
kadr
 
Мы у себя (Уфа, "Матрица") сами сделали, и обкатали.
Тока есть небольшие недоработки, иногда отправляется очень много лишних карт по магазинам, но задание настроено на ночь, поэтому не критично
18.08.2006 15:14
akonev
 
у себя сами - это одно. это уже все проходили.
я про пресс-релиз на 1.024.5
ввели "активность покупателя", ее рассылку между магазинами и рассчет скидок по ней.
и уже второй СП на 1.024.5 есть. значит у кого-то оно работает.
18.08.2006 15:25
kadr
 
Цитата:
Andrew_Konev у себя сами - это одно. это уже все проходили.
я про пресс-релиз на 1.024.5
ввели "активность покупателя", ее рассылку между магазинами и рассчет скидок по ней.
и уже второй СП на 1.024.5 есть. значит у кого-то оно работает.
Интересно было бы глянуть пресс-релиз.
Я так понимаю 1.024.5 в основном для белорусов, на них и отлаживают *06 .
Лучше бы очередной СП для версии 1.024.4, а то натворили ошибок и исправлять не торопятся.
18.08.2006 15:36
akonev
 
Цитата:
kadr Интересно было бы глянуть пресс-релиз.
на фтп вместе с остальной документацией в архиве лежит
18.08.2006 16:50
kadr
 
Цитата:
Andrew_Konev
Цитата:
kadr Интересно было бы глянуть пресс-релиз.
на фтп вместе с остальной документацией в архиве лежит
И ради этого тянуть весь архив?! *03
18.08.2006 17:49
akonev
 
ну если не судьба - стучи в аську, закину.
Изображения
Тип файла: jpg Excel2010.jpg (118.0 Кб, 13208 просмотров)
Тип файла: jpg Excel2010.jpg (118.0 Кб, 13208 просмотров)
18.08.2006 17:53
akonev
 
хотя нет. лучше не стучи :)
я проверил. он в первой части целиком умещается. вот ее и тяни.
30.11.2006 11:37
undos
 
Mtirt, у меня вопрос по твоему скриптику: как я понял, если клиент сделал покупок свыше 30000, то меняется тип дисконта вероянтее с наибольшим процентом скидки, а возможно ли увеличивать процент скидки, например на 0,01%, при общей сумме покупке свыше 30000, т.е. не менять тип дисконта,а менять процент? (1.024.3 sp6)
30.11.2006 11:47
Mtirt
 
У меня карточек достаточно много. И магазинов много.
Поэтому я посчитала неэффективным изменение процента скидки.
Но в принципе можно все...

Скрипт был написан больше двух лет назад.

Сейчас в СМ2000 есть накопительные скидки, почему ими не пользуешься?
30.11.2006 11:55
undos
 
ну если я бы знал где, может ты подскажешь. Кстати версия СМ 1.024.3 (процент скидки я имео ввиду на дисконтную карту, а не на карточку товара)
30.11.2006 12:17
Mtirt
 
Насколько я понимаю, это хранится в smdisccardclass.
Для id классификатора 0.

А что мешает поднять версию до 1.24.5? Или 1.24.6?

Я просто не сторонник изобретать велосипед.
30.11.2006 12:24
undos
 
Цитата:
А что мешает поднять версию до 1.24.5? Или 1.24.6?
потому что есть какие то заморочки для Беларуси
30.11.2006 12:32
Mtirt
 
Да вроде не было серьезных изменений в этих версиях.
Может имеет смысл уточнить, в чем заморочки?
04.12.2006 12:45
YuraZ
 
Заморочки существуют в версии 1.024.6. А 1.024.5 можно ставить :)
04.12.2006 14:20
orekhov
 
На сегодняшний день версия 1.024.5, в которой реализованы простые накопительные скидки, уже устанавливается белорусским клиентам. Каких-либо проблем не обнаружено. При переходе с более старых версий необходимо дополнительное обновление отчётов и выгрузки в бухгалтерию.
02.08.2008 12:30
whitewizard
 
Накопительные скидки какие есть считают накопление за последние N дней. Тут по надобности надо было считать накопление за предыдущий месяц и при покупках более 3'000 переводить в другую группу (с 3% на 5%). Сделано в виде запуска заданием пакетного файла. Получилось вот так: (если кто может оптимизировать, буду рад увидеть вариант)

discount.cmd:

set nls_lang=american_america.cl8mswin1251
set oracle_sid=DB2000
svrmgrl.exe @discount.sql

discount.sql:

connect internal/qqq@DB2000;

update smdiscpers set cardtype=1 where cardtype>1;
commit;

update smdiscpers set cardtype=2, lastchange=sysdate where code in
(select b.code
from
supermag.smdiscpers B,
supermag.smactivityclient H,
where
(cardtype=1) AND
(b.CODE = h.CODE) and
(h.createdat>=(last_day(sysdate-80)+1)) and
(h.createdat<(last_day(last_day(sysdate-80)+1)))
group by
B.code
having sum(h.sumsale)>=3000);
commit;

exit;
04.08.2008 08:26
kadr
 
Цитата:
whitewizard ...

discount.cmd:

set nls_lang=american_america.cl8mswin1251
set oracle_sid=DB2000
svrmgrl.exe @discount.sql

...
Это не есть гут, надо же использовать правильные инструменты, я сейчас про SQL+, а вообще текст discount.sql запихиваешь в оракловое задание и оно все прекрасно само крутится внутри базы без всяких промежуточных костылей
Опции темы


Часовой пояс GMT +3, время: 06:56.

 

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