Цитата: vdm ➤ SMSpecTax - это налоги.
Конечный запрос покажи.
И есть мнение, деление видов оплаты по артикулам - бессмысленно.
Оно и в чековых таблицах хранится только по чеку в целом, можно посчитать "пропорционально полной сумме", но получишь ты погоду на Марсе.
Хотя нет, есть привязка и к позициям, но все равно смысла морочиться с этим не вижу.
Да, конечно же налоги. Опечатался.
Сложно судить о степени корявости данного запроса, прошу не судить строго, опыта в написании запросов мало.
Возможно, со стороны покажется, что это вообще ахинея :connie_nutzo:, но всё же вот:
SELECT DISTINCT SMsp.*,
ChkIt.Totalsum - Disc.DiscSum as SumWithoutDiscount,
Card.Code as CardCode,
Disc.Percent as DiscountPercent,
ChkIt.Znum
FROM SmCashCheckItems ChkIt
LEFT JOIN smcashdisc Disc
ON (ChkIt.CheckNum = Disc.CheckNum)
LEFT JOIN SMCashDiscCard Card
ON (ChkIt.CheckNum = Card.CheckNum)
LEFT JOIN (SELECT C.GlobalArticle,
S.Article,
S.Quantity,
ST.TaxRate,
ST.TaxSum,
S.ItemPrice,
Pr.Price as ItemSellPrice,
S.TotalPriceNoTax,
S.TotalPrice
FROM SUPERMAG.SMSpec S
JOIN SUPERMAG.SMSpecTax ST
ON (S.DocType = ST.DocType)
AND (S.DocId = ST.DocId)
AND (S.SpecItem = ST.SpecItem)
AND (ST.TaxId = 1)
JOIN SUPERMAG.SMCard C
ON (S.Article = C.Article)
JOIN SUPERMAG.SMPrices Pr
ON (S.Article = Pr.Article)
WHERE (S.DocType = 'CS')
AND (S.DocId = '<номер документа>')
AND C.IdClass != 1
AND Pr.STORELOC = 4) SMsp
ON (ChkIt.Article = SMsp.GlobalArticle)
WHERE ChkIt.Znum = <номер z-отчета>