[ТЕМА ЗАКРЫТА]
Опции темы
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
Мы у себя (Уфа, "Матрица") сами сделали, и обкатали.
Тока есть небольшие недоработки, иногда отправляется очень много лишних карт по магазинам, но задание настроено на ночь, поэтому не критично
 
 


Опции темы



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

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