Procedura-VATDocReport_GRP

Popis:
Kontrolný výkaz SK

Parametry:

NázevPopisDatový typ
AFirmSelIDChar(10)
ADivisionsSelIDChar(10)
ABusOrdersSelIDChar(10)
ABusTransactionsSelIDChar(10)
ABusProjectsSelIDChar(10)
AVATDateFromFloat(0, 0)
AVATDateToFloat(0, 0)
ADivisionsWithChildsChar(1)
ABusOrdersWithChildsChar(1)
ABusTransactionsWithChildsChar(1)
ABusProjectsWithChildsChar(1)
AVATCountry_IDChar(10)
AVATDefinitionIDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
SectionIDChar(2)
DocumentTypeChar(2)
Doc_IDChar(10)
Firm_IDChar(10)
VATIdentNumberVarChar(20)
VATDate$DATEFloat(0, 0)
DocNumberVarChar(30)
Source_IDChar(10)
SourceDocTypeChar(2)
SourceDocNumberVarChar(30)
VATRateNumeric(10, 2)
BaseAmountNumeric(13, 2)
VATAmountNumeric(13, 2)
AllowanceAmountNumeric(13, 2)
DRCCodeVarChar(20)
DRCQuantityNumeric(15, 2)
DRCQUnitVarChar(10)
DRC_IDChar(10)
DefinitionRow_IDChar(10)
TaxLineNumberVarChar(10)
VATReportModeVarChar(100)
SortDocNumberVarChar(28)
CorrectionCodeChar(1)
VarSymbolVarChar(30)

Závislosti:

NázevPopisTřída
VATDocReport_A1Kontrolný výkaz SKProcedures
VATDocReport_A2Kontrolný výkaz SKProcedures
VATDocReport_B1Kontrolný výkaz SKProcedures
VATDocReport_B2Kontrolný výkaz SKProcedures
VATDocReport_B3Kontrolný výkaz SKProcedures
VATDocReport_C1Kontrolný výkaz SKProcedures
VATDocReport_C2Kontrolný výkaz SKProcedures
VATDocReport_D1Kontrolný výkaz SK (bez POS) !!! Při opravě je potřeba opravit i VATDocReport_D1 pro modul 2 !!! Procedures
VATDocReport_D2Kontrolný výkaz SKProcedures
VATDocReport_PaysKontrolný výkaz SK DPH z platebProcedures

Tělo:

-- *****************************************************************************
-- 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

Generated by ABRA Software a.s. 27.10.2021 16:34:19