begin
/* procedura vybere DPH udaje z plateb */
/* placene doklady ktere maji spoctenu DPH z platby jsou 01,02,03,60,04,61,63,65 */
/* placene doklady, ktere nemaji spoctenu DPH z plateb DZV 62, DZP 63, JSD 12, DRC RC */
/* pokladni doklady 05,06,07,08 nemohou mit platbu, stejne tak doklady POSu */
/* */
/* V poli VATAdmitDate$DATE je u výtupních dokladů hodnota VATDate$DATE */
select Country_ID from GlobData into :mLocalCountry_ID;
POSSumDoc_ID = null;
/* OtherIncomes */
IF (VATCountry_ID = mLocalCountry_ID) THEN
BEGIN
UsedRatio = 'N';
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, P.TAmountWithoutVAT, P.LocalTAmountWithoutVAT, P.TAmount, P.LocalTAmount,
A.PosIndex, '' RelatedDocName, 0 VATMode, B.ID Document_ID,
NULL DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.SDocument_ID, B.SDocumentType,
B.VATReportReference, B.VATReportPreference,
B.VATAdmitDate$DATE
from
Payments P
join OtherIncomes2 A on A.ID = P.Row_ID
join OtherIncomes B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '01') and
((B.VATByPayment = 'A') and (P.TAmountWithoutVAT <> 0) or (P.LocalTAmountWithoutVAT <> 0) or (P.TAmount <> 0) or (P.LocalTAmount <> 0)) and
B.VATDocument = 'A' and
A.VATIndex_ID is not null and
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_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
/* OtherExpenses */
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, P.TAmountWithoutVAT, P.LocalTAmountWithoutVAT, P.TAmount, P.LocalTAmount,
A.PosIndex, '' RelatedDocName, 0 VATMode, B.ID Document_ID,
NULL DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.SDocument_ID, B.SDocumentType,
B.VATReportReference, B.VATReportPreference, B.VATAdmitDate$DATE, A.UsedRatio
from
Payments P
join OtherExpenses2 A on A.ID = P.Row_ID
join OtherExpenses B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '02') and
((B.VATByPayment = 'A') and (P.TAmountWithoutVAT <> 0) or (P.LocalTAmountWithoutVAT <> 0) or (P.TAmount <> 0) or (P.LocalTAmount <> 0)) and
B.VATDocument = 'A' and
A.VATIndex_ID is not null and
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_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 /* mLocalCountry */
/* IssuedInvoices */
UsedRatio = 'N';
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, P.TAmountWithoutVAT, P.LocalTAmountWithoutVAT, P.TAmount, P.LocalTAmount,
A.PosIndex, '' RelatedDocName, A.VATMode, B.ID Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, null SDocument_ID, '' SDocumentType,
B.VATReportReference, B.VATReportPreference, A.RowType, A.Quantity, B.VATAdmitDate$DATE
from
Payments P
join IssuedInvoices2 A on A.ID = P.Row_ID
join IssuedInvoices B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '03') and
((B.VATByPayment = 'A') AND (A.VATMode = 0) AND (P.TAmountWithoutVAT <> 0) OR (P.LocalTAmountWithoutVAT <> 0) OR (P.TAmount <> 0) OR (P.LocalTAmount <> 0)) 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
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType,
:VATReportReference, :VATReportPreference, :mRowType, :mQuantity, :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
/* IssuedCreditNotes */
VATReportReference = '';
UsedRatio = 'N';
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
CASE B.Acknowledge
WHEN 2 THEN CNA.DocDate$Date
ELSE P.VATDate$Date
END,
(-1*P.TAmountWithoutVAT), (-1*P.LocalTAmountWithoutVAT), (-1*P.TAmount), (-1*P.LocalTAmount),
A.PosIndex, '' RelatedDocName, A.VATMode, B.ID Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID SDocument_ID, '03' SDocumentType,
B.VATReportPreference, B.VATAdmitDate$DATE
from
Payments P
join IssuedCreditNotes2 A on A.ID = P.Row_ID
join IssuedCreditNotes B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
LEFT join CreditNotesAcknowledges CNA ON CNA.CreditNote_ID = B.ID
where
(P.PDocumentType = '60') and
((B.VATByPayment = 'A') AND (A.VATMode = 0) AND (P.TAmountWithoutVAT <> 0) OR (P.LocalTAmountWithoutVAT <> 0) OR (P.TAmount <> 0) OR (P.LocalTAmount <> 0)) 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
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType,
: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 = '';
suspend;
end
end
/* ReceivedInvoices */
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, P.TAmountWithoutVAT, P.LocalTAmountWithoutVAT, P.TAmount, P.LocalTAmount,
A.PosIndex, '' RelatedDocName, A.VATMode, B.ID Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, null SDocument_ID, '' SDocumentType,
B.VATReportReference, B.VATReportPreference, B.VATAdmitDate$DATE, A.UsedRatio
from
Payments P
join ReceivedInvoices2 A on A.ID = P.Row_ID
join ReceivedInvoices B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '04') and
((B.VATByPayment = 'A') AND (A.VATMode = 0) AND (P.TAmountWithoutVAT <> 0) OR (P.LocalTAmountWithoutVAT <> 0) OR (P.TAmount <> 0) OR (P.LocalTAmount <> 0)) AND
B.VATDocument = 'A' and B.VATCountry_ID = :VATCountry_ID and
A.VATIndex_ID is not null and
B.TradeType <> 4 and
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_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
/* ReceivedCreditNotes */
VATReportReference = '';
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, (-1*P.TAmountWithoutVAT), (-1*P.LocalTAmountWithoutVAT), (-1*P.TAmount), (-1*P.LocalTAmount),
A.PosIndex, '' RelatedDocName, A.VATMode, B.ID Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID SDocument_ID, '04' SDocumentType,
B.VATReportPreference, B.VATAdmitDate$DATE, A.UsedRatio
from
Payments P
join ReceivedCreditNotes2 A on A.ID = P.Row_ID
join ReceivedCreditNotes B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '61') and
((B.VATByPayment = 'A') AND (A.VATMode = 0) AND (P.TAmountWithoutVAT <> 0) OR (P.LocalTAmountWithoutVAT <> 0) OR (P.TAmount <> 0) OR (P.LocalTAmount <> 0)) AND
B.VATDocument = 'A' and B.VATCountry_ID = :VATCountry_ID and
A.VATIndex_ID is not null and
B.TradeType <> 4 and
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType,
: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
/* VATIssuedDInvoices */
/* Nepocita se DPH z plateb - jsou vzdy nejdrive zaplacene */
/* VATReceivedDInvoices */
/* Nepocita se DPH z plateb - jsou vzdy nejdrive zaplacene */
/* VATIssuedDCreditNotes */
VATReportReference = '';
UsedRatio = 'N';
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, (-1*P.TAmountWithoutVAT), (-1*P.LocalTAmountWithoutVAT), (-1*P.TAmount), (-1*P.LocalTAmount),
A.PosIndex, '' RelatedDocName, A.VATMode, B.ID Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID SDocument_ID, '62' SDocumentType,
B.VATReportPreference, B.VATAdmitDate$DATE
from
Payments P
join VATIssuedDCreditNotes2 A on A.ID = P.Row_ID
join VATIssuedDCreditNotes B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '63') and
((B.VATByPayment = 'A') AND (A.VATMode = 0) AND (P.TAmountWithoutVAT <> 0) OR (P.LocalTAmountWithoutVAT <> 0) OR (P.TAmount <> 0) OR (P.LocalTAmount <> 0)) 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
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType,
: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
/* VATReceivedDCreditNotes */
VATReportReference = '';
for
select
A.VATIndex_ID, B.DocQueue_ID, B.OrdNumber, B.Period_ID,
substring(A.Text from 1 for 160) Text, substring(B.Description from 1 for 50) Description,
A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID, B.Firm_ID, VI.Income,
P.VATDate$DATE, (-1*P.TAmountWithoutVAT), (-1*P.LocalTAmountWithoutVAT), (-1*P.TAmount), (-1*P.LocalTAmount),
A.PosIndex, '' RelatedDocName, A.VATMode, B.ID Document_ID,
A.DRCArticle_ID, B.ExternalNumber, B.VarSymbol, B.SimplifiedVATDocument, B.Source_ID SDocument_ID, '64' SDocumentType,
B.VATReportPreference, B.VATAdmitDate$DATE, A.UsedRatio
from
Payments P
join VATReceivedDCreditNotes2 A on A.ID = P.Row_ID
join VATReceivedDCreditNotes B on B.ID = A.Parent_ID
join VATIndexes VI on VI.ID = A.VATIndex_ID
where
(P.PDocumentType = '65') and
((B.VATByPayment = 'A') AND (A.VATMode = 0) AND (P.TAmountWithoutVAT <> 0) OR (P.LocalTAmountWithoutVAT <> 0) OR (P.TAmount <> 0) OR (P.LocalTAmount <> 0)) AND
B.VATCountry_ID = :VATCountry_ID and
A.VATIndex_ID is not null and
B.TradeType <> 4 and
(P.VATDate$Date >= :AVATDateFrom and P.VATDate$Date < :AVATDateTo) and
((P.VATDate$Date <= B.VATByPaymentEndDate$Date) or (B.VATByPaymentEndDate$Date = 0)) 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,
:Text, :Description,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :Firm_ID, :mIncome,
:VATDate$DATE, :TAmountWithoutVAT, :LocalTAmountWithoutVAT, :TAmount, :LocalTAmount,
:PosIndex, :RelatedDocName, :VATMode, :Document_ID,
:DRCArticle_ID, :ExternalNumber, :VarSymbol, :SimplifiedVATDocument, :SourceDoc_ID, :SourceDocType,
: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 */
end