[ОТВЕТИТЬ]
02.12.2014 10:47
Mtirt
 
Сейчас большинство больших торговых сетей используют следующую схему лояльности: на некоторые товары, при предъявлении дисконтной карты устанавливается так называемая "цена по карте", которая может отличаться от цены товара. Причем цена по карте предоставляется какой-то фиксированный промежуток времени, например с 9:00 1 декабря по 23:00 10 декабря.
Никто не думал над реализацией данной схемы работы в Супермаге?
02.12.2014 11:21
OlegON
 
Я вижу тут две проблемы: 1) Возможность выгружать два (и более) прайс-листа из Супермага 2) Возможность использовать два (и более) прайс-листа на фронте.
Причем, в УКМ-2 точно есть возможность работать с несколькими прайс-листами (т.е. при острой необходимости можно подгрузит недостающее самому), а УКМ-4 я не так хорошо знаю :(
С выгрузкой по времени, думаю, никакой проблемы быть не должно.
02.12.2014 11:28
Mtirt
 
Про УКМ2 можно забыть. Как это сделать в УКМ4 я знаю.
Речь именно о Супермаге. Куда и как засунуть эту "цену по карте"?
02.12.2014 11:29
vdm
 
В чем проблема.
Эту схему используем давно.

Заведен второй розничный вид цены, со своими наценками.
СМ выгружает эти цены как прайслист (DISCCARD.dat)

В УКМ4 заведена скидка с действием - установить цену по прайслисту.
В матрице скидок она перекрывает все прочие.

Одно условие - цены в дополнительном прайслисте должны быть на все товары, без исключения.
02.12.2014 11:35
Mtirt
 
Цитата:
vdm Одно условие - цены в дополнительном прайслисте должны быть на все товары, без исключения.
Вот оно то меня и смущает... Боюсь я, что цены в двух прайс-листах разбегутся не так, как задумано.
02.12.2014 11:51
vdm
 
Если ассортимент, на который действует цена по карте небольшой - то необязательно иметь цену на все товары. Тут уже вопрос сопряжения скидок УКМ4 и того, как эти цены заведены в СМ. Есть вариант - делать маркетинговые акции на отдельный вид цены. Только выгрузку придется дописывать, чтобы товар с нулевой ценой (акция закончилась) удалялся из скидки в УКМ.

В новых СМ вроде можно выгружать некие рекламные акции? Не рассматривал это подробно.
02.12.2014 11:52
OlegON
 
Так вторая же цена - производная от первой? Триггером ее...
02.12.2014 11:54
Mtirt
 
Цитата:
vdm Если ассортимент, на который действует цена по карте небольшой - то необязательно иметь цену на все товары. Тут уже вопрос сопряжения скидок УКМ4 и того, как эти цены заведены в СМ. Есть вариант - делать маркетинговые акции на отдельный вид цены. Только выгрузку придется дописывать, чтобы товар с нулевой ценой (акция закончилась) удалялся из скидки в УКМ.
Не получается "не иметь цену на все товары". Проблема в том, что как только привязываешь вид цены к магазину, то при наценивании накладных сразу начинают создаваться акты переоценки для этого вида цен.
Цитата:
vdm В новых СМ вроде можно выгружать некие рекламные акции? Не рассматривал это подробно.
Не помню я, чтобы в рекламных акциях было что-нибудь путное, но сейчас на всякий случай посмотрю...
02.12.2014 11:56
Mtirt
 
Цитата:
OlegON Так вторая же цена - производная от первой? Триггером ее...
Так не всегда же... Как отличить товары, по которым должен работать триггер, от тех, где не должен?
02.12.2014 11:59
vdm
 
Цитата:
Mtirt Не получается "не иметь цену на все товары". Проблема в том, что как только привязываешь вид цены к магазину, то при наценивании накладных сразу начинают создаваться акты переоценки для этого вида цен.
Не проблема. Шаг цены 100 000 000
02.12.2014 12:00
Mtirt
 
С нулевой (пустой) ценой не работает. Проверяла :)
02.12.2014 12:05
vdm
 
Если не принципиально - убрать в адм. модуле Ценообразование - игнорировать порог при нулевой цене
02.12.2014 12:07
vdm
 
Цитата:
Mtirt Так не всегда же... Как отличить товары, по которым должен работать триггер, от тех, где не должен?
"Огласите весь список пожалста!".

По каким условиям цена по карте должна быть?
02.12.2014 12:10
Mtirt
 
Цитата:
vdm В новых СМ вроде можно выгружать некие рекламные акции? Не рассматривал это подробно.
В рекламной акции нет товара. Совсем. Т.е. артикул товара в документе, в принципе задать нельзя..
02.12.2014 12:12
Mtirt
 
Цитата:
vdm "Огласите весь список пожалста!".

По каким условиям цена по карте должна быть?
В принципе, можно сделать следующее: цена по карте всегда равна обычной розничной цене, за исключением товаров по которым есть маркетинговая акция. Цена в маркетинговой акции и есть цена со скидкой...
02.12.2014 12:18
Mtirt
 
Цитата:
vdm Если не принципиально - убрать в адм. модуле Ценообразование - игнорировать порог при нулевой цене
А вот это мне нравится. Сейчас подумаю, чем мне это может грозить. Спасибо!!!
02.12.2014 12:28
vdm
 
