BEGIN
/* VATSummaryInv VATByPayment */
SELECT Country_ID FROM GlobData INTO :mLocalCountry_ID;
RelatedDocName = '';
SourceDoc_ID = NULL;
SourceDocType = '';
POSSumDoc_ID = Null;
UsedRatio = 'N';
/* 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, A.VATMode, B.ID as Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.VATReportReference, B.VATReportPreference,
B.VATAdmitDate$DATE
FROM
IssuedInvoices2 A
join IssuedInvoices B ON A.Parent_ID = B.ID
left join VatIndexes VI on VI.ID = A.VatIndex_ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) AND
B.VATDocument = 'A' and B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
(:AWithMOSS = 'A' or (B.TradeType <> 7 and B.TradeType <> 8)) 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, :VATMode, :Document_ID,
:DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :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
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 */
/* DZV nepodlehaji rezimu VATByPayment - jsou vzdy predem zaplacene */
VATMode = 0;
UsedRatio = 'N';
VarSymbol = '';
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,
A.VATMode, A.DRCArticle_ID, B.ExternalNumber, B.SimplifiedVATDocument, B.VATReportReference, B.VATReportPreference,
B.VATAdmitDate$DATE
FROM
VATIssuedDInvoices2 A
join VATIssuedDInvoices B ON A.Parent_ID = B.ID
WHERE
B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
(:AWithMOSS = 'A' or (B.TradeType <> 7 and B.TradeType <> 8)) 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, :VATMode, :DRCArticle_ID, :ExternalNumber, :SimplifiedVATDocument, :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 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, A.VATMode, B.ID as Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.VATReportReference, B.VATReportPreference,
B.VATAdmitDate$DATE, A.UsedRatio
FROM
ReceivedInvoices2 A
join ReceivedInvoices B ON A.Parent_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) AND
B.VATDocument = 'A' and B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
B.TradeType <> 4 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, :VATMode, :Document_ID, :DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :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
/* radky DZP */
/* DZP nepodlehaji rezimu VATByPayment - jsou vzdy predem zaplacene */
VATMode = 0;
VarSymbol = '';
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,
A.VATMode, A.DRCArticle_ID, B.ExternalNumber, B.SimplifiedVATDocument, B.VATReportReference, B.VATReportPreference,
B.VATAdmitDate$DATE, A.UsedRatio
FROM
VATReceivedDInvoices2 A
join VATReceivedDInvoices B ON A.Parent_ID = B.ID
WHERE
B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
B.TradeType <> 4 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, :VATMode, :DRCArticle_ID, :ExternalNumber, :SimplifiedVATDocument, :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
/* radky DP */
vatreportreference = '';
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, A.VATMode, B.ID as Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID, B.VATReportPreference,
B.VATAdmitDate$DATE, A.UsedRatio
FROM
ReceivedCreditNotes2 A
join ReceivedCreditNotes B ON A.Parent_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) AND
B.VATDocument = 'A' and B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
B.TradeType <> 4 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, :VATMode, :Document_ID, :DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :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
SourceDocType = '04';
SUSPEND;
END
END
/* radky DDZP */
VATMode = 0;
vatreportreference = '';
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.ID as Document_ID,
A.VATMode, A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID, B.VATReportPreference,
B.VATAdmitDate$DATE, A.UsedRatio
FROM
VATReceivedDCreditNotes2 A
join VATReceivedDCreditNotes B ON A.Parent_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) AND
B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
B.TradeType <> 4 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, :VATMode, :DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :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
SourceDocType = '64';
SUSPEND;
END
END
/* radky DV */
vatreportreference = '';
UsedRatio = 'N';
FOR
SELECT
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
CASE B.Acknowledge
WHEN 2 THEN CNA.DocDate$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, A.VATMode, B.ID as Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID, B.VATReportPreference,
CASE B.Acknowledge
WHEN 2 THEN CNA.DocDate$Date
ELSE B.VATAdmitDate$DATE
END
FROM
IssuedCreditNotes2 A
join IssuedCreditNotes B ON A.Parent_ID = B.ID
LEFT join CreditNotesAcknowledges CNA ON CNA.CreditNote_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) AND
B.VATDocument = 'A' and B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
(:AWithMOSS = 'A' or (B.TradeType <> 7 and B.TradeType <> 8)) 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, :VATMode, :Document_ID, :DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :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
IF (mRowType = 4) THEN Text = '';
SourceDocType = '03';
SUSPEND;
END
END
/* radky DDZV */
VATMode = 0;
vatreportreference = '';
UsedRatio = 'N';
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.ID as Document_ID,
A.VATMode, A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID, B.VATReportPreference,
B.VATAdmitDate$DATE
FROM
VATIssuedDCreditNotes2 A
join VATIssuedDCreditNotes B ON A.Parent_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) AND
B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
(:AWithMOSS = 'A' or (B.TradeType <> 7 and B.TradeType <> 8)) 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, :VATMode, :DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :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
SourceDocType = '62';
SUSPEND;
END
END
/* radky DRC */
/* DRC nepodlehaji rezimu VATByPayment */
VATMode = 0;
SimplifiedVATDocument = 'N';
vatreportreference = '';
UsedRatio = 'N';
VarSymbol = '';
ExternalNumber = '';
FOR
SELECT
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, B.VATDate$Date,
A.BaseAmount,
A.LocalBaseAmount,
A.BaseAmount + A.VATAmount,
A.LocalBaseAmount + A.LocalVATAmount,
A.Text, B.Description, B.Firm_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
V.AllowanceVATIndex_ID, A.PosIndex,
B.SDocument_ID, B.SDocumentType, B.VATDeductionDate$DATE, B.ID as Document_ID,
A.DRCArticle_ID, B.VATReportPreference
FROM
ReverseChargeDeclarations2 A
join ReverseChargeDeclarations B ON A.Parent_ID = B.ID
join VATIndexes V ON A.VATIndex_ID = V.ID
WHERE
B.VATCountry_ID=:VATCountry_ID and
A.VATIndex_ID IS NOT NULL and
(
(B.VATDate$Date >= :AVATDateFrom AND B.VATDate$Date < :AVATDateTo) OR
(V.AllowanceVATIndex_ID IS NOT NULL AND B.VATDeductionDate$Date >= :AVATDateFrom AND B.VATDeductionDate$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,
:mAllowanceVATIndex_ID, :PosIndex,
:SourceDoc_ID, :SourceDocType, :mVATDeductionDate, :Document_ID,
:DRCArticle_ID, :VATReportPreference
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 ((SourceDocType = '61') or (SourceDocType = '08') or (SourceDocType = '65')) THEN
BEGIN
TAmountWithoutVAT = TAmountWithoutVAT * -1;
LocalTAmountWithoutVAT = LocalTAmountWithoutVAT * -1;
TAmount = TAmount * -1;
LocalTAmount = LocalTAmount * -1;
END
SELECT
Out_DisplayName
FROM
FmtDocumentDisplayName (
:SourceDoc_ID, :SourceDocType)
INTO
:RelatedDocName;
RelatedDocName = COALESCE (:RelatedDocName, '');
IF (VATDate$DATE >= :AVATDateFrom AND VATDate$DATE < :AVATDateTo) THEN
BEGIN
VATAdmitDate$DATE = VATDate$DATE;
SUSPEND;
END
IF ((mAllowanceVATIndex_ID IS NOT NULL) AND
(mVATDeductionDate >= :AVATDateFrom AND mVATDeductionDate < :AVATDateTo))
THEN BEGIN
VATIndex_ID = mAllowanceVATIndex_ID;
VATDate$DATE = mVATDeductionDate;
VATAdmitDate$DATE = VATDate$DATE;
SUSPEND;
END
END
END
/* radky JSD */
IF (VATCountry_ID=mLocalCountry_ID) then
BEGIN
RelatedDocName = '';
VATMode = 0;
DRCArticle_ID = NULL;
VarSymbol = '';
SimplifiedVATDocument = 'N';
UsedRatio = 'N';
SourceDoc_ID = NULL;
SourceDocType = '';
FOR
SELECT
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID, B.VATDate$Date,
A.TAmount + A.VATBaseAmount + A.VATBaseCorrection - A.VATAmount,
A.LocalTAmount + A.LocalVATBaseAmount + A.LocalVATBaseCorrection - A.LocalVATAmount,
A.TAmount + A.VATBaseAmount + A.VATBaseCorrection,
A.LocalTAmount + A.LocalVATBaseAmount + A.LocalVATBaseCorrection,
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.VATReportReference, B.VATReportPreference, B.ExternalNumber, B.VarSymbol,
B.VATAdmitDate$DATE
FROM
CustomsDeclarations2 A
join CustomsDeclarations B ON A.Parent_ID = B.ID
WHERE
B.VATDocument = 'A' 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, :VATReportReference, :VATReportPreference, :ExternalNumber, :VarSymbol,
: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
END
/* radky PCV Potvrzeni celnice o vyvozu */
IF (VATCountry_ID=mLocalCountry_ID) then
BEGIN
RelatedDocName = '';
VATMode = 0;
DRCArticle_ID = NULL;
VARSymbol = '';
SimplifiedVATDocument = 'N';
VATReportReference = '';
UsedRatio = 'N';
SourceDoc_ID = NULL;
SourceDocType = '';
/* radky PCV */
IF (NOT (VATCountry_ID=mLocalCountry_ID)) then
EXIT;
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.VATReportPreference
FROM
CustomsConfirmations2 A
join CustomsConfirmations B ON A.Parent_ID = B.ID
WHERE
B.VATDocument = 'A' 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, :VATReportPreference
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
VATAdmitDate$DATE = VATDate$DATE;
SUSPEND;
END
END
END
END