отчет предназначен в первую очередь для менеджеров - чтобы они не забывали блокировать карточки выведенные из контрактов и остаток по которым равен нулю.
Код:
SELECT x.article "Артикул", REPLACE (s.NAME, CHR (9), ' ') "Наименование"
FROM ((SELECT z.article
FROM supermag.smcard z
WHERE z.accepted = 1 AND z.datatype = '0'
MINUS
SELECT c.article
FROM supermag.smdocuments a,
supermag.smcontracts b,
supermag.smspec c
WHERE a.doctype = 'CO'
AND a.docstate > '1'
AND a.ID = b.ID
AND b.beginsat < SYSDATE
AND b.endsat > SYSDATE
AND c.doctype = 'CO'
AND c.docid = a.ID)
MINUS
SELECT y.article
FROM supermag.smgoods y
WHERE y.quantity != 0) x,
supermag.smcard s
WHERE x.article = s.article
ORDER BY 2