DELIMITER $$

/*
	U W A G A   ten call wołany jest co pewien czas aby zmienne sesyjne były aktualne
*/


DROP PROCEDURE IF EXISTS `_Session_Refresh_Variables`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `_Session_Refresh_Variables`(
	IN _MODE VARCHAR(150),
	IN _Param_A VARCHAR(255),	
	IN _Param_B VARCHAR(255)
)
S_Session_Refresh_Variables: BEGIN 
	/*
	_MODE

	------------------------------------------------------------------------------------------------------------------------------------------------------------
	'SYS','ERP','HT','FK','PL", "CRM", "HR" etc 
	------------------------------------------------------------------------------------------------------------------------------------------------------------
	*/
	
	DECLARE _ALL BOOLEAN;
	DECLARE _MSG TEXT DEFAULT '';
	DECLARE _Session_User_logged BOOLEAN DEFAULT FALSE;

	SET 
		_ALL  = (IFNULL(_MODE, '') = ''),
		_Session_User_logged = @session.user.UserGUID IS NOT NULL
	;	
	IF _ALL AND @_Session_Refresh_Variables.alocaltime IS NOT NULL THEN
	--	Gdy ALL i juz byl refresh czyli @_Session_Refresh_Variables.alocaltime jest czas ost. odswiezenia to..
		SELECT MAX(alocaltime) FROM `IReg` INTO @IReg.alocaltime;
	--	... pobierz czas ost. IRega	
		IF (@IReg.alocaltime < @_Session_Refresh_Variables.alocaltime) THEN
			LEAVE S_Session_Refresh_Variables;
		END IF;
	END IF;
	
	IF _ALL THEN
	--	Ustaw @_Session_Refresh_Variables.alocaltime czyli czas ost. odswiezenia 
		SET @_Session_Refresh_Variables.alocaltime = LOCALTIME();
	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'SYS'
	CALL _Session_Refresh_Variables('SYS', '', '');
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'SYS') OR _ALL THEN
		CALL _sys_upr_init('');
		CALL _Globals_Get('Owner', @session.globals.Owner, NULL);

		CALL _Globals_Get('SMS_GNOKI_DB', @session.globals.com.SMS_GNOKI_DB, '');
		CALL _Globals_Get('DataBoMag', @session.globals.ht.databo, NULL);
		
		CALL _Globals_Get('LastUpdateDivLinks', @session.globals.LastUpdateDivLinks, NULL);
		CALL _Globals_Get('LastUpdate_ad_pr_gniazda_zlec', @session.globals.LastUpdate_ad_pr_gniazda_zlec, NULL);
		CALL _Globals_Get('LastUpdatePMW', @session.globals.LastUpdatePMW, NULL);
		CALL _Globals_Get('LastUpdateKRPO', @session.globals.LastUpdateKRPO, NULL);
		
		CALL _Globals_Get('GE', @session.globals.crm.GoldenEye_Owner, NULL);
		SET @session.globals.crm.GoldenEye_EXIST = @session.globals.crm.GoldenEye_Owner IS NOT NULL;
	
		SET @session.globals.connect.LIMIT = 0;
		SET @session.globals.connect.LIMIT_GRACE = 0;
		SET @session.globals.connect.LIMIT_WAR = 0;
		SET @session.globals.connect.LIMIT_DATE_START = '2010-01-01';
		SET @session.globals.connect.LIMIT_DATE_MAX = '2010-01-01';
		SET @session.globals.connect.LIMIT_STATUS = 0;	--	0 - OK; 	1 - FAIL; 	2 - WARRNING;
	
		CALL _Globals_Get('CONNECT_LIMIT', @session.globals.connect.LIMIT, 100000);
		CALL _Globals_Get('CONNECT_LIMIT_DATE_START', @session.globals.connect.LIMIT_DATE_START, @session.globals.connect.LIMIT_DATE_START);
		CALL _Globals_Get('CONNECT_LIMIT_DATE_MAX', @session.globals.connect.LIMIT_DATE_MAX, @session.globals.connect.LIMIT_DATE_MAX);
		CALL _Globals_Get('CONNECT_LIMIT_GRACE', @session.globals.connect.LIMIT_GRACE, 0);
	
		CALL _Globals_Get('CONNECT_LIMIT_MSG_ERR', @session.globals.connect.LIMIT_MSG_ERR, '');		
		CALL _Globals_Get('CONNECT_LIMIT_MSG_GRACE', @session.globals.connect.LIMIT_MSG_GRACE, '');		
		CALL _Globals_Get('CONNECT_LIMIT_MSG_WARRNING', @session.globals.connect.LIMIT_MSG_WARRNING, '');		
		CALL _Globals_Get('CONNECT_LIMIT_MSG_EXTRA', @session.globals.connect.LIMIT_MSG_EXTRA, '');		
		
		CALL _Globals_Get('Autonumeracja_NOWA', @session.globals.Autonumeracja_NOWA, 0);
		CALL _Globals_Get('USE.ad_new_opakowania_zwrotne', @session.globals.USE.ad_new_opakowania_zwrotne, 0);
		SET _MSG = '';
	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'ERP'
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'ERP') OR _ALL THEN
		SET @session.globals.UGRP_SYNC_DIVISION = 0;
		CALL _Globals_Get('UGRP_SYNC_DIVISION', @session.globals.UGRP_SYNC_DIVISION, @session.globals.UGRP_SYNC_DIVISION);
		SET @session.globals.DIVISION_SYNC_KATEGORIE_PRAC = 0;
		CALL _Globals_Get('DIVISION_SYNC_KATEGORIE_PRAC', @session.globals.DIVISION_SYNC_KATEGORIE_PRAC, @session.globals.DIVISION_SYNC_KATEGORIE_PRAC);
		CALL _Globals_Get('RCP_to_erp_pass_we_wy', @session.globals.RCP_to_erp_pass_we_wy, FALSE);
	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'HT'
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'HT') OR _ALL THEN
		CALL C_HT('', '', '', '');

		CALL _Globals_Get('erp_obj_counters_values_e_1_rec', @session.globals.HT.erp_obj_counters_values_e_1_rec, FALSE);
		CALL _IReg_Get('Kontrah', 'DniPowiekszeniaDatyPlatnosciOczekiwanej', 0, 'INTEGER', @session.HT.IR.DniPowiekszeniaDatyPlatnosciOczekiwanej, 2);
		
		CALL _IReg_Get('Edit', 'KontrahAlert_ZMSTZTMG', 0, 'BOOLEAN', @session.HT.IR.KontrahAlert_ZMSTZTMG, FALSE);

		-- rok obrach  // RegistryInt.GetRegIntValueInteger('Rok podatkowy', YearOf(Date), 'FK');
		-- @session.HT.IR.RokPodatkowy - odczytuje wartość domyślnego roku z IRega
		-- @session.FK.AktRokObrach - aktualnie ustawiony rok obrach.
		CALL _IReg_Get('FK', 'Rok podatkowy', 0, 'INTEGER', @session.HT.IR.RokPodatkowy, YEAR(CURDATE()));
		SET @session.FK.AktRokObrach = IFNULL(@session.FK.AktRokObrach, @session.HT.IR.RokPodatkowy);
		
		IF (_Param_A = 'opng') OR _ALL THEN
	--	CALL _Session_Refresh_Variables('HT', 'opng', '');
			CALL _IReg_Get('OPNGINFOPATH', 'CenyPrecisionWalutowe', 0, 'INTEGER', @session.HT.IR.CenyPrecisionWalutowe, 2);
			CALL _IReg_Get('OPNGINFOPATH', 'CenyPrecisionPLN', 0, 'INTEGER', @session.HT.IR.CenyPrecisionPLN, 2);
			CALL _IReg_Get('OPNGINFOPATH', 'Ceny_promocyjne_aktywne', 0, 'BOOLEAN', @session.HT.IR.Ceny_promocyjne_aktywne, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Pobieraj_cene_z_najwyzszej_klasy_cen', 0, 'BOOLEAN', @session.HT.IR.Pobieraj_cene_z_najwyzszej_klasy_cen, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzypisywacCenyEwidDoPW', 0, 'BOOLEAN', @session.HT.IR.PrzypisywacCenyEwidDoPW, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzypisywacCenyEwidDoRW', 0, 'BOOLEAN', @session.HT.IR.PrzypisywacCenyEwidDoRW, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzypisywacCenyEwidDoINWENT', 0, 'BOOLEAN', @session.HT.IR.PrzypisywacCenyEwidDoINWENT, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzepiszUwagiZZamowienia', 0, 'BOOLEAN', @session.HT.IR.PrzepiszUwagiZZamowienia, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzepiszKatColZZamowienia', 0, 'BOOLEAN', @session.HT.IR.PrzepiszKatColZZamowienia, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzepiszGUIDZleceniaProd', 0, 'BOOLEAN', @session.HT.IR.PrzepiszGUIDZleceniaProd, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Kontrola_cen_sprzed_w_dok_mag', 0, 'BOOLEAN', @session.HT.IR.Kontrola_cen_sprzed_w_dok_mag, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Sprzedaz_ponizej_ceny_min', 0, 'BOOLEAN', @session.HT.IR.Sprzedaz_ponizej_ceny_min, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Sprzedaz_ponizej_ceny_zakupu', 0, 'BOOLEAN', @session.HT.IR.Sprzedaz_ponizej_ceny_zakupu, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PomniejszZTUEOKosztNabycia', 0, 'BOOLEAN', @session.HT.IR.PomniejszZTUEOKosztNabycia, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'ZakazEdycjiWZPZPodczepionych', 0, 'BOOLEAN', @session.HT.IR.ZakazEdycjiWZPZPodczepionych, TRUE);
			
			-- CALL _IReg_Get('OPNGINFOPATH', 'Dok. drukować grupujac towary', 0, 'INTEGER', @session.HT.IR.PozycjeGrupowaneNaWydruku, 2);
			CALL _IReg_Get('OPNGINFOPATH', 'RV_DodajBezOdliczenDoNetto', 0, 'BOOLEAN', @session.HT.IR.RV_DodajBezOdliczenDoNetto, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Pokaz_uwagi_dla_sprzedajacego', 0, 'BOOLEAN', @session.HT.IR.Pokaz_uwagi_dla_sprzedajacego, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PrzenosOdbierajacegoZKartyKontrahenta', 0, 'BOOLEAN', @session.HT.IR.PrzenosOdbierajacegoZKartyKontrahenta, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'przepisz_uwagi_kontrah_do_oper', 0, 'BOOLEAN', @session.HT.IR.przepisz_uwagi_kontrah_do_oper, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'naliczanie_oplaty_produktowej', 0, 'BOOLEAN', @session.HT.IR.naliczanie_oplaty_produktowej, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'DataZabrOper', 0, 'DATE', @session.HT.IR.cDataZabrOper, '1980-01-01');
			CALL _IReg_Get('OPNGINFOPATH', 'Zakup pozostaly ma pozycje', 0, 'BOOLEAN', @session.HT.IR.ZakupPozostalyMaPozycje, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PytajoFVdoWZ', 0, 'BOOLEAN', @session.HT.IR.PytajoFVdoWZ, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PytajoFVdoPZ', 0, 'BOOLEAN', @session.HT.IR.PytajoFVdoPZ, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'PytajoWalutePrzyDokKrajowym', 0, 'BOOLEAN', @session.HT.IR.PytajoWalutePrzyDokKrajowym, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'przepisz_ugrpGUID_z_kontrah', 0, 'BOOLEAN', @session.HT.IR.przepisz_ugrpGUID_z_kontrah, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'KorektaInicjujDataSprzedZOrig', 0, 'BOOLEAN', @session.HT.IR.KorektaInicjujDataSprzedZOrig, IF(@session.globals.Owner = 'AXIS', TRUE, FALSE));
			CALL _IReg_Get('OPNGINFOPATH', 'Domyslna_klasa_cen', 0, 'INTEGER', @session.HT.IR.Domyslna_klasa_cen, 1);
			CALL _IReg_Get('OPNGINFOPATH', 'Jedna_data_na_dok_mag', 0, 'BOOLEAN', @session.HT.IR.Jedna_data_na_dok_mag, 0);
			CALL _IReg_Get('OPNGINFOPATH', 'Akceptuj niedobor', 0, 'BOOLEAN', @session.HT.IR.Akceptuj_niedobor, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Mag Warning', 0, 'BOOLEAN', @session.HT.IR.Mag_Warning, FALSE);
			
			CALL _IReg_Get('OPNGINFOPATH', 'Ostrzeganie o powtorzeniu numeru dokfin', 0, 'BOOLEAN', @session.HT.IR.Ostrzeganie_o_powtorzeniu_numeru_dokfin, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Ostrzeganie o powtorzeniu numeru wewnetrznego', 0, 'BOOLEAN', @session.HT.IR.Ostrzeganie_o_powtorzeniu_numeru_wewnetrznego, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Ostrzeganie restrykcyjne o powtorzeniu numeru wewn', 0, 'BOOLEAN', @session.HT.IR.Ostrzeganie_restrykcyjne_o_powtorzeniu_numeru_wewn, FALSE);

			CALL _IReg_Get('OPNGINFOPATH', 'Ostrzeganie o powtorzeniu numeru magazynowego', 0, 'BOOLEAN', @session.HT.IR.Ostrzeganie_o_powtorzeniu_numeru_magazynowego, FALSE);
			
			CALL _IReg_Get('OPNGINFOPATH', 'Ostrzeganie o powtorzeniu numeru wewnetrznego', 0, 'BOOLEAN', @session.HT.IR.Ostrzeganie_o_powtorzeniu_numeru_wewnetrznego, FALSE);
			CALL _IReg_Get('OPNGINFOPATH', 'Ostrzeganie o powtorzeniu numeru zamowienia', 0, 'BOOLEAN', @session.HT.IR.Ostrzeganie_o_powtorzeniu_numeru_zamowienia, FALSE);
			
			-- #038334  zmienne uzywane przy okreslaniu IFNULL(MAX(nrwewn_int),0)+1 AS nr_int :
			CALL _IReg_Get('', 'nrwewn_polautomat_wg_rodzaju_dowodu', 0, 'BOOLEAN', @session.HT.IR.nrwewn_polautomat_wg_rodzaju_dowodu, FALSE);  -- TRUE w CDG, Relacom
			CALL _IReg_Get('', 'nrwewn_polautomat_wg_magazynu', 0, 'BOOLEAN',       @session.HT.IR.nrwewn_polautomat_wg_magazynu, FALSE);
			
		END IF;
		
		CALL _IReg_Get('', 'ZamknijWydrukowanaOperacje', 0, 'BOOLEAN', @session.HT.IR.ZamknijWydrukowanaOperacje, FALSE);
		CALL _IReg_Get('', 'UstawPakowaniePoWydrukuOperacji', 0, 'BOOLEAN', @session.HT.IR.UstawPakowaniePoWydrukuOperacji, FALSE);

		CALL _IReg_Get('E_Sprzedaz', 'Przeliczenie_B_N', 0, 'BOOLEAN', @session.HT.IR.Przeliczenie_B_N, FALSE);
		CALL _IReg_Get('E_Sprzedaz', 'Przeliczenie_B_N_z_klasy_cen', 0, 'BOOLEAN', @session.HT.IR.Przeliczenie_B_N_z_klasy_cen, FALSE);
		CALL _IReg_Get('E_Sprzedaz', 'alert_pusty_sposob_platnosci', 0, 'BOOLEAN', @session.HT.IR.alert_pusty_sposob_platnosci, FALSE);
		CALL _IReg_Get('', 'Blokuj_kontrahenta_przy_zam_i_zlecprod', 0, 'BOOLEAN', @session.HT.IR.Blokuj_kontrahenta_przy_zam_i_zlecprod, FALSE);
		

		CALL _IReg_Get('Edit', 'Zakup nie inicjuj sposobu platnosci z karty kontra', 0, 'BOOLEAN', @session.HT.IR.Zakup_nie_inicjuj_sposobu_platnosci_z_karty_kontra, FALSE);

		CALL _IReg_Get('E_WZPZAttach', 'FV_z_WZ_dla_Platnika', 0, 'BOOLEAN', @session.HT.IR.FV_z_WZ_dla_Platnika, FALSE);
		CALL _IReg_Get('E_WZPZAttach', 'Lista_FV_z_dokmag_bez_zwrotow', 0, 'BOOLEAN', @session.HT.IR.Lista_FV_z_dokmag_bez_zwrotow, FALSE);
		
		CALL _IReg_Get('', 'FVdoWZtylkoWybranyMag', 0, 'BOOLEAN', @session.HT.IR.FVdoWZtylkoWybranyMag, FALSE);
		
		CALL _IReg_Get('', 'Informuj_o_materialach_propagandowych', 0, 'BOOLEAN', @session.HT.IR.Informuj_o_materialach_propagandowych, FALSE);

		CALL _IReg_Get('OPNGINFOPATH', 'Przepisuj_NrRaportu_do_NrWewn', 0, 'BOOLEAN', @session.HT.IR.Przepisuj_NrRaportu_do_NrWewn, FALSE);
		CALL _IReg_Get('OPNGINFOPATH', 'Przepisuj_NrDokFin_do_NrWewn', 0, 'BOOLEAN', @session.HT.IR.Przepisuj_NrDokFin_do_NrWewn, FALSE);
		CALL _IReg_Get('OPNGINFOPATH', 'Nr_wewn_tylko_duze_litery', 0, 'BOOLEAN', @session.HT.IR.Nr_wewn_tylko_duze_litery, FALSE);
		
		
		IF (_Param_A = '') OR _ALL THEN
			CALL _IReg_Get('Rabaty', 'Rabaty hierarchiczne uzywaj daty waznosci', 0, 'BOOLEAN', @session.HT.IR.RabatyHierarchiczne_DataWaznosciUsed, FALSE);
			CALL _IReg_Get('Rabaty', 'RabatyHierarchiczne', 0, 'INTEGER', @session.HT.IR.RabatyHierarchiczne, 1);
		END IF;

		CALL _IReg_Get('', 'NieNadawajNumerowDlaTymczas', 0, 'BOOLEAN', @session.HT.IR.NieNadawajNumerowDlaTymczas, FALSE);
		CALL _IReg_Get('', 'Przepisz_katcol_kontrah_do_opng', 0, 'BOOLEAN', @session.HT.IR.Przepisz_katcol_kontrah_do_opng, FALSE);
		CALL _IReg_Get('', 'Wymus_przepisywanie_katcol_do_poz', 0, 'BOOLEAN', @session.HT.IR.Wymus_przepisywanie_katcol_do_poz, FALSE);
		CALL _IReg_Get('Wydruki\FV', 'Drukuj rabat netto na FV', 0, 'BOOLEAN', @session.HT.IR.Drukuj_rabat_netto_na_FV, FALSE);
		
		--	VAT
		CALL _IReg_Get('', 'PrzeliczajTabelkeVatDlaZkImZTUE', 0, 'BOOLEAN', @session.HT.IR.PrzeliczajTabelkeVatDlaZkImZTUE, TRUE);
		--	Rozrzucanie
		CALL _IReg_Get('', 'rozrzucanie_kosztu_nabycia', 0, 'BOOLEAN', @session.HT.IR.rozrzucanie_kosztu_nabycia, TRUE);
		
		--	Rozrachunki
		CALL _IReg_Get('', 'Zakupy_import_Netto_do_rozrach', 0, 'BOOLEAN', @session.HT.IR.Zakupy_import_Netto_do_rozrach, TRUE);
		CALL _IReg_Get('', 'Sprzedaz_export_Brutto_do_rozrach', 0, 'BOOLEAN', @session.HT.IR.Sprzedaz_export_Brutto_do_rozrach, TRUE);
		CALL _IReg_Get('', 'Zakup_krajowy_walucie_Brutto_do_rozrach', 0, 'BOOLEAN', @session.HT.IR.Zakup_krajowy_walucie_Brutto_do_rozrach, TRUE);
		
		
		
		CALL _IReg_Get('', 'Sprzedaz_export_BruttoWal_do_rozrach', 0, 'BOOLEAN', @session.HT.IR.Sprzedaz_export_BruttoWal_do_rozrach, TRUE);
		CALL _IReg_Get('', 'Zakup_krajowy_walucie_Brutto_do_rozrach', 0, 'BOOLEAN', @session.HT.IR.Zakup_krajowy_walucie_Brutto_do_rozrach, TRUE);

		--	edycja
		CALL _IReg_Get('E_Sprzedaz', 'Kontroluj_wypelnienie_pola_nrdokfin', 0, 'BOOLEAN', @session.HT.IR.Kontroluj_wypelnienie_pola_nrdokfin, FALSE);
		CALL _IReg_Get('E_Sprzedaz', 'UmozliwiajZapisBezWypelPolaNrDokFin', 0, 'BOOLEAN', @session.HT.IR.UmozliwiajZapisBezWypelPolaNrDokFin, IF(@session.globals.Owner = 'BYSEWO', TRUE, FALSE));
		CALL _IReg_Get('E_Sprzedaz', 'Kontroluj_wypelnienie_pola_wzordekr', 0, 'BOOLEAN', @session.HT.IR.Kontroluj_wypelnienie_pola_wzordekr, FALSE);
		
		IF (_Param_A = 'oppo') OR _ALL THEN		
	--	CALL _Session_Refresh_Variables('HT', 'oppo', '');
			--	SET @session.globals.ht.databo = NULL;
			CALL _Globals_Get('DataBoMag', @session.globals.ht.databo, NULL);
			IF @session.globals.ht.databo IS NULL THEN
			--	Koniecznosc pobrania i uzupelnienia daty BO
				SELECT 
					MAX(datawplywu) 
				INTO	
					@session.globals.ht.databo
				FROM `oppo` 
				WHERE 
					rodzaj = 51
				;
				SET @session.globals.ht.databo = IFNULL(@session.globals.ht.databo, '1990-01-01');
			--	i wpisania daty BO do `_db_globals`
				CALL _Globals_Set('DataBoMag', @session.globals.ht.databo);
			END IF;	
		END IF;
		
		IF (_Param_A = 'zmng') OR _ALL THEN
			CALL _IReg_Get('ZAMOWIENIA', 'Prefiks_klonowanego_num_zam', 0, 'STRING', @session.HT.IR.Prefiks_klonowanego_num_zam, '***');
			CALL _IReg_Get('ZAMOWIENIA', 'Klonuj_uwagi_zamowien', 0, 'BOOLEAN', @session.HT.IR.Klonuj_uwagi_zamowien, TRUE);
			CALL _IReg_Get('ZAMOWIENIA', 'Permanentne_Przesuwac_Termin_Realizacji_o_Cykl', 1, 'BOOLEAN', @session.HT.IR.Permanentne_Przesuwac_Termin_Realizacji_o_Cykl, TRUE);
		END IF;
			
		SET _MSG = '';

	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'FK'
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'FK') OR _ALL THEN
	
		IF (_Param_A = 'konta') OR _ALL THEN
			-- IF @session.FK.IR.EraseSeparatorFromFirstAccountChars IS NULL THEN
			--	sekwencja CALL _IReg_Get bedzie (powinna być) wołana na początkiu sesji									  
			 	CALL _IReg_Get('FK', 'Konta_pierwsze_znaki_bez_separatora', 0, 'INTEGER', @session.FK.IR.EraseSeparatorFromFirstAccountChars, 0);		
			-- 	CALL _IReg_Get('FK', 'Konta_usun_sep_z_pierwszych_n_znakow', 0, 'INTEGER', @session.FK.IR.EraseSeparatorFromFirstAccountChars, 0);		
			-- END IF;
			CALL _IReg_Get('FK', 'Tworzenie_kont_z_Analityki_kontrah', 0, 'BOOLEAN', @session.FK.IR.Tworzenie_kont_z_Analityki_kontrah, FALSE); 
			CALL _IReg_Get('FK', 'Tworzenie_kont_z_IDN_kontrah', 0, 'BOOLEAN', @session.FK.IR.Tworzenie_kont_z_IDN_kontrah, FALSE); 
		END IF;

		CALL _IReg_Get('FK', 'Widoczna_datawplywu_w_RO', 0, 'BOOLEAN', @session.HT.IR.Widoczna_datawplywu_w_RO, TRUE);
		
		CALL _IReg_Get('', 'MozliwoscEdycjiDokZadekretowanego', 0, 'BOOLEAN', @session.FK.IR.MozliwoscEdycjiDokZadekretowanego, IF(@session.globals.Owner = 'ASEKURACJA', TRUE, FALSE)); 
		
		SET _MSG = '';
	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'PL'
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'PL') OR _ALL THEN
		SET _MSG = '';
		CALL _Globals_Get('pl.FrekwPrec.MinFact', @session.globals.pl.FrekwPrec.MinFact, 60);
		SET @FrekwPrec.MinFact = @session.globals.pl.FrekwPrec.MinFact;
		CALL _Globals_Get('pl.dlugosc.okresu.rozl', @session.globals.pl.dlugosc.okresu.rozl, 3);  -- dlugosc okresu rozl. (rownowazny CP)
		CALL _Globals_Get('pl.FrekwCalc.FromRCP.Mode', @session.globals.pl.FrekwCalc.FromRCP.Mode, 0);
		CALL _Globals_Get('pl.FrekwCalc.Nadgodz.Narastajaco', @session.globals.pl.FrekwCalc.Nadgodz.Narastajaco, 0);
		SET @session.globals.pl.FrekwCalc.Nadgodz.Narastajaco = (@session.globals.pl.FrekwCalc.Nadgodz.Narastajaco != 0);
		
		CALL _IReg_Get('Place2003', 'RCP_Kara_za_spoznienie_min', 0, 'INTEGER', @session.PL.IR.RCP_Kara_za_spoznienie_min, 0);		
		CALL _IReg_Get('Place2003\\Parametry_kartoteki_plac', 'Nalicz_place_typu_konkol_zoo', 0, 'INTEGER', @session.PL.IR.Nalicz_place_typu_konkol_zoo, 0);		
		-- RegistryInt.GetRegIntValueInteger('Nalicz_place_typu_konkol_zoo', 0, 'Place2003\Parametry_kartoteki_plac', 1) = 1
		
		CALL _Globals_Get('pl.7GODZ_I_II_GR_INW', @session.globals.pl.7GODZ_I_II_GR_INW, NULL);  
		CALL _Globals_Get('pl.UrlopProp', @session.globals.pl.UrlopProp, NULL);
		CALL _Globals_Get('pl.Dopelnienie_godz_do_pelnych_dni', @session.globals.pl.Dopelnienie_godz_do_pelnych_dni, NULL);
		CALL _Globals_Get('pl.UwzglHistZatr_nowa_firma', @session.globals.pl.UwzglHistZatr_nowa_firma, NULL);  
		CALL _Globals_Get('pl.ZWIEKSZ_WYMIAR_URLOPU_W_CALOSCI', @session.globals.pl.ZWIEKSZ_WYMIAR_URLOPU_W_CALOSCI, NULL);
		
	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'HR'
	CALL _Session_Refresh_Variables('HR', '', '');
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'HR') OR _ALL THEN
		SET _MSG = '';
		IF _Session_User_logged THEN
			DROP TEMPORARY TABLE IF EXISTS `t_session_user_group`;
			CREATE TEMPORARY TABLE `t_session_user_group`
				SELECT
					go.*, (go.OsobaGUID = go.GrupaGUID) AS This 
				FROM `grupy_osob` go
				WHERE
					go.OsobaGUID = @session.user.UserGUID
				;			
		END IF;
		
		SET 
			@session.globals.hr.HR_TOWR_RES_ACTIVE = FALSE,
			@session.globals.hr.HR_SEARCH_BY_hr_kontrah_links = FALSE
		;
		CALL _Globals_Get('HR_TOWR_RES_ACTIVE', @session.globals.hr.HR_TOWR_RES_ACTIVE, @session.globals.hr.HR_TOWR_RES_ACTIVE);
		CALL _Globals_Get('HR_SEARCH_BY_hr_kontrah_links', @session.globals.hr.HR_SEARCH_BY_hr_kontrah_links, @session.globals.hr.HR_SEARCH_BY_hr_kontrah_links);

		CALL geo_int_tools('search.ulice.miejsca.initialize', '', '', '', '', '');		
		-- potem tę wyże wywal !!!!!!!!!!!!!!!!!!!!!!!!!!
		CALL geo_init('');


	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'CRM'
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'CRM') OR _ALL THEN
		SET _MSG = '';
		CALL C_CRM('', '', '', '');
	END IF;
	
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	'SNPROD'
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/	
	IF (_MODE = 'SNPROD') OR _ALL THEN
		SET _MSG = '';
	END IF;
	
