 /*!40101 SET NAMES utf8 */;
DELIMITER $$

DROP PROCEDURE IF EXISTS `e_dekl_vat_tools`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `e_dekl_vat_tools`(
	IN _MODE 	    VARCHAR(100), 
	IN _Year        VARCHAR(50),
	IN _Month       VARCHAR(50),	 -- dla VAT7K jest to nr kwartalu
	IN _RecGUID     VARCHAR(38),     -- GUID operacji    	 
	INOUT _RepContent LONGTEXT,
	IN _Param_A 	VARCHAR(250),	  -- w trybie "insert": cel złożenia (deklaracja / korekta deklaracji); w trybie "xml.create": IDN rekordu w e_doc_ng
	IN _Param_B 	VARCHAR(250)	 -- okresla, czy jest to VAT7 czy VAT7K  (ht_dekl_vat7.RodzajDekl)  (miesieczny czy kwartalny)
)
/*
procedura generująca dokumenty XML 
	CALL e_dekl_vat_tools('', 2013, 12, '', '');
		
	dla deklaracji VAT-7, VAT-K, VAT-UE : Podmiot1 = TPodmiotDowolnyBezAdresu2  rola = "Podatnik" 
	dla deklaracji CIT-8, CIT-ST        : Podmiot1 = TOsobaNiefizyczna  		rola = "Podatnik" 
	
	TPodmiotDowolnyBezAdresu2 =	OsobaNiefizyczna lub OsobaFizyczna	
	TOsobaNiefizyczna 		  = OsobaNiefizyczna  +  AdresSiedziby(TAdres)
	
*/

