Procedura-GroupedVATCustDeclaration

Parametry:

NázevPopisDatový typ
AFirmSelIDChar(10)
ADivisionsSelIDChar(10)
ABusOrdersSelIDChar(10)
ABusTransactionsSelIDChar(10)
ABusProjectsSelIDChar(10)
AVATDateFromFloat(0, 0)
AVATDateToFloat(0, 0)
ADivisionsWithChildsChar(1)
ABusOrdersWithChildsChar(1)
ABusTransactionsWithChildsChar(1)
ABusProjectsWithChildsChar(1)
AVATCountry_IDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
VATIndex_IDChar(10)
TAmountWithoutVATNumeric(15, 2)
TAmountNumeric(15, 2)
ForeignTAmountWithoutVATNumeric(15, 2)
ForeignTAmountNumeric(15, 2)

Závislosti:

NázevPopisTřída
CheckDivisionAndBusXProcedures

Tělo:

BEGIN
  SELECT Country_ID FROM GlobData INTO :mLocalCountry_ID;
  IF (AVATCountry_ID=mLocalCountry_ID) then begin
    /* JCD */
    FOR
      SELECT
        A.VATIndex_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
        A.LocalTAmount + A.LocalVATBaseAmount + A.LocalVATBaseCorrection - A.LocalVATAmount,
        A.LocalTAmount + A.LocalVATBaseAmount + A.LocalVATBaseCorrection,
        A.TAmount + A.VATBaseAmount + A.VATBaseCorrection - A.VATAmount,
        A.TAmount + A.VATBaseAmount + A.VATBaseCorrection
      FROM
        CustomsDeclarations2 A
        join CustomsDeclarations B ON A.Parent_ID = B.ID
      WHERE
        B.VATDate$Date >= :AVATDateFrom AND B.VATDate$Date < :AVATDateTo AND
        B.VATDocument = 'A' AND
        ((  :AFirmSelID = '' OR
            (B.Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSelID)) OR
            (B.Firm_ID in (SELECT ID FROM Firms WHERE Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSelID))) ))
      INTO
        :VATIndex_ID, :mDivision_ID, :mBusOrder_ID, :mBusTransaction_ID, :mBusProject_ID,
        :TAmountWithoutVAT, :TAmount, :ForeignTAmountWithoutVAT, :ForeignTAmount
    DO BEGIN
      mSuspend = 1;
      EXECUTE PROCEDURE CheckDivisionAndBusX
        :mDivision_ID, :ADivisionsSelID, :ADivisionsWithChilds,
        :mBusOrder_ID, :ABusOrdersSelID, :ABusOrdersWithChilds,
        :mBusTransaction_ID, :ABusTransactionsSelID, :ABusTransactionsWithChilds,
        :mBusProject_ID, :ABusProjectsSelID, :ABusProjectsWithChilds
      RETURNING_VALUES
        :mSuspend;
      IF (mSuspend > 0) THEN
        SUSPEND;
    END
  END
END;

Generated by ABRA Software a.s. 27.10.2021 16:34:15