Ну вот у нас есть и цена по карте на одном виде цены (все товары) и маркетинговые акции еще на один вид цены (ограниченный ассортимент).
Кстати это разделение пришлось ввести, иначе я не нашел способа объснить УКМ, что это не основная цена (для печати чека).

Но.
Т.к. в акционной цене ограниченный набор артикулов, была склепана самодельная выгрузка в скидку через конвертер УКМ4 "Стандартный импорт".

Не штатно, но работает же
26.01.2015 11:51
Mtirt
 
Продолжу я тему. Не могу понять, почему у меня после окончания маркетинговой акции цена не становится равной 0.
Т.е. до акции цены не было. Потом сделали МА, поставили цену 100 руб. Потом МА закончилась.
В акте по окончании МА цена тоже 100 руб.
А должна быть 0, как мне кажется...
Супермаг версии 1.029.3
Мозги сломала уже...
26.01.2015 13:36
vdm
 
А проверьте журнал супермаговских ошибок сервера (sseventlog, не помню есть ли он где-то в интерфейсе).
По моему там срабатывал запрет проведения акта переоценки с нулевой ценой, похоже эту проверку я в правах супермага отключал.

А еще есть вероятность, что с какой-то версии изменили переоценку, чтобы цена не обнулялась если с нуля появилась. Нужно в бюллетенях изменений пошарить...
26.01.2015 13:53
Mtirt
 
Проверила. Нет там ругани...
26.01.2015 14:02
Mtirt
 
И в бюллетенях изменений ничего на эту тему не нашла.
В документации написано явно:
Если артикул не имел цены до начала акции, то после её окончания он не сохраняет цену
маркетинговой акции; выбранный для МА вид цены приобретает значение 0,00(рис. 7.19).
26.01.2015 15:36
vdm
 
Таки ой.
Действительно при нулевом savedprice теперь берется текущая price. Где-то в бюллетенях оно все-же есть, нашел у себя краткое описание значимых для нас изменений, на случай обновления.
Вот я бы поплясал на обновлении, забыв про это...
Буду теперь думать, как пофиксить...
26.01.2015 16:58
vdm
 
По первым размышлениям вырисовывается 2 варианта:
1. доработка от С+: параметр, разрешающий обнулять цену по окончании акции
2. своим триггером поломать процесс insert в smspec для актов окончания акций, подменять цену на 0 если в savedprice 0.

Ну или совсем "поменять концепцию", акции делать на стандартный вид цены, в укм как-то передавать информацию о доакционной цене.
27.01.2015 06:49
Mtirt
 
Я пришла к третьему варианту: сделаю job, который будет отбирать в smprices по виду цены Маркетинг записи с savedprice = null и удалять их.
27.01.2015 09:44
vdm
 
Если не сложно, после тестирования опишите как это работает (на каком этапе жизни акции и т.п.).
28.01.2015 11:52
Mtirt
 
Пишу триггер (схема, чтобы понять логику)
Код:
create or replace trigger SMDocLogAU
after INSERT
on SMDocLog
for each row
begin
-- При соблюдении неких условий
insert into smpricerarticle(Список полей)
select  Список выбираемых полей from from smauctionpricer p, smdocuments d, smspec s
where p.doctype=:old.doctype and p.docid=:old.id и другие условия...
end;
В результате выполнения триггера получаю сообщение об ошибке:
Цитата:
ORA-04091: таблица SUPERMAG.SMDOCUMENTS изменяется, триггер/функция может не заметить это
Но я не изменяю smdocuments в триггере, я просто использую её в запросе.
Как избавиться от ошибки???
28.01.2015 12:09
OlegON
 
Где-то еще триггер в пределах транзакции срабатывает. По схеме трудно понять, что ты хочешь сделать, тем более не понятно, где коммитишь.
Лучше вынести в отдельную процедуру и, возможно, подумать об автономной транзакции.
28.01.2015 12:31
vdm
 
В оракле до версии 11, в триггере for each row нельзя без автономной транзакции обращаться к той таблице, на которой он висит. В 11 появился вид триггеров с обработкой этой ситуации, но у меня таких баз нет.

Тут ошибка связана с тем, что smdoclog изменяется триггером на smdocuments, соответственно изменение smdocuments и smdoclog "одновременны".

В автономной транзакции, где-то есть своя засада, нужно почитать...

Стандартно такое обрабатывается гирляндой из 3-х триггеров, работающих с копией измененных данных в pl/sql таблице:
1. в операторном before триггере обнуляется буферная pl/sql таблица
2. в построчном after ... for each row триггере в нее заносятся изменения
3. в операторном after накопленные данные обрабатываются, тут можно селектить все

Недостаток этого способа - буфер может сожрать память, если одним оператором много строк меняется.
28.01.2015 12:35
Mtirt
 
Не хочу писать три триггера :( Точнее, не хочу писать в Супермаге :(

Суть задачи: в маркетинговой акции по Маркетинговой цене заполнен вид ценника.
Нужно при старте/окончании МА копировать этот вид ценника на розничные виды цен магазинов, участвующих в акциях.
Есть идеи как это сделать?
28.01.2015 12:38
OlegON
 
Так МА отслеживаются отдельным заданием, нет? Туда и добавить...


Опции темы


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

 

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