Procedura-VATSummaryAcc

Parametry:

NázevPopisDatový typ
AFirmSel_IDChar(10)
ADivisionSel_IDChar(10)
ABusOrderSel_IDChar(10)
ABusTransactionSel_IDChar(10)
ABusProjectSel_IDChar(10)
AVATDateFromFloat(0, 0)
AVATDateToFloat(0, 0)
ADivisionsWithChildrenChar(1)
ABusOrdersWithChildrenChar(1)
ABusTransactionsWithChildrenChar(1)
ABusProjectsWithChildrenChar(1)
VATCountry_IDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
VATIndex_IDChar(10)
DocQueue_IDChar(10)
OrdNumberNumeric(8, 0)
Period_IDChar(10)
TAmountWithoutVATNumeric(13, 2)
LocalTAmountWithoutVATNumeric(13, 2)
TAmountNumeric(13, 2)
LocalTAmountNumeric(13, 2)
TextChar(160)
DescriptionChar(50)
Division_IDChar(10)
BusOrder_IDChar(10)
BusTransaction_IDChar(10)
BusProject_IDChar(10)
Firm_IDChar(10)
VATDate$DateFloat(0, 0)
PosIndexInteger
VATModeRežim DPHInteger
Document_IDChar(10)
ExternalNumberVarChar(30)
VarSymbolVarChar(30)
SimplifiedVATDocumentChar(1)
SourceDoc_IDChar(10)
SourceDocTypeChar(2)
VATReportReferenceVarChar(30)
VATReportPreferenceVarChar(2)
POSSumDoc_IDChar(10)
VATAdmitDate$DATEFloat(0, 0)
UsedRatioChar(1)

Závislosti:

NázevPopisTřída
CheckDivisionAndBusXProcedures

Tělo:

BEGIN
  /* VATSummaryAcc VATByPayment */
  SELECT Country_ID FROM GlobData INTO :mLocalCountry_ID;
  IF (NOT (VATCountry_ID=mLocalCountry_ID)) then
    EXIT;
  /* radky OSTP */
  VATMode = 0;
  POSSumDoc_ID = Null;
  UsedRatio = 'N';
  
  FOR
    SELECT
      A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, B.VATDate$Date,
      A.TAmountWithoutVAT, A.LocalTAmountWithoutVAT, A.TAmount, A.LocalTAmount,
      A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
      A.PosIndex, B.ID as Document_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument,
      B.SDocument_ID, B.SDocumentType, B.VATReportReference, B.VATReportPreference,
      B.VATAdmitDate$DATE
    FROM
      OtherIncomes2 A
      join OtherIncomes B ON A.Parent_ID = B.ID
    WHERE
      B.VATByPayment = 'N' and
      B.VATDocument = 'A' and A.VATIndex_ID IS NOT NULL and
      B.VATDate$Date >= :AVATDateFrom and B.VATDate$Date < :AVATDateTo and
      ( (:AFirmSel_ID = '') OR
        (B.Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSel_ID)) OR
        (B.Firm_ID in (SELECT ID FROM Firms WHERE Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSel_ID))) )
    INTO
      :VATIndex_ID, :DocQueue_ID, :OrdNumber, :Period_ID, :VATDate$Date,
      :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
      :Text, :Description, :Firm_ID, :Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID,
      :PosIndex, :Document_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType, :VATReportReference, :VATReportPreference,
      :VATAdmitDate$DATE
  DO BEGIN
    EXECUTE PROCEDURE CheckDivisionAndBusX
      :Division_ID, :ADivisionSel_ID, :ADivisionsWithChildren,
      :BusOrder_ID, :ABusOrderSel_ID, :ABusOrdersWithChildren,
      :BusTransaction_ID, :ABusTransactionSel_ID, :ABusTransactionsWithChildren,
      :BusProject_ID, :ABusProjectSel_ID, :ABusProjectsWithChildren
    RETURNING_VALUES
      :mSuspend;
    IF (mSuspend > 0) THEN 
    BEGIN
      SUSPEND;
    END
  END
  /* radky OSTV */
  VATMode = 0;
  FOR
    SELECT
      A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, B.VATDate$Date,
      A.TAmountWithoutVAT, A.LocalTAmountWithoutVAT, A.TAmount, A.LocalTAmount,
      A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
      A.PosIndex, B.ID as Document_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument,
      B.SDocument_ID, B.SDocumentType, B.VATReportReference, B.VATReportPreference,
      B.VATAdmitDate$DATE, A.UsedRatio
    FROM
      OtherExpenses2 A
      join OtherExpenses B ON A.Parent_ID = B.ID
    WHERE
      B.VATByPayment = 'N' and
      B.VATDocument = 'A' and A.VATIndex_ID IS NOT NULL and
      B.VATDate$Date >= :AVATDateFrom and B.VATDate$Date < :AVATDateTo and
      ( (:AFirmSel_ID = '') OR
        (B.Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSel_ID)) OR
        (B.Firm_ID in (SELECT ID FROM Firms WHERE Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSel_ID))) )
    INTO
      :VATIndex_ID, :DocQueue_ID, :OrdNumber, :Period_ID, :VATDate$Date,
      :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
      :Text, :Description, :Firm_ID, :Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID,
      :PosIndex, :Document_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType, :VATReportReference, :VATReportPreference,
      :VATAdmitDate$DATE, :UsedRatio
  DO BEGIN
    EXECUTE PROCEDURE CheckDivisionAndBusX
      :Division_ID, :ADivisionSel_ID, :ADivisionsWithChildren,
      :BusOrder_ID, :ABusOrderSel_ID, :ABusOrdersWithChildren,
      :BusTransaction_ID, :ABusTransactionSel_ID, :ABusTransactionsWithChildren,
      :BusProject_ID, :ABusProjectSel_ID, :ABusProjectsWithChildren
    RETURNING_VALUES
      :mSuspend;
    IF (mSuspend > 0) THEN BEGIN
      SUSPEND;
    END
  END
END

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