Входные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
BEGINDATA  | 
    DATE  | 
    
  | 
  
ENDDATA  | 
    DATE  | 
    
  | 
  
ACROPID  | 
    INTEGER  | 
    
  | 
  
ACLASSID  | 
    INTEGER  | 
    
  | 
  
APROVIDERID  | 
    INTEGER  | 
    
  | 
  
ISCURRENT  | 
    INTEGER  | 
    
  | 
  
APARTYDATE  | 
    DATE  | 
    
  | 
  
ASTORAGEID  | 
    INTEGER  | 
    
  | 
  
TRSUBTYPE  | 
    INTEGER  | 
    
  | 
  
Выходные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
REGDATE  | 
    DATE  | 
    
  | 
  
FORWARDERFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
PROVIDERID  | 
    INTEGER  | 
    
  | 
  
INVENTORYID  | 
    INTEGER  | 
    
  | 
  
INVOICEID  | 
    INTEGER  | 
    
  | 
  
INVOICENUMBER  | 
    VARCHAR(31)  | 
    
  | 
  
TRANSPORTNUMBER  | 
    VARCHAR(31)  | 
    
  | 
  
DRIVERS  | 
    VARCHAR(30)  | 
    
  | 
  
CROPFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
BUNKERS  | 
    NUMERIC(2,1)  | 
    
  | 
  
NET  | 
    INTEGER  | 
    
  | 
  
GROSS  | 
    INTEGER  | 
    
  | 
  
TARE  | 
    INTEGER  | 
    
  | 
  
STORAGENAME  | 
    VARCHAR(100)  | 
    
  | 
  
GRAINFIELDOUTTIME  | 
    TIMESTAMP  | 
    
  | 
  
PROVIDERFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
FORWARDERID  | 
    INTEGER  | 
    
  | 
  
OWNERFULLNAME  | 
    VARCHAR(100)  | 
    
  | 
  
CHECKPOINTOUTTIME  | 
    TIMESTAMP  | 
    
  | 
  
CHECKPOINTINTIME  | 
    TIMESTAMP  | 
    
  | 
  
OWNERFIELDID  | 
    INTEGER  | 
    
  | 
  
Описание
(Нет описания для процедуры FORWARDER_OWNGRAINJOURNAL)
Определение
CREATE PROCEDURE FORWARDER_OWNGRAINJOURNAL(
    BEGINDATA DATE,
    ENDDATA DATE,
    ACROPID INTEGER,
    ACLASSID INTEGER,
    APROVIDERID INTEGER,
    ISCURRENT INTEGER,
    APARTYDATE DATE,
    ASTORAGEID INTEGER,
    TRSUBTYPE 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),
    BUNKERS NUMERIC(2,1),
    NET INTEGER,
    GROSS INTEGER,
    TARE INTEGER,
    STORAGENAME VARCHAR(100),
    GRAINFIELDOUTTIME TIMESTAMP,
    PROVIDERFULLNAME VARCHAR(100),
    FORWARDERID INTEGER,
    OWNERFULLNAME VARCHAR(100),
    CHECKPOINTOUTTIME TIMESTAMP,
    CHECKPOINTINTIME TIMESTAMP,
    OWNERFIELDID INTEGER)
AS
declare variable enterpriseid integer;
BEGIN
  select Clients.ClientID
  from Clients
    where Clients.IsEnterprise = 1
  into :ENTERPRISEID;
  for
    select
      IT.RegDate,
      Forwarder.ClientFullName as ForwarderFullName,
      Provider.Clientfullname as ProviderFullName,
      IT.ProviderID,
      IT.InventoryID,
      IT.InvoiceID,
      Invoices.InvoiceNumber,
      ITTransport.TransportNumber, --!!!!!!!!
      Invoices.Drivers,
      ITTransport.CheckPointInTime,
      ITTransport.CheckPointOutTime,
      Quality_CropFullName.CropFullName,
      ITTransport.OwnerFieldID,
      ITTransport.Bunkers,
      IT.Net,
      IT.Gross,
      IT.Tare,
      Storage.StorageName,
      ITTransport.GrainFieldOutTime,
      Invoices.ForwarderID,
      Owner.ClientFullName as OwnerFullName
from IT
      left join GetWorkParties(:IsCurrent,:APartyDate,
        case when coalesce(:ACropID,-1) = -1 then null else coalesce(:ACropID,-1) end,
        case when coalesce(:AClassID,-1) = -1 then null else coalesce(:AClassID,-1) end,
        case when coalesce(:Astorageid,-1) = -1 then null else coalesce(:Astorageid,-1) end )
        on (IT.PartyID = GetWorkParties.PartyID)
      left join Invoices on (IT.InvoiceID = Invoices.InvoiceID)
      left join Clients Provider on (IT.ProviderID = Provider.ClientID)
      left join Clients Forwarder on (Invoices.ForwarderID = Forwarder.ClientID)
      left join Clients Owner on (IT.OwnerID = Owner.ClientID)
      left join ITTransport on (IT.InventoryID = ITTransport.InventoryID)
      left join Storage on (IT.StorageID = Storage.StorageID)
      left join Quality on (IT.SamplerQualityID = Quality.QualityID)
      left join Quality_CropFullName (Quality.CropID, ClassID, null, 1) on (0=0)
      left join Parties on (IT.PartyID = Parties.PartyID)
    where IT.OperationID = 1
      and IT.RegDate between :BeginData and :EndData
      and (IT.ProviderID = :AProviderID or (coalesce(:AProviderID, -1) = -1))
      and (Quality.CropID = :ACropID or (coalesce(:ACropID, -1) = -1))
      and (Quality.ClassID = :AClassID or (coalesce(:AClassID, -1) = -1))
      and IT.State >= 0
      and IT.ParentID >= 0
      and (IT.StorageID = :AStorageID or (coalesce(:AStorageID, -1) = -1))
      and Parties.State = 1
      and :ENTERPRISEID = IT.OwnerID
    order by IT.RegDate, Invoices.InvoiceNumber, IT.InvoiceID
    into
         :REGDATE,
         :FORWARDERFULLNAME,
         :PROVIDERFULLNAME,
         :PROVIDERID,
         :INVENTORYID,
         :INVOICEID,
         :INVOICENUMBER,
         :TRANSPORTNUMBER,
         :DRIVERS,
         :CHECKPOINTINTIME,
         :CHECKPOINTOUTTIME,
         :CROPFULLNAME,
         :OWNERFIELDID,
         :BUNKERS,
         :NET,
         :GROSS,
         :TARE,
         :STORAGENAME,
         :GRAINFIELDOUTTIME,
         :FORWARDERID,
         :OWNERFULLNAME
  do
  begin
    suspend;
  end
END
         
         
         
       |