Procedura-VATSummaryTT

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)
AVATCountry_IDChar(10)
ATradeTypeInteger
ADocumentKind0=všechny 1=výstupní 2=vstupníInteger
AWhatOfVATDate0 - VATDate 1 - MOSSVATDateInteger

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
RelatedDocNameVarChar(24)
VATCountry_IDChar(10)
Currency_IDChar(10)
Country_IDZemě určeníChar(10)
Document_IDChar(10)
OSSSupplyTypeInteger

Závislosti:

NázevPopisTřída
CheckDivisionAndBusXProcedures

Tělo:

BEGIN
  RelatedDocName = '';
  -- Vystupni doklady
  IF ((ADocumentKind = 0) OR (ADocumentKind = 1)) THEN
  BEGIN
      /* radky FV */
      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, A.RowType, A.Quantity, VI.Income, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID, A.OSSSupplyType
        FROM
          IssuedInvoices2 A
          join IssuedInvoices B ON A.Parent_ID = B.ID
          left join VatIndexes VI on VI.ID = A.VatIndex_ID
        WHERE
          B.VATDocument = 'A' and 
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :mRowType, :mQuantity, :mIncome, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID, :OSSSupplyType
      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
          IF (mRowType = 4) THEN 
            Text = '';      
          IF ((mRowType = 3) AND (mQuantity < 0)) THEN BEGIN
            IF (mIncome = 'A') THEN BEGIN --ERR-2721/2009 
              TAmountWithoutVAT = (-1) * TAmountWithoutVAT;
              LocalTAmountWithoutVAT = (-1) * LocalTAmountWithoutVAT;
              TAmount = (-1) * TAmount; 
              LocalTAmount = (-1) * LocalTAmount;
            END 
          END          
          SUSPEND;
        END
      END
      /* radky DZV */
      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.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID, A.OSSSupplyType
        FROM
          VATIssuedDInvoices2 A
          join VATIssuedDInvoices B ON A.Parent_ID = B.ID
        WHERE
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID, :OSSSupplyType
      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 DV */
      FOR
        SELECT
          A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, 
          CASE :AWhatOfVATDate
          WHEN 1 THEN
            B.MOSSVATDate$Date
          ELSE
            CASE B.Acknowledge
              WHEN 2 THEN CNA.DocDate$Date
              ELSE B.VATDate$Date
            END
          END,
          (-1*A.TAmountWithoutVAT), (-1*A.LocalTAmountWithoutVAT), (-1*A.TAmount), (-1*A.LocalTAmount),
          A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
          A.PosIndex, A.RowType, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID, A.OSSSupplyType
        FROM
          IssuedCreditNotes2 A
          join IssuedCreditNotes B ON A.Parent_ID = B.ID
          LEFT join CreditNotesAcknowledges CNA ON CNA.CreditNote_ID = B.ID
        WHERE
          B.VATDocument = 'A' and 
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) and      
          A.VATIndex_ID IS NOT NULL and
          /* Rozliseni data plneni */
          (
          (:AWhatOfVATDate = 1 and
          ( (B.Acknowledge = 0 and (B.MOSSVATDate$Date >= :AVATDateFrom and B.MOSSVATDate$Date < :AVATDateTo)) or
            (B.Acknowledge = 2 and (B.MOSSVATDate$Date >= :AVATDateFrom and B.MOSSVATDate$Date < :AVATDateTo)) )
          )
          or
          (:AWhatOfVATDate <> 1 and
          ( (B.Acknowledge = 0 and (B.VATDate$Date >= :AVATDateFrom and B.VATDate$Date < :AVATDateTo)) or
            (B.Acknowledge = 2 and (CNA.DocDate$Date >= :AVATDateFrom and CNA.DocDate$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, mRowType, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID, :OSSSupplyType
      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
          IF (mRowType = 4) THEN Text = '';
          SUSPEND;
        END
      END
      /* radky DDZV */
      FOR
        SELECT
          A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
          CASE :AWhatOfVATDate
          WHEN 1 THEN
            B.MOSSVATDate$Date
          ELSE
            B.VATDate$Date
          END,          
          (-1*A.TAmountWithoutVAT), (-1*A.LocalTAmountWithoutVAT), (-1*A.TAmount), (-1*A.LocalTAmount),
          A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
          A.PosIndex, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID, A.OSSSupplyType
        FROM
          VATIssuedDCreditNotes2 A
          join VATIssuedDCreditNotes B ON A.Parent_ID = B.ID
        WHERE
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) and      
          A.VATIndex_ID IS NOT NULL and
          /* Rozliseni data plneni */
          (
          (:AWhatOfVATDate = 1 and
          ((B.MOSSVATDate$Date >= :AVATDateFrom and B.MOSSVATDate$Date < :AVATDateTo))
          )
          or
          (:AWhatOfVATDate <> 1 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, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID, :OSSSupplyType
      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 PP */
      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, A.RowType, A.Quantity, VI.Income, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID, A.OSSSupplyType
        FROM
          CashReceived2 A
          join CashReceived B ON A.Parent_ID = B.ID
          left join VatIndexes VI on VI.ID = A.VatIndex_ID
        WHERE
          B.VATDocument = 'A' and
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :mRowType, :mQuantity, :mIncome, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID, :OSSSupplyType
      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
          IF (mRowType = 4) THEN 
            Text = '';
          IF ((mRowType = 3) AND (mQuantity < 0)) THEN BEGIN
            IF (mIncome = 'A') THEN BEGIN --ERR-2721/2009
              TAmountWithoutVAT = (-1) * TAmountWithoutVAT;
              LocalTAmountWithoutVAT = (-1) * LocalTAmountWithoutVAT;
              TAmount = (-1) * TAmount; 
              LocalTAmount = (-1) * LocalTAmount;
            END 
          END          
          SUSPEND;
        END
      END
      /* radky VP */
      FOR
        SELECT
          A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
          CASE :AWhatOfVATDate
          WHEN 1 THEN
            B.MOSSVATDate$Date
          ELSE
            B.VATDate$Date
          END,
          (-1*A.TAmountWithoutVAT), (-1*A.LocalTAmountWithoutVAT), (-1*A.TAmount), (-1*A.LocalTAmount),
          A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
          A.PosIndex, A.RowType, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID, A.OSSSupplyType
        FROM
          RefundedCashReceived2 A
          join RefundedCashReceived B ON A.Parent_ID = B.ID
        WHERE
          B.VATDocument = 'A' and 
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) and      
          A.VATIndex_ID IS NOT NULL and
          /* Rozliseni data plneni */
          (
          (:AWhatOfVATDate = 1 and
          ((B.MOSSVATDate$Date >= :AVATDateFrom and B.MOSSVATDate$Date < :AVATDateTo))
          )
          or
          (:AWhatOfVATDate <> 1 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, mRowType, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID, :OSSSupplyType
      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
          IF (mRowType = 4) THEN Text = '';
          SUSPEND;
        END
      END
  END
  -- Vstupni doklady
  IF ((ADocumentKind = 0) OR (ADocumentKind = 2)) THEN
  BEGIN
      /* radky FP */
      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, VATDeposit, VI.Income, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID
        FROM
          ReceivedInvoices2 A
          join ReceivedInvoices B ON A.Parent_ID = B.ID
          left join VatIndexes VI on VI.ID = A.VatIndex_ID
        WHERE
          B.VATDocument = 'A' and 
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :mVATDeposit, :mIncome, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID
      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
          IF (mVATDeposit = 'A') THEN Text = '';
          SUSPEND;
        END
      END
      /* radky DZP */
      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.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID
        FROM
          VATReceivedDInvoices2 A
          join VATReceivedDInvoices B ON A.Parent_ID = B.ID
        WHERE
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID
      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 DD */
      FOR
        SELECT
          A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, 
          B.VATDate$Date,
          (-1*A.TAmountWithoutVAT), (-1*A.LocalTAmountWithoutVAT), (-1*A.TAmount), (-1*A.LocalTAmount),
          A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
          A.PosIndex, VATDeposit, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID
        FROM
          ReceivedCreditNotes2 A
          join ReceivedCreditNotes B ON A.Parent_ID = B.ID
        WHERE
          B.VATDocument = 'A' and 
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :mVATDeposit, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID
      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
          IF (mVATDeposit = 'A') THEN Text = '';
          SUSPEND;
        END
      END
      /* radky DDZP */
      FOR
        SELECT
          A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, B.VATDate$Date,
          (-1*A.TAmountWithoutVAT), (-1*A.LocalTAmountWithoutVAT), (-1*A.TAmount), (-1*A.LocalTAmount),
          A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
          A.PosIndex, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID
        FROM
          VATReceivedDCreditNotes2 A
          join VATReceivedDCreditNotes B ON A.Parent_ID = B.ID
        WHERE
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID
      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 PV */
      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, VI.Income, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID
        FROM
          CashPaid2 A
          join CashPaid B ON A.Parent_ID = B.ID
          left join VatIndexes VI on VI.ID = A.VatIndex_ID
        WHERE
          B.VATDocument = 'A' and
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :mIncome, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID
      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 VV */
      FOR
        SELECT
          A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, B.VATDate$Date,
          (-1*A.TAmountWithoutVAT), (-1*A.LocalTAmountWithoutVAT), (-1*A.TAmount), (-1*A.LocalTAmount),
          A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
          A.PosIndex, B.VATCountry_ID, B.Currency_ID, B.Country_ID, B.ID
        FROM
          RefundedCashPaid2 A
          join RefundedCashPaid B ON A.Parent_ID = B.ID
        WHERE
          B.VATDocument = 'A' and 
          ((:ATradeType = 0) OR (B.TradeType = :ATradeType)) and 
          (:AVATCountry_ID = '' or :AVATCountry_ID = '0000000000' or (B.VATCountry_ID=:AVATCountry_ID)) 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, :VATCountry_ID, :Currency_ID, :Country_ID, :Document_ID
      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
END

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