Входные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
BEGINDATE  | 
    DATE  | 
    
  | 
  
ENDDATE  | 
    DATE  | 
    
  | 
  
OPERATIONID  | 
    INTEGER  | 
    
  | 
  
ACROPID  | 
    INTEGER  | 
    
  | 
  
ACLASSID  | 
    INTEGER  | 
    
  | 
  
AOWNERID  | 
    INTEGER  | 
    
  | 
  
ISCURRENT  | 
    INTEGER  | 
    
  | 
  
APARTYDATE  | 
    DATE  | 
    
  | 
  
ASTORAGEID  | 
    INTEGER  | 
    
  | 
  
Выходные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
REGDATE  | 
    DATE  | 
    
  | 
  
FORWARDERFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
PROVIDERID  | 
    INTEGER  | 
    
  | 
  
INVENTORYID  | 
    INTEGER  | 
    
  | 
  
INVOICEID  | 
    INTEGER  | 
    
  | 
  
INVOICENUMBER  | 
    VARCHAR(31)  | 
    
  | 
  
TRANSPORTNUMBER  | 
    VARCHAR(31)  | 
    
  | 
  
DRIVERS  | 
    VARCHAR(30)  | 
    
  | 
  
CROPFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
NET  | 
    INTEGER  | 
    
  | 
  
GROSS  | 
    INTEGER  | 
    
  | 
  
TARE  | 
    INTEGER  | 
    
  | 
  
PROVIDERFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
FORWARDERID  | 
    INTEGER  | 
    
  | 
  
ACTOPERATIONID  | 
    INTEGER  | 
    
  | 
  
ACTNUMBER  | 
    VARCHAR(10)  | 
    
  | 
  
OWNERID  | 
    INTEGER  | 
    
  | 
  
CROPID  | 
    INTEGER  | 
    
  | 
  
CLASSID  | 
    INTEGER  | 
    
  | 
  
EXPORTACTID  | 
    INTEGER  | 
    
  | 
  
OWNERFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
PARENTITEMID  | 
    INTEGER  | 
    
  | 
  
REGISTERNET  | 
    INTEGER  | 
    
  | 
  
STORAGEID  | 
    INTEGER  | 
    
  | 
  
STATE  | 
    INTEGER  | 
    
  | 
  
SAMPLERQUALITYID  | 
    INTEGER  | 
    
  | 
  
LABQUALITYID  | 
    INTEGER  | 
    
  | 
  
WEIGHT  | 
    INTEGER  | 
    
  | 
  
STORAGENAME  | 
    VARCHAR(100)  | 
    
  | 
  
INUSE  | 
    INTEGER  | 
    
  | 
  
ISWEIGHT  | 
    SMALLINT  | 
    
  | 
  
PARTYID  | 
    INTEGER  | 
    
  | 
  
Описание
(Нет описания для процедуры FORWARDER_OUTCOMEJOURNAL)
Определение
CREATE PROCEDURE FORWARDER_OUTCOMEJOURNAL(
    BEGINDATE DATE,
    ENDDATE DATE,
    OPERATIONID INTEGER,
    ACROPID INTEGER,
    ACLASSID INTEGER,
    AOWNERID INTEGER,
    ISCURRENT INTEGER,
    APARTYDATE DATE,
    ASTORAGEID INTEGER)
RETURNS (
    REGDATE DATE,
    FORWARDERFULLNAME VARCHAR(100),
    PROVIDERID INTEGER,
    INVENTORYID INTEGER,
    INVOICEID INTEGER,
    INVOICENUMBER VARCHAR(31),
    TRANSPORTNUMBER VARCHAR(31),
    DRIVERS VARCHAR(30),
    CROPFULLNAME VARCHAR(100),
    NET INTEGER,
    GROSS INTEGER,
    TARE INTEGER,
    PROVIDERFULLNAME VARCHAR(100),
    FORWARDERID INTEGER,
    ACTOPERATIONID INTEGER,
    ACTNUMBER VARCHAR(10),
    OWNERID INTEGER,
    CROPID INTEGER,
    CLASSID INTEGER,
    EXPORTACTID INTEGER,
    OWNERFULLNAME VARCHAR(100),
    PARENTITEMID INTEGER,
    REGISTERNET INTEGER,
    STORAGEID INTEGER,
    STATE INTEGER,
    SAMPLERQUALITYID INTEGER,
    LABQUALITYID INTEGER,
    WEIGHT INTEGER,
    STORAGENAME VARCHAR(100),
    INUSE INTEGER,
    ISWEIGHT SMALLINT,
    PARTYID INTEGER)
