13.07.2007 15:10
nekrom@nt.grave
 
что означают значения в docstate?
13.07.2007 15:21
Dim
 
Статус документа
13.07.2007 15:24
nekrom@nt.grave
 
это я читал, какое значение что означает?
13.07.2007 15:27
Pyatak
 
1 - черновик
2 - принято в количестве
3 - принято в количестве и ценах

а 0 - вроде как "документ заблокирован",
хотя это надо проверить
13.07.2007 15:33
OlegON
 
можно не проверять, так и есть.
13.07.2007 16:55
nekrom@nt.grave
 
Код:
SELECT c.article as "Артикул",

       c.name as "Наименование",

       NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0) as "Остаток",

       NVL((NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0))*NVL(p.price,0),0) as "$$$"

  FROM supermag.smcard c,

       supermag.smgoods q,

       supermag.sacardclass cc,

       supermag.smpricehistory p,

       (

        SELECT dc.article,

               SUM(dc.quantity) as quantity,

               SUM(dc.itemprice) as price

          FROM supermag.smdocuments d,

               supermag.smspec dc

         WHERE d.doctype=dc.doctype

           AND d.id=dc.docid

           AND d.docstate=3

           AND TO_DATE(d.createdat) >= ('01.07.2007')

           AND d.locationto = (2)

        GROUP BY dc.article

       ) pr,

       (

        SELECT dc.article,

               SUM(dc.quantity) as quantity,

               SUM(dc.itemprice) as price

          FROM supermag.smdocuments d,

               supermag.smspec dc

         WHERE d.doctype=dc.doctype

           AND d.id=dc.docid

           AND d.docstate=3

           AND TO_DATE(d.createdat) >= ('01.07.2007')

           AND d.locationfrom = (2)

        GROUP BY dc.article

       ) rs

 WHERE c.article=pr.article(+)

   AND c.article=rs.article(+)

   AND c.article=q.article(+)

   --AND c.accepted=1--active cards

   AND q.storeloc(+)=(2)

   AND c.idclass=cc.id(+)

   AND p.storeloc(+)=(2)

   AND p.pricetype(+)=0

   AND p.eventtime=(select max(eventtime) from supermag.smpricehistory where eventtime <= to_date('01.07.2007','DD.MM.YYYY') and storeloc = q.storeloc and article = q.article)

   AND p.article(+)=c.article

   AND cc.tree like '1.1.1.%'

   AND (NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0))>=0-- > 0 condition
как необходимо модифицировать этот код чтобы получать сумму в ценах на конец периода, ДЛЯ КАЖДОГО элемента, указанный код отбрасвает некоторые сторки которые есть если убрать расчёт суммы или считать её беря стоимость из smprices
13.07.2007 18:02
YuraZ
 
Код:
SELECT c.article as "Артикул",

       c.name as "Наименование",

       NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0) as "Остаток",

       NVL((NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0))*

       NVL((SELECT his.PRICE

            FROM SUPERMAG.SMPRICEHISTORY his, SUPERMAG.SMLOCPRICES prt

            WHERE his.STORELOC = q.STORELOC

              AND his.ARTICLE = q.ARTICLE

              AND his.PRICETYPE = prt.PRICETYPE

              AND prt.LOCID = his.STORELOC

              AND (bitand(prt.FLAGS, 2) = 2)

              AND his.RECID = (SELECT MAX(h.RECID)

                               FROM SUPERMAG.SMPRICEHISTORY h

                               WHERE h.STORELOC = his.STORELOC

                                 AND h.ARTICLE = his.ARTICLE

                                 AND h.PRICETYPE = his.PRICETYPE

                                 AND TRUNC(h.EVENTTIME) <= TRUNC(TO_DATE('01.07.2007', 'DD.MM.YYYY')))),0),0) as "$$$"

  FROM supermag.smcard c,

       supermag.smgoods q,

       supermag.sacardclass cc,

       (

        SELECT dc.article,

               SUM(dc.quantity) as quantity,

               SUM(dc.itemprice) as price

          FROM supermag.smdocuments d,

               supermag.smspec dc

         WHERE d.doctype=dc.doctype

           AND d.id=dc.docid

           AND d.docstate=3

           AND TO_DATE(d.createdat) >= to_date('01.07.2007', 'DD.MM.YYYY')

           AND d.locationto = (2)

        GROUP BY dc.article

       ) pr,

       (

        SELECT dc.article,

               SUM(dc.quantity) as quantity,

               SUM(dc.itemprice) as price

          FROM supermag.smdocuments d,

               supermag.smspec dc

         WHERE d.doctype=dc.doctype

           AND d.id=dc.docid

           AND d.docstate=3

           AND TO_DATE(d.createdat) >= to_date('01.07.2007', 'DD.MM.YYYY')

           AND d.locationfrom = (2)

        GROUP BY dc.article

       ) rs

 WHERE c.article=pr.article(+)

   AND c.article=rs.article(+)

   AND c.article=q.article(+)

   --AND c.accepted=1--active cards

   AND q.storeloc(+)=(2)

   AND c.idclass=cc.id(+)

   AND cc.tree like '1.1.1.%'

   AND (NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0))>=0-- > 0 condition
В качестве вида цены берется тот вид, который установлен как вид цены для касс, для заданного места хранения.
13.07.2007 18:10
Pyatak
 
Цитата:
nekrom@nt.grave как необходимо модифицировать этот код чтобы получать сумму в ценах на конец периода, ДЛЯ КАЖДОГО элемента, указанный код отбрасвает некоторые сторки которые есть если убрать расчёт суммы или считать её беря стоимость из smprices
А всетаки, о каких ценах идет речь? И каков должен быть конечный результат?
Может тебе вот это подойдет: https://olegon.ru/showpost.php?p=20062&postcount=11 ?
16.07.2007 09:32
nekrom@nt.grave
 
YuraZ
Огромное тебе спасибо.
Прокомментируй плз выделенное
Код:
NVL((SELECT his.PRICE

            FROM SUPERMAG.SMPRICEHISTORY his, SUPERMAG.SMLOCPRICES prt

            WHERE his.STORELOC = q.STORELOC

              AND his.ARTICLE = q.ARTICLE

              AND his.PRICETYPE = prt.PRICETYPE

              AND prt.LOCID = his.STORELOC

              AND (bitand(prt.FLAGS, 2) = 2)

              AND his.RECID = (SELECT MAX(h.RECID)

                               FROM SUPERMAG.SMPRICEHISTORY h

                               WHERE h.STORELOC = his.STORELOC

                                 AND h.ARTICLE = his.ARTICLE

                                 AND h.PRICETYPE = his.PRICETYPE

                                 AND TRUNC(h.EVENTTIME) <= TRUNC(TO_DATE('01.07.2007', 'DD.MM.YYYY')))),0),0) as "$$$"
ещё раз thanx
16.07.2007 10:14
nekrom@nt.grave
 
как отличать приходы закуп от возвтрата?
знаю есть к-йто код операции, но где и какие значения чаво означают

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