END$$

DELIMITER ;

/*
====================================================================================================================================================================================
	NOTATNIK
====================================================================================================================================================================================

CALL _Session_Refresh_Variables('', '', '');
	
select
@session.FK.IR.EraseSeparatorFromFirstAccountChars,
@session.FK.IR.Tworzenie_kont_z_Analityki_kontrah,
@session.FK.IR.Tworzenie_kont_z_IDN_kontrah,

		@session.HT.IR.CenyPrecisionWalutowe, 
		@session.HT.IR.CenyPrecisionPLN, 
		@session.HT.IR.Ceny_promocyjne_aktywne, 
		@session.HT.IR.Pobieraj_cene_z_najwyzszej_klasy_cen, 
		@session.HT.IR.PrzypisywacCenyEwidDoPW, 
		@session.HT.IR.PrzypisywacCenyEwidDoRW, 
		@session.HT.IR.PrzypisywacCenyEwidDoINWENT, 
		@session.HT.IR.Kontrola_cen_sprzed_w_dok_mag,
		@session.HT.IR.Sprzedaz_ponizej_ceny_min, 
		@session.HT.IR.Sprzedaz_ponizej_ceny_zakupu, 
		@session.HT.IR.RabatyHierarchiczne_DataWaznosciUsed 
;

PAMIĘTAĆ
aby
@session.CurrOsobaGUID, @session.CurrugrpGUID
były ustawiane 
po logowaniu bo w logowaniu mamy chyba nieco inne zmienne!

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
