[ОТВЕТИТЬ]
17.02.2016 13:23
zagmag
 
Добрый день!
Я уже почитал все, что было на данном форуме, попробовал подключить ценник, который выкладывала Mtirt Как сделать ценник с двумя ценами, округленным процентом скидки и типа флага, который желательно брать из файла , но у меня он весь поехавший.

Сам их писать никогда не пробовал, ценник (помимо штатного ) делал только в Ворде.

Воот, прошу помощи или совета...


P.S Версия СМ : 1.031 СП7
17.02.2016 13:46
OlegON
 
Советую попробовать. Или какой совет-то нужен?
17.02.2016 21:13
zagmag
 
Я попробовал, он перекошеный. Черточка отдельно, цена отдельно.
17.02.2016 21:56
bob
 
Я так думаю, что, так как, подключать ценник ты пробовал, то Олег тебе посоветовал попробовать не это.
18.02.2016 07:16
Mtirt
 
Там черновик был. Автору поста нужна была логика формирования цены и ценника, а не красоты.
Хочется с двумя ценами и красивый - предлагаю поискать по форуму.
После этого сообщения уже несколько раз выкладывались и обсуждались подобные ценники.
18.02.2016 09:13
zagmag
 
Цитата:
bob посоветовал попробовать не это.
А что?
18.02.2016 10:14
zagmag
 
https://olegon.ru/showpost.php?p=200165&postcount=51

