Входные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
ISCURRENT  | 
    INTEGER  | 
    
  | 
  
PARTYDATE  | 
    DATE  | 
    
  | 
  
ADATE  | 
    DATE  | 
    
  | 
  
AOWNERID  | 
    INTEGER  | 
    
  | 
  
ATRANSPORTSUBTYPE  | 
    INTEGER  | 
    
  | 
  
Выходные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
INVOICEDATE  | 
    DATE  | 
    
  | 
  
INVOICENUMBER  | 
    VARCHAR(31)  | 
    
  | 
  
OWNERNAME  | 
    VARCHAR(30)  | 
    
  | 
  
PROVIDERNAME  | 
    VARCHAR(30)  | 
    
  | 
  
INVOICENET  | 
    BIGINT  | 
    
  | 
  
NET  | 
    BIGINT  | 
    
  | 
  
TRANSPORTNUMBER  | 
    VARCHAR(64)  | 
    
  | 
  
INVOICEID  | 
    INTEGER  | 
    
  | 
  
CROPFULLNAME  | 
    VARCHAR(110)  | 
    
  | 
  
Описание
(Нет описания для процедуры ACC_INCOME_PROD)
Определение
CREATE PROCEDURE ACC_INCOME_PROD(
    ISCURRENT INTEGER,
    PARTYDATE DATE,
    ADATE DATE,
    AOWNERID INTEGER,
    ATRANSPORTSUBTYPE INTEGER)
RETURNS (
    INVOICEDATE DATE,
    INVOICENUMBER VARCHAR(31),
    OWNERNAME VARCHAR(30),
    PROVIDERNAME VARCHAR(30),
    INVOICENET BIGINT,
    NET BIGINT,
    TRANSPORTNUMBER VARCHAR(64),
    INVOICEID INTEGER,
    CROPFULLNAME VARCHAR(110))
AS
declare variable TEMPNUMBER varchar(31);
BEGIN
  FOR
    select
      ITmain.InvoiceID,
      Invoices.InvoiceDate,
      Invoices.InvoiceNumber,
      Owner.ClientName OwnerName,
      Provider.ClientName ProviderName,
      quality_cropfullname_byid.cropfullname||' ('||coalesce( cast(YearGr.qualityvalue as integer),'')||') ' as CropFullName,
      sum(ITTransport.InvoiceNet) as InvoiceNet,
      sum(ITmain.Net) as Net
    from IT  ITmain
      join GetWorkParties( :IsCurrent, :PartyDate, null, null, null)
        on (ITmain.PartyID = GetWorkParties.PartyID)
      left join Clients Owner on (ITmain.OwnerID = Owner.ClientID)
      left join Clients Provider on (ITmain.ProviderID = Provider.ClientID)
      left join Invoices on (ITmain.InvoiceID = Invoices.InvoiceID)
      left join QualityData YearGr on (ITmain.BuhQualityID = YearGr.QualityID
        and YearGr.qualitytypeid = 6)
      left join quality_cropfullname_byid(ITmain.BuhQualityID,0) on (0=0)
      left join ITTransport on (ITmain.InventoryID = ITTransport.InventoryID)
      left join Transporttype on (ITTransport.TransportTypeID = TransportType.TransportTypeID)
    where ITmain.RegDate = :ADate
      and ITmain.OperationID = 1
      and (ITmain.ownerid = :AOwnerID or (coalesce(:AOwnerID,-1) = -1))
      and Transporttype.TransportSubType = :ATransportSubType
      and ITmain.state >= 0
      and ITmain.parentid <> -1
      and ITmain.Net is not null
      and ITmain.Net <> 0
    group by
      Invoices.InvoiceDate,
      Invoices.InvoiceNumber,
      Owner.ClientName,
      Provider.ClientName,
      quality_cropfullname_byid.cropfullname,
      YearGr.qualityvalue,
      ITTransport.TransportNumber,
      ITmain.InvoiceID
    INTO :InvoiceID,
         :INVOICEDATE,
         :INVOICENUMBER,
         :OWNERNAME,
         :PROVIDERNAME,
         :CropFullName,
         :INVOICENET,
         :NET
  DO
  BEGIN
    Transportnumber = '';
    for
      select ittransport.transportnumber
      from IT
        left join ITTransport on (IT.InventoryID = ITTransport.InventoryID)
       where IT.InvoiceID = :invoiceid
         and IT.State <> -1
       into :TempNumber
      do
      begin
        Transportnumber = Transportnumber || :TempNumber;
      end
    SUSPEND;
  END
END
         
         
         
       |