begin
-- Faktury odeslane
DocumentType = '03';
PDocumentType = '62';
VATCredit = 0;
VATDebit = 0;
Amount = 0;
ExpenseType_ID = null;
FOR
SELECT B.DocDate$DATE, A.LocalTAmountWithoutVAT, A.LocalTAmount-A.LocalTAmountWithoutVAT,
A.IncomeType_ID, A.VATDeposit_ID,
B.ID, A.Text, D.Code || '-' || B.OrdNumber || '/' || P.Code,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code,
DD.Code || '-' || VI.OrdNumber || '/' || PP.Code,
DD.Code || '-' || IB_LPad(VI.OrdNumber, 8, '0') || '/' || PP.Code
FROM IssuedInvoices2 A
JOIN IssuedInvoices B ON B.ID = A.Parent_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
JOIN VATIssuedDInvoices VI ON VI.ID=A.VATDeposit_ID
JOIN DocQueues DD ON DD.ID = VI.DocQueue_ID
JOIN Periods PP ON PP.ID = VI.Period_ID
LEFT JOIN IncomeTypes IT ON IT.ID = A.IncomeType_ID
WHERE
(B.DocDate$DATE<:ADateTo$DATE) and (B.DocDate$DATE>=:ADateFrom$DATE)
and (A.RowType=5) and (A.VATDEPOSIT_ID is not null)
INTO
:DocDate$DATE, :Amount, :VATCredit, :IncomeType_ID, :PDocument_ID,:Document_ID, :Text, :DocumentDisplayName,
:Sort_DocumentDisplayName,
:PDocumentDisplayName,
:Sort_PDocumentDisplayName
DO BEGIN
Category = 0;
Error = 0;
mSaved_ID = :IncomeType_ID;
IncomeType_ID = VATIssuedDeposits_IT_ID;
IF ((IncomeType_ID is Null) or (IncomeType_ID = '') or (IncomeType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
Amount = -1 * :Amount;
VATCredit = -1 * VATCredit;
IncomeType_ID = mSaved_ID;
IF ((IncomeType_ID is Null) or (IncomeType_ID = '') or (IncomeType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
END
-- Dobropisy Faktur odeslanych
DocumentType = '60';
PDocumentType = '62';
VATCredit = 0;
VATDebit = 0;
Amount = 0;
ExpenseType_ID = null;
FOR
SELECT B.DocDate$DATE, A.LocalTAmountWithoutVAT, A.LocalTAmount-A.LocalTAmountWithoutVAT,
A.IncomeType_ID, A.VATDeposit_ID,
B.ID, A.Text, D.Code || '-' || B.OrdNumber || '/' || P.Code,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code,
DD.Code || '-' || VI.OrdNumber || '/' || PP.Code,
DD.Code || '-' || IB_LPad(VI.OrdNumber, 8, '0') || '/' || PP.Code
FROM IssuedCreditNotes2 A
JOIN IssuedCreditNotes B ON B.ID = A.Parent_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
JOIN VATIssuedDInvoices VI ON VI.ID=A.VATDeposit_ID
JOIN DocQueues DD ON DD.ID = VI.DocQueue_ID
JOIN Periods PP ON PP.ID = VI.Period_ID
LEFT JOIN IncomeTypes IT ON IT.ID = A.IncomeType_ID
WHERE
(B.DocDate$DATE<:ADateTo$DATE) and (B.DocDate$DATE>=:ADateFrom$DATE)
and (A.RowType=5) and (A.VATDEPOSIT_ID is not null)
INTO
:DocDate$DATE, :Amount, :VATCredit, :IncomeType_ID, :PDocument_ID,:Document_ID, :Text, :DocumentDisplayName,
:Sort_DocumentDisplayName,
:PDocumentDisplayName,
:Sort_PDocumentDisplayName
DO BEGIN
Category = 0;
Error = 0;
IF ((IncomeType_ID is Null) or (IncomeType_ID = '') or (IncomeType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
Amount = -1 * :Amount;
VATCredit = -1 * VATCredit;
IncomeType_ID = VATIssuedDeposits_IT_ID;
IF ((IncomeType_ID is Null) or (IncomeType_ID = '') or (IncomeType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
END
-- Faktury prijate
DocumentType = '04';
PDocumentType = '64';
VATCredit = 0;
VATDebit = 0;
Amount = 0;
IncomeType_ID = null;
FOR
SELECT B.DocDate$DATE, A.LocalTAmountWithoutVAT, A.LocalTAmount-A.LocalTAmountWithoutVAT,
A.ExpenseType_ID, A.VATDeposit_ID,
B.ID, A.Text, D.Code || '-' || B.OrdNumber || '/' || P.Code,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code,
DD.Code || '-' || VI.OrdNumber || '/' || PP.Code,
DD.Code || '-' || IB_LPad(VI.OrdNumber, 8, '0') || '/' || PP.Code
FROM ReceivedInvoices2 A
JOIN ReceivedInvoices B ON B.ID = A.Parent_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
JOIN VATReceivedDInvoices VI ON VI.ID=A.VATDeposit_ID
JOIN DocQueues DD ON DD.ID = VI.DocQueue_ID
JOIN Periods PP ON PP.ID = VI.Period_ID
LEFT JOIN ExpenseTypes ET ON ET.ID = A.ExpenseType_ID
WHERE
(B.DocDate$DATE<:ADateTo$DATE) and (B.DocDate$DATE>=:ADateFrom$DATE)
and (A.VATDeposit='A') and (A.VATDEPOSIT_ID is not null)
INTO
:DocDate$DATE, :Amount, :VATDebit, :ExpenseType_ID, :PDocument_ID, :Document_ID, :Text, :DocumentDisplayName,
:Sort_DocumentDisplayName,
:PDocumentDisplayName,
:Sort_PDocumentDisplayName
DO BEGIN
Category = 1;
Error = 0;
mSaved_ID = :ExpenseType_ID;
ExpenseType_ID = VATReceivedDeposits_ET_ID;
IF ((ExpenseType_ID is Null) or (ExpenseType_ID = '') or (ExpenseType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
Amount = -1 * :Amount;
VATDebit = -1 * VATDebit;
ExpenseType_ID = mSaved_ID;
IF ((ExpenseType_ID is Null) or (ExpenseType_ID = '') or (ExpenseType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
END
-- Dobropisy faktur prijatych
DocumentType = '61';
PDocumentType = '64';
VATCredit = 0;
VATDebit = 0;
Amount = 0;
IncomeType_ID = null;
FOR
SELECT B.DocDate$DATE, A.LocalTAmountWithoutVAT, A.LocalTAmount-A.LocalTAmountWithoutVAT,
A.ExpenseType_ID, A.VATDeposit_ID,
B.ID, A.Text, D.Code || '-' || B.OrdNumber || '/' || P.Code,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code,
DD.Code || '-' || VI.OrdNumber || '/' || PP.Code,
DD.Code || '-' || IB_LPad(VI.OrdNumber, 8, '0') || '/' || PP.Code
FROM ReceivedCreditNotes2 A
JOIN ReceivedCreditNotes B ON B.ID = A.Parent_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
JOIN VATReceivedDInvoices VI ON VI.ID=A.VATDeposit_ID
JOIN DocQueues DD ON DD.ID = VI.DocQueue_ID
JOIN Periods PP ON PP.ID = VI.Period_ID
LEFT JOIN ExpenseTypes ET ON ET.ID = A.ExpenseType_ID
WHERE
(B.DocDate$DATE<:ADateTo$DATE) and (B.DocDate$DATE>=:ADateFrom$DATE)
and (A.VATDeposit='A') and (A.VATDEPOSIT_ID is not null)
INTO
:DocDate$DATE, :Amount, :VATDebit, :ExpenseType_ID, :PDocument_ID, :Document_ID, :Text, :DocumentDisplayName,
:Sort_DocumentDisplayName,
:PDocumentDisplayName,
:Sort_PDocumentDisplayName
DO BEGIN
Category = 1;
Error = 0;
IF ((ExpenseType_ID is Null) or (ExpenseType_ID = '') or (ExpenseType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
Amount = -1 * :Amount;
VATDebit = -1 * VATDebit;
ExpenseType_ID = VATReceivedDeposits_ET_ID;
IF ((ExpenseType_ID is Null) or (ExpenseType_ID = '') or (ExpenseType_ID='A000000000')) THEN
Error = 1;
SUSPEND;
END
end