Попробовал подключить, выдает ORA-00942: table or view does not exist ((
18.02.2016 10:34
Mtirt
 
Поиск по форуму выдает кучу тем по ошибке ORA-00942
ora-00942 site:olegon.ru - Поиск в Google

Что там непонятно написано?
18.02.2016 10:53
akonev
 
Цитата:
zagmag https://olegon.ru/showpost.php?p=200165&postcount=51

Попробовал подключить, выдает ORA-00942: table or view does not exist ((
это значит, что логика ценника требует доступа к данным сверх того, что нужно обычным ценникам.

стандартно для печати ценников супермаг отбирает данные в две временные таблицы и отдает готовый набор данных той системе, которая ценники печатает (оракл репорт, фаст репорт, ...)

если же стандартного набора данных недостаточно для сложного ценника - в логику ценника добавляются запросы к другим таблицам. и к ним надо предоставить доступ. как это делать - Таня выше указала где искать.
18.02.2016 11:02
zagmag
 
текст команды: SELECT t.article, t.price, supermag.russianspell.PriceCardString(0, t.price) as grn, supermag.russianspell.PriceCardString(2, t.price) as kop, supermag.russianspell.PriceCardString(0, t.oldprice) as oldprice_grn, supermag.russianspell.PriceCardString(2, t.oldprice) as oldprice_kop, t.RubName, t.KopName, (select p.PropVal from supermag.SMCardProperties p where p.Article=t.Article and p.PropID='Sys.Composition') Composition, (select p.PropVal from supermag.SMCardProperties p where p.Article=t.Article and p.PropID='Sys.BrandName') BrandName, (select p.PropVal from supermag.SMCardProperties p where p.Article=t.Article and p.PropID='Vesy_number') Vesy_number, t.name, t.cardcomment, t.country, t.qtyprint, t.unitname, t.isscale, t.plu, t.price_ma, supermag.russianspell.PriceCardString(0, t.price_ma) as price_ma1, supermag.russianspell.PriceCardString(2, t.price_ma) as price_ma2, t.ma_id, t.ma_datebegin, t.ma_dateend FROM ( SELECT t_pr.article, (case when d.docstate=2 then ROUND(sp.itemprice*t_pr.qty, t_pr.priceprec) else t_pr.price end ) price, (case when d.docstate=2 then t_pr.price else (select ROUND(ph.price*t_pr.qty, t_pr.priceprec) from supermag.SMPriceHistory ph where (eventtime, recid) = (select max(eventtime), max(recid) from supermag.SMPriceHistory where article = ph.article and storeloc = ph.storeloc and pricetype = ph.pricetype and ROUND(price*t_pr.qty, t_pr.priceprec) != t_pr.price) and ph.storeloc = 2 and ph.article = t_pr.article and ph.pricetype = 0 and ROUND(ph.price*t_pr.qty, t_pr.priceprec) != t_pr.price) end ) oldprice, t_pr.RubName, t_pr.KopName, t_pr.name, t_pr.cardcomment, t_pr.country, t_pr.qtyprint, t_pr.unitname, t_pr.isscale, t_pr.plu, sp.itemprice price_ma, d.id ma_id, TRUNC (au.datebegin) ma_datebegin, TRUNC (au.dateend) ma_dateend FROM supermag.svpricecard t_pr, supermag.smdocuments d, supermag.SMSpecMA sp, supermag.smauctions au WHERE t_pr.article = sp.article AND d.doctype = 'MA' AND d.id = sp.docid AND d.doctype = sp.doctype AND t_pr.article = sp.article AND d.id = au.id AND d.doctype = au.doctype AND d.docstate >= 2 AND au.dateend > SYSDATE AND (2,0) IN (SELECT am.locid, am.pricetype FROM supermag.smauctionatoms am WHERE am.aucid = d.id AND am.doctype = d.doctype) ) t ORDER BY ma_id, article

Вот текст команды.
Мне просто гранты на supermag.SMCardProperties, SMPriceHistory дать?
18.02.2016 11:15
zagmag
 
На юзере supermag все работает, осталось подогнать ценник под себя! :)
18.02.2016 11:38
akonev
 
внимательно просмотри запрос. их там ещё есть
Цитата:
zagmag ... from supermag.SMCardProperties p ... from supermag.SMCardProperties... from supermag.SMCardProperties p... from supermag.SMPriceHistory ... FROM supermag.svpricecard t_pr, supermag.smdocuments d, supermag.SMSpecMA sp, supermag.smauctions au ... FROM supermag.smauctionatoms am ...

Вот текст команды.
Мне просто гранты на supermag.SMCardProperties, SMPriceHistory дать?
в остальном - да. понять, где грантов добавить.
04.04.2016 14:52
v_martynov
 
Цитата:
zagmag На юзере supermag все работает, осталось подогнать ценник под себя! :)
Могли бы Вы выложить сюда свой ценник?
07.04.2016 10:15
zagmag
 
Цитата:
v_martynov Могли бы Вы выложить сюда свой ценник?

https://storage.olegon.ru/supermag/i...ir=price_MA%2F
11.04.2016 16:30
v_martynov
 
У Вас ценник формируется на основании маркетинговых акций, как можно от нее отвязаться?
11.04.2016 16:43
zagmag
 
Цитата:
"t.article, "+
"t.price, "+
"supermag.russianspell.PriceCardString(0, t.price) as grn, "+
"supermag.russianspell.PriceCardString(2, t.price) as kop, "+
"supermag.russianspell.PriceCardString(0, t.oldprice) as oldprice_grn, "+
"supermag.russianspell.PriceCardString(2, t.oldprice) as oldprice_kop, "+
"t.RubName, "+
"t.KopName, "+
"(select p.PropVal "+
" from supermag.SMCardProperties p "+
"where p.Article=t.Article "+
"and p.PropID='Sys.Composition') Composition, "+
"(select p.PropVal "+
" from supermag.SMCardProperties p "+
"where p.Article=t.Article "+
"and p.PropID='Sys.BrandName') BrandName, "+
"(select p.PropVal "+
" from supermag.SMCardProperties p "+
"where p.Article=t.Article "+
"and p.PropID='Vesy_number') Vesy_number, "+
"t.name, "+
"t.cardcomment, "+
"t.country, "+
"t.qtyprint, "+
"t.unitname, "+
"t.isscale, "+
"t.plu, "+
"t.price_ma, "+
"supermag.russianspell.PriceCardString(0, t.price_ma) as price_ma1, "+
"supermag.russianspell.PriceCardString(2, t.price_ma) as price_ma2, "+
"t.ma_id, "+
"t.ma_datebegin, "+
"t.ma_dateend "+
"FROM ( "+
"SELECT t_pr.article, "+
"(case when d.docstate=2 then "+
"ROUND(sp.itemprice*t_pr.qty, t_pr.priceprec) "+
"else "+
"t_pr.price "+
" end "+
") price, "+
"(case when d.docstate=2 then "+
" t_pr.price "+
"else "+
"(select ROUND(ph.price*t_pr.qty, t_pr.priceprec) "+
"from supermag.SMPriceHistory ph "+
"where (eventtime, recid) = "+
"(select max(eventtime), max(recid) "+
"from supermag.SMPriceHistory "+
"where article = ph.article "+
"and storeloc = ph.storeloc "+
"and pricetype = ph.pricetype "+
"and ROUND(price*t_pr.qty, t_pr.priceprec) != t_pr.price) "+
"and ph.storeloc = {0:N} "+
"and ph.article = t_pr.article "+
"and ph.pricetype = {1:N} "+
"and ROUND(ph.price*t_pr.qty, t_pr.priceprec) != t_pr.price) "+
"end "+
") oldprice, "+
"t_pr.RubName, "+
"t_pr.KopName, "+
"t_pr.name, "+
"t_pr.cardcomment, "+
"t_pr.country, "+
"t_pr.qtyprint, "+
"t_pr.unitname, "+
"t_pr.isscale, "+
"t_pr.plu, "+
"sp.itemprice price_ma, "+
"d.id ma_id, "+
"TRUNC (au.datebegin) ma_datebegin, "+
"TRUNC (au.dateend) ma_dateend "+
"FROM supermag.svpricecard t_pr, "+
" supermag.smdocuments d, "+
" supermag.SMSpecMA sp, "+
" supermag.smauctions au "+
"WHERE t_pr.article = sp.article "+
"AND d.doctype = 'MA' "+
"AND d.id = sp.docid "+
"AND d.doctype = sp.doctype "+
"AND t_pr.article = sp.article "+
"AND d.id = au.id "+
"AND d.doctype = au.doctype "+
"AND d.docstate >= 2 "+
"AND au.dateend > SYSDATE "+
"AND ({0:N},{1:N}) IN (SELECT am.locid, am.pricetype "+
" FROM supermag.smauctionatoms am "+
"WHERE am.aucid = d.id AND am.doctype = d.doctype) "+
") t "+
"ORDER BY ma_id, article",
Report.GetParameterValue("P_LOC"),
Report.GetParameterValue("P_PRICE_TYPE")
);
Я не знаток, конечно, но по-моему проще переписать...

Тут куда не плюнь, попадешь в supermag.smauctionatoms,t.ma_id и прочую фигню связанную с маркетинговыми акциями. А вообще Вы уверены что стоит отвязывать? Если вы используете акт переоценки просто, то воспользуйтесь МА вместо него. Все равно из истории цен берет инфу ценник, а эффект тот же.
Опции темы


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

 

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