S_e_dekl_vat_tools: BEGIN

	DECLARE S TEXT;
	DECLARE _IDN, _WojewIdn, _PowiatIdn, _GminaIdn, _MiastoIdn, _PocztaIdn, _RodzPodat, _JestZD, _RodzajDekl INTEGER;
	DECLARE _Kraj  VARCHAR(20);
	DECLARE _REGON, _NIP, _P_NIP  VARCHAR(20);
	DECLARE _Platnik_nazwisko, _Platnik_imie,
			_Email, _PaymentTerm, _PaymentMean VARCHAR(200);	
	DECLARE _Ulica, _UlicaUTF, _Adres, _PelnaNazwa, _P_nazwa, _przyczyna_ORD_ZU  VARCHAR(200);
	DECLARE _SQLText TEXT;
	DECLARE _Miasto,  _Wojewodztwo, _Powiat, _Gmina, _Poczta  VARCHAR(50);  -- _BankAccountNumber,	
	DECLARE _CallMode VARCHAR(100);	
	
	DECLARE _tel_kontakt VARCHAR(40);		
	DECLARE _PurchaseOrderNumber, _HavingSQL, _OrderBySQL VARCHAR(500);
	
	DECLARE _Platnik_data_urodzenia, _data_wypelnienia DATE;  -- , _ST_A_data_rozp
	
	DECLARE _PESEL  VARCHAR(11);
	
	DECLARE _PozGUID, _GUID, _OrgGUID, _US_GUID VARCHAR(38);  -- , _ST_A_gminaGUID
	DECLARE cMies, cKwart, cVAT7, cVAT7K, cWDT, cWNT, cUSL_UE, cUSL_poza_UE, cSpOdwr, cZkOdwr  INTEGER;
	DECLARE  _CelZlozenia, _KwotaPoprz, _Rok, _Okres,  _SposobSkladania, _D_liczba_zatr, _Grupa  INTEGER;	-- _CIT_ST_A,
	DECLARE  _KodUS VARCHAR(10);
	
	-- DECLARE  _Ulica VARCHAR(150);  
	DECLARE  _Kod_poczt, _Nr_domu, _Nr_lokalu VARCHAR(10);  
	
	-- CIT-ST
	-- DECLARE _A_wojew, _B_powiat, _C_gmina VARCHAR(36); 
	-- DECLARE _D_kod_gminy VARCHAR(7); 
	-- DECLARE _E_nazwa 	VARCHAR(240); 
	-- DECLARE _F1_REGON	VARCHAR(14);
	-- DECLARE _F2_NIP		VARCHAR(10); 
	-- DECLARE _taxID		VARCHAR(30); 
	
	-- DECLARE _ST_A_nazwa_krotka, _ST_A_kod_kraju	VARCHAR(70);

	-- uzywane w dekl. VAT_UE, VAT-27 : 
	DECLARE _kwota_transakcji DOUBLE;  
	DECLARE _id_VAT_kontrah VARCHAR(12);
	
	-- uzywane w dekl. CIT-D, VAT-27 : 
	DECLARE _C_kwota_ogolem, _D_kwota_ogolem DOUBLE;  
	
	DECLARE _e_Doc_Def_ID 				VARCHAR(200);
	DECLARE _e_doc_id, _e_doc_type, _kodPodatku      VARCHAR(50);
	DECLARE _form_ver, _doc_ver, _def_date_from, cPrefix, cPreS, cPreE VARCHAR(10);

	DECLARE _OkresOd, _OkresDo          DATE;	
	
	DECLARE cSL 	 INTEGER	DEFAULT 4;	-- SPACE(5*cSL)
	DECLARE cKorekta INTEGER	DEFAULT 2;
	
	DECLARE _kwartalnie BOOLEAN DEFAULT FALSE;
	
	DECLARE cDefTypySchema  	VARCHAR(200) DEFAULT 'xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/06/21/eD/DefinicjeTypy/">';
	
	DECLARE cStandAlone 	 INTEGER	DEFAULT 1;  -- 1 - w terminie wpłaty zaliczki na podatek  
	DECLARE cAsAttach		 INTEGER	DEFAULT 2;  -- 2 - razem z dekl. CIT-8
	
	DECLARE cSpKraj		INTEGER	DEFAULT 2021;
	
	SET cVAT7 = 1;
	SET	cVAT7K = 2;
	
	SET cMies = cVAT7;
	SET cKwart = cVAT7K;
	
	SET cSpKraj = 2021; SET cWDT = 2023; SET cWNT = 2024; -- rejestry uniwersalne dla wszystkich klientow
	
	
	-- dla Biura Swin.
	-- SET cUSL_UE = 2034;   -- <- dla Biura Swin.  (u innych klientów moze byc inaczej) -- bylo cUSL = 2025
	
	IF(@session.globals.Owner IN ('IRKO')) THEN
		SET cUSL_UE   = 2037;  -- 
	ELSE
		SET cUSL_UE  = 2034;  -- <- dla Biura Swin.  (u innych klientów moze byc inaczej) -- bylo cUSL = 2025
	END IF;	
	
	SET cUSL_poza_UE = 2035;   
	
	IF(@session.globals.Owner IN ('STANPOL')) THEN
		SET cSpOdwr  = 2040;  -- "sprzedaż odwrotne obciążenie -  ten rejestr wykazuje tylko wartość netto i suma zapisów powinna być w poz. 31 deklaracji VAT 7 i VAT 7 k "
	ELSE
		SET cSpOdwr  = 2050;  -- "sprzedaż odwrotne obciążenie -  ten rejestr wykazuje tylko wartość netto i suma zapisów powinna być w poz. 31 deklaracji VAT 7 i VAT 7 k "
	END IF;
	
	SET cZkOdwr =  2051;  -- "zakup odwrotne obciążenie - rejestr wykazuje wartość netto i vat ( działa tak samo jak rejestr importu usług ) i wartość powinna wejść do pozycji 31 ( netto ) 32 vat i analogicznie te same wartości do poz. 41 ( netto ) i 42 ( VAT ) "
		
	IF(@session.globals.Owner IN ('MPGK')) THEN		
		SET cSpOdwr = 2038;  -- C.13
		SET cZkOdwr = 2033;  -- SET cZkOdwr = 2034;  
	END IF;
	IF(@session.globals.Owner IN ('IRKO')) THEN		
		SET cSpOdwr = 2028;  -- C.13	
	END IF;
	IF(@session.globals.Owner IN ('IRKO')) THEN		
		SET cSpOdwr = 2032;  -- C.13	
	END IF;
	IF _MODE = 'vat7.data.prepare.conf' THEN
	
		DROP TEMPORARY TABLE IF EXISTS	t_vat7;	
	
		CREATE TEMPORARY TABLE	t_vat7 AS		
		SELECT 
			 _RecGUID  AS GUID, -- _Param_B, _Year, _Month, DATE(NOW()), 1 AS edit, _varINT(_Param_A) AS p07, -- cel zlozenia: 1 - zgloszenie, 2 - korekta zgloszenia			
			SUM(IF(o.rv_id IN (IFNULL(d.C1r1, -10), IFNULL(d.C1r2, -10) ), o.tabwartnetto6, 0)) AS kwota20,	  -- C.1
			SUM(IF(o.rv_id IN (IFNULL(d.C2r1, -10), IFNULL(d.C2r2, -10) ), o.netto, 0)) AS kwota21,   -- C.2
			SUM(IF(o.rv_id IN (IFNULL(d.C2Ar1, -10), IFNULL(d.C2Ar2, -10) ), o.netto, 0)) AS kwota22,   		  -- C.2a
			SUM(IF(o.rv_id IN (IFNULL(d.C3r1, -10), IFNULL(d.C3r2, -10) ), o.tabwartnetto5, 0)) AS kwota23,	  -- C.3
			SUM(IF(o.rv_id IN (IFNULL(d.C3Ar1, -10), IFNULL(d.C3Ar2, -10) ), o.tabwartnetto5, 0)) AS kwota24,	  -- C.3a
			-- do 2016 roku C.4 było 3% lub 5%: -- SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat3 + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT
			SUM(IF(o.rv_id IN (IFNULL(d.C4r1, -10), IFNULL(d.C4r2, -10) ), IF(_Year < 2016, o.tabwartnetto3, 0) + o.tabwartnetto9, 0)) AS kwota25,	  -- C.4   -- do 2016r. bylo 3% lub 5%, od 2016: tylko 5%  (tabwartnetto9 = 5%)
			SUM(IF(o.rv_id IN (IFNULL(d.C4r1, -10), IFNULL(d.C4r2, -10) ), IF(_Year < 2016, o.tabwartvat3, 0) + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT
			
			SUM(IF(o.rv_id IN (IFNULL(d.C5r1, -10), IFNULL(d.C5r2, -10) ), o.tabwartnetto2 + o.tabwartnetto11, 0)) AS kwota27,	  -- C.5
			SUM(IF(o.rv_id IN (IFNULL(d.C5r1, -10), IFNULL(d.C5r2, -10) ), o.tabwartvat2 + o.tabwartvat11, 0)) AS kwota28,	  -- C.5 VAT
			SUM(IF(o.rv_id IN (IFNULL(d.C6r1, -10), IFNULL(d.C6r2, -10) ), o.tabwartnetto1 + o.tabwartnetto10, 0)) AS kwota29,	  -- C.6
			SUM(IF(o.rv_id IN (IFNULL(d.C6r1, -10), IFNULL(d.C6r2, -10) ), o.tabwartvat1 + o.tabwartvat10, 0)) AS kwota30,	  -- C.6 VAT   
			SUM(IF(o.rv_id IN (IFNULL(d.C7r1, -10), IFNULL(d.C7r2, -10) ), o.netto, 0)) AS kwota31,   		  -- C.7 (WDT)
			SUM(IF(o.rv_id IN (IFNULL(d.C8r1, -10), IFNULL(d.C8r2, -10) ), o.netto, 0)) AS kwota32,   		  -- C.8 (Eksport towar?
			SUM(IF(o.rv_id IN (IFNULL(d.C9r1, -10), IFNULL(d.C9r2, -10) ), o.netto, 0)) AS kwota33,   		  -- C.9 (WNT)
			SUM(IF(o.rv_id IN (IFNULL(d.C9r1, -10), IFNULL(d.C9r2, -10) ), o.vat, 0)) AS kwota34,   		  -- C.9 VAT (WNT)
		/*	SUM(IF(o.rv_id IN (IFNULL(d.C10r1, -10), IFNULL(d.C10r2, -10) ), o.netto, 0)) AS kwota35,   		  -- C.10 
			SUM(IF(o.rv_id IN (IFNULL(d.C10r1, -10), IFNULL(d.C10r2, -10) ), o.vat, 0)) AS kwota36,   		  -- C.10 VAT */
			SUM(IF(o.rv_id IN (IFNULL(d.C11r1, -10), IFNULL(d.C11r2, -10) ), o.netto, 0)) AS kwota37,   		  -- C.11 
			SUM(IF(o.rv_id IN (IFNULL(d.C11r1, -10), IFNULL(d.C11r2, -10) ), o.vat, 0)) AS kwota38,   		  -- C.11 VAT 
			SUM(IF(o.rv_id IN (IFNULL(d.C12r1, -10), IFNULL(d.C12r2, -10) ), o.netto, 0)) AS kwota39,   		  -- C.12          BS: 2032
			SUM(IF(o.rv_id IN (IFNULL(d.C12r1, -10), IFNULL(d.C12r2, -10) ), o.vat, 0)) AS kwota40,   		  -- C.12 VAT 
			
			/*  10.03.2016: wylaczamy te pola, gdyz wer. 14 przestala byc aktualna od VII.2015 - obecnie wystawiana jest wer. 16 albo ewent. korekta wer. 15
			-- kwota41 i kwota42 (wer. 14) w wersji 15 zostaja zastapione przez C*_podst, C*_podatek  (C.13 ... C.15)
			SUM(IF(o.rv_id IN(2028, cSpOdwr, cZkOdwr), o.netto, 0)) AS kwota41,   		  -- ver. 14: C.12   cSpOdwr, cZkOdwr
			SUM(IF(o.rv_id IN(2028, cZkOdwr), o.vat, 0)) AS kwota42,   		              -- ver. 14: C.12 VAT 
			*/
			
			-- C.13 .. C.15 nowe pola dodane w wersji 15:			
			SUM(IF(o.rv_id IN (IFNULL(d.C13r1, -10), IFNULL(d.C13r2, -10) ), o.netto, 0)) AS C_13_podst,   		  -- C.13          BS: cSpOdwr
			-- C.14
			SUM(IF(o.rv_id IN (IFNULL(d.C14r1, -10), IFNULL(d.C14r2, -10) ), o.netto, 0)) AS C_14_podst,   		  -- C.14          BS: cZkOdwr
			SUM(IF(o.rv_id IN (IFNULL(d.C14r1, -10), IFNULL(d.C14r2, -10) ), o.vat, 0)) AS C_14_podatek,   		  -- C.14          BS: cZkOdwr			
						
			SUM(IF(o.rv_id IN (IFNULL(d.C15r1, -10), IFNULL(d.C15r2, -10) ), o.netto, 0)) AS C_15_podst, 
			SUM(IF(o.rv_id IN (IFNULL(d.C15r1, -10), IFNULL(d.C15r2, -10) ), o.vat, 0)) AS C_15_podatek,	
			
			-- TO DO: C_16, C_17	
						
			-- SUM(IF(@session.globals.Owner IN ('TRANSBUD') AND o.rv_id = 2030, o.vat, 0)) AS C_18,   		  -- C.18 pole 38
			SUM(IF(o.rv_id IN (IFNULL(d.C18r1, -10), IFNULL(d.C18r2, -10) ), o.vat, 0)) AS C_18,		
				
			SUM(IF(o.rv_id IN (IFNULL(d.D2_1r1, -10), IFNULL(d.D2_1r2, -10) ), o.netto, 0)) AS kwota49,   		  -- D.2.42 
			SUM(IF(o.rv_id IN (IFNULL(d.D2_1r1, -10), IFNULL(d.D2_1r2, -10) ), o.vat, 0)) AS kwota50,   		  -- D.2.43 
			
			SUM(IF(o.rv_id IN (IFNULL(d.D2_2r1, -10), IFNULL(d.D2_2r2, -10), IFNULL(d.D2_2r3, -10), IFNULL(d.D2_2r4, -10), 
			                   IFNULL(d.D2_2r5, -10), IFNULL(d.D2_2r6, -10), IFNULL(d.D2_2r7, -10)  ), 
				   (IF(@session.globals.Owner IN ('DOS') , o.netto - o.tabwartnetto13, o.netto)), 0)) AS kwota51,   -- D.2.44  
			SUM(IF(o.rv_id IN (IFNULL(d.D2_2r1, -10), IFNULL(d.D2_2r2, -10), IFNULL(d.D2_2r3, -10), IFNULL(d.D2_2r4, -10), 
			                   IFNULL(d.D2_2r5, -10), IFNULL(d.D2_2r6, -10), IFNULL(d.D2_2r7, -10)  ),   
				  (o.vat - o.vat_bez_odliczenia_paliwo - o.vat_bez_odliczenia_pojazd), 0)) AS kwota52  -- D.2.45
		FROM 
			opng o, ht_dekl_vat7_def d
		WHERE 
			(YEAR(o.data_vat) = _Year) AND 
			  IF(_Param_B = cVAT7, (MONTH(o.data_vat) = _Month), (QUARTER(o.data_vat) = _Month)  ) AND (deleted = 0)
			  AND (d.DateFrom = _Param_A);
						
	END IF; -- _MODE = 'vat7.data.prepare.conf'
	
	
	IF _MODE = 'vat7.xml.create.201601' THEN  -- VAT-7(16)
	BEGIN	
		
		DECLARE  _datawystaw, _terminplatn, _LastDay  DATE;
		DECLARE	_korekta_podstawy, _korekta_podatku, _SUM_korekta_podstawy, _SUM_korekta_podatku DOUBLE;
		
		DECLARE  _nrdokfin VARCHAR(30);				
		
		DECLARE _P_20, _P_21, _P_22, _P_23, _P_24, _P_25, _P_26, _P_27, _P_28, _P_29, _P_30, _P_31, _P_32, _P_33, 
				_P_34, _P_37, _P_38, _P_39, _P_40, 
				--  _P_41, _P_42, 
				_C_13_podst, _C_14_podst, _C_14_podatek, _C_15_podst, _C_15_podatek, _C_zwrot_zakup_kas, _C_18,
				_P_49, _P_50, _P_51, _P_52, _P_45, _P_46, _P_47,
				_P_55, _P_56, _P_57, _P_58, _P_59, _P_60, _P_61,
				_P_62, _P_63, _P_64, _P_65, _P_73, _P_74,
				_F_art119, _F_art120, _F_art122, _F_art136, _F_art89b  -- sekcja "F. Informacje dodatkowe"
				INTEGER;
		
		DECLARE _done BOOL DEFAULT FALSE;	
		
		DECLARE _c_vat_zd CURSOR FOR			
		select  
			kontrnazwa, kontrNIP, nrdokfin, datawystaw, dataplatnosci, IFNULL(korekta_podstawy, 0.00), IFNULL(korekta_podatku, 0.00)	
		from 
			ht_dekl_vat7_zd
		WHERE deklGUID = _RecGUID
		;
				
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = TRUE;			
										
		SELECT 
			CelZlozenia, RodzajDekl,
			_varINT_NOTNULL(P_20), _varINT_NOTNULL(P_21), _varINT_NOTNULL(P_22), _varINT_NOTNULL(P_23), 
			_varINT_NOTNULL(P_24), _varINT_NOTNULL(P_25), _varINT_NOTNULL(P_26), _varINT_NOTNULL(P_27), 
			_varINT_NOTNULL(P_28), _varINT_NOTNULL(P_29), _varINT_NOTNULL(P_30), _varINT_NOTNULL(P_31), _varINT_NOTNULL(P_32), _varINT_NOTNULL(P_33), 
			_varINT_NOTNULL(P_34), _varINT_NOTNULL(P_37), _varINT_NOTNULL(P_38), _varINT_NOTNULL(P_39), _varINT_NOTNULL(P_40), 
			-- _varINT_NOTNULL(P_41), _varINT_NOTNULL(P_42), 
			_varINT_NOTNULL(C_13_podst), _varINT_NOTNULL(C_14_podst), _varINT_NOTNULL(C_14_podatek), _varINT_NOTNULL(C_15_podst), _varINT_NOTNULL(C_15_podatek), 
			_varINT_NOTNULL(C_zwrot_zakup_kas), _varINT_NOTNULL(P_44), 
			_varINT_NOTNULL(P_49), _varINT_NOTNULL(P_50), _varINT_NOTNULL(P_51), _varINT_NOTNULL(P_52),
			_varINT_NOTNULL(P_45), _varINT_NOTNULL(P_46), _varINT_NOTNULL(P_47), _varINT_NOTNULL(P_55), _varINT_NOTNULL(P_56), _varINT_NOTNULL(P_57), _varINT_NOTNULL(P_58), 
			_varINT_NOTNULL(P_59), _varINT_NOTNULL(P_60),
			_varINT_NOTNULL(P_61), _varINT_NOTNULL(P_62), _varINT_NOTNULL(P_63), _varINT_NOTNULL(P_64), _varINT_NOTNULL(P_65),
			P_73, _varINT_NOTNULL(P_74), przyczyna_ORD_ZU, tel_kontakt, DATE(data_wypelnienia),
			_varINT_NOTNULL(P_66), _varINT_NOTNULL(P_67), _varINT_NOTNULL(P_68), _varINT_NOTNULL(P_69), P_70  -- P_70 default 2 (unchecked)
			
		FROM 
			ht_dekl_vat7
		WHERE 
			GUID = _RecGUID
		INTO _CelZlozenia, _RodzajDekl, _P_20, _P_21, _P_22, _P_23, _P_24, _P_25, _P_26, _P_27, _P_28, _P_29, _P_30, _P_31, _P_32, _P_33, 
				_P_34, _P_37, _P_38, _P_39, _P_40, 
				-- _P_41, _P_42, 
				_C_13_podst, _C_14_podst, _C_14_podatek, _C_15_podst, _C_15_podatek, _C_zwrot_zakup_kas, _C_18,
				_P_49, _P_50, _P_51, _P_52,
				_P_45, _P_46, _P_47, _P_55, _P_56, _P_57, _P_58, _P_59, _P_60, _P_61, _P_62, _P_63, _P_64, _P_65, _P_73, _P_74, @_przyczyna_ORD_ZU,
				_tel_kontakt, _data_wypelnienia,
				_F_art119, _F_art120, _F_art122, _F_art136, _F_art89b	;
		
		
		/* 
		 - <Deklaracja> 
			 + <Naglowek> 
			 + <Podmiot1> 
			 + <PozycjeSzczegolowe> 
			 <Pouczenie1>
			 <Pouczenie2>
			 <Zalaczniki minOccurs="0">  
		   </Deklaracja> 		
		*/	
								
		SET @eVAT7.Content = '';
		SET @xml.IC = 1;
		
		SET @eVAT7.Content = '<?xml version="1.0" encoding="UTF-8" ?>\n';
		
		SELECT 
			-- CelZlozenia, RodzajDekl, rok, miesiac, US_GUID, 
			d.doc_id, _varSTR(d.form_ver), 
			d.doc_type,	-- p.data_wypelnienia, 	
			d.ID, d.doc_ver, d.doc_owner 			
		FROM 
			ht_dekl_vat7 p, e_doc_def d -- , osoby o
		WHERE 
			p.GUID = _RecGUID AND  p.e_Doc_Def_ID = d.owner_doc_Id -- _e_doc_id, _doc_ver, _form_ver, _e_doc_type, _e_Doc_Def_ID, _OkresOd, _OkresDo;
		INTO 
		  -- _CelZlozenia, _RodzajDekl, _Rok, _Okres, _US_GUID, 
		  _e_doc_id, _form_ver, 
		  _e_doc_type,  -- _data_wypelnienia,  
		  _e_Doc_Def_ID, _doc_ver, _kodPodatku;  
		  
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Deklaracja xmlns="', _e_Doc_Def_ID, '" ');
	
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, cDefTypySchema, '\n');		
		SET @eVAT7.xmlns = @eVAT7.Content; 
				
			CALL e_dekl_vat_tools('vat7.xml.insert.header', _Year, _Month, _RecGUID, @eDekl.H, '', ''); -- <Naglowek> 
			
						
			-- sekcja danych podatnika  (na formularzu: sekcja B)
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Podmiot1 rola="Podatnik">\n'); 
				SET @xml.IC = @xml.IC + 1;
			
			-- if RegistryInt.GetRegIntValueInteger('Rodzaj_platnika', 0, 'DaneFirmy', 1) = 1 then  // osoba fiz.
			CALL _IReg_Get('DaneFirmy', 'NIP', '0', 'STRING', _NIP, '(brak danych)'); 
			SET _NIP = REPLACE(_NIP, '-', '');
			CALL _IReg_Get('DaneFirmy', 'REGON', '0', 'STRING', _REGON, '(brak danych)'); 	
			CALL _IReg_Get('DaneFirmy', 'pelna_nazwa', '0', 'STRING', _PelnaNazwa, ''); 
						
			
			SET _RodzPodat = 0;													
			CALL _IReg_Get('DaneFirmy', 'Rodzaj_platnika', '0', 'INTEGER', _RodzPodat, '0');   	
			
			IF _RodzPodat = 1 THEN -- osoba fiz.
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<OsobaFizyczna>\n'); 
					SET @xml.IC = @xml.IC + 1;
					-- TIdentyfikatorOsobyFizycznej : NIP, imie, nazwisko, data ur., Nr PESEL; 4 ost. dane da桲ozdziel. ';' w pelnej nazwie
					-- IREG: Platnik_nazwisko, Platnik_imie, Platnik_data_urodzenia, Platnik_PESEL
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<NIP>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _NIP);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</NIP>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_imie', '0', 'STRING', _Platnik_imie, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<ImiePierwsze>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_imie);    
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</ImiePierwsze>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_nazwisko', '0', 'STRING', _Platnik_nazwisko, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Nazwisko>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_nazwisko);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Nazwisko>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_data_urodzenia', '0', 'DATE', _Platnik_data_urodzenia, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<DataUrodzenia>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_data_urodzenia);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</DataUrodzenia>\n');
										
					SET @xml.IC = @xml.IC - 1;								
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</OsobaFizyczna>\n'); 
			END IF;
			
			IF _RodzPodat = 0 THEN -- osoba nie-fiz.
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<OsobaNiefizyczna>\n');
						SET @xml.IC = @xml.IC + 1;
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<NIP>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _NIP);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</NIP>\n');
					
					-- etd:PelnaNazwa
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<PelnaNazwa>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, REPLACE(_PelnaNazwa, '&', '&#x26;'));  -- REPLACE(_PelnaNazwa, '&', '&#x26;')  REPLACE(_PelnaNazwa, '&', 'and')
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</PelnaNazwa>\n');
										
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<REGON>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _REGON);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</REGON>\n');
					
					SET @xml.IC = @xml.IC - 1;
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</OsobaNiefizyczna>\n'); 						
			END IF;
			SET @xml.IC = @xml.IC - 1;   			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</Podmiot1>\n');
						
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<PozycjeSzczegolowe>\n');			
				SET @xml.IC = @xml.IC + 1;
						
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_10>', _P_20, '</P_10>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_11>', _P_21, '</P_11>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_12>', _P_22, '</P_12>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_13>', _P_23, '</P_13>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_14>', _P_24, '</P_14>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_15>', _P_25, '</P_15>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_16>', _P_26, '</P_16>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_17>', _P_27, '</P_17>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_18>', _P_28, '</P_18>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_19>', _P_29, '</P_19>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_20>', _P_30, '</P_20>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_21>', _P_31, '</P_21>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_22>', _P_32, '</P_22>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_23>', _P_33, '</P_23>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_24>', _P_34, '</P_24>\n');
				IF _P_37 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_27>', _P_37, '</P_27>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_28>', _P_38, '</P_28>\n');
				END IF;	
				IF _P_39 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_29>', _P_39, '</P_29>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_30>', _P_40, '</P_30>\n');								
				END IF;					
				
				/*  _P_41, _P_42 zastapione przez _C_dd_podst, _C_dd_podatek
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_31>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_41);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_31>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_32>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_42);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_32>\n');  */
				
				IF _C_13_podst <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_31>', _C_13_podst, '</P_31>\n');								
				END IF;		
				IF _C_14_podst <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_32>', _C_14_podst, '</P_32>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_33>', _C_14_podatek, '</P_33>\n');
				END IF;			
				IF _C_15_podst <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_34>', _C_15_podst, '</P_34>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_35>', _C_15_podatek, '</P_35>\n');
				END IF;

				IF _C_zwrot_zakup_kas <> 0 THEN -- Zwrot odliczonej lub zwróconej kwoty wydatkowanej na zakup kas rejestrujących, o którym mowa w art. 111 ust. 6 ustawy	
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_37>', _C_zwrot_zakup_kas, '</P_37>\n');
				END IF;
								
				IF _C_18 <> 0 THEN -- Kwota podatku należnego od wewnątrzwspólnotowego nabycia środków transportu, wykazanego w poz. 24, podlegająca wpłacie ...
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_38>', _C_18, '</P_38>\n');
				END IF;
											
				-- Razem - Podstawa opodatkowania
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_39>', _P_45, '</P_39>\n');						
				-- Razem - Podatek należny
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_40>', _P_46, '</P_40>\n');		
				-- koniec sekcji C.
				
				-- sekcja D.1. Kwota nadwyżki z poprzedniej deklaracji
				IF _P_47 > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_41>', _P_47, '</P_41>\n');							
				END IF;					
				
				-- sekcja D.2. Nabycie towarów i usług oraz podatek naliczony z uwzgl. korekt.
				IF _P_49 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_42>', _P_49, '</P_42>\n');												
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_43>', _P_50, '</P_43>\n');																
				END IF;	
				
				IF _P_51 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_44>', _P_51, '</P_44>\n');												
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_45>', _P_52, '</P_45>\n');																						
				END IF;	
				
				-- sekcja D.3. Podatek naliczony - do odliczenia
				/*  poki co komentujemy, bo brak pobrania danych do zmiennej _P_48
				IF _P_48 > 0 THEN  -- Korekta podatku naliczonego, o której mowa w art. 89b ust. 1 ustawy
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_47>', _P_48, '</P_47>\n');												
				END IF;  */
				
				IF _P_55 <> 0 THEN  -- Razem kwota podatku naliczonego do odliczenia
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_49>', _P_55, '</P_49>\n');																
				END IF;	
				
				-- sekcja E. obliczenie wysokosci zobowiazania podatkowego lub kwoty zwrotu
				
				IF _P_56 > 0 THEN  -- Kwota wydatkowana na zakup kas rejestrujących, do odliczenia w danym okresie rozliczeniowym
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_50>', _P_56, '</P_50>\n');						
				END IF;	
				
				IF _P_57 > 0 THEN  -- Kwota podatku objęta zaniechaniem poboru
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_51>', _P_57, '</P_51>\n');											
				END IF;	
				
				-- Kwota podatku podlegającego wpłacie do urzędu skarbowego
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_52>', _P_58, '</P_52>\n');											
				
				-- Kwota wydatkowana na zakup kas rejestrujących, przysługująca do zwrotu w danym okresie rozliczeniowym
				IF _P_59 > 0 THEN  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_53>', _P_59, '</P_53>\n');											
				END IF;	
								
				IF _P_60 > 0 THEN   -- Nadwyżka podatku naliczonego nad należnym
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_54>', _P_60, '</P_54>\n');											
				END IF;	
				
				-- Kwota do zwrotu na rachunek bankowy wskazany przez podatnika
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_55>', _P_61, '</P_55>\n');											
				
				IF _P_62 > 0 THEN   -- w tym kwota do zwrotu - w terminie 25 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_56>', _P_62, '</P_56>\n');											
				END IF;									
				
				IF _P_63 > 0 THEN   -- w tym kwota do zwrotu - w terminie 60 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_57>', _P_63, '</P_57>\n');											
				END IF;									
				
				IF _P_64 > 0 THEN   -- w tym kwota do zwrotu - w terminie 180 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_58>', _P_64, '</P_58>\n');											
				END IF;									
				
				-- Kwota do przeniesienia na następny okres rozliczeniowy
				IF _P_65 > 0 THEN   -- w tym kwota do zwrotu - w terminie 180 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_59>', _P_65, '</P_59>\n');											
				END IF;	
				
				-- sekcja F. "Informacje dodatkowe"   (XSD: P_60-P_64;  ht_dekl_vat7: P_66 - P_70)
				IF _F_art119 > 0 THEN   
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_60>', 1, '</P_60>\n');											
				END IF;	
				
				IF _F_art120 > 0 THEN   
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_61>', 1, '</P_61>\n');											
				END IF;	
				
				IF _F_art122 > 0 THEN   
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_62>', 1, '</P_62>\n');											
				END IF;	
				
				IF _F_art136 > 0 THEN   
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_63>', 1, '</P_63>\n');											
				END IF;	
				
				IF _F_art89b = 1 THEN   -- 1 - tak, 2 - nie
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_64>', _F_art89b, '</P_64>\n');											
				END IF;	
				
				
				-- sekcja "G. Informacja o zalacznikach"				
				IF (_P_73 = 1) AND (_P_74 > 0) THEN  -- jesli zaznaczono korekte VAT_ZD i podana liczbe zalacznikow, to podajemy informacje o ich liczbie
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_67>', _P_73, '</P_67>\n');		
					
				    -- Jeżeli w poz. 67 zaznaczono kwadrat nr 1, należy podać liczbę załączników VAT-ZD enumeration value="1"
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_68>', '1', '</P_68>\n');											
				END IF;		
				
				-- sekcja "H. Podpis podatnika..."				
				-- <xsd:element name="P_72" minOccurs="0">  Telefon kontaktowy
				IF LENGTH(_tel_kontakt) > 0 THEN
				  SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_72>', _tel_kontakt, '</P_72>\n');
				END IF;
				
				-- Data wypełnienia minInclusive value="2015-07-01"
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_73>', _data_wypelnienia, '</P_73>\n');																					
					
				SET @xml.IC = @xml.IC - 1;
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</PozycjeSzczegolowe>\n');
			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Pouczenie1>W przypadku niewpłacenia w obowiązującym terminie kwoty z poz. 52 lub wpłacenia jej w niepełnej wysokości, niniejsza deklaracja stanowi podstawę do wystawienia tytułu wykonawczego zgodnie z przepisami ustawy z dnia 17 czerwca 1966 r. o postępowaniu egzekucyjnym w administracji (Dz. U. z 2014 r. poz. 1619, z późn. zm.).</Pouczenie1>\n');
			 
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Pouczenie2>Za podanie nieprawdy lub zatajenie prawdy i przez to narażenie podatku na uszczuplenie grozi odpowiedzialność przewidziana w Kodeksie karnym skarbowym.</Pouczenie2>\n');
			
			IF ( (_P_74 > 0) OR (_CelZlozenia = 2) ) THEN  -- jesli jest zalacznik VAT-ZD lub ORD-ZU (korekta), to je dolaczamy
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Zalaczniki>\n');
			 IF (_P_74 > 0)	THEN
			    SET @xml.IC = @xml.IC + 1;
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:Wniosek_VAT-ZD xmlns:vzd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2013/01/10/eD/VATZD/">\n');
					SET @xml.IC = @xml.IC + 1;
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:Naglowek>\n');
						SET @xml.IC = @xml.IC + 1;
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:KodFormularza kodSystemowy="VAT-ZD (1)" wersjaSchemy="1-0E">VAT-ZD</vzd:KodFormularza>\n');
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:WariantFormularza>1</vzd:WariantFormularza>\n');
						SET @xml.IC = @xml.IC - 1;
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</vzd:Naglowek>\n');
										
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:PozycjeSzczegolowe>\n');
					
					SET _SUM_korekta_podstawy = 0.00; 
					SET	_SUM_korekta_podatku = 0.00; 
					
					OPEN _c_vat_zd;
					loop_ZD: LOOP -- petla loop po zalacznikach
						FETCH 
							_c_vat_zd 
						INTO 
							_P_nazwa, _P_NIP, _nrdokfin, _datawystaw, _terminplatn, _korekta_podstawy, _korekta_podatku	;
						IF _done THEN
							LEAVE loop_ZD;
						ELSE
							SET @xml.IC = @xml.IC + 1;
							-- sekcja P_B (1 wpis = 1 wiersz w załączniku)
							SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_B typ="G">\n');
								SET @xml.IC = @xml.IC + 1;
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BB>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_nazwa);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BB>\n');
																
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BC>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_NIP);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BC>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BD1>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _nrdokfin);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BD1>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BD2>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _datawystaw);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BD2>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BE>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _terminplatn);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BE>\n');
																
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BF>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _korekta_podstawy);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BF>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_BG>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _korekta_podatku);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BG>\n');	
								
								SET _SUM_korekta_podstawy = _SUM_korekta_podstawy + _korekta_podstawy; 
								SET	_SUM_korekta_podatku  = _SUM_korekta_podatku  + _korekta_podatku; 
								SET @xml.IC = @xml.IC - 1;
							SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</vzd:P_B>\n');	
						END IF;
					END LOOP;
					CLOSE _c_vat_zd;

					-- end loop
					-- podsumowanie kwoty ogółem (10, 11):
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_10>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _varInt(_Rnd(_SUM_korekta_podstawy, 0)));
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_10>\n');
				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<vzd:P_11>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _varInt(_Rnd(_SUM_korekta_podatku, 0)));
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_11>\n');
					SET @xml.IC = @xml.IC - 1;		
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</vzd:PozycjeSzczegolowe>\n');
					SET @xml.IC = @xml.IC - 1;									
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</vzd:Wniosek_VAT-ZD>\n');
				SET @xml.IC = @xml.IC - 1;
			  END IF; -- (_P_74 > 0)	
			  
			  -- jesli dokument to korekta, to zalaczamy ORD-ZU
			  IF (_CelZlozenia = cKorekta) AND (LENGTH(@_przyczyna_ORD_ZU) > 0) THEN
				  CALL e_dekl_vat_tools('vat.xml.insert.ORD_ZU', '', '', '', @eVAT7.Content, '', '');			
			  END IF;
			  
						
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</Zalaczniki>\n');
			END IF;  -- ( (_P_74 > 0) OR (_CelZlozenia = 2) ) THEN
			
			SET @xml.IC = @xml.IC - 1;
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Deklaracja>');
							
		-- SET @GUS_reports.Z06_RepContent = CONCAT(@GUS_reports.Z06_RepContent, '\n\n[Formularze]', '\nCount=1');
		
		-- zamiana parametr?a wartosci
		-- SET @GUS_reports.Z06_RepContent = REPLACE(@GUS_reports.Z06_RepContent, '#Rok#', _Rok);
		SET _RepContent = @eVAT7.Content;
		-- SELECT _varSTR_NOTNULL(@GUS_reports.Z06_RepContent) AS _RepContent;
		SELECT IFNULL(@eVAT7.Content, '') AS _RepContent;
		
		-- teraz kluczowa sprawa - wstawienie wygenerowanego XMLa do e_doc
		SET _IDN = _Param_A;
		CALL e_doc_tools('e_doc_po.insert.or.edit', _IDN, IFNULL(@eVAT7.Content, ''), 'CREATE_XML', 'ORYG', '', '', '', '');
		-- SET NAMES cp1250;	
		
	END;  
	
	END IF; 	-- _MODE = 'vat7.xml.create.16' VAT-7(16)	
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.xml.insert.header'  
	
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/				
	IF _MODE = 'vat7.xml.insert.header' THEN
	
		SELECT 
			--   rok, miesiac, US_GUID, 
			CelZlozenia, RodzajDekl,
			d.doc_id, _varSTR(d.form_ver), 
			d.doc_type,	-- p.data_wypelnienia, 	
			d.ID, d.doc_ver, d.doc_owner 			
		FROM 
			ht_dekl_vat7 p, e_doc_def d -- , osoby o
		WHERE 
			p.GUID = _RecGUID AND  p.e_Doc_Def_ID = d.owner_doc_Id -- _e_doc_id, _doc_ver, _form_ver, _e_doc_type, _e_Doc_Def_ID, _OkresOd, _OkresDo;
		INTO 
		   _CelZlozenia, _RodzajDekl, -- _Rok, _Okres, _US_GUID, 
		  _e_doc_id, _form_ver, 
		  _e_doc_type,  -- _data_wypelnienia,  
		  _e_Doc_Def_ID, _doc_ver, _kodPodatku;  
	
			-- set @tmp.ptr = 'przed';
		-- <Naglowek> 
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Naglowek>\n');
			    SET @ble.Content = @eVAT7.Content;
				
				SET @xml.IC = @xml.IC + 1;
			/*	IF _RodzajDekl = cVAT7 THEN 			
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<KodFormularza kodPodatku="VAT" kodSystemowy="VAT-7 (15)" rodzajZobowiazania="Z" wersjaSchemy="1-1E">VAT-7</KodFormularza>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<WariantFormularza>15</WariantFormularza>\n');
				END IF;	
				
				IF _RodzajDekl = cVAT7K THEN 			
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<KodFormularza kodPodatku="VAT" kodSystemowy="VAT-7K (9)" rodzajZobowiazania="Z" wersjaSchemy="1-0E">VAT-7K</KodFormularza>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<WariantFormularza>9</WariantFormularza>\n');
				END IF;	
				*/
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<KodFormularza kodPodatku="', _kodPodatku,'" kodSystemowy="', _e_doc_id, '" rodzajZobowiazania="Z" wersjaSchemy="', _doc_ver, '">', _e_doc_type, '</KodFormularza>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<WariantFormularza>', _form_ver, '</WariantFormularza>\n');  -- ew. e_doc_def.form_ver	   
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<CelZlozenia poz="P_7">');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _CelZlozenia);  --    <CelZlozenia poz="P_7">1</CelZlozenia>
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</CelZlozenia>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Rok>');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Year);  
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Rok>\n');
				
				IF _RodzajDekl = cVAT7 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Miesiac>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Month);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Miesiac>\n');
				END IF;
				
				IF _RodzajDekl = cVAT7K THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Kwartal>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Month);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Kwartal>\n');
				END IF;
				
				-- SET @ble.Content = @eVAT7.Content;
				set _KodUS = '';
				select _varSTR_NOTNULL(kod_urzedu) FROM US 
					WHERE  guid = (SELECT valueA FROM IReg WHERE idpath LIKE '%danefirmy%' AND idkey='Urzad_skarbowy')
				into _KodUS;
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<KodUrzedu>', _KodUS, '</KodUrzedu>\n');				
				
				SET @xml.IC = @xml.IC - 1;									
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</Naglowek>\n');
			--  </Naglowek> koniec sekcji nagԳwka deklaracji
			SET @eVAT7_header = @eVAT7.Content;
	
	END IF;  -- IF _MODE = 'vat7.xml.insert.header'
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.xml.create.201507'
		Wygenerowanie dokumentu XML z fakturٍ
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RepContent     Wygenerowana zawartoݦ pliku XML
		IN _Param_A   idn rekordu z t_e_doc_ng
		
		CALL ht_EDI_tools('vat7.xml.create.201507', 2015, 9, '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		
	IF _MODE = 'vat7.xml.create.201507' THEN
	BEGIN	
		
		DECLARE  _datawystaw, _terminplatn, _LastDay  DATE;
		DECLARE	_korekta_podstawy, _korekta_podatku, _SUM_korekta_podstawy, _SUM_korekta_podatku DOUBLE;
		
		DECLARE  _nrdokfin VARCHAR(30);			
		
		DECLARE _P_20, _P_21, _P_22, _P_23, _P_24, _P_25, _P_26, _P_27, _P_28, _P_29, _P_30, _P_31, _P_32, _P_33, 
				_P_34, _P_37, _P_38, _P_39, _P_40, 
				--  _P_41, _P_42, 
				_C_13_podst, _C_14_podst, _C_14_podatek, _C_15_podst, _C_15_podatek,
				_P_49, _P_50, _P_51, _P_52, _P_45, _P_46, _P_47,
				_P_55, _P_56, _P_57, _P_58, _P_59, _P_60, _P_61,
				_P_62, _P_63, _P_64, _P_65, _P_73, _P_74
				INTEGER;
		
		DECLARE _done BOOL DEFAULT FALSE;	
		
		DECLARE _c_vat_zd CURSOR FOR			
		select  
			kontrnazwa, kontrNIP, nrdokfin, datawystaw, dataplatnosci, IFNULL(korekta_podstawy, 0.00), IFNULL(korekta_podatku, 0.00)	
		from 
			ht_dekl_vat7_zd
		WHERE deklGUID = _RecGUID
		;
				
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = TRUE;			
		
	/*	SET CSpKF 		= 03;
		SET CSpKR 		= 04;
		SET cVatZw   	=  3; */
			
		-- SET _AllowSummary = 0;
		/* SET _TabStat = REPLACE('stat_prac_#Rok#', '#Rok#', _Rok);
		
		SET _SQLText =  'SELECT DATE(''#Rok#-12-31'') INTO @GUS_reports.Z06.create_LastDay';
		SET _SQLText = REPLACE(_SQLText, '#Rok#', _Rok);	
		SET @_SQLText = _SQLText;
		CALL _ExecuteCmd(_SQLText, @Error);	
		SET _LastDay = @GUS_reports.Z06.create_LastDay;
		*/
			
		SELECT 
			CelZlozenia, RodzajDekl,
			_varINT_NOTNULL(P_20), _varINT_NOTNULL(P_21), _varINT_NOTNULL(P_22), _varINT_NOTNULL(P_23), 
			_varINT_NOTNULL(P_24), _varINT_NOTNULL(P_25), _varINT_NOTNULL(P_26), _varINT_NOTNULL(P_27), 
			_varINT_NOTNULL(P_28), _varINT_NOTNULL(P_29), _varINT_NOTNULL(P_30), _varINT_NOTNULL(P_31), _varINT_NOTNULL(P_32), _varINT_NOTNULL(P_33), 
			_varINT_NOTNULL(P_34), _varINT_NOTNULL(P_37), _varINT_NOTNULL(P_38), _varINT_NOTNULL(P_39), _varINT_NOTNULL(P_40), 
			-- _varINT_NOTNULL(P_41), _varINT_NOTNULL(P_42), 
			_varINT_NOTNULL(C_13_podst), _varINT_NOTNULL(C_14_podst), _varINT_NOTNULL(C_14_podatek), _varINT_NOTNULL(C_15_podst), _varINT_NOTNULL(C_15_podatek), 
			_varINT_NOTNULL(P_49), _varINT_NOTNULL(P_50), _varINT_NOTNULL(P_51), _varINT_NOTNULL(P_52),
			_varINT_NOTNULL(P_45), _varINT_NOTNULL(P_46), _varINT_NOTNULL(P_47), _varINT_NOTNULL(P_55), _varINT_NOTNULL(P_56), _varINT_NOTNULL(P_57), _varINT_NOTNULL(P_58), 
			_varINT_NOTNULL(P_59), _varINT_NOTNULL(P_60),
			_varINT_NOTNULL(P_61), _varINT_NOTNULL(P_62), _varINT_NOTNULL(P_63), _varINT_NOTNULL(P_64), _varINT_NOTNULL(P_65),
			P_73, _varINT_NOTNULL(P_74), przyczyna_ORD_ZU, DATE(data_wypelnienia)
			
		FROM 
			ht_dekl_vat7
		WHERE 
			GUID = _RecGUID
		INTO _CelZlozenia, _RodzajDekl, _P_20, _P_21, _P_22, _P_23, _P_24, _P_25, _P_26, _P_27, _P_28, _P_29, _P_30, _P_31, _P_32, _P_33, 
				_P_34, _P_37, _P_38, _P_39, _P_40, 
				-- _P_41, _P_42, 
				_C_13_podst, _C_14_podst, _C_14_podatek, _C_15_podst, _C_15_podatek,
				_P_49, _P_50, _P_51, _P_52,
				_P_45, _P_46, _P_47, _P_55, _P_56, _P_57, _P_58, _P_59, _P_60, _P_61, _P_62, _P_63, _P_64, _P_65, _P_73, _P_74, _przyczyna_ORD_ZU,
				_data_wypelnienia				;
		
		
		/* 
		 - <Deklaracja> 
			 + <Naglowek> 
			 + <Podmiot1> 
			 + <PozycjeSzczegolowe> 
			 <Pouczenie1>
			 <Pouczenie2>
			 <Zalaczniki minOccurs="0">  
		   </Deklaracja> 		
		*/	
								
		SET @eVAT7.Content = '';
		SET @xml.IC = 1;
		
		SET @eVAT7.Content = '<?xml version="1.0" encoding="UTF-8" ?>\n';
		
		SELECT 
			-- CelZlozenia, RodzajDekl, rok, miesiac, US_GUID, 
			d.doc_id, _varSTR(d.form_ver), 
			d.doc_type,	-- p.data_wypelnienia, 	
			d.ID, d.doc_ver, d.doc_owner 			
		FROM 
			ht_dekl_vat7 p, e_doc_def d -- , osoby o
		WHERE 
			p.GUID = _RecGUID AND  p.e_Doc_Def_ID = d.owner_doc_Id -- _e_doc_id, _doc_ver, _form_ver, _e_doc_type, _e_Doc_Def_ID, _OkresOd, _OkresDo;
		INTO 
		  -- _CelZlozenia, _RodzajDekl, _Rok, _Okres, _US_GUID, 
		  _e_doc_id, _form_ver, 
		  _e_doc_type,  -- _data_wypelnienia,  
		  _e_Doc_Def_ID, _doc_ver, _kodPodatku;  
		  
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Deklaracja xmlns="', _e_Doc_Def_ID, '" ');
	
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, cDefTypySchema, '\n');		
		SET @eVAT7.xmlns = @eVAT7.Content; 
				
			CALL e_dekl_vat_tools('vat7.xml.insert.header', _Year, _Month, _RecGUID, @eDekl.H, '', '');
			-- <Naglowek> 
			/*
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Naglowek>\n');
			   -- SET @ble.Content = @eVAT7.Content;
				
				SET @xml.IC = @xml.IC + 1;
			
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<KodFormularza kodPodatku="', _kodPodatku,'" kodSystemowy="', _e_doc_id, '" rodzajZobowiazania="Z" wersjaSchemy="', _doc_ver, '">', _e_doc_type, '</KodFormularza>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<WariantFormularza>', _form_ver, '</WariantFormularza>\n');  -- ew. e_doc_def.form_ver	   
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<CelZlozenia poz="P_7">');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _CelZlozenia);  --    <CelZlozenia poz="P_7">1</CelZlozenia>
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</CelZlozenia>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Rok>');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Year);  
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Rok>\n');
				
				IF _RodzajDekl = cVAT7 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Miesiac>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Month);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Miesiac>\n');
				END IF;
				
				IF _RodzajDekl = cVAT7K THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Kwartal>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Month);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Kwartal>\n');
				END IF;
				
				-- SET @ble.Content = @eVAT7.Content;
				set _KodUS = '';
				select _varSTR_NOTNULL(kod_urzedu) FROM US 
					WHERE  guid = (SELECT valueA FROM IReg WHERE idpath LIKE '%danefirmy%' AND idkey='Urzad_skarbowy')
				into _KodUS;
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<KodUrzedu>', _KodUS, '</KodUrzedu>\n');				
				
				SET @xml.IC = @xml.IC - 1;									
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</Naglowek>\n');
			--  </Naglowek> koniec sekcji nagԳwka deklaracji
			SET @eVAT7_header = @eVAT7.Content;
			*/
			
			-- sekcja danych podatnika  (na formularzu: sekcja B)
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Podmiot1 rola="Podatnik">\n'); 
				SET @xml.IC = @xml.IC + 1;
			
			-- if RegistryInt.GetRegIntValueInteger('Rodzaj_platnika', 0, 'DaneFirmy', 1) = 1 then  // osoba fiz.
			CALL _IReg_Get('DaneFirmy', 'NIP', '0', 'STRING', _NIP, '(brak danych)'); 
			SET _NIP = REPLACE(_NIP, '-', '');
			CALL _IReg_Get('DaneFirmy', 'REGON', '0', 'STRING', _REGON, '(brak danych)'); 	
			CALL _IReg_Get('DaneFirmy', 'pelna_nazwa', '0', 'STRING', _PelnaNazwa, ''); 
						
			
			SET _RodzPodat = 0;													
			CALL _IReg_Get('DaneFirmy', 'Rodzaj_platnika', '0', 'INTEGER', _RodzPodat, '0');   	
			
			IF _RodzPodat = 1 THEN -- osoba fiz.
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<OsobaFizyczna>\n'); 
					SET @xml.IC = @xml.IC + 1;
					-- TIdentyfikatorOsobyFizycznej : NIP, imie, nazwisko, data ur., Nr PESEL; 4 ost. dane da桲ozdziel. ';' w pelnej nazwie
					-- IREG: Platnik_nazwisko, Platnik_imie, Platnik_data_urodzenia, Platnik_PESEL
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<NIP>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _NIP);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</NIP>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_imie', '0', 'STRING', _Platnik_imie, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<ImiePierwsze>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_imie);    
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</ImiePierwsze>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_nazwisko', '0', 'STRING', _Platnik_nazwisko, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Nazwisko>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_nazwisko);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Nazwisko>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_data_urodzenia', '0', 'DATE', _Platnik_data_urodzenia, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<DataUrodzenia>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_data_urodzenia);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</DataUrodzenia>\n');
										
					SET @xml.IC = @xml.IC - 1;								
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</OsobaFizyczna>\n'); 
			END IF;
			
			IF _RodzPodat = 0 THEN -- osoba nie-fiz.
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<OsobaNiefizyczna>\n');
						SET @xml.IC = @xml.IC + 1;
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<NIP>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _NIP);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</NIP>\n');
					
					-- etd:PelnaNazwa
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<PelnaNazwa>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, REPLACE(_PelnaNazwa, '&', '&#x26;'));  -- REPLACE(_PelnaNazwa, '&', '&#x26;')  REPLACE(_PelnaNazwa, '&', 'and')
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</PelnaNazwa>\n');
										
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<REGON>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _REGON);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</REGON>\n');
					
					SET @xml.IC = @xml.IC - 1;
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</OsobaNiefizyczna>\n'); 						
			END IF;
			SET @xml.IC = @xml.IC - 1;   			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</Podmiot1>\n');
						
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<PozycjeSzczegolowe>\n');			
				SET @xml.IC = @xml.IC + 1;
						
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_10>', _P_20, '</P_10>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_11>', _P_21, '</P_11>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_12>', _P_22, '</P_12>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_13>', _P_23, '</P_13>\n');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_14>', _P_24, '</P_14>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_15>', _P_25, '</P_15>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_16>', _P_26, '</P_16>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_17>', _P_27, '</P_17>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_18>', _P_28, '</P_18>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_19>', _P_29, '</P_19>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_20>', _P_30, '</P_20>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_21>', _P_31, '</P_21>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_22>', _P_32, '</P_22>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_23>', _P_33, '</P_23>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_24>', _P_34, '</P_24>\n');
				IF _P_37 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_27>', _P_37, '</P_27>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_28>', _P_38, '</P_28>\n');
				END IF;	
				IF _P_39 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_29>', _P_39, '</P_29>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_30>', _P_40, '</P_30>\n');								
				END IF;	
				-- ver. 15: dotad nie bylo zmian w numeracji 
				
				/*  _P_41, _P_42 zastapione przez _C_dd_podst, _C_dd_podatek
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_31>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_41);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_31>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_32>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_42);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_32>\n');  */
				
				IF _C_13_podst <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_31>', _C_13_podst, '</P_31>\n');								
				END IF;		
				IF _C_14_podst <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_32>', _C_14_podst, '</P_32>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_33>', _C_14_podatek, '</P_33>\n');
				END IF;			
				IF _C_15_podst <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_34>', _C_15_podst, '</P_34>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_35>', _C_15_podatek, '</P_35>\n');
				END IF;				
								
				-- Razem - Podstawa opodatkowania
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_38>', _P_45, '</P_38>\n');						
				-- Razem - Podatek należny
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_39>', _P_46, '</P_39>\n');		
				-- koniec sekcji C.
				
				-- sekcja D.1. Kwota nadwyżki z poprzedniej deklaracji
				IF _P_47 > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_40>', _P_47, '</P_40>\n');							
				END IF;					
				
				-- sekcja D.2. Nabycie towarów i usług oraz podatek naliczony z uwzgl. korekt.
				IF _P_49 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_41>', _P_49, '</P_41>\n');												
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_42>', _P_50, '</P_42>\n');																
				END IF;	
				
				IF _P_51 <> 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_43>', _P_51, '</P_43>\n');												
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_44>', _P_52, '</P_44>\n');																						
				END IF;	
				
				-- sekcja D.3. Podatek naliczony - do odliczenia
				/*  poki co komentujemy, bo brak pobrania danych do zmiennej _P_48
				IF _P_48 > 0 THEN  -- Korekta podatku naliczonego, o której mowa w art. 89b ust. 1 ustawy
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_47>', _P_48, '</P_47>\n');												
				END IF;  */
				
				IF _P_55 <> 0 THEN  -- Razem kwota podatku naliczonego do odliczenia
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_48>', _P_55, '</P_48>\n');																
				END IF;	
				
				-- sekcja E. obliczenie wysokosci zobowiazania podatkowego lub kwoty zwrotu
				
				IF _P_56 > 0 THEN  -- Kwota wydatkowana na zakup kas rejestrujących, do odliczenia w danym okresie rozliczeniowym
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_49>', _P_56, '</P_49>\n');						
				END IF;	
				
				IF _P_57 > 0 THEN  -- Kwota podatku objęta zaniechaniem poboru
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_50>', _P_57, '</P_50>\n');											
				END IF;	
				
				-- Kwota podatku podlegającego wpłacie do urzędu skarbowego
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_51>', _P_58, '</P_51>\n');											
				
				-- Kwota wydatkowana na zakup kas rejestrujących, przysługująca do zwrotu w danym okresie rozliczeniowym
				IF _P_59 > 0 THEN  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_52>', _P_59, '</P_52>\n');											
				END IF;	
								
				IF _P_60 > 0 THEN   -- Nadwyżka podatku naliczonego nad należnym
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_53>', _P_60, '</P_53>\n');											
				END IF;	
				
				-- Kwota do zwrotu na rachunek bankowy wskazany przez podatnika
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_54>', _P_61, '</P_54>\n');											
				
				IF _P_62 > 0 THEN   -- w tym kwota do zwrotu - w terminie 25 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_55>', _P_62, '</P_55>\n');											
				END IF;									
				
				IF _P_63 > 0 THEN   -- w tym kwota do zwrotu - w terminie 60 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_56>', _P_63, '</P_56>\n');											
				END IF;									
				
				IF _P_64 > 0 THEN   -- w tym kwota do zwrotu - w terminie 180 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_57>', _P_64, '</P_57>\n');											
				END IF;									
				
				-- Kwota do przeniesienia na następny okres rozliczeniowy
				IF _P_65 > 0 THEN   -- w tym kwota do zwrotu - w terminie 180 dni
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_58>', _P_65, '</P_58>\n');											
				END IF;	
				
								
				IF (_P_73 = 1) AND (_P_74 > 0) THEN  -- jesli zaznaczono korekte VAT_ZD i podana liczbe zalacznikow, to podajemy informacje o ich liczbie
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_66>', _P_73, '</P_66>\n');		
					
				    -- Jeżeli w poz. 66 zaznaczono kwadrat nr 1, należy podać liczbę załączników VAT-ZD enumeration value="1"
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_67>', '1', '</P_67>\n');											
				END IF;		
				
				-- <xsd:element name="P_71" minOccurs="0">  Telefon kontaktowy
				
				-- Data wypełnienia minInclusive value="2015-07-01"
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<P_72>', _data_wypelnienia, '</P_72>\n');																					
					
				SET @xml.IC = @xml.IC - 1;
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '</PozycjeSzczegolowe>\n');
			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Pouczenie1>W przypadku niewpłacenia w obowiązującym terminie kwoty z poz. 51 lub wpłacenia jej w niepełnej wysokości, niniejsza deklaracja stanowi podstawę do wystawienia tytułu wykonawczego zgodnie z przepisami ustawy z dnia 17 czerwca 1966 r. o postępowaniu egzekucyjnym w administracji (Dz. U. z 2014 r. poz. 1619, z późn. zm.).</Pouczenie1>\n');
			 
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, SPACE(@xml.IC*cSL), '<Pouczenie2>Za podanie nieprawdy lub zatajenie prawdy i przez to narażenie podatku na uszczuplenie grozi odpowiedzialność przewidziana w Kodeksie karnym skarbowym.</Pouczenie2>\n');
			
			IF ( (_P_74 > 0) OR (_CelZlozenia = 2) ) THEN  -- jesli jest zalacznik VAT-ZD lub ORD-ZU (korekta), to je dolaczamy
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Zalaczniki>\n');
			 IF (_P_74 > 0)	THEN
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:Wniosek_VAT-ZD xmlns:vzd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2013/01/10/eD/VATZD/">\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:Naglowek>\n');
					
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:KodFormularza kodSystemowy="VAT-ZD (1)" wersjaSchemy="1-0E">VAT-ZD</vzd:KodFormularza>\n');
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:WariantFormularza>1</vzd:WariantFormularza>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:Naglowek>\n');
										
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:PozycjeSzczegolowe>\n');
					
					SET _SUM_korekta_podstawy = 0.00; 
					SET	_SUM_korekta_podatku = 0.00; 
					
					OPEN _c_vat_zd;
					loop_ZD: LOOP -- petla loop po zalacznikach
						FETCH 
							_c_vat_zd 
						INTO 
							_P_nazwa, _P_NIP, _nrdokfin, _datawystaw, _terminplatn, _korekta_podstawy, _korekta_podatku	;
						IF _done THEN
							LEAVE loop_ZD;
						ELSE
						
							-- sekcja P_B (1 wpis = 1 wiersz w załączniku)
							SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_B typ="G">');
							
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BB>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_nazwa);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BB>\n');
																
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BC>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_NIP);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BC>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BD1>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _nrdokfin);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BD1>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BD2>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _datawystaw);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BD2>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BE>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _terminplatn);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BE>\n');
																
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BF>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _korekta_podstawy);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BF>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BG>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _korekta_podatku);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BG>\n');	
								
								SET _SUM_korekta_podstawy = _SUM_korekta_podstawy + _korekta_podstawy; 
								SET	_SUM_korekta_podatku  = _SUM_korekta_podatku  + _korekta_podatku; 
								
							SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_B>');	
						END IF;
					END LOOP;
					CLOSE _c_vat_zd;

					-- end loop
					-- podsumowanie kwoty ogółem (10, 11):
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_10>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _varInt(_Rnd(_SUM_korekta_podstawy, 0)));
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_10>\n');
				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_11>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _varInt(_Rnd(_SUM_korekta_podatku, 0)));
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_11>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:PozycjeSzczegolowe>\n');
														
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:Wniosek_VAT-ZD>\n');
			  END IF; -- (_P_74 > 0)	
				-- jesli dokument to korekta, to zalaczamy ORD-ZU
				IF (_CelZlozenia = cKorekta) THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:Zalacznik_ORD-ZU xmlns:zzu="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/10/07/eD/ORDZU/">\n');
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:Naglowek>\n');					
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:KodFormularza kodSystemowy="ORD-ZU (2)" wersjaSchemy="2-0E">ORD-ZU</zzu:KodFormularza>\n');
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:WariantFormularza>2</zzu:WariantFormularza>\n');					
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:Naglowek>\n');
					  
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:PozycjeSzczegolowe>\n');
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:P_13>');
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _przyczyna_ORD_ZU);
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:P_13>\n');
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:PozycjeSzczegolowe>\n');	
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:Zalacznik_ORD-ZU>\n');					
				END IF;
			
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Zalaczniki>\n');
			END IF;  -- ( (_P_74 > 0) OR (_CelZlozenia = 2) ) THEN
			
			SET @xml.IC = @xml.IC - 1;
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Deklaracja>');
							
		-- SET @GUS_reports.Z06_RepContent = CONCAT(@GUS_reports.Z06_RepContent, '\n\n[Formularze]', '\nCount=1');
		
		-- zamiana parametr?a wartosci
		-- SET @GUS_reports.Z06_RepContent = REPLACE(@GUS_reports.Z06_RepContent, '#Rok#', _Rok);
		SET _RepContent = @eVAT7.Content;
		-- SELECT _varSTR_NOTNULL(@GUS_reports.Z06_RepContent) AS _RepContent;
		SELECT IFNULL(@eVAT7.Content, '') AS _RepContent;
		
		-- teraz kluczowa sprawa - wstawienie wygenerowanego XMLa do e_doc
		SET _IDN = _Param_A;
		CALL e_doc_tools('e_doc_po.insert.or.edit', _IDN, IFNULL(@eVAT7.Content, ''), 'CREATE_XML', 'ORYG', '', '', '', '');
		-- SET NAMES cp1250;	
		
	END;  
	
	END IF; 	-- _MODE = 'vat7.xml.create.15'	
		
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat27.rec.insert'
		utworzenie nowego rekordu VAT-27
		Parametry 
				
		IN _MODE 	    VARCHAR(100),    -- 'vat27.rec.insert'
		IN _Year        VARCHAR(50),     -- rok deklaracji
		IN _Month       VARCHAR(50),	 -- miesiac / kwartal
		IN _RecGUID     VARCHAR(38),     -- GUID tworzonego rekordu    	 
		INOUT _RepContent LONGTEXT,      -- tu: puste
		IN _Param_A 	VARCHAR(250),	 -- Cel zlozenia: 1 - zgloszenie, 2 - korekta;  
		IN _Param_B 	VARCHAR(250)	 -- miało być: przyczyna ORD_ZU (dla korekt), ale w tej deklaracji zalacznik ORD-ZU nie wystepuje
		
		CALL e_dekl_vat_tools('vat27.rec.insert', '2015', '6', @GUID, @tmp.rep, '1', '');
		CALL e_dekl_vat_tools('vat27.rec.insert', '2015', '2', @GUID, @tmp.rep, '2', '');
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/			
	IF _MODE = 'vat27.rec.insert' THEN

		CALL _IReg_Get('DaneFirmy', 'Urzad_skarbowy', '0', 'STRING', @US_GUID, '(brak danych)');
				
		-- RegistryInt.GetRegIntValueBoolean('DeklaracjeVAT_kwartalnie', False, '');		
		CALL _IReg_Get('', 'DeklaracjeVAT_kwartalnie', '0', 'BOOLEAN', _kwartalnie, 'FALSE');
	
		INSERT IGNORE INTO ht_dekl_vat27 (GUID, Rok, Miesiac, RodzajDekl, CelZlozenia, US_GUID, przyczyna_ORD_ZU, data_wypelnienia)  
		SELECT 		 						  -- cel zlozenia: 1 - zgloszenie, 2 - korekta;  
			_RecGUID  AS GUID, _varINT(_Year), _varINT(_Month), IF(_kwartalnie, cKwart, cMies), _varINT(_Param_A), @US_GUID,  IF(_varINT(_Month) = 2, _Param_B, ''), DATE(NOW()); 	
			
				
		-- pobranie z opng i wstawienie do ht_dekl_vat27_poz
		
		DROP TEMPORARY TABLE IF EXISTS  t_vat27;
		
		CREATE TEMPORARY TABLE t_vat27
		SELECT kontrGUID, kontrNIP, kontrnazwa, SUM(o.netto) AS kwota, rv_id 
		FROM opng o
		WHERE o.deleted = 0 AND o.rv_id IN (cSpOdwr)  -- sekcja C: cSpOdwr, sekcja D: ???
		AND (YEAR(o.data_vat) = _varINT(_Year))
		AND 
			  IF(_kwartalnie, (QUARTER(o.data_vat) = _varINT(_Month)), (MONTH(o.data_vat) = _varINT(_Month))  )
		
		GROUP BY kontrGUID, rv_id;  -- kontrNIP
		
		select count(*) from t_vat27
		into _JestZD;
		
		IF (_JestZD > 0) THEN 
		    -- wstawiamy rekord tylko wtedy, gdy sa rzeczywiste dane za wskazany miesiac
		/*	INSERT IGNORE INTO ht_dekl_vat_ue (GUID, rok, miesiac, data_wypelnienia, CelZlozenia, RodzajDekl)  
			SELECT 
				 _RecGUID  AS GUID, _Year, _Month, DATE(NOW()), _varINT(_Param_A) AS CelZlozenia, _varINT(_Param_B); 
				 -- cel zlozenia: 1 - zgloszenie, 2 - korekta;  RodzajDekl : 1 - miesięczna, 2 - kwartalna	*/
		
			-- wypelniamy sekcje C, D	 
			INSERT IGNORE INTO ht_dekl_vat27_poz (GUID, deklGUID, grupa, kontrGUID, kontrNIP, kontrNazwa, kwota, zmiana)  
			SELECT 	
				NEWGUID(), _RecGUID  AS deklGUID, (CASE rv_id WHEN cSpOdwr THEN 1 WHEN cSpOdwr THEN 1 END) AS grupa, 
				kontrGUID, kontrNIP, kontrnazwa,
				 -- RIGHT(kontrNIP, LENGTH(kontrNIP)-2) AS kontrNIP, 
				 kwota, 0	
			FROM 
				t_vat27
			ORDER BY kontrGUID, rv_id;
			
			CALL e_dekl_vat_tools('vat27.data.calc', _Year, _Month, _RecGUID, @tmp, '', '');
		END IF;		
		
						
	END IF;	-- IF _MODE = 'vat27.rec.insert' THEN
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat27.data.calc'
		Wyliczenie pól 
		Parametry
		_MODE			Tryb pracy
		IN _Year      VARCHAR(50),  nieuzywane
		IN _Month     VARCHAR(50),  nieuzywane
		IN _RecGUID     GUID  rekordu				 
		INOUT _RepContent     Wygenerowana zawartość pliku XML
		
		CALL e_dekl_vat_tools('vat27.data.calc', '', '', @recGUID, @tmp.rep);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat27.data.calc' THEN
					
		SELECT 
			IFNULL(SUM(IF(grupa = 1, IFNULL(kwota, 0), 0)), 0) AS sumaC,
			IFNULL(SUM(IF(grupa = 2, IFNULL(kwota, 0), 0)), 0) AS sumaD
		FROM	
			ht_dekl_vat27_poz
		WHERE deklGUID = _RecGUID
		INTO
		  @vat27.sumaC, @vat27.sumaD;		
					
		-- dzial C
		UPDATE 
			ht_dekl_vat27
		SET           
		  suma_C  = IFNULL(@vat27.sumaC, suma_C),
		  suma_D  = IFNULL(@vat27.sumaD, suma_D)
		WHERE 
			GUID = _RecGUID;	
		
																										
	END IF; 	-- _MODE = 'vat27.data.calc'	
	
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat27.poz.select'
		Pobranie danych do okna edycyjnego dekalaracji VAT UE   (mode nieuzywany)
		Parametry
		_MODE			Tryb pracy
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RecGUID     GUID tworzonego rekordu		- tylko ten parametr jest tu używany
		INOUT _RepContent     tutaj: nieużywane
		IN _Param_A 	VARCHAR(250),	  -- cel złożenia (deklaracja / korekta deklaracji) : dla VAT UE zawsze =1
    	IN _Param_B 	VARCHAR(250)	  -- okresla, czy jest to zeznanie miesieczne czy kwartalne, określane na podst. klucza IREG
		
		CALL e_dekl_vat_tools('vat27.poz.select', '2013', '6', 'VAT_UE_2013_6', @_eDeklContent, '1', '1');
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat27.poz.select' THEN
						
		SELECT 
		-- 'C.Informacja o dostawach towarów'
		-- 'D.Informacja o swiadczonych usługach' 			
		 p.GUID, p.deklGUID, p.grupa, 				
		 p.kontrNazwa, p.kontrNIP, p.kwota, p.zmiana 
		FROM 
			ht_dekl_vat_ue_poz p
		WHERE deklGUID = _RecGUID
		ORDER BY grupa;
								
	END IF; 	-- _MODE = 'vat27.poz.select'	
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat27.xml.create'
		
		Parametry 
		_MODE		  Tryb pracy
		IN _GUID      GUID  rekordu	w ht_dekl_vat27
		IN _ParamA 	  IDN 	rekordu w e_doc_ng
				
		CALL e_dekl_vat_tools('vat27.xml.create', '', '',  @recGUID, @tmp.rep, '534', '');
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/			
IF _MODE = 'vat27.xml.create' THEN

	SET @eCIT.xml = '';
	SET @xml.IC = 1;
		
	SET @eCIT.xml = '<?xml version="1.0" encoding="UTF-8" ?>\n';
	SET @eCIT.prolog =	 @eCIT.xml;
	
	SELECT 
			CelZlozenia, RodzajDekl, rok, miesiac, US_GUID, d.doc_id, _varSTR(d.form_ver), 
			d.doc_type,	p.data_wypelnienia, p.tel_kontakt, 	-- przyczyna_ORD_ZU,			-- przyczyna korekty
			d.ID, d.doc_ver, d.doc_owner, 
			_varDOUBLE_NOTNULL(suma_C), _varDOUBLE_NOTNULL(suma_D)
			 
	FROM 
		ht_dekl_vat27 p, e_doc_def d -- , osoby o
	WHERE 
		p.GUID = _RecGUID AND  p.e_Doc_Def_ID = d.owner_doc_Id -- _e_doc_id, _doc_ver, _form_ver, _e_doc_type, _e_Doc_Def_ID, _OkresOd, _OkresDo;
	INTO 
		  _CelZlozenia, _RodzajDekl, _Rok, _Okres, _US_GUID, _e_doc_id, _form_ver, 
		  _e_doc_type,  _data_wypelnienia,  _tel_kontakt, -- @_przyczyna_ORD_ZU,
		  _e_Doc_Def_ID, _doc_ver, _kodPodatku,
		  _C_kwota_ogolem, _D_kwota_ogolem		  		  ;  
		  
		
	SET @eCIT.xml = CONCAT(@eCIT.xml, '<Deklaracja xmlns="', _e_Doc_Def_ID, '" ');
	
	SET @eCIT.xml = CONCAT(@eCIT.xml, cDefTypySchema, '\n');		
	SET @eCIT.xmlns = @eCIT.xml;
		
	-- <Naglowek> 
	SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<Naglowek>\n');
				  			
			SET @xml.IC = @xml.IC + 1;	
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<KodFormularza kodPodatku="', _kodPodatku,'" kodSystemowy="', _e_doc_id, '" rodzajZobowiazania="Z" wersjaSchemy="', _doc_ver, '">', _e_doc_type, '</KodFormularza>\n');
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<WariantFormularza>', _form_ver, '</WariantFormularza>\n');  -- ew. e_doc_def.form_ver	   
			
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<CelZlozenia poz="P_8">');				
			SET @eCIT.xml = CONCAT(@eCIT.xml, _CelZlozenia);  --    <CelZlozenia poz="P_7">1</CelZlozenia>
			SET @eCIT.xml = CONCAT(@eCIT.xml, '</CelZlozenia>\n');
			
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<Rok>');				
			SET @eCIT.xml = CONCAT(@eCIT.xml, _Rok);  
			SET @eCIT.xml = CONCAT(@eCIT.xml, '</Rok>\n');
			
			SET _P_nazwa = IF(_RodzajDekl = cMies, 'Miesiac', 'Kwartal');
									
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<', _P_nazwa, '>');				
			SET @eCIT.xml = CONCAT(@eCIT.xml, _Okres);  
			SET @eCIT.xml = CONCAT(@eCIT.xml, '</', _P_nazwa, '>\n');  
			
			SET _KodUS = '';		
			SELECT KOD_urzedu FROM `US`
			WHERE guid = _US_GUID
			into _KodUS;  
			
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<KodUrzedu>');				
			SET @eCIT.xml = CONCAT(@eCIT.xml, _KodUS);  
			SET @eCIT.xml = CONCAT(@eCIT.xml, '</KodUrzedu>\n');
		
			SET @xml.IC = @xml.IC - 1;		
	SET @eCIT.xml = CONCAT(@eCIT.xml,  SPACE(@xml.IC*cSL), '</Naglowek>\n');		
	SET @eCIT.header = @eCIT.xml;
	--  </Naglowek> koniec sekcji 
	
	-- Podmiot1  rola: Podatnik
	CALL e_dekl_vat_tools('xml.insert.podmiot1', '', '', '', @eDekl.P1, '', '');
	SET @eCIT.xml = CONCAT(@eCIT.xml, REPLACE(IFNULL(@eDekl.P1, 'pusty P1'), 'etd:', ''));   -- tu trzeba usunac etd:
	
	SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<PozycjeSzczegolowe>\n');
		SET @xml.IC = @xml.IC + 1;
		
		BEGIN
		    DECLARE _zmiana INTEGER;
			DECLARE _done BOOL DEFAULT FALSE;
			DECLARE _c_dane_sekcji CURSOR FOR			
			select  
				replace(kontrNazwa, '&', '&amp;') AS kontrNazwa, kontrNIP, kwota, zmiana
			from 
				ht_dekl_vat27_poz
			WHERE deklGUID = _RecGUID  and grupa = _Grupa	;
				
			DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = TRUE;		
		
			SET _done = FALSE;
		
			-- grupa 1	(sekcja C. "INFORMACJA O DOSTAWACH TOWARÓW...")		
			SET _Grupa = 1;  
			
			select 
				count(*) 
			from 
				ht_dekl_vat27_poz 
			where 
				grupa = _Grupa
			into _JestZD;
			
			IF _JestZD > 0 THEN
				SET @tmp.msg = 'VAT-27, sekcja C';
				OPEN _c_dane_sekcji;
				loop_C: LOOP 
					FETCH 
						_c_dane_sekcji 
					INTO 	
						_PelnaNazwa, _id_VAT_kontrah, _kwota_transakcji, _zmiana;
					IF _done THEN
							LEAVE loop_C;  
						ELSE
						  SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<Grupa_C typ="G">\n');	
							SET @xml.IC = @xml.IC + 1;
							
							IF (_CelZlozenia = cKorekta) AND (_zmiana = 1) THEN
								SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_C1>');				
								SET @eCIT.xml = CONCAT(@eCIT.xml, _zmiana);   -- zmiana danych: 1 - tak
								SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_C1>\n');
							END IF;
						  
							SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_C2>');				
							SET @eCIT.xml = CONCAT(@eCIT.xml, _PelnaNazwa);  
							SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_C2>\n');
							
							SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_C3>');				
							SET @eCIT.xml = CONCAT(@eCIT.xml, _id_VAT_kontrah);  
							SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_C3>\n');
							
							SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_C4>');				
							SET @eCIT.xml = CONCAT(@eCIT.xml, _kwota_transakcji);  
							SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_C4>\n');
							
							SET @xml.IC = @xml.IC - 1;	
						  SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '</Grupa_C>\n');
					END IF;		
				END LOOP;
				CLOSE _c_dane_sekcji;					
			END IF; -- IF _JestZD > 0 THEN  (sekcja C)
			-- <xsd:element name="P_11" type="etd:TKwota2">  Razem - suma kwot z kolumny d (P_C4)
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_11>');				
			SET @eCIT.xml = CONCAT(@eCIT.xml, _C_kwota_ogolem);  
			SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_11>\n');
			
			-- grupa 2	(sekcja D. "INFORMACJA O ŚWIADCZONYCH USŁUGACH...")					
			SET _done = FALSE;
			SET _JestZD = 0;
			SET _Grupa = 2;
				
			select 
				count(*) 
			from 
				ht_dekl_vat27_poz 
			where 
				grupa = _Grupa
			into _JestZD;
			
			IF _JestZD > 0 THEN
				SET @tmp.msg = 'VAT-27, sekcja D';
				OPEN _c_dane_sekcji;
				loop_D: LOOP 
					FETCH 
						_c_dane_sekcji 
					INTO 	
						_PelnaNazwa, _id_VAT_kontrah, _kwota_transakcji, _zmiana;
					IF _done THEN
							LEAVE loop_D;  
					ELSE
						  SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<Grupa_D typ="G">\n');	
							SET @xml.IC = @xml.IC + 1;
							
							IF (_CelZlozenia = cKorekta) AND (_zmiana = 1) THEN
								SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_D1>');				
								SET @eCIT.xml = CONCAT(@eCIT.xml, _zmiana);   -- zmiana danych: 1 - tak
								SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_D1>\n');
							END IF;
						  
							SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_D2>');				
							SET @eCIT.xml = CONCAT(@eCIT.xml, _PelnaNazwa);  
							SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_D2>\n');
							
							SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_D3>');				
							SET @eCIT.xml = CONCAT(@eCIT.xml, _id_VAT_kontrah);  
							SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_D3>\n');
							
							SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_D4>');				
							SET @eCIT.xml = CONCAT(@eCIT.xml, _kwota_transakcji);  
							SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_D4>\n');
													
							SET @xml.IC = @xml.IC - 1;									
						  SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '</Grupa_D>\n');
					END IF;		
				END LOOP;
				CLOSE _c_dane_sekcji;
				
			END IF;  -- IF _JestZD > 0 THEN  (sekcja D)
			-- <xsd:element name="P_12" type="etd:TKwota2">  Razem - suma kwot z kolumny d (P_D4)
			SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_12>');				
			SET @eCIT.xml = CONCAT(@eCIT.xml, _D_kwota_ogolem);  
			SET @eCIT.xml = CONCAT(@eCIT.xml, '</P_12>\n');
									
		END;
		
		IF LENGTH(_tel_kontakt) > 0 THEN
			  SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_15>', _tel_kontakt, '</P_15>\n');
		END IF;
			
		IF LENGTH(_data_wypelnienia) > 0 THEN
			  SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '<P_16>', _data_wypelnienia, '</P_16>\n');
		END IF;
	
		SET @xml.IC = @xml.IC - 1;
	SET @eCIT.xml = CONCAT(@eCIT.xml, SPACE(@xml.IC*cSL), '</PozycjeSzczegolowe>\n');	
	SET @eCIT.xml = CONCAT(@eCIT.xml, '<Pouczenie>Za podanie nieprawdy lub zatajenie prawdy grozi odpowiedzialność przewidziana w Kodeksie karnym skarbowym.</Pouczenie>\n');
	SET @eCIT.xml = CONCAT(@eCIT.xml, '</Deklaracja>');

	-- teraz kluczowa sprawa - wstawienie wygenerowanego XMLa do e_doc
	CALL e_doc_tools('e_doc_po.insert.or.edit', _Param_A, IFNULL(@eCIT.xml, 'XML NULL'), 'CREATE_XML', 'ORYG', '', '', '', '');
	

