BEGIN
IF (ADOCUMENTTYPE = '01') THEN BEGIN
FOR
SELECT A.INCOMETYPE_ID, (A.LOCALTAMOUNT - A.LOCALTAMOUNTWITHOUTVAT), A.LOCALTAMOUNTWITHOUTVAT, A.POSINDEX
FROM OTHERINCOMES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_IT_ID AS CHAR(10)), CAST(0 AS NUMERIC(15,2)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM OTHERINCOMES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :VAT, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '02') THEN BEGIN
FOR
SELECT A.EXPENSETYPE_ID, (A.LOCALTAMOUNT - A.LOCALTAMOUNTWITHOUTVAT), A.LOCALTAMOUNTWITHOUTVAT, A.POSINDEX
FROM OTHEREXPENSES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_ET_ID AS CHAR(10)), CAST(0 AS NUMERIC(15,2)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM OTHEREXPENSES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :VAT, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '03') THEN BEGIN
FOR
SELECT A.INCOMETYPE_ID, (A.LOCALTAMOUNT - A.LOCALTAMOUNTWITHOUTVAT), A.LOCALTAMOUNTWITHOUTVAT, A.POSINDEX
FROM ISSUEDINVOICES2 A
WHERE (A.PARENT_ID = :ADOCUMENTID) AND ((A.ROWTYPE <> 4) OR (A.VATIndex_ID IS NOT NULL))
UNION ALL
SELECT CAST(:AROUNDING_IT_ID AS CHAR(10)), CAST(0 AS NUMERIC(15,2)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM ISSUEDINVOICES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :VAT, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '04') THEN BEGIN
FOR
SELECT A.EXPENSETYPE_ID, (A.LOCALTAMOUNT - A.LOCALTAMOUNTWITHOUTVAT), A.LOCALTAMOUNTWITHOUTVAT, A.POSINDEX
FROM RECEIVEDINVOICES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_ET_ID AS CHAR(10)), CAST(0 AS NUMERIC(15,2)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM RECEIVEDINVOICES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :VAT, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '17') THEN BEGIN
FOR
SELECT A.INCOMETYPE_ID, A.LOCALTAMOUNT, A.POSINDEX
FROM PENALTYINVOICES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_IT_ID AS CHAR(10)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM PENALTYINVOICES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '10') THEN BEGIN
FOR
SELECT
A.LOCALTAMOUNT ,A.POSINDEX
FROM ISSUEDDINVOICES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
INTO :AMOUNT, :POSINDEX
DO BEGIN
TYPE_ID = AISSUEDDEPOSITS_IT_ID;
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '11') THEN BEGIN
FOR
SELECT
A.LOCALTAMOUNT, A.POSINDEX
FROM RECEIVEDDINVOICES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
INTO :AMOUNT, :POSINDEX
DO BEGIN
TYPE_ID = ARECEIVEDDEPOSITS_ET_ID;
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '12') THEN BEGIN
FOR
SELECT A.LOCALTAMOUNT, A.LOCALVATAMOUNT, A.POSINDEX, AA.VATDOCUMENT
FROM CUSTOMSDECLARATIONS2 A
JOIN CUSTOMSDECLARATIONS AA ON AA.ID=A.PARENT_ID
WHERE A.PARENT_ID = :ADOCUMENTID
INTO :AMOUNT, :VAT, :POSINDEX, :mVATDOCUMENT
DO BEGIN
IF (mVATDOCUMENT = 'N') THEN
VAT = 0;
ELSE
AMOUNT = AMOUNT - VAT;
TYPE_ID = ACUSTOMSDECLARATIONS_ET_ID;
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '60') THEN BEGIN
FOR
SELECT A.INCOMETYPE_ID, A.LOCALTAMOUNT, A.POSINDEX
FROM ISSUEDCREDITNOTES2 A
WHERE (A.PARENT_ID = :ADOCUMENTID) AND ((A.ROWTYPE <> 4) OR (A.VATIndex_ID IS NOT NULL))
UNION ALL
SELECT CAST(:AROUNDING_IT_ID AS CHAR(10)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM ISSUEDCREDITNOTES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '61') THEN BEGIN
FOR
SELECT A.EXPENSETYPE_ID, A.LOCALTAMOUNT, A.POSINDEX
FROM RECEIVEDCREDITNOTES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_ET_ID AS CHAR(10)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM RECEIVEDCREDITNOTES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '62') THEN BEGIN
FOR
SELECT CAST(:AVATISSUEDDEPOSITS_IT_ID AS CHAR(10)), (A.LOCALTAMOUNT - A.LOCALTAMOUNTWITHOUTVAT), A.LOCALTAMOUNTWITHOUTVAT, A.POSINDEX
FROM VATISSUEDDINVOICES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_IT_ID AS CHAR(10)), CAST(0 AS NUMERIC(15,2)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM VATISSUEDDINVOICES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :VAT, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '64') THEN BEGIN
FOR
SELECT CAST(:AVATRECEIVEDDEPOSITS_ET_ID AS CHAR(10)), (A.LOCALTAMOUNT - A.LOCALTAMOUNTWITHOUTVAT), A.LOCALTAMOUNTWITHOUTVAT, A.POSINDEX
FROM VATRECEIVEDDINVOICES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_ET_ID AS CHAR(10)), CAST(0 AS NUMERIC(15,2)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM VATRECEIVEDDINVOICES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :VAT, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '63') THEN BEGIN
FOR
SELECT CAST(:AVATISSUEDDEPOSITS_IT_ID AS CHAR(10)), A.LOCALTAMOUNT, A.POSINDEX
FROM VATISSUEDDCREDITNOTES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_IT_ID AS CHAR(10)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM VATISSUEDDCREDITNOTES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '65') THEN BEGIN
FOR
SELECT CAST(:AVATRECEIVEDDEPOSITS_ET_ID AS CHAR(10)), A.LOCALTAMOUNT, A.POSINDEX
FROM VATRECEIVEDDCREDITNOTES2 A
WHERE A.PARENT_ID = :ADOCUMENTID
UNION ALL
SELECT CAST(:AROUNDING_ET_ID AS CHAR(10)), A.LOCALROUNDINGAMOUNT, CAST(NULL AS INTEGER)
FROM VATRECEIVEDDCREDITNOTES A
WHERE (A.ID = :ADOCUMENTID) AND (A.LOCALROUNDINGAMOUNT <> 0)
INTO :TYPE_ID, :AMOUNT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF ((ADOCUMENTTYPE = 'CP') OR (ADOCUMENTTYPE = 'CR')) THEN BEGIN
FOR
SELECT TYPE_ID, AMOUNT, VAT, POSINDEX
FROM GETROWSFORDOCUMENTPOS(:ADOCUMENTTYPE, :ADOCUMENTID, :APOS_IT_ID, :ADateFrom$DATE)
INTO :TYPE_ID, :AMOUNT, :VAT, :POSINDEX
DO BEGIN
SUSPEND;
END
END ELSE IF (ADOCUMENTTYPE = '47') THEN BEGIN
SELECT TYPE_ID, AMOUNT, VAT, POSINDEX FROM
GETROWSFORDOCUMENTWAGE(:ADOCUMENTTYPE, :ADOCUMENTID, :AWAGES_ET_ID)
INTO :TYPE_ID, :AMOUNT, :VAT, :POSINDEX;
SUSPEND;
END
END