-- *****************************************************************************
-- Grupovani - SectionID musi byt vzdy stejne na cely doklad --
-- *****************************************************************************
BEGIN
/* A1 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
MAX(a.definitionrow_id),
MAX(a.taxlinenumber),
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_A1(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
a.vatrate <> 0
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* A2 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
a.drccode,
SUM(a.drcquantity),
a.drcqunit,
MAX(a.definitionrow_id),
MAX(a.taxlinenumber),
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_A2(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.VATReportMode, a.drccode, a.drcqunit
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* B1 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
a.definitionrow_id,
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_B1(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
a.vatrate <> 0
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.definitionrow_id, a.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* B2 - radky FP, PV, DZP */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
MAX(a.definitionrow_id),
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_B2(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
(a.vatrate <> 0)
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* B3 - radky FP, PV, DZP * zjednodusene doklady */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
MAX(a.definitionrow_id),
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_B3(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
(a.vatrate <> 0)
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* C1 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
a.drccode,
SUM(a.drcquantity),
a.drcqunit,
MAX(a.definitionrow_id),
MAX(a.taxlinenumber),
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_C1(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.VATReportMode, a.drccode, a.drcqunit
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* C2 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
a.definitionrow_id,
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_C2(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
a.vatrate <> 0
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, a.definitionrow_id, a.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* D1 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
MAX(a.definitionrow_id),
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_D1(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
a.vatrate <> 0
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, A.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* D2 */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
MAX(a.definitionrow_id),
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_D2(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
WHERE
a.vatrate <> 0
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, A.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
-- *****************************************************************************
/* Payments */
FOR
SELECT
a.sectionid sectionid,
a.documenttype,
a.doc_id,
MAX(a.firm_id),
MAX(a.vatidentnumber),
MAX(a.vatdate$date),
MAX(a.docnumber),
MAX(a.source_id),
MAX(a.sourcedoctype),
MAX(a.sourcedocnumber),
a.vatrate,
SUM(a.baseamount),
SUM(a.vatamount),
SUM(a.allowanceamount),
MAX(a.drc_id),
MAX(a.drccode),
SUM(a.drcquantity),
MAX(a.drcqunit),
MAX(a.definitionrow_id),
a.taxlinenumber,
a.VATReportMode,
MAX(a.SortDocNumber) SortDocNumber,
MAX(a.VarSymbol) VarSymbol
FROM
VATDocReport_Pays(:afirmselid, :adivisionsselid, :abusordersselid,
:abustransactionsselid, :abusprojectsselid, :avatdatefrom, :avatdateto, :adivisionswithchilds,
:abusorderswithchilds, :abustransactionswithchilds, :abusprojectswithchilds, :avatcountry_id,
:avatdefinitionid) a
GROUP BY
A.SectionID, a.documenttype, a.doc_id, a.vatrate, A.taxlinenumber, a.VATReportMode
INTO
:sectionid, :documenttype, :doc_id, :firm_id, :vatidentnumber, :vatdate$date,
:docnumber, :source_id, :sourcedoctype, :sourcedocnumber, :vatrate, :baseamount, :vatamount, :allowanceamount,
:drc_id, :drccode, :drcquantity, :drcqunit, :definitionrow_id, :taxlinenumber, :VATReportMode, :SortDocNumber,
:VarSymbol
DO BEGIN
correctioncode = '';
SUSPEND;
END
END