END IF;	-- IF _MODE = 'vat27.xml.create' 
	
	
		
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat.xml.insert.ORD_ZU'
		Dla korekt dołączamy załącznik z przyczyna korekty
		Parametry - do zrewidowania
		_MODE		  Tryb pracy
		INOUT _RepContent LONGTEXT  XML, do którego wstawiamy zalacznik,	
		
		CALL pit_tools('vat.xml.insert.ORD_ZU', '', '', '', @CIT.XML, '', '');
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/			
  IF _MODE = 'vat.xml.insert.ORD_ZU' THEN
	SET @xml.IC = @xml.IC + 1;
	SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '<zzu:Zalacznik_ORD-ZU xmlns:zzu="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/10/07/eD/ORDZU/">\n');
	  SET @xml.IC = @xml.IC + 1;
	  SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '<zzu:Naglowek>\n');
		SET @xml.IC = @xml.IC + 1;
		SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '<zzu:KodFormularza kodSystemowy="ORD-ZU (2)" wersjaSchemy="2-0E">ORD-ZU</zzu:KodFormularza>\n');
		SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '<zzu:WariantFormularza>2</zzu:WariantFormularza>\n');					
		SET @xml.IC = @xml.IC - 1;
	  SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '</zzu:Naglowek>\n');
	  
	  SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '<zzu:PozycjeSzczegolowe>\n');
		SET @xml.IC = @xml.IC + 1;
		SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '<zzu:P_13>');
		SET _RepContent = CONCAT(_RepContent,  @_przyczyna_ORD_ZU);
		SET _RepContent = CONCAT(_RepContent, '</zzu:P_13>\n');
		SET @xml.IC = @xml.IC - 1;
	  SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '</zzu:PozycjeSzczegolowe>\n');	
	  SET @xml.IC = @xml.IC - 1;
	SET _RepContent = CONCAT(_RepContent, SPACE(@xml.IC*cSL), '</zzu:Zalacznik_ORD-ZU>\n');					
	SET @xml.IC = @xml.IC - 1;
  END IF;	
	
	
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'xml.insert.podmiot1'  
		Wstawienie danych podatnika do XMLa z:
		
		a) deklaracja VAT (Podmiot1 = TPodmiotDowolnyBezAdresu2  rola = "Podatnik")
		b) deklaracją CIT (Podmiot1 = TOsobaNiefizyczna  		 rola = "Podatnik" )
				
		TPodmiotDowolnyBezAdresu2 =	OsobaNiefizyczna lub OsobaFizyczna	
		TOsobaNiefizyczna 		  = OsobaNiefizyczna  +  AdresSiedziby(TAdres)
	
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),	
		INOUT _RepContent LONGTEXT,	 dostaniemy tu wynikowy XML Podmiot1	
		IN _Param_A   '' w przypadku dekl. VAT, 'AdresSiedziby' w przypadku CIT
				
		CALL e_dekl_vat_tools('xml.insert.podmiot1', '', '', '', @eDekl.P1, '', '');
		CALL e_dekl_vat_tools('xml.insert.podmiot1', '', '', '', @eDekl.P1, 'AdresSiedziby', '');
		SET @eCIT.xml = CONCAT(@eCIT.xml, @eDekl.P1); 
		
		
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		
	IF _MODE = 'xml.insert.podmiot1' THEN  -- spr. jak dla pozost. VAT - byc moze trzeba bedzie usunac "etd:"
	BEGIN	

	-- DECLARE  _PESEL_podatnika VARCHAR(11);
	DECLARE _REGON, _NIP     VARCHAR(20);
	DECLARE _Platnik_nazwisko, _Platnik_imie, _PelnaNazwa VARCHAR(200);  
	DECLARE _RodzPodat INTEGER;
	DECLARE _WojewIdn, _PowiatIdn, _GminaIdn, _MiastoIdn, _PocztaIdn INTEGER;
	DECLARE _Miasto,  _Wojewodztwo, _Powiat, _Gmina,  _Poczta   VARCHAR(50);			
	
	
	DECLARE _Platnik_data_urodzenia DATE;
	
	
		SET @tmp := 	@xml.IC * cSL;
		SET @P1.xml = '';
		SET @P1.xml = CONCAT(@P1.xml,  SPACE(@xml.IC*cSL), '<Podmiot1 rola="Podatnik">\n'); 
		
		CALL _IReg_Get('DaneFirmy', 'NIP', '0', 'STRING', _NIP, '(brak danych)'); 
		SET _NIP = REPLACE(_NIP, '-', '');				
		SET _RodzPodat = 0;
		CALL _IReg_Get('DaneFirmy', 'Rodzaj_platnika', '0', 'INTEGER', _RodzPodat, '0'); 
		
		SET @xml.IC = @xml.IC + 1;
				
		IF _RodzPodat = 0 THEN  -- osoba nie-fiz.
					
					-- wstawiamy TIdentyfikatorOsobyNiefizycznej : NIP, pelna_nazwa, REGON
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:OsobaNiefizyczna>\n'); 
				
					SET @xml.IC = @xml.IC + 1;
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:NIP>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_NIP, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:NIP>\n');
					
					CALL _IReg_Get('DaneFirmy', 'pelna_nazwa', '0', 'STRING', _PelnaNazwa, ''); 
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:PelnaNazwa>');				
					SET @P1.xml = CONCAT(@P1.xml, REPLACE(_PelnaNazwa, '&', '&#x26;'));    -- _PelnaNazwa
					SET @P1.xml = CONCAT(@P1.xml, '</etd:PelnaNazwa>\n');
					
					CALL _IReg_Get('DaneFirmy', 'REGON', '0', 'STRING', _REGON, '(brak danych)'); 	
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:REGON>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_REGON, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:REGON>\n');
					
				SET @xml.IC = @xml.IC - 1;	
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '</etd:OsobaNiefizyczna>\n'); 		
			
		END IF;
			
		IF _RodzPodat = 1 THEN  -- osoba fiz.
			SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:OsobaFizyczna>\n'); 
			
				-- wstawiamy TIdentyfikatorOsobyFizycznej2 : NIP, imie, nazwisko, data urodz.
				SET @xml.IC = @xml.IC + 1;			
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:NIP>');				
				SET @P1.xml = CONCAT(@P1.xml, _NIP);  
				SET @P1.xml = CONCAT(@P1.xml, '</etd:NIP>\n');
				
				CALL _IReg_Get('DaneFirmy', 'Platnik_imie', '0', 'STRING', _Platnik_imie, ''); 
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:ImiePierwsze>');				
				SET @P1.xml = CONCAT(@P1.xml, _Platnik_imie);    
				SET @P1.xml = CONCAT(@P1.xml, '</etd:ImiePierwsze>\n');
				
				CALL _IReg_Get('DaneFirmy', 'Platnik_nazwisko', '0', 'STRING', _Platnik_nazwisko, ''); 
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Nazwisko>');				
				SET @P1.xml = CONCAT(@P1.xml, _Platnik_nazwisko);  
				SET @P1.xml = CONCAT(@P1.xml, '</etd:Nazwisko>\n');
				
				CALL _IReg_Get('DaneFirmy', 'Platnik_data_urodzenia', '0', 'DATE', _Platnik_data_urodzenia, ''); 
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:DataUrodzenia>');				
				SET @P1.xml = CONCAT(@P1.xml, _Platnik_data_urodzenia);  
				SET @P1.xml = CONCAT(@P1.xml, '</etd:DataUrodzenia>\n');
			
			SET @xml.IC = @xml.IC - 1;	
			SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '</etd:OsobaFizyczna>\n'); 
		END IF;
		
		SET @P1.xml.header = @P1.xml ;
		
		IF _Param_A = 'AdresSiedziby' THEN  -- CIT: Podmiot1 = OsobaNiefizyczna  +  AdresSiedziby(TAdres)
			-- SET @xml.IC = @xml.IC + 1;	
			
			-- dane do AdresSiedziby - sekcja wstawiana dla CIT
			CALL _IReg_Get('DaneFirmy', 'Ulica', '0', 'STRING', _Ulica, ''); 
			CALL _IReg_Get('DaneFirmy', 'Nr_domu', '0', 'STRING', _Nr_domu, ''); 			
			CALL _IReg_Get('DaneFirmy', 'Nr_lokalu', '0', 'STRING', _Nr_lokalu, ''); 
			CALL _IReg_Get('DaneFirmy', 'Miasto', '0', 'INTEGER', _MiastoIdn, '0'); 
				
			SELECT NazwaMiasta FROM `Miasta` WHERE idn = _MiastoIdn INTO _Miasto;
			
			CALL _IReg_Get('DaneFirmy', 'Kod_poczt', '0', 'STRING', _Kod_poczt, ''); 
			CALL _IReg_Get('DaneFirmy', 'Miasto', '0', 'INTEGER', _PocztaIdn, '0'); 
			SELECT NazwaMiasta FROM `Miasta` WHERE idn = _PocztaIdn INTO _Poczta;	

			CALL _IReg_Get('DaneFirmy', 'Wojewodztwo', '0', 'INTEGER', _WojewIdn, '0'); 
			select nazwa 
			from 
				wojewodztwa 
			where idn = _WojewIdn
			into _Wojewodztwo;
			
			CALL _IReg_Get('DaneFirmy', 'powiat', '0', 'INTEGER', _PowiatIdn, '0'); 
			
			select powiat
			from 
				powiaty 
			where idn = _PowiatIdn
			into _Powiat;
			
			CALL _IReg_Get('DaneFirmy', 'gmina', '0', 'INTEGER', _GminaIdn, '0'); 
			
			select gmina
			from 
				gminy
			where idn = _GminaIdn
			into _Gmina; 
				
			SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:', _Param_A, ' rodzajAdresu="RAD">\n');
				SET @xml.IC = @xml.IC + 1;	
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:AdresPol>\n');
					SET @xml.IC = @xml.IC + 1;	
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:KodKraju>PL</etd:KodKraju>\n');
						
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Wojewodztwo>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Wojewodztwo, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:Wojewodztwo>\n');
					
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Powiat>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Powiat, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:Powiat>\n');
					
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Gmina>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Gmina, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:Gmina>\n');
					
					IF LENGTH(_Ulica) > 0 THEN
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Ulica>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Ulica, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:Ulica>\n');
					END IF;
					
					-- IF LENGTH(_Nr_domu) > 0 THEN
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:NrDomu>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Nr_domu, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:NrDomu>\n');
					-- END IF;
					
					IF LENGTH(_Nr_lokalu) > 0 THEN
						SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:NrLokalu>');									
						SET @P1.xml = CONCAT(@P1.xml, _Nr_lokalu);  
						SET @P1.xml = CONCAT(@P1.xml, '</etd:NrLokalu>\n');
					END IF;
					
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Miejscowosc>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Miasto, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:Miejscowosc>\n');
					
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:KodPocztowy>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Kod_poczt, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:KodPocztowy>\n');
					
					SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '<etd:Poczta>');				
					SET @P1.xml = CONCAT(@P1.xml, IFNULL(_Poczta, ''));  
					SET @P1.xml = CONCAT(@P1.xml, '</etd:Poczta>\n');
								
					SET @xml.IC = @xml.IC - 1;					
				SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '</etd:AdresPol>\n');
				SET @xml.IC = @xml.IC - 1;	
			SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '</etd:', _Param_A, '>\n');
				
				
		--	SET @xml.IC = @xml.IC - 1;	
		END IF; -- IF _Param_A = 'AdresSiedziby' THEN
		
		SET @xml.IC = @xml.IC - 1;		
		SET @P1.xml = CONCAT(@P1.xml, SPACE(@xml.IC*cSL), '</Podmiot1>\n');	

		SET _RepContent	= @P1.xml;  -- zwracamy XML Podmiot1
	END;
	
	
	END IF;  -- IF _MODE = 'xml.insert.podmiot1' THEN
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.data.calc'
		Wyliczenie pól 
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RepContent     Wygenerowana zawartość pliku XML
		
		CALL e_dekl_vat_tools('vat7.data.calc', '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat7.data.calc' THEN

		-- (dzial C i D)
		UPDATE 
			ht_dekl_vat7
		SET -- P_45, P_46 to wiersz "C.razem"
			P_45 = IFNULL(P_20, 0) + IFNULL(P_21, 0) + IFNULL(P_23, 0) + IFNULL(P_25, 0) + IFNULL(P_27, 0) + IFNULL(P_29, 0) + IFNULL(P_31, 0) + 
				IFNULL(P_32, 0) + IFNULL(P_33, 0) + IFNULL(P_35, 0) + IFNULL(P_37, 0) + IFNULL(P_39, 0) + 
			-- P_41 (z wer. 14) zostalo zastapione przez C_13_podst + C_14_podst + C_15_podst
			IFNULL(C_13_podst, 0) + IFNULL(C_14_podst, 0) + IFNULL(C_15_podst, 0),
			P_46 = IFNULL(P_26, 0) + IFNULL(P_28, 0) + IFNULL(P_30, 0) + IFNULL(P_34, 0) + IFNULL(P_36, 0) + IFNULL(P_38, 0) + IFNULL(P_40, 0) + 
			-- P_42 (z wer. 14) zostalo zastapione przez  C_14_podatek + C_15_podatek
			IFNULL(C_14_podatek, 0) + IFNULL(C_15_podatek, 0) + 
			+ IFNULL(P_43, 0) + IFNULL(C_zwrot_zakup_kas, 0) - IFNULL(P_44, 0),
			P_55 = IFNULL(P_47, 0) + IFNULL(P_48, 0) + IFNULL(P_50, 0) + IFNULL(P_52, 0) + IFNULL(P_53, 0) + IFNULL(P_54, 0) 
		WHERE 
			GUID = _RecGUID;
	
	    -- dzial E
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_58 = IF(IFNULL(P_46, 0) > P_55, IFNULL(P_46, 0) - P_55 - IFNULL(P_56, 0) - IFNULL(P_57, 0), 0),
			P_60 = IF(IFNULL(P_46, 0) <= P_55, P_55 - IFNULL(P_46, 0) + IFNULL(P_59, 0), 0)
		WHERE 
			GUID = _RecGUID;
			
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_65 = P_60 - IFNULL(P_61, 0) 
		WHERE 
			GUID = _RecGUID AND P_60 > 0;
								
		UPDATE 
			ht_dekl_vat7	
		SET
            P_74 = IF( (select count(*) from ht_dekl_vat7_zd where deklGUID = _RecGUID) > 0, 1, 0)		
		WHERE 
			GUID = _RecGUID and P_73 = 1;	-- jesli zaznaczono dołączenie załącznika VAT-ZD, to uzupełniamy pole z liczbą zalacznikow
			
	
	END IF; 	-- _MODE = 'vat7.data.calc'	
	
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.data.calc.201507'
		Wyliczenie pól 
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RepContent     Wygenerowana zawartość pliku XML
		
		CALL e_dekl_vat_tools('vat7.data.calc.201507', '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat7.data.calc.201507' THEN

		-- (dzial C i D)
		UPDATE 
			ht_dekl_vat7
		SET  -- P_45, P_46 to wiersz "C.razem"
			P_45 = IFNULL(P_20, 0) + IFNULL(P_21, 0) + IFNULL(P_23, 0) + IFNULL(P_25, 0) + IFNULL(P_27, 0) + IFNULL(P_29, 0) + IFNULL(P_31, 0) + 
				IFNULL(P_32, 0) + IFNULL(P_33, 0) + IFNULL(P_35, 0) + IFNULL(P_37, 0) + IFNULL(P_39, 0) + 
			-- P_41 (z wer. 14) zostalo zastapione przez C_13_podst + C_14_podst + C_15_podst
			IFNULL(C_13_podst, 0) + IFNULL(C_14_podst, 0) + IFNULL(C_15_podst, 0),
			P_46 = IFNULL(P_26, 0) + IFNULL(P_28, 0) + IFNULL(P_30, 0) + IFNULL(P_34, 0) + IFNULL(P_36, 0) + IFNULL(P_38, 0) + IFNULL(P_40, 0) + 
			-- P_42 (z wer. 14) zostalo zastapione przez  C_14_podatek + C_15_podatek
			IFNULL(C_14_podatek, 0) + IFNULL(C_15_podatek, 0) + 
			+ IFNULL(P_43, 0)  + IFNULL(C_zwrot_zakup_kas, 0) - IFNULL(P_44, 0),
			P_55 = IFNULL(P_47, 0) + IFNULL(P_48, 0) + IFNULL(P_50, 0) + IFNULL(P_52, 0) + IFNULL(P_53, 0) + IFNULL(P_54, 0) 
		WHERE 
			GUID = _RecGUID;
	
	    -- dzial E
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_58 = IF(IFNULL(P_46, 0) > P_55, IFNULL(P_46, 0) - P_55 - IFNULL(P_56, 0) - IFNULL(P_57, 0), 0),
			P_60 = IF(IFNULL(P_46, 0) <= P_55, P_55 - IFNULL(P_46, 0) + IFNULL(P_59, 0), 0)
		WHERE 
			GUID = _RecGUID;
			
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_65 = P_60 - IFNULL(P_61, 0) 
		WHERE 
			GUID = _RecGUID AND P_60 > 0;
								
		UPDATE 
			ht_dekl_vat7	
		SET
            P_74 = IF( (select count(*) from ht_dekl_vat7_zd where deklGUID = _RecGUID) > 0, 1, 0)		
		WHERE 
			GUID = _RecGUID and P_73 = 1;	-- jesli zaznaczono dołączenie załącznika VAT-ZD, to uzupełniamy pole z liczbą zalacznikow
			
	
	END IF; 	-- _MODE = 'vat7.data.calc.201507'
	
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.data.calc.201304'
		Wyliczenie pól 
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RepContent     Wygenerowana zawartość pliku XML
		
		CALL e_dekl_vat_tools('vat7.data.calc.201304', '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat7.data.calc.201304' THEN

		-- (dzial C i D)
		UPDATE 
			ht_dekl_vat7
		SET 
			P_45 = P_20 + P_21 + + IFNULL(P_23, 0) + P_25 + P_27 + P_29 + IFNULL(P_31, 0) + P_32 + P_33 + P_35 + P_37 + P_41, 
			P_46 = P_26 + P_28 + P_30 + P_34 + IFNULL(P_36, 0) + P_38 + P_42 + IFNULL(P_43, 0) - IFNULL(P_44, 0),
			P_55 = IFNULL(P_47, 0) + IFNULL(P_48, 0) + IFNULL(P_50, 0) + IFNULL(P_52, 0) + IFNULL(P_53, 0) + IFNULL(P_54, 0) 
		WHERE 
			GUID = _RecGUID;
	
	    -- dzial E
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_58 = IF(IFNULL(P_46, 0) > P_55, IFNULL(P_46, 0) - P_55 - IFNULL(P_56, 0) - IFNULL(P_57, 0), 0),
			P_60 = IF(IFNULL(P_46, 0) <= P_55, P_55 - IFNULL(P_46, 0) + IFNULL(P_59, 0), 0)
		WHERE 
			GUID = _RecGUID;
			
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_65 = P_60 - IFNULL(P_61, 0) 
		WHERE 
			GUID = _RecGUID AND P_60 > 0;
								
		UPDATE 
			ht_dekl_vat7	
		SET
            P_74 = IF( (select count(*) from ht_dekl_vat7_zd where deklGUID = _RecGUID) > 0, 1, 0)		
		WHERE 
			GUID = _RecGUID and P_73 = 1;	-- jesli zaznaczono dołączenie załącznika VAT-ZD, to uzupełniamy pole z liczbą zalacznikow
			
	
	END IF; 	-- _MODE = 'vat7.data.calc.201304'
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.data.calc.201601'
		Wyliczenie pól 
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RepContent     Wygenerowana zawartość pliku XML
		
		CALL e_dekl_vat_tools('vat7.data.calc.201601', '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat7.data.calc.201601' THEN

		-- (dzial C i D)
		UPDATE 
			ht_dekl_vat7
		SET  -- P_45, P_46 to wiersz "C.razem"
			P_45 = IFNULL(P_20, 0) + IFNULL(P_21, 0) + IFNULL(P_23, 0) + IFNULL(P_25, 0) + IFNULL(P_27, 0) + IFNULL(P_29, 0) + IFNULL(P_31, 0) + 
				IFNULL(P_32, 0) + IFNULL(P_33, 0) + IFNULL(P_35, 0) + IFNULL(P_37, 0) + IFNULL(P_39, 0) + 
			-- P_41 (z wer. 14) zostalo zastapione przez C_13_podst + C_14_podst + C_15_podst
			IFNULL(C_13_podst, 0) + IFNULL(C_14_podst, 0) + IFNULL(C_15_podst, 0),
			P_46 = IFNULL(P_26, 0) + IFNULL(P_28, 0) + IFNULL(P_30, 0) + IFNULL(P_34, 0) + IFNULL(P_36, 0) + IFNULL(P_38, 0) + IFNULL(P_40, 0) + 
			-- P_42 (z wer. 14) zostalo zastapione przez  C_14_podatek + C_15_podatek
			IFNULL(C_14_podatek, 0) + IFNULL(C_15_podatek, 0) + 
			+ IFNULL(P_43, 0)  + IFNULL(C_zwrot_zakup_kas, 0) - IFNULL(P_44, 0),
			P_55 = IFNULL(P_47, 0) + IFNULL(P_48, 0) + IFNULL(P_50, 0) + IFNULL(P_52, 0) + IFNULL(P_53, 0) + IFNULL(P_54, 0) 
		WHERE 
			GUID = _RecGUID;
	
	    -- dzial E
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_58 = IF(IFNULL(P_46, 0) > P_55, IFNULL(P_46, 0) - P_55 - IFNULL(P_56, 0) - IFNULL(P_57, 0), 0),
			P_60 = IF(IFNULL(P_46, 0) <= P_55, P_55 - IFNULL(P_46, 0) + IFNULL(P_59, 0), 0)
		WHERE 
			GUID = _RecGUID;
			
		-- P_60 = 54. Nadwyżka podatku naliczonego nad należnym	
		-- P_61 = 55. Kwota do zwrotu na rachunek bankowy wskazany przez podatnika	
		-- P_65 = 59. Kwota do przeniesienia na następny okres rozliczeniowy;
		IF(@session.globals.Owner IN ('STANPOL'))  THEN  -- ew. dać klucz IReg "kwota do zwrotu na rachunek bankowy"			
			UPDATE 
				ht_dekl_vat7
			SET 	
				P_61 = P_60, -- "Kwota do zwrotu na rachunek bankowy"
				P_63 = P_60  -- " w tym kwota do zwrotu w terminie 60 dni"
			WHERE 
				GUID = _RecGUID AND P_60 > 0;
		END IF;
		
		UPDATE 
			ht_dekl_vat7
		SET 	
			P_65 = P_60 - IFNULL(P_61, 0) -- Kwota do przeniesienia na następny okres rozliczeniowy
		WHERE 
			GUID = _RecGUID AND P_60 > 0;
								
		UPDATE 
			ht_dekl_vat7	
		SET
            P_74 = IF( (select count(*) from ht_dekl_vat7_zd where deklGUID = _RecGUID) > 0, 1, 0)		
		WHERE 
			GUID = _RecGUID and P_73 = 1;	-- jesli zaznaczono dołączenie załącznika VAT-ZD, to uzupełniamy pole z liczbą zalacznikow
			
	
	END IF; 	-- _MODE = 'vat7.data.calc.201601'
	
	
		
	IF _MODE = 'standard.vat7.data.prepare' THEN
	
		CREATE TEMPORARY TABLE	t_vat7 AS		
		SELECT -- * from t_vat7
			 _RecGUID  AS GUID, _Param_B, _Year, _Month, DATE(NOW()), 1 AS edit, _varINT(_Param_A) AS p07, -- cel zlozenia: 1 - zgloszenie, 2 - korekta zgloszenia			
			SUM(IF(o.rv_id = 2021, o.tabwartnetto6, 0)) AS kwota20,	  -- C.1
			SUM(IF(o.rv_id in(cUSL_UE, cUSL_poza_UE), o.netto, 0)) AS kwota21,   -- C.2
			SUM(IF(o.rv_id = cUSL_UE, o.netto, 0)) AS kwota22,   		  -- C.2a
			SUM(IF(o.rv_id = 2021, o.tabwartnetto5, 0)) AS kwota23,	  -- C.3
			SUM(IF(o.rv_id = 2021, o.tabwartnetto5, 0)) AS kwota24,	  -- C.3a
			-- rejestry : 2021 = sprzedaży krajowej, 2041 = "rejestr korekt VAT 150 dni - sprzedaż"
			SUM(IF(o.rv_id in(2021, 2041), IF(_Year < 2016, o.tabwartnetto3, 0) + o.tabwartnetto9, 0)) AS kwota25,	  -- C.4   -- do 2016r. bylo 3% lub 5%, od 2016: tylko 5%  (tabwartnetto9 = 5%)
			SUM(IF(o.rv_id in(2021, 2041), IF(_Year < 2016, o.tabwartvat3, 0) + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT
			-- SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat3 + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto2 + o.tabwartnetto11, 0)) AS kwota27,	  -- C.5
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat2 + o.tabwartvat11, 0)) AS kwota28,	  -- C.5 VAT
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto1 + o.tabwartnetto10, 0)) AS kwota29,	  -- C.6
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat1 + o.tabwartvat10, 0)) AS kwota30,	  -- C.6 VAT   2021 = cSpKraj
			SUM(IF(o.rv_id = 2023, o.netto, 0)) AS kwota31,   		  -- C.7 (WDT)
			SUM(IF(o.rv_id = 2022, o.netto, 0)) AS kwota32,   		  -- C.8 (Eksport towar?
			SUM(IF(o.rv_id = 2024, o.netto, 0)) AS kwota33,   		  -- C.9 (WNT)
			SUM(IF(o.rv_id = 2024, o.vat, 0)) AS kwota34,   		  -- C.9 VAT (WNT)
			SUM(IF(o.rv_id = 2025, o.netto, 0)) AS kwota37,   		  -- C.11 
			SUM(IF(o.rv_id = 2025, o.vat, 0)) AS kwota38,   		  -- C.11 VAT 
			SUM(IF(o.rv_id = 2032, o.netto, 0)) AS kwota39,   		  -- C.12          BS: 2032
			SUM(IF(o.rv_id = 2032, o.vat, 0)) AS kwota40,   		  -- C.12 VAT 
			
			/*  10.03.2016: wylaczamy te pola, gdyz wer. 14 przestala byc aktualna od VII.2015 - obecnie wystawiana jest wer. 16 albo ewent. korekta wer. 15
			-- kwota41 i kwota42 (wer. 14) w wersji 15 zostaja zastapione przez C*_podst, C*_podatek  (C.13 ... C.15)
			SUM(IF(o.rv_id IN(2028, cSpOdwr, cZkOdwr), o.netto, 0)) AS kwota41,   		  -- ver. 14: C.12   cSpOdwr, cZkOdwr
			SUM(IF(o.rv_id IN(2028, cZkOdwr), o.vat, 0)) AS kwota42,   		              -- ver. 14: C.12 VAT 
			*/
			
			-- C.13 .. C.15 nowe pola dodane w wersji 15:
			-- C_13_podst  C.13 w v.15
			SUM(IF(o.rv_id = cSpOdwr, o.netto, 0)) AS C_13_podst,   		  -- C.13          BS: cSpOdwr
			-- C.14
			SUM(IF(o.rv_id = cZkOdwr, o.netto, 0)) AS C_14_podst,   		  -- C.14          BS: cZkOdwr
			SUM(IF(o.rv_id = cZkOdwr, o.vat, 0)) AS C_14_podatek,   		  -- C.14          BS: cZkOdwr			
			-- BS: "wiersz nr 15 - rejestr nr nie ma takiego rejestru ( może być kolejny - ale na razie nie mam takich zakupów - choć kto wie .. ) "
			 0 AS C_15_podst, 0 AS C_15_podatek, 
			-- dla Stanpolu wchodzi tu rejestr 2036:
			-- SUM(IF(o.rv_id = 2036, o.netto, 0)) AS C_15_podst, SUM(IF(o.rv_id = 2036, o.vat, 0)) AS C_15_podatek,				
						
			SUM(IF(@session.globals.Owner IN ('TRANSBUD') AND o.rv_id = 2030, o.vat, 0)) AS C_18,   		  -- C.18 pole 38
												
			SUM(IF(o.rv_id = 2030, o.netto, 0)) AS kwota49,   		  -- D.2.49 
			SUM(IF(o.rv_id = 2030, o.vat, 0)) AS kwota50,   		  -- D.2.50 
			-- w wersji VAT-7(15) ponizsze pola maja na wydruku numeracje 43 i 44  (D.2); w bazie danych to P_51 i P_52 :
			-- dla Stanpolu: bez rejestru 2032
			SUM(IF(o.rv_id in(2020,2024,2025,2037, 2040, cZkOdwr, 2032), o.netto, 0)) AS kwota51,   -- D.2.41  2040 = cSpOdwr   2040: "rejestr korekt VAT 150 dni - zakup"  -- 2037 chyba nie jest wprowadzony w ogole
			SUM(IF(o.rv_id in(2020,2024,2025,2037, 2040, cZkOdwr, 2032),   (o.vat - o.vat_bez_odliczenia_paliwo - o.vat_bez_odliczenia_pojazd), 0)) AS kwota52    -- D.2.42
		FROM 
			opng o
		WHERE 
			(YEAR(o.data_vat) = _Year) AND 
			  IF(_Param_B = cVAT7, (MONTH(o.data_vat) = _Month), (QUARTER(o.data_vat) = _Month)  ) AND (deleted = 0);
		-- 	o.rv_id -> rejestry_vat.idn rv; rv.pole_vat7 = sp.value
				
	END IF; -- _MODE = 'standard.vat7.data.prepare'
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'vat7.data.insert'
		Wpis do tabeli ht_dekl_vat7
		Parametry
		_MODE			Tryb pracy
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		IN _RecGUID     GUID tworzonego rekordu		
		INOUT _RepContent     Wygenerowana zawartość pliku XML, w przypadku korekty tu jest przekazywany powod korekty
		
		CALL e_dekl_vat_tools('vat7.data.insert', 2015, 5, '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content, 1, 1);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		

	IF _MODE = 'vat7.data.insert' THEN
	
		INSERT IGNORE INTO ht_dekl_vat7 (GUID, RodzajDekl, rok, miesiac, data_wypelnienia, edit, CelZlozenia)
		SELECT
			_RecGUID  AS GUID, _Param_B, _Year, _Month, DATE(NOW()), 1 AS edit, _varINT(_Param_A) AS CelZlozenia; -- cel zlozenia: 1 - zgloszenie, 2 - korekta zgloszenia
				
				
		-- 
		SELECT d.DateFrom
		FROM ht_dekl_vat7 v, e_doc_def d  
		WHERE v.e_doc_def_id = d.owner_doc_id  AND v.GUID = _RecGUID -- v.e_doc_def_id został ustawiony przez trigger
		INTO _def_date_from;		
				
		CALL e_dekl_vat_tools('vat7.data.prepare.conf', _Year, _Month, _RecGUID, @tmp, _def_date_from, _Param_B);		-- w _Param_A przekazujemy e_doc_def.dateFrom
				
	/*	 zastapione przez vat7.data.prepare.conf
	
	     DROP TEMPORARY TABLE IF EXISTS	t_vat7;	
		 
		 -- bedzie zastapione jednym uniwersalnym 'vat7.data.prepare' bazujacym na tabeli definicyjnej
		 SET _CallMode = 'standard.vat7.data.prepare';
		 
		 SELECT _GetAppOwner() INTO @AppOwnerName;
		 IF @AppOwnerName = 'IRKO' THEN
			SET _CallMode = 'irko.vat7.data.prepare';  -- replace (_CallMode, 'standard', @AppOwnerName)
			SET @CallMode = _CallMode ;
		 END IF;
		 IF @AppOwnerName = 'STANPOL' THEN
			SET _CallMode = 'stanpol.vat7.data.prepare';  -- replace (_CallMode, 'standard', @AppOwnerName)
			SET @CallMode = _CallMode ;
		 END IF;
		 
		 -- przygotowanie tabeli t_vat7 i wypelnienie jej na podst. opng i rejestrów VAT:
		 CALL e_dekl_vat_tools(_CallMode, _Year, _Month, _RecGUID, @tmp, _Param_A, _Param_B);
		-- call 'standard.vat7.data.prepare'		*/
		
		 -- przepisanie naliczonych danych z  t_vat7 do ht_dekl_vat7:
		 CALL e_dekl_vat_tools('vat7.data.update', _Year, _Month, _RecGUID, @tmp, _Param_A, _Param_B);
		 
		/* -- odtad zamknac w vat7.update	
		INSERT IGNORE INTO ht_dekl_vat7 (GUID, RodzajDekl, rok, miesiac, data_wypelnienia, edit, CelZlozenia,
			P_20, P_21, P_22, P_23, P_24, P_25, P_26, P_27, P_28, P_29, P_30, P_31, P_32, P_33, 
			P_34, P_37, P_38, P_39, P_40, 
		--	P_41, P_42,  -- pola uzywane tylko w wersji 14
			C_13_podst, C_14_podst, C_14_podatek, C_15_podst, C_15_podatek,  -- pola dodane w wersji 15
			P_44,  -- P_44 = C.18
			P_49, P_50, P_51, P_52  )  -- calc = 1, P_45, P_46,
		SELECT * FROM t_vat7;
						
		SET @eVAT.pointer = 'AFTER INS. INTO ht_dekl_vat7';
		
		-- dla MPGK zerujemy kwoty w wierszu C.2
		SELECT _GetAppOwner() INTO @AppOwner;
		IF @AppOwner = 'MPGK' THEN
			UPDATE ht_dekl_vat7 SET P_21 = 0, P_22 = 0	WHERE GUID  = _RecGUID;	
		END IF;
		
		-- przepisujemy ewentualna kwote do przeniesienia z deklaracji za poprz. miesiac (P65 -> P47)
		SET _KwotaPoprz = 0;
		SELECT 
			IFNULL(P_65, 0) AS poprz 
		FROM 	
			ht_dekl_vat7
		WHERE 	
			 (100*rok + miesiac) = PERIOD_ADD(100*_Year + _Month, -1)
			 AND (deleted = 0)
		ORDER BY 
			lastupdate DESC
		LIMIT 1
		INTO
			_KwotaPoprz;
			
		IF  _KwotaPoprz > 0 THEN
			UPDATE 
				ht_dekl_vat7
			SET 
				P_47 = _KwotaPoprz
			WHERE 
				GUID  = _RecGUID;	
		END IF;		
		-- dotad vat7.update	*/
		
		-- jesli tworzony dokument to korekta, to trzeba skopiowac ewentualny zalacznik ZD
		IF _varINT(_Param_A)  = cKorekta THEN   -- cKorekta = 2
		    SET _OrgGUID = '';
			SET _JestZD = 0;
			-- pobieramy dane z oryginalnego zgloszenia
			SELECT 
				guid, P_73 AS VAT_ZD
			FROM 
				ht_dekl_vat7
			WHERE 
				rok = _Year AND miesiac = _Month AND  CelZlozenia = 1 AND deleted = 0
			INTO _OrgGUID, _JestZD;
			
			IF _JestZD = 1 THEN  			
				-- ustawiamy przelacznik mowiacy o zalaczeniu VAT-ZD
				UPDATE ht_dekl_vat7	SET P_73 = 1 WHERE GUID = _RecGUID;
			
				-- przepisanie zalacznikow z oryginalnego dokumentu
				INSERT IGNORE INTO 
					ht_dekl_vat7_zd(GUID, deklGUID, kontrGUID, kontrnazwa, kontrNIP, nrdokfin, datawystaw, dataplatnosci, korekta_podstawy, korekta_podatku)
				SELECT 
					NewGUID(), _RecGUID, kontrGUID, kontrnazwa, kontrNIP, nrdokfin, datawystaw, dataplatnosci, korekta_podstawy, korekta_podatku
				FROM 
					ht_dekl_vat7_zd 
				WHERE	
					deklGUID = _OrgGUID;				
			END IF;  --  _JestZD = 1
			
			-- wpisanie przyczyny korekty (przekazanej w zmiennej _RepContent)
			UPDATE ht_dekl_vat7
			SET przyczyna_ORD_ZU = _RepContent
			WHERE GUID = _RecGUID;
			
		END IF;    -- _varINT(_Param_A)  = cKorekta 
				
		-- naliczenie pól wyliczanych	(dział C, D i E)
		-- okreslenie wlasciwego trybu procedury:
		SET @eVAT.calc.mode =  'vat7.data.calc';
		
		select 100*year(d.DateFrom) + month(d.DateFrom) AS od 
        from ht_dekl_vat7 v, e_doc_def d 
        where v.e_Doc_Def_ID = d.owner_doc_id and v.guid = _RecGUID
		into @eVAT.od;
		IF (IFNULL(@eVAT.od, 0)) > 0 THEN
			SET @eVAT.calc.mode =  concat(@eVAT.calc.mode, '.', _varStr(@eVAT.od));
		END IF;
						
		CALL e_dekl_vat_tools(@eVAT.calc.mode, _Year, _Month, _RecGUID, @tmp, '', '');
	
	END IF; 	-- _MODE = 'vat7.data.insert'
	
	
	IF _MODE = 'vat7.data.update' THEN
		UPDATE ht_dekl_vat7 v, t_vat7 t
		SET
			v.P_20 = ROUND(t.kwota20), v.P_21 = ROUND(t.kwota21), v.P_22 = ROUND(t.kwota22), v.P_23 = ROUND(t.kwota23), v.P_24 = ROUND(t.kwota24), v.P_25 = ROUND(t.kwota25), 
			v.P_26 = ROUND(t.kwota26), v.P_27 = ROUND(t.kwota27), v.P_28 = ROUND(t.kwota28), v.P_29 = ROUND(t.kwota29), v.P_30 = ROUND(t.kwota30), 
			v.P_31 = ROUND(t.kwota31), v.P_32 = ROUND(t.kwota32), v.P_33 = ROUND(t.kwota33), v.P_34 = ROUND(t.kwota34), v.P_37 = ROUND(t.kwota37), v.P_38 = ROUND(t.kwota38), 
			v.P_39 = ROUND(t.kwota39), v.P_40 = ROUND(t.kwota40),  -- C.12 
		     --	P_41, P_42,  -- pola uzywane tylko w wersji 14
			v.C_13_podst = ROUND(t.C_13_podst), 
			v.C_14_podst = ROUND(t.C_14_podst), v.C_14_podatek = ROUND(t.C_14_podatek), v.C_15_podst = ROUND(t.C_15_podst), v.C_15_podatek = ROUND(t.C_15_podatek),  -- pola dodane w wersji 15
			-- TO DO: C_16, C_17
			v.P_44 = ROUND(t.C_18),  -- P_44 = C.18
			v.P_49 = ROUND(t.kwota49), v.P_50 = ROUND(t.kwota50), 
			-- D.2. Nabycie towarów i usług pozostałych (44, 45)
			v.P_51 = ROUND(t.kwota51), v.P_52 	 = ROUND(t.kwota52)  
		WHERE v.GUID = t.GUID AND v.GUID = _RecGUID;	

		SET @eVAT.pointer = 'AFTER UPDATE ht_dekl_vat7 v, t_vat7 t';

		-- przepisujemy ewentualna kwote do przeniesienia z deklaracji za poprz. miesiac (P65 -> P47)
		SET _KwotaPoprz = 0;
		SELECT 
			IFNULL(P_65, 0) AS poprz 
		FROM 	
			ht_dekl_vat7
		WHERE 	
			 (100*rok + miesiac) = PERIOD_ADD(100*_Year + _Month, -1)
			 AND (deleted = 0)
		ORDER BY 
			lastupdate DESC
		LIMIT 1
		INTO
			_KwotaPoprz;
			
		IF  _KwotaPoprz > 0 THEN
			UPDATE 
				ht_dekl_vat7
			SET 
				P_47 = _KwotaPoprz
			WHERE 
				GUID  = _RecGUID;	
		END IF;			
	END IF; 	-- _MODE = 'vat7.data.update'
		

	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'irko.vat7.data.prepare'
		Przygotowanie danych do wpisu do tabeli ht_dekl_vat7  (werska dla Irko)
		Parametry
		_MODE			Tryb pracy
		INOUT _RecGUID     GUID tworzonego rekordu
		IN _Year      VARCHAR(50),
		IN _Month     VARCHAR(50),		 
		INOUT _RepContent     Wygenerowana zawartość pliku XML
		
		CALL ht_EDI_tools('vat7.data.prepare', '{0A3F4841-12FB-422F-9509-547BBDE770C7}', @eVAT7.Content);
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/		
	
	IF _MODE = 'irko.vat7.data.prepare' THEN
									
		CREATE TEMPORARY TABLE	t_vat7 AS
		SELECT 
			 _RecGUID  AS GUID, _Param_B, _Year, _Month, DATE(NOW()), 1 AS edit, _varINT(_Param_A) AS p07, -- cel zlozenia: 1 - zgloszenie, 2 - korekta zgloszenia			
			SUM(IF(o.rv_id = 2021, o.tabwartnetto6, 0)) AS kwota20,	  -- C.1
			SUM(IF(o.rv_id in(cUSL_UE, cUSL_poza_UE), o.netto, 0)) AS kwota21,   -- C.2
			SUM(IF(o.rv_id = cUSL_UE, o.netto, 0)) AS kwota22,   		  -- C.2a
			SUM(IF(o.rv_id = 2021, o.tabwartnetto5, 0)) AS kwota23,	  -- C.3
			/*SUM(IF(o.rv_id = 12021, o.tabwartnetto5, 0))*/ 0 AS kwota24,	  -- C.3a  po prostu dawac zero tutaj (albo zerować po pobraniu danych), bo wstawianie fikcyjnych rejestrow jest mylace
			-- rejestry : 2021 = sprzedaży krajowej, 2041 = "rejestr korekt VAT 150 dni - sprzedaż"
			SUM(IF(o.rv_id in(2021, 2041), IF(_Year < 2016, o.tabwartnetto3, 0) + o.tabwartnetto9, 0)) AS kwota25,  -- C.4   
			SUM(IF(o.rv_id in(2021, 2041), IF(_Year < 2016, o.tabwartvat3, 0) + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT
			-- SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto3 + o.tabwartnetto9, 0)) AS kwota25,	  -- C.4   
			-- SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat3 + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT			
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto2 + o.tabwartnetto11, 0)) AS kwota27,	  -- C.5
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat2 + o.tabwartvat11, 0)) AS kwota28,	  -- C.5 VAT
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto1 + o.tabwartnetto10, 0)) AS kwota29,	  -- C.6
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat1 + o.tabwartvat10, 0)) AS kwota30,	  -- C.6 VAT   2021 = cSpKraj
			SUM(IF(o.rv_id = 2023, o.netto, 0)) AS kwota31,   		  -- C.7 (WDT)
			SUM(IF(o.rv_id = 2022, o.netto, 0)) AS kwota32,   		  -- C.8 (Eksport towar?
			SUM(IF(o.rv_id = 2024, o.netto, 0)) AS kwota33,   		  -- C.9 (WNT)
			SUM(IF(o.rv_id = 2024, o.vat, 0)) AS kwota34,   		  -- C.9 VAT (WNT)
			SUM(IF(o.rv_id = 2025, o.netto, 0)) AS kwota37,   		  -- C.11 
			SUM(IF(o.rv_id = 2025, o.vat, 0)) AS kwota38,   		  -- C.11 VAT 
			-- kwoty z rv_id = 2032 standardowo trafiaja do C.12, a dla Irko trafiaja do C.15:
		/*	SUM(IF(o.rv_id = 2032, o.netto, 0)) */ 0 AS kwota39,   		  -- C.12          BS: 2032
		/*	SUM(IF(o.rv_id = 2032, o.vat, 0)) */ 0  AS kwota40,   		  -- C.12 VAT 
			
		/*	-- kwota41 i kwota42 (wer. 14) w wersji 15 zostaja zastapione przez C*_podst, C*_podatek  (C.13 ... C.15)
			SUM(IF(o.rv_id IN(2028, cSpOdwr, cZkOdwr), o.netto, 0)) AS kwota41,   		  -- ver. 14: C.12   cSpOdwr, cZkOdwr
			SUM(IF(o.rv_id IN(2028, cZkOdwr), o.vat, 0)) AS kwota42,   		              -- ver. 14: C.12 VAT 
		*/	
			/* nowe pola dodane w wersji 15:  */
			-- C_13_podst  C.13 w v.15
			SUM(IF(o.rv_id = 2028, o.netto, 0)) AS C_13_podst,   		  -- C.13          BS: cSpOdwr
			-- C.14
			SUM(IF(o.rv_id = cZkOdwr, o.netto, 0)) AS C_14_podst,   		  -- C.14          BS: cZkOdwr
			SUM(IF(o.rv_id = cZkOdwr, o.vat, 0)) AS C_14_podatek,   		  -- C.14          BS: cZkOdwr
			-- w wer. standardowej sa ponizej dwa zera, a kwoty z rejestru 2032 trafiaja do C.12
			SUM(IF(o.rv_id = 2032, o.netto, 0)) AS C_15_podst,
			SUM(IF(o.rv_id = 2032, o.vat, 0)) AS C_15_podatek,
			/* ------------ */
			SUM(IF(@session.globals.Owner IN ('TRANSBUD') AND o.rv_id = 2030, o.vat, 0)) AS C_18,
			SUM(IF(o.rv_id = 2030, o.netto, 0)) AS kwota49,   		  -- D.2.49 
			SUM(IF(o.rv_id = 2030, o.vat, 0)) AS kwota50,   		  -- D.2.50 
			-- w wer. standardowej  ponizej jest jeszcze cZkOdwr
			SUM(IF(o.rv_id IN(2020,2024,2025, 2040, 2032), o.netto, 0)) AS kwota51,   -- D.2.41   2040: "rejestr korekt VAT 150 dni - zakup"  2037 - nie ma takiego rej.
			SUM(IF(o.rv_id IN(2020,2024,2025, 2040, 2032),   (o.vat - o.vat_bez_odliczenia_paliwo - o.vat_bez_odliczenia_pojazd), 0)) AS kwota52    -- D.2.42
		FROM 
			opng o
		WHERE 
			(YEAR(o.data_vat) = _Year) AND 
			  IF(_Param_B = cVAT7, (MONTH(o.data_vat) = _Month), (QUARTER(o.data_vat) = _Month)  ) AND (deleted = 0);
		
		SET @eVAT.pointer = 'AFTER prepare';
													
	END IF; 	-- _MODE = 'irko.vat7.data.prepare'
	

	IF _MODE = 'stanpol.vat7.data.prepare' THEN
	
		CREATE TEMPORARY TABLE	t_vat7 AS		
		SELECT -- * from t_vat7
			 _RecGUID  AS GUID, _Param_B, _Year, _Month, DATE(NOW()), 1 AS edit, _varINT(_Param_A) AS p07, -- cel zlozenia: 1 - zgloszenie, 2 - korekta zgloszenia			
			SUM(IF(o.rv_id = 2021, o.tabwartnetto6, 0)) AS kwota20,	  -- C.1
			SUM(IF(o.rv_id in(cUSL_UE, cUSL_poza_UE), o.netto, 0)) AS kwota21,   -- C.2
			SUM(IF(o.rv_id = cUSL_UE, o.netto, 0)) AS kwota22,   		  -- C.2a
			SUM(IF(o.rv_id = 2021, o.tabwartnetto5, 0)) AS kwota23,	  -- C.3
			SUM(IF(o.rv_id = 2021, o.tabwartnetto5, 0)) AS kwota24,	  -- C.3a
			-- rejestry : 2021 = sprzedaży krajowej, 2041 = "rejestr korekt VAT 150 dni - sprzedaż"
			SUM(IF(o.rv_id in(2021, 2041), IF(_Year < 2016, o.tabwartnetto3, 0) + o.tabwartnetto9, 0)) AS kwota25, -- C.4   -- do 2016r. bylo 3% lub 5%, od 2016: tylko 5%  (tabwartnetto9 = 5%)
			SUM(IF(o.rv_id in(2021, 2041), IF(_Year < 2016, o.tabwartvat3, 0) + o.tabwartvat9, 0)) AS kwota26,	   -- C.4 VAT
			/* SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto3 + o.tabwartnetto9, 0)) AS kwota25,	  -- C.4   
			  SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat3 + o.tabwartvat9, 0)) AS kwota26,	  -- C.4 VAT */
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto2 + o.tabwartnetto11, 0)) AS kwota27,	  -- C.5
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat2 + o.tabwartvat11, 0)) AS kwota28,	  -- C.5 VAT
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartnetto1 + o.tabwartnetto10, 0)) AS kwota29,	  -- C.6
			SUM(IF(o.rv_id in(2021, 2041), o.tabwartvat1 + o.tabwartvat10, 0)) AS kwota30,	  -- C.6 VAT   2021 = cSpKraj
			SUM(IF(o.rv_id = 2023, o.netto, 0)) AS kwota31,   		  -- C.7 (WDT)
			SUM(IF(o.rv_id = 2022, o.netto, 0)) AS kwota32,   		  -- C.8 (Eksport towar?
			SUM(IF(o.rv_id = 2024, o.netto, 0)) AS kwota33,   		  -- C.9 (WNT)
			SUM(IF(o.rv_id = 2024, o.vat, 0)) AS kwota34,   		  -- C.9 VAT (WNT)
			SUM(IF(o.rv_id = 2025, o.netto, 0)) AS kwota37,   		  -- C.11 
			SUM(IF(o.rv_id = 2025, o.vat, 0)) AS kwota38,   		  -- C.11 VAT 
			/* SUM(IF(o.rv_id = 2032, o.netto, 0)) AS kwota39,   		  -- C.12          BS: 2032
			SUM(IF(o.rv_id = 2032, o.vat, 0)) AS kwota40,   		  -- C.12 VAT */
			0 AS kwota39,   		  -- C.12          
			0 AS kwota40, 
			
		/*	-- kwota41 i kwota42 (wer. 14) w wersji 15 zostaja zastapione przez C*_podst, C*_podatek  (C.13 ... C.15)
			SUM(IF(o.rv_id IN(2028, cSpOdwr, cZkOdwr), o.netto, 0)) AS kwota41,   		  -- ver. 14: C.12   cSpOdwr, cZkOdwr
			SUM(IF(o.rv_id IN(2028, cZkOdwr), o.vat, 0)) AS kwota42,   		              -- ver. 14: C.12 VAT 
		*/
		
			-- C.13 .. C.15 nowe pola dodane w wersji 15:
			-- C_13_podst  C.13 w v.15
			SUM(IF(o.rv_id = cSpOdwr, o.netto, 0)) AS C_13_podst,   		  -- C.13          BS: cSpOdwr
			-- C.14
			SUM(IF(o.rv_id = cZkOdwr, o.netto, 0)) AS C_14_podst,   		  -- C.14          BS: cZkOdwr
			SUM(IF(o.rv_id = cZkOdwr, o.vat, 0)) AS C_14_podatek,   		  -- C.14          BS: cZkOdwr			
			
			-- 0 AS C_15_podst, 0 AS C_15_podatek, 
			-- dla Stanpolu wchodzi tu rejestr 2036:
			SUM(IF(o.rv_id = 2036, o.netto, 0)) AS C_15_podst, SUM(IF(o.rv_id = 2036, o.vat, 0)) AS C_15_podatek,							
			SUM(IF(@session.globals.Owner IN ('TRANSBUD') AND o.rv_id = 2030, o.vat, 0)) AS C_18,									
			SUM(IF(o.rv_id = 2030, o.netto, 0)) AS kwota49,   		  -- D.2.49 
			SUM(IF(o.rv_id = 2030, o.vat, 0)) AS kwota50,   		  -- D.2.50 
			-- w wersji VAT-7(15) ponizsze pola maja na wydruku numeracje 43 i 44  (D.2); w bazie danych to P_51 i P_52 :
			-- dla Stanpolu: bez rejestru 2032
			-- SUM(IF(o.rv_id in(2020,2024,2025,2037, 2040, cZkOdwr), o.netto, 0)) AS kwota51,   -- D.2.41  2040 = cSpOdwr   2040: "rejestr korekt VAT 150 dni - zakup"  -- 2037 chyba nie jest wprowadzony w ogole
			SUM(IF(o.rv_id in(2020,2037,2032,2042), o.netto, 0)) AS kwota51,
			SUM(IF(o.rv_id in(2020,2037,2032,2042), (o.vat - o.vat_bez_odliczenia_paliwo - o.vat_bez_odliczenia_pojazd), 0)) AS kwota52    -- D.2.42
		FROM 
			opng o
		WHERE 
			(YEAR(o.data_vat) = _Year) AND 
			  IF(_Param_B = cVAT7, (MONTH(o.data_vat) = _Month), (QUARTER(o.data_vat) = _Month)  ) AND (deleted = 0);
		-- 	o.rv_id -> rejestry_vat.idn rv; rv.pole_vat7 = sp.value
						
	END IF;  -- IF _MODE = 'stanpol.vat7.data.prepare' THEN
	
	IF _MODE = 'vat7.xml.create.201304' THEN  
	BEGIN	
		
		DECLARE  _datawystaw, _terminplatn, _LastDay  DATE;
		DECLARE	_korekta_podstawy, _korekta_podatku, _SUM_korekta_podstawy, _SUM_korekta_podatku DOUBLE;
		
		DECLARE  _nrdokfin VARCHAR(30);			
		
		DECLARE _P_20, _P_21, _P_22, _P_23, _P_24, _P_25, _P_26, _P_27, _P_28, _P_29, _P_30, _P_31, _P_32, _P_33, 
				_P_34, _P_37, _P_38, _P_39, _P_40, _P_41, _P_42, _P_49, _P_50, _P_51, _P_52, _P_45, _P_46, _P_47,
				_P_55, _P_56, _P_57, _P_58, _P_59, _P_60, _P_61,
				_P_62, _P_63, _P_64, _P_65, _P_73, _P_74
				INTEGER;
		
		DECLARE _done BOOL DEFAULT FALSE;	
		
		DECLARE _c_vat_zd CURSOR FOR			
		select  
			kontrnazwa, kontrNIP, nrdokfin, datawystaw, dataplatnosci, IFNULL(korekta_podstawy, 0.00), IFNULL(korekta_podatku, 0.00)	
		from 
			ht_dekl_vat7_zd
		WHERE deklGUID = _RecGUID
		;
				
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = TRUE;			
					
		SELECT 
			CelZlozenia, RodzajDekl,
			_varINT_NOTNULL(P_20), _varINT_NOTNULL(P_21), _varINT_NOTNULL(P_22), _varINT_NOTNULL(P_23), 
			_varINT_NOTNULL(P_24), _varINT_NOTNULL(P_25), _varINT_NOTNULL(P_26), _varINT_NOTNULL(P_27), 
			_varINT_NOTNULL(P_28), _varINT_NOTNULL(P_29), _varINT_NOTNULL(P_30), _varINT_NOTNULL(P_31), _varINT_NOTNULL(P_32), _varINT_NOTNULL(P_33), 
			_varINT_NOTNULL(P_34), _varINT_NOTNULL(P_37), _varINT_NOTNULL(P_38), _varINT_NOTNULL(P_39), _varINT_NOTNULL(P_40), _varINT_NOTNULL(P_41), 
			_varINT_NOTNULL(P_42), _varINT_NOTNULL(P_49), _varINT_NOTNULL(P_50), _varINT_NOTNULL(P_51), _varINT_NOTNULL(P_52),
			_varINT_NOTNULL(P_45), _varINT_NOTNULL(P_46), _varINT_NOTNULL(P_47), _varINT_NOTNULL(P_55), _varINT_NOTNULL(P_56), _varINT_NOTNULL(P_57), _varINT_NOTNULL(P_58), 
			_varINT_NOTNULL(P_59), _varINT_NOTNULL(P_60),
			_varINT_NOTNULL(P_61), _varINT_NOTNULL(P_62), _varINT_NOTNULL(P_63), _varINT_NOTNULL(P_64), _varINT_NOTNULL(P_65),
			P_73, _varINT_NOTNULL(P_74), przyczyna_ORD_ZU, DATE(data_wypelnienia)
			
		FROM 
			ht_dekl_vat7
		WHERE 
			GUID = _RecGUID
		INTO _CelZlozenia, _RodzajDekl, _P_20, _P_21, _P_22, _P_23, _P_24, _P_25, _P_26, _P_27, _P_28, _P_29, _P_30, _P_31, _P_32, _P_33, 
				_P_34, _P_37, _P_38, _P_39, _P_40, _P_41, _P_42, _P_49, _P_50, _P_51, _P_52,
				_P_45, _P_46, _P_47, _P_55, _P_56, _P_57, _P_58, _P_59, _P_60, _P_61, _P_62, _P_63, _P_64, _P_65, _P_73, _P_74, _przyczyna_ORD_ZU,
				_data_wypelnienia				;
		
		
		/* 
		 - <Deklaracja> 
			 + <Naglowek> 
			 + <Podmiot1> 
			 + <PozycjeSzczegolowe> 
			 <Pouczenie>
			 <Oswiadczenie>
			 <Zalaczniki minOccurs="0">  
		   </Deklaracja> 		
		*/	
			
	--	SET NAMES utf8;		

		DROP TEMPORARY TABLE IF EXISTS `t_DaneAdr_utf`;
		CREATE TEMPORARY TABLE `t_DaneAdr_utf` (
			`Name` VARCHAR(200) COLLATE utf8_polish_ci NOT NULL DEFAULT '',
			`Value` VARCHAR(200) COLLATE utf8_polish_ci NOT NULL DEFAULT ''
			)ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
	   ;
		
		SET @eVAT7.Content = '';
		SET @xml.IC = 1;
		
		SET @eVAT7.Content = '<?xml version="1.0" encoding="UTF-8" ?>\n';
		-- SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<?soxtype urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0?>\n<?import urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0?>\n';
				
		-- SET @eVAT7.Content = '<?xml version="1.0" encoding="UTF-8" ?>\n';
		-- SET @eVAT7.Content = '<?soxtype urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0?>\n<?import urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0?>\n';
		IF _RodzajDekl = cVAT7 THEN 		
		  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Deklaracja xmlns="http://crd.gov.pl/wzor/2013/04/09/1113/" xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/06/21/eD/DefinicjeTypy/">\n');
		END IF;	
				
		IF _RodzajDekl = cVAT7K THEN 			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Deklaracja xmlns="http://crd.gov.pl/wzor/2013/04/09/1114/" xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/06/21/eD/DefinicjeTypy/">\n');
		END IF;	
		
		SET @eVAT7.xmlns = @eVAT7.Content;
		--   elem_dekl.Properties.Add('xmlns', 'http://crd.gov.pl/wzor/2011/12/12/725/');
        --   elem_dekl.Properties.Add('xmlns:etd', 'http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/06/21/eD/DefinicjeTypy/');

		CALL e_dekl_vat_tools('vat7.xml.insert.header', _Year, _Month, _RecGUID, @eDekl.H, '', '');
		/*
			-- <Naglowek> 
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Naglowek>\n');
			   -- SET @ble.Content = @eVAT7.Content;
				
				IF _RodzajDekl = cVAT7 THEN 			
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<KodFormularza kodPodatku="VAT" kodSystemowy="VAT-7 (14)" rodzajZobowiazania="Z" wersjaSchemy="1-0E">VAT-7</KodFormularza>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<WariantFormularza>14</WariantFormularza>\n');
				END IF;	
				
				IF _RodzajDekl = cVAT7K THEN 			
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<KodFormularza kodPodatku="VAT" kodSystemowy="VAT-7K (8)" rodzajZobowiazania="Z" wersjaSchemy="1-0E">VAT-7K</KodFormularza>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<WariantFormularza>8</WariantFormularza>\n');
				END IF;	
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<CelZlozenia poz="P_7">');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _CelZlozenia);  --    <CelZlozenia poz="P_7">1</CelZlozenia>
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</CelZlozenia>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Rok>');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Year);  
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Rok>\n');
				
				IF _RodzajDekl = cVAT7 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Miesiac>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Month);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Miesiac>\n');
				END IF;
				
				IF _RodzajDekl = cVAT7K THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Kwartal>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Month);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Kwartal>\n');
				END IF;
				
				SET @ble.Content = @eVAT7.Content;
				set _KodUS = '';
				select _varSTR_NOTNULL(kod_urzedu) FROM US 
					WHERE  guid = (SELECT valueA FROM IReg WHERE idpath LIKE '%danefirmy%' AND idkey='Urzad_skarbowy')
				into _KodUS;
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<KodUrzedu>');				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _KodUS);  
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</KodUrzedu>\n');
													
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Naglowek>\n');
			--  </Naglowek> koniec sekcji nagԳwka deklaracji
			SET @eVAT7_header = @eVAT7.Content;  */
			
			
			-- sekcja danych podatnika  (na formularzu: sekcja B)
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Podmiot1 rola="Podatnik">\n'); 
			
			-- if RegistryInt.GetRegIntValueInteger('Rodzaj_platnika', 0, 'DaneFirmy', 1) = 1 then  // osoba fiz.
			CALL _IReg_Get('DaneFirmy', 'NIP', '0', 'STRING', _NIP, '(brak danych)'); 
			SET _NIP = REPLACE(_NIP, '-', '');
			CALL _IReg_Get('DaneFirmy', 'REGON', '0', 'STRING', _REGON, '(brak danych)'); 	
			CALL _IReg_Get('DaneFirmy', 'pelna_nazwa', '0', 'STRING', _PelnaNazwa, ''); 
						
			
			SET _RodzPodat = 0;
						
		
			-- SELECT ValueA FROM IReg WHERE idpath LIKE '%DaneFirmy%' AND idkey = 'ulica'
			-- INTO _Ulica		  ;  -- _BezPolskich(ValueA)
		
			CALL _IReg_Get('DaneFirmy', 'Rodzaj_platnika', '0', 'INTEGER', _RodzPodat, '0');   	
			
			IF _RodzPodat = 1 THEN -- osoba fiz.
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:OsobaFizyczna>\n'); 
					-- TIdentyfikatorOsobyFizycznej : NIP, imie, nazwisko, data ur., Nr PESEL; 4 ost. dane da桲ozdziel. ';' w pelnej nazwie
					-- IREG: Platnik_nazwisko, Platnik_imie, Platnik_data_urodzenia, Platnik_PESEL
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:NIP>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _NIP);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:NIP>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_imie', '0', 'STRING', _Platnik_imie, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:ImiePierwsze>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_imie);    
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:ImiePierwsze>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_nazwisko', '0', 'STRING', _Platnik_nazwisko, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Nazwisko>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_nazwisko);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Nazwisko>\n');
					
					CALL _IReg_Get('DaneFirmy', 'Platnik_data_urodzenia', '0', 'DATE', _Platnik_data_urodzenia, ''); 
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:DataUrodzenia>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Platnik_data_urodzenia);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:DataUrodzenia>\n');
					
					/*  w wer. 14 nie ma juz wstawiania nr PESEL  (zmiana z TIdentyfikatorOsobyFizycznej na TIdentyfikatorOsobyFizycznej2)
					CALL _IReg_Get('DaneFirmy', 'Platnik_PESEL', '0', 'STRING', _PESEL, ''); 
					IF IFNULL(_PESEL, '') <> '' THEN
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<PESEL>');				
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, _PESEL);  
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</PESEL>\n');
					END IF;
					*/										
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:OsobaFizyczna>\n'); 
			END IF;
			
			IF _RodzPodat = 0 THEN -- osoba nie-fiz.
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:OsobaNiefizyczna>\n'); 
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:NIP>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _NIP);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:NIP>\n');
					
					-- etd:PelnaNazwa
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:PelnaNazwa>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, REPLACE(_PelnaNazwa, '&', '&#x26;'));  -- REPLACE(_PelnaNazwa, '&', '&#x26;')  REPLACE(_PelnaNazwa, '&', 'and')
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:PelnaNazwa>\n');
					
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:REGON>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _REGON);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:REGON>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:OsobaNiefizyczna>\n'); 						
			END IF;
			   -- w wer. 14 nie ma juz wstawiania adresu  (zmiana z TPodmiotDowolny na TPodmiotDowolnyBezAdresu2) :
			   /*
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:AdresZamieszkaniaSiedziby rodzajAdresu="RAD">\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:AdresPol>\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:KodKraju>PL</etd:KodKraju>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Wojewodztwo>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Wojewodztwo);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Wojewodztwo>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Powiat>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Powiat);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Powiat>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Gmina>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Gmina);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Gmina>\n');
					
					IF LENGTH(_Ulica) > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Ulica>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Ulica);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Ulica>\n');
					END IF;
					
					IF LENGTH(_Nr_domu) > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:NrDomu>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Nr_domu);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:NrDomu>\n');
					END IF;
					
					IF LENGTH(_Nr_lokalu) > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:NrLokalu>');									
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Nr_lokalu);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:NrLokalu>\n');
					END IF;
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Miejscowosc>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Miasto);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Miejscowosc>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:KodPocztowy>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Kod_poczt);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:KodPocztowy>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<etd:Poczta>');				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _Poczta);  
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:Poczta>\n');
															
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:AdresPol>\n');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</etd:AdresZamieszkaniaSiedziby>\n');
				*/
			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Podmiot1>\n');
			SET @ble.Content = @eVAT7.Content; -- '</Podmiot1>';
			
			-- sekcja danych szczeg?ych (na formularzu: sekcja C i nast뱮e)
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<PozycjeSzczegolowe>\n');
			-- w VAT7 (14) numeracja p? -10 : P_20 -> P10,  P_21 -> P11,
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_10>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_20);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_10>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_11>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_21);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_11>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_12>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_22);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_12>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_13>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_23);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_13>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_14>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_24);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_14>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_15>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_25);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_15>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_16>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_26);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_16>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_17>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_27);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_17>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_18>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_28);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_18>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_19>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_29);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_19>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_20>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_30);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_20>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_21>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_31);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_21>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_22>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_32);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_22>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_23>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_33);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_23>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_24>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_34);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_24>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_27>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_37);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_27>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_28>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_38);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_28>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_29>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_39);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_29>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_30>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_40);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_30>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_31>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_41);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_31>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_32>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_42);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_32>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_33>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '0');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_33>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_34>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '0');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_34>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_35>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_45);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_35>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_36>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_46);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_36>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_37>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_47);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_37>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_39>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_49);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_39>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_40>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_50);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_40>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_41>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_51);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_41>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_42>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_52);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_42>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_45>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_55);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_45>\n');
				
				-- P_56, P_57
				IF _P_56 > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_46>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_56);
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_46>\n');
				END IF;	
				
				IF _P_57 > 0 THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_47>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_57);
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_47>\n');
				END IF;	
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_48>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_58);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_48>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_49>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_59);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_49>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_50>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_60);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_50>\n');
												
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_51>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_61);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_51>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_52>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_62);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_52>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_53>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_63);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_53>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_54>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_64);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_54>\n');
				
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_55>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_65);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_55>\n');
				
				IF (_P_73 = 1) AND (_P_74 > 0) THEN  -- jesli zaznaczono korekte VAT_ZD i podana liczbe zalacznikow, to podajemy informacje o ich liczbie
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_63>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_73);
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_63>\n');
					
				/*  w wer. 14 tego już nie ma:	
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_64>');  -- Liczba załączników VAT-ZD w .XSD jest typu TWybor1 = czyli zawsze jeden
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '1');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_64>\n');
				*/	
				END IF;		

				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<P_69>');
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, _data_wypelnienia);
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</P_69>\n');
					
			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</PozycjeSzczegolowe>\n');
			SET @ble.Content = @eVAT7.Content;
			
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Pouczenie>W przypadku niewpłacenia w obowiązującym terminie kwoty z poz.48 lub wpłacenia jej w niepełnej wysokości, niniejsza deklaracja stanowi podstawę do wystawienia tytułu wykonawczego, zgodnie z przepisami ustawy z dnia 17 czerwca 1966 r. o postępowaniu egzekucyjnym w administracji (Dz.U. z 2012 r. poz. 1015, z późn. zm.).</Pouczenie>\n');
			 
			SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Oswiadczenie>Oświadczam, że są mi znane przepisy Kodeksu karnego skarbowego o odpowiedzialności za podanie danych niezgodnych z rzeczywistością.</Oswiadczenie>\n');
			
			IF ( (_P_74 > 0) OR (_CelZlozenia = 2) ) THEN  -- jesli jest zalacznik VAT-ZD lub ORD-ZU (korekta), to je dolaczamy
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<Zalaczniki>\n');
			 IF (_P_74 > 0)	THEN
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:Wniosek_VAT-ZD xmlns:vzd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2013/01/10/eD/VATZD/">\n');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:Naglowek>\n');
					
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:KodFormularza kodSystemowy="VAT-ZD (1)" wersjaSchemy="1-0E">VAT-ZD</vzd:KodFormularza>\n');
						SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:WariantFormularza>1</vzd:WariantFormularza>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:Naglowek>\n');
										
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:PozycjeSzczegolowe>\n');
					
					SET _SUM_korekta_podstawy = 0.00; 
					SET	_SUM_korekta_podatku = 0.00; 
					
					OPEN _c_vat_zd;
					loop_ZD: LOOP -- petla loop po zalacznikach
						FETCH 
							_c_vat_zd 
						INTO 
							_P_nazwa, _P_NIP, _nrdokfin, _datawystaw, _terminplatn, _korekta_podstawy, _korekta_podatku	;
						IF _done THEN
							LEAVE loop_ZD;
						ELSE
						
							-- sekcja P_B (1 wpis = 1 wiersz w załączniku)
							SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_B typ="G">');
							
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BB>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_nazwa);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BB>\n');
																
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BC>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _P_NIP);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BC>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BD1>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _nrdokfin);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BD1>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BD2>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _datawystaw);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BD2>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BE>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _terminplatn);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BE>\n');
																
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BF>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _korekta_podstawy);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BF>\n');
								
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_BG>');
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, _korekta_podatku);
								SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_BG>\n');	
								
								SET _SUM_korekta_podstawy = _SUM_korekta_podstawy + _korekta_podstawy; 
								SET	_SUM_korekta_podatku  = _SUM_korekta_podatku  + _korekta_podatku; 
								
							SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_B>');	
						END IF;
					END LOOP;
					CLOSE _c_vat_zd;

					-- end loop
					-- podsumowanie kwoty ogółem (10, 11):
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_10>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _varInt(_Rnd(_SUM_korekta_podstawy, 0)));
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_10>\n');
				
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<vzd:P_11>');
					SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _varInt(_Rnd(_SUM_korekta_podatku, 0)));
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:P_11>\n');
					
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:PozycjeSzczegolowe>\n');
														
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</vzd:Wniosek_VAT-ZD>\n');
			  END IF; -- (_P_74 > 0)	
												
				IF (_CelZlozenia = cKorekta) THEN
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:Zalacznik_ORD-ZU xmlns:zzu="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2011/10/07/eD/ORDZU/">\n');
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:Naglowek>\n');					
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:KodFormularza kodSystemowy="ORD-ZU (2)" wersjaSchemy="2-0E">ORD-ZU</zzu:KodFormularza>\n');
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:WariantFormularza>2</zzu:WariantFormularza>\n');					
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:Naglowek>\n');
					  
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:PozycjeSzczegolowe>\n');
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '<zzu:P_13>');
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content,  _przyczyna_ORD_ZU);
					    SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:P_13>\n');
					  SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:PozycjeSzczegolowe>\n');	
					SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</zzu:Zalacznik_ORD-ZU>\n');					
				END IF;
			
				SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Zalaczniki>\n');
			END IF;  -- ( (_P_74 > 0) OR (_CelZlozenia = 2) ) THEN
			
		SET @eVAT7.Content = CONCAT(@eVAT7.Content, '</Deklaracja>');
		-- SET @ble.Content = @eVAT7.Content;
			
		
		-- SET @GUS_reports.Z06_RepContent = CONCAT(@GUS_reports.Z06_RepContent, '\n\n[Formularze]', '\nCount=1');
		
		-- zamiana parametr?a wartosci
		-- SET @GUS_reports.Z06_RepContent = REPLACE(@GUS_reports.Z06_RepContent, '#Rok#', _Rok);
		SET _RepContent = @eVAT7.Content;
		-- SELECT _varSTR_NOTNULL(@GUS_reports.Z06_RepContent) AS _RepContent;
		SELECT IFNULL(@eVAT7.Content, '') AS _RepContent;
		
		-- teraz kluczowa sprawa - wstawienie wygenerowanego XMLa do e_doc
		SET _IDN = _Param_A;
		CALL e_doc_tools('e_doc_po.insert.or.edit', _IDN, IFNULL(@eVAT7.Content, ''), 'CREATE_XML', 'ORYG', '', '', '', '');
		-- SET NAMES cp1250;	
		
	END;  
	END IF; 	-- _MODE = 'vat7.xml.create.14'

	IF _MODE = 'vat7.xml.get' THEN
	-- BEGIN
	--	SET NAMES utf8;	
		SET @eVAT7.Content = '';
		CALL e_dekl_vat_tools('vat7.xml.create', _Year, _Month, _RecGUID, @eVAT7.Content);
		DROP TEMPORARY TABLE IF EXISTS `t_to_eVAT7_content`;
		CREATE TEMPORARY TABLE `t_to_eVAT7_content` (
			Content LONGBLOB -- CHARACTER SET UTF8		
		) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
		-- SET @exp.MaxaZmienna = IFNULL(@exp.MaxaZmienna, 0);
		-- SELECT _varSTR_NOTNULL(@GUS_reports.Z06_RepContent) AS _RepContent;
		-- SELECT @eVAT7.Content AS _RepContent;
		INSERT INTO `t_to_eVAT7_content` SELECT @eVAT7.Content;
		
		SELECT Content  FROM `t_to_eVAT7_content`;  -- @eVAT7.Content
		-- DROP TEMPORARY TABLE IF EXISTS `t_to_edi_content`;
--	 SET NAMES cp1250;	
	END IF; 	-- _MODE = 'vat7.xml.get'


END$$

DELIMITER ;

 