Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Продажа по кредитным картам в разрезе НДС : Супермаг Плюс (Супермаг 2000)

19.04.2024 16:52


29.02.2012 13:04
Mr_Vito
 
Подскажите как из базы супермага выдернуть реализацию с возвратами по кредиткам в разрезе ставок НДС
Реализация по кредиткам вроде сидит в табле:SMCashCredCardChecks
но там тока по чекам, а позиций в чеках нет :(
29.02.2012 13:06
Mtirt
 
Зачем? Я каждый раз это спрашиваю на этот дурацкий вопрос...
29.02.2012 13:20
akonev
 
мне показалось проще выдернуть, чем понять логику :-D
Код:
select s.closedate as дата, s.name as магазин, s.desknum as касса, s.znum as Z, sum(s.summa) as сумма, o.name as операция, g.title as ставка, replace(replace(to_char(s.bn),'1','безнал'),'0','нал') as платеж, s.opcode as o, s.taxgroupid as t
from saoperation o,
     smtaxgroupdef g,
(select sum(i.totalsum) as summa, h.opcode, t.taxgroupid, h.locid, h.desknum, h.znum, h.checknum, nvl(sign(sum(b.totalsum)),0) as bn, z.closedate, l.name
from smcashz z, 
     smcashcheckitems i
       left join smcashcredcardchecks b on b.locid=i.locid and b.desknum=i.desknum and b.znum=i.znum and b.checknum=i.checknum,
     smcashchecks h,
     smcardtax t,
     smstorelocations l
where z.locid in (select id from smstorelocations where UPPER(name) like UPPER('%&Место_Хранения%'))
  and z.closedate>=to_date('&Дата_Нач','DD.MM.YYYY')
  and z.closedate<=to_date('&Дата_Кон','DD.MM.YYYY')
  and h.locid=z.locid and h.desknum=z.desknum and h.znum=z.znum
  and i.locid=h.locid and i.desknum=h.desknum and i.znum=h.znum and i.checknum=h.checknum
  and t.article=i.article and t.datefrom<=z.closedate and t.dateto>=z.closedate
  and l.id=z.locid
  and t.rgnid=l.rgnid
group by h.opcode, t.taxgroupid, h.locid, h.desknum, h.znum, h.checknum, z.closedate, l.name) s
where o.id=s.opcode
  and g.taxgroupid=s.taxgroupid
group by s.closedate, s.name, s.opcode, o.name, s.taxgroupid, s.bn, g.title, s.znum, s.desknum
order by s.closedate, s.desknum, s.znum ,s.opcode, s.bn, s.taxgroupid
у нас запускается из Query Reporter от Allround Automations когда те же самые цифирки не хочет давать укм4
02.03.2012 12:53
svtl
 
а если был комбинированный платеж? как вы определяете - какая часть чека оплачена картой - какая налом?
02.03.2012 13:02
akonev
 
правильный вопрос. никак.

не помню, чего там в свежих версиях, а у меня комбинированный платеж вообще в супермаге не разбивается.
из-за этого периодически расползается разбивка по видам платежа между см+ и укм4.
поэтому кассиров комбинированному платежу даже не обучают, а сразу говорят что так низзя и не бывает.

в штатном режиме разбивку по платежам и ндс бухи получают по отчету, который формируется в укм4.
вышеприведенный запрос используется эпизодически, когда укм4 почему-то не хочет отчитываться.
02.03.2012 16:12
vdm
 
Цитата:
Andrew_Konev не помню, чего там в свежих версиях, а у меня комбинированный платеж вообще в супермаге не разбивается.
из-за этого периодически расползается разбивка по видам платежа между см+ и укм4.
А это как, из-за чего?
Разбивка платежей в целом по чекам в СМ/УКМ уже очень давно.
Комбинированная оплата используется, отчеты по платежам берем СМ, разночтений с УКМ не припоминаю.
03.04.2012 17:00
Mr_Vito
 
Выгрузил я в 1с, начали сверять и выяснилось, что полно чеков с разбитыми платежами
может кто подскажет? где то же это должно быть
03.04.2012 17:59
vdm
 
В чем вопрос то.
Из УКМ не подходит, нужно из СМ?
Проверь это для начала.
Без налогов и суммы левые, но хоть видно будет, есть в чеках разбивка оплат по позициям или нет.
Код:
select ch.LocId as "MX",
       cr.name as "Кред. карта",
       ch.opcode "Операция",
       ci.ARTICLE as "Арт.",
       sc.name as "Наименование",
       SUM(ci.QUANTITY) as "Количество", 
       SUM(ci.TOTALSUM) as "Сумма"
  from supermag.smcashcheckitems ci, supermag.smcashchecks ch, supermag.smcard sc,
         supermag.SMCredCards cr
 where (ci.locid = ch.locid and ci.desknum=ch.desknum and ci.znum=ch.znum and ci.checknum=ch.checknum
       and ch.opcode in (1,3))
       and ci.article=sc.article and cr.id(+)=ci.credcardbrand
       and (ch.printtime between TO_DATE('01.01.2012','DD.MM.YYYY') and TO_DATE('07.01.2012','DD.MM.YYYY'))
       and ci.CREDCARDBRAND is not null
Group by ch.LocId, cr.name, ch.opcode, ci.article, sc.name;
Часовой пояс GMT +3, время: 16:52.

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