AS
BEGIN
  for
    select
        IT.REGDATE, FORWARDER.CLIENTFULLNAME FORWARDERFULLNAME,
        PROVIDER.CLIENTFULLNAME PROVIDERFULLNAME, OWNER.CLIENTFULLNAME OWNERFULLNAME,
        IT.PROVIDERID, IT.INVENTORYID, IT.INVOICEID, INVOICES.INVOICENUMBER,
        ITTRANSPORT.TRANSPORTNUMBER, INVOICES.DRIVERS, QUALITY_CROPFULLNAME.CROPFULLNAME,
        IT.NET, IT.GROSS, IT.TARE, IT.STORAGEID, IT.STATE, IT.SAMPLERQUALITYID,
        IT.LABQUALITYID, IT.WEIGHT, INVOICES.FORWARDERID, IT.OPERATIONID ACTOPERATIONID,
        EXPORTACTS.ACTNUMBER, IT.OWNERID, Q1.CROPID, Q1.CLASSID, EXPORTACTS.EXPORTACTID,
        EXPORTACTITEMS.PARENTITEMID,
        (coalesce((select sum (-EXPORTACTITEMS.WEIGHT)
            from EXPORTACTITEMS
            where (EXPORTACTITEMS.OPERATIONID = :OPERATIONID)
              and (EXPORTACTITEMS.INVENTORYID = IT.INVENTORYID)
              and (EXPORTACTITEMS.OPERATIONID <> 5)), 0) +
        (IT.NET - IT.WEIGHT)) REGISTERNET,
        coalesce((select count(EXPORTACTID)
            from EXPORTACTITEMS
            where (EXPORTACTITEMS.INVENTORYID = :INVENTORYID)
              and (EXPORTACTITEMS.OPERATIONID <> 5)), 0
        ) INUSE,
        STORAGE.STORAGESHORTNAME, OWNER.ISWEIGHT, IT.PARTYID
      from IT
        join GETWORKPARTIES(:ISCURRENT, :APARTYDATE,
            case
              when (coalesce(:ACROPID,-1) = -1) then
                null
              else :ACROPID
            end,
            case
              when (coalesce(:ACLASSID,-1) = -1) then
                null
              else :ACLASSID
            end,
            case
              when (coalesce(:ASTORAGEID,-1) = -1) then
                null
              else :ASTORAGEID
            end)
            on (GETWORKPARTIES.PARTYID = IT.PARTYID)
        left join INVOICES on (INVOICES.INVOICEID = IT.INVOICEID)
        left join CLIENTS PROVIDER on (PROVIDER.CLIENTID = IT.PROVIDERID)
        left join CLIENTS FORWARDER on (FORWARDER.CLIENTID = INVOICES.FORWARDERID)
        left join CLIENTS OWNER on (IT.OWNERID = OWNER.CLIENTID)
        left join ITTRANSPORT on (ITTRANSPORT.INVENTORYID = IT.INVENTORYID)
        left join QUALITY Q1 on (Q1.QUALITYID = IT.SAMPLERQUALITYID)
        left join QUALITY_CROPFULLNAME (Q1.CROPID, Q1.CLASSID, null, 1) on (0 = 0)
        left join EXPORTACTITEMS on (EXPORTACTITEMS.INVENTORYID = IT.INVENTORYID)
        left join QUALITY WASTENAME on (WASTENAME.QUALITYID = IT.OPERATIONPARAM)
        left join EXPORTACTS on (EXPORTACTS.EXPORTACTID = EXPORTACTITEMS.EXPORTACTID)
        left join STORAGE on (STORAGE.STORAGEID = IT.STORAGEID)
      where (IT.REGDATE between :BEGINDATE and :ENDDATE)
        and (IT.OPERATIONID = :OPERATIONID)
        and ((Q1.CROPID = :ACROPID) or (coalesce(:ACROPID,-1) = -1))
        and ((Q1.CLASSID = :ACLASSID) or (coalesce(:ACLASSID,-1) = -1))
        and ((IT.OWNERID = :AOWNERID) or (coalesce(:AOWNERID,-1) = -1))
        and ((IT.STORAGEID = :ASTORAGEID) or (coalesce(:ASTORAGEID,-1) = -1))
        and ((IT.STATE >= 0) or (IT.STATE = -10))
        and ((IT.NET > 0) or ((IT.NET < 0) and (:OPERATIONID = 65)))
        and ((IT.OPERATIONID <> 22)
             or ((IT.OPERATIONID = 22)
                 and ((WASTENAME.CROPID = 9) and (WASTENAME.CLASSID in (41,141)))))
    order by IT.REGDATE, QUALITY_CROPFULLNAME.CROPFULLNAME
    into :REGDATE, :FORWARDERFULLNAME, :PROVIDERFULLNAME, :OWNERFULLNAME,
         :PROVIDERID, :INVENTORYID, :INVOICEID, :INVOICENUMBER, :TRANSPORTNUMBER,
         :DRIVERS, :CROPFULLNAME, :NET, :GROSS, :TARE, :STORAGEID, :STATE,
         :SAMPLERQUALITYID, :LABQUALITYID, :WEIGHT, :FORWARDERID, :ACTOPERATIONID,
         :ACTNUMBER, :OWNERID, :CROPID, :CLASSID, :EXPORTACTID, :PARENTITEMID,
         :REGISTERNET, :INUSE, :STORAGENAME, :ISWEIGHT, :PARTYID
  do suspend;
end
         
         
         
       |