Způsoby integrace s 1C

Jaké jsou hlavní požadavky na podnikové aplikace? Mezi nejdůležitější patří následující úkoly:

  • Snadnost změny/adaptace logiky fungování aplikace na měnící se obchodní úkoly.
  • Snadnost integrace s jinými aplikacemi.

Jak je v 1C řešen první úkol, bylo stručně popsáno v sekci "Kustomizace a podpora" tohoto článku; k tomuto zajímavému tématu se ještě vrátíme v jednom z budoucích článků. Dnes se ale zaměříme na druhý úkol, a to integraci.

Integrace úkolů

Integrace úkolů může mít různou podobu. Pro některé úkoly stačí jednoduchá interaktivní výměna dat – například pro zasílání seznamu zaměstnanců bance k vystavení plastových karet na mzdy. Pro složitější úkoly může být nezbytná plně automatizovaná výměna dat, možná s využitím obchodní logiky externího systému. Existují také specializované úkoly, jako je integrace s externím vybavením (například obchodní zařízení, mobilní skenery atd.) nebo s dědičnými nebo úzce specializovanými systémy (například systémy pro rozpoznávání RFID tagů). Je zásadní pro každý úkol vybrat nejvhodnější mechanismus integrace.

Možnosti integrace s 1C

Existují různé přístupy k realizaci integrace s aplikacemi 1C, který z nich zvolit – závisí na požadavcích úkolu.

  1. Realizace založená na mechanismech integrace, které poskytuje platforma, vlastním specializovaném API na straně aplikace 1C (například souboru Web- nebo HTTP služeb, které budou vyvolávat externí aplikace pro výměnu dat s aplikací 1C). Výhodou tohoto přístupu je odolnost API vůči změnám realizace na straně aplikace 1C. Specifikem přístupu je, že je třeba měnit zdrojový kód typového řešení 1C, což může potenciálně vyžadovat úsilí při slučování zdrojových kódů při přechodu na novou verzi konfigurace. V tomto případě může pomoci nová pokroková funkčnost – rozšíření konfigurace. Rozšíření jsou v podstatě mechanismem pluginů, který umožňuje vytváření doplňků aplikací, aniž by bylo nutné měnit samotné aplikace. Vyčlenění integračního API do rozšíření konfigurace umožní vyhnout se komplikacím při sloučení konfigurací během přechodu na novou verzi standardního řešení.
  2. Používání integračních mechanismů platformy, které poskytují externí přístup k objektovému modelu aplikace a nevyžadují úpravy aplikace nebo vytváření rozšíření. Výhodou tohoto přístupu je, že není nutné měnit aplikaci 1C. Nevýhodou je, že pokud byla aplikace 1C upravena, mohou být vyžadovány úpravy v integrované aplikaci. Příklad tohoto přístupu – použití integračního protokolu OData, implementovaného na straně platformy 1C:Enterprise (více o něm níže).
  3. Používání hotových aplikativních protokolů, realizovaných v typových řešeních 1C. Mnohé typové řešení od 1C a partnerů implementují na základě integračních mechanismů poskytovaných platformou své vlastní aplikativní protokoly, zaměřené na konkrétní úkoly. Při používání těchto mechanismů není nutné psát kód na straně aplikace 1C, protože využíváme standardní možnosti aplikativního řešení. Na straně aplikace 1C je třeba provést pouze určité nastavení.

Integrační mechanismy na platformě 1C:Enterprise

Import/export souborů

Představme si, že máme úkol obousměrné výměny dat mezi aplikací 1C a libovolnou aplikací. Například potřebujeme synchronizovat seznam produktů (adresář Nomenklatura) mezi aplikací 1C a libovolnou aplikací.

Způsoby integrace s 1C
Pro vyřešení takového úkolu lze napsat rozšíření, které exportuje adresář Nomenklatura do souboru určitého formátu (textový, XML, JSON, …) a umí tento formát číst.

Na platformě je implementován mechanismus serializace aplikativních objektů do XML jak přímo, pomocí metod globálního kontextu ZapsatXML/ČístXML, tak i s pomocí pomocného objektu XDTO (XML Data Transfer Objects).

Jakýkoli objekt v systému 1C:Enterprise může být serializován do XML reprezentace a naopak.

Tato funkce vrátí reprezentaci objektu ve formátu XML:

Funkce Objekt_V_XML(Objekt)
    ZáznamXML = Nový ZáznamXML();
    ZáznamXML.UstanovitŘetězec();
    ZapsatXML(ZáznamXML, Objekt);
    Návrat ZáznamXML.Zavřít();
KonecFunkce

takto bude vypadat export katalogu Nomenklatura do XML pomocí XDTO:

&NaServeru
Procedura ExportXMLNaServeru()	
	NovýSériovýXDTO  = SériovýXDTO;
	NovýZáznamXML = Nový ZáznamXML();
	NovýZáznamXML.OtevřítSoubor("C:DataNomenklatura.xml", "UTF-8");
	
	NovýZáznamXML.ZapsatOznámeníXML();
	NovýZáznamXML.ZapsatZačátekElementu("KatalogNomenklatura");
	
	Výběr = Katalogy.Nomenklatura.Vybrat();
	
	Když Výběr.Následující() Cyklus 
		ObjektNomenklatura = Výběr.ZískatObjekt();
		NovýSériovýXDTO.ZapsatXML(NovýZáznamXML, ObjektNomenklatura, ÚčelTypuXML.Explicitní);
	KonecCyklu;
	
	NovýZáznamXML.ZapsatKonecElementu();
	NovýZáznamXML.Zavřít();	
KonecProcedury

Jednoduchou úpravou kódu exportujeme katalog do JSON. Produkty budou zapsány do pole; pro rozmanitost uvedeme anglickou variantu syntaxe:

&NaServeru
Procedura ExportJSONNaServeru()
	NovýXDTOSériový  = XDTOSeriový;
	NovýJSONZapisovač = Nový JSONZapisovač();
	NovýJSONZapisovač.OtevřítSoubor("C:DataNomenklatura.json", "UTF-8");
	
	NovýJSONZapisovač.ZapsatZačátekObjektu();
	NovýJSONZapisovač.ZapsatNázevVlastnosti("KatalogNomenklatura");
	NovýJSONZapisovač.ZapsatZačátekPole();
	
	Výběr = Katalogy.Nomenklatura.Vybrat();	
	
	Zatímco Výběr.Následující() Dělej 
		ObjektNomenklatura = Výběr.ZískatObjekt();
		
		NovýJSONZapisovač.ZapsatZačátekObjektu();
		
		NovýJSONZapisovač.ZapsatNázevVlastnosti("Nomenklatura");
		NovýXDTOSériový.ZapsatJSON(NovýJSONZapisovač, ObjektNomenklatura, PřiděleníTypuXML.Implicitní);
		
		NovýJSONZapisovač.ZapsatKonecObjektu();
	KonecDěj;
	
	NovýJSONZapisovač.ZapsatKonecPole();
	NovýJSONZapisovač.ZapsatKonecObjektu();
	NovýJSONZapisovač.Zavřít();	
KonecProcedury

Nyní zbývá pouze předat data koncovému uživateli. Platforma 1C:Enterprise podporuje hlavní internetové protokoly HTTP, FTP, POP3, SMTP, IMAP, včetně jejich zabezpečených verzí. Pro přenos dat lze také použít HTTP a/nebo webové služby.

HTTP a webové služby

Způsoby integrace s 1C

Aplikace 1C mohou implementovat své HTTP a webové služby, stejně jako volat HTTP a webové služby realizované třetími aplikacemi.

REST rozhraní a protokol OData

Od verze 8.3.5 může platforma 1C:Enterprise automaticky formovat REST rozhraní pro celé aplikační řešení. Jakýkoli konfigurační objekt (katalog, dokument, registr informací atd.) může být zpřístupněn pro získání a modifikaci dat přes REST rozhraní. Jako přístupový protokol platforma používá protokol OData verze 3.0. Publikace služeb OData se provádí z nabídky Konfigurátoru „Administrace -> Publikace na webovém serveru“, přepínač „Publikovat standardní rozhraní OData“ musí být označen. Podporovány jsou formáty atom/XML a JSON. Jakmile je aplikační řešení publikováno na webovém serveru, mohou k němu externí systémy přistupovat prostřednictvím REST rozhraní pomocí HTTP požadavků. Pro práci s aplikací 1C prostřednictvím protokolu OData není potřeba programování na straně 1C.

Takže, URL ve formátu http:////odata/standard.odata/Catalog_Номенклатура nám vrátí obsah katalogu Nomenklatura ve formátu XML — kolekci prvků entry (hlavička zprávy byla vynechána kvůli stručnosti):

http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')
	
	
	2016-06-06T16:42:17
	
	<summary />
	
	
		
			35d1f6e4-289b-11e6-8ba4-e03f49b16074
			AAAAAgAAAAA=
			false
			000000001
			Klima Mitsubishi
			Výkon 2,5 kW, režimy provozu: topení/chlazení
		
	


	http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')
	
...
</code></pre><p> Přidáním řetězce „?$format=application/json“ k URL získáme obsah katalogu Nomenklatura ve formátu JSON (URL ve formátu <u>http:////odata/standard.odata/Catalog_Номенклатура?$format=application/json</u> ):</p><pre><code>{
"odata.metadata": "http://server/Config/odata/standard.odata/$metadata#Catalog_Номенклатура",
"value": [{
"Ref_Key": "35d1f6e4-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAgAAAAA=",
"DeletionMark": false,
"Code": "000000001",
"Description": "Klima Mitsubishi",
"Описание": "Výkon 2,5 kW, režimy provozu: topení/chlazení"
},{
"Ref_Key": "35d1f6e5-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAwAAAAA=",
"DeletionMark": false,
"Code": "000000002",
"Description": "Klima Daikin",
"Описание": "Výkon 3 kW, režimy provozu: topení/chlazení"
}, …
</code></pre><p></p><h4>Externí zdroje dat</h4><p> <img class=lazy decoding=async alt="Způsoby integrace s 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20436%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/1663b53846f3a6a8a03f386f1f6cd311.jpeg style="display:block;margin: 0 auto;" width=600 height=436><br> V některých případech dochází k výměně dat prostřednictvím <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000795.htm>externích zdrojů dat</a></noindex> může se ukázat jako optimální řešení. Vnější datové zdroje jsou aplikačním objektem konfigurace 1C, který umožňuje interakci s jakoukoli databází kompatibilní s ODBC jak pro čtení, tak pro zápis. Vnější datové zdroje jsou dostupné jak ve Windows, tak v Linuxu.</p><h4>Mechanismus výměny dat</h4><p> <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000269.htm>Mechanismus výměny dat</a></noindex> je určen jak pro vytváření teritoriálně distribuovaných systémů na bázi 1C:Enterprise, tak pro organizaci výměny dat s jinými informačními systémy, které nejsou založeny na 1C:Enterprise.</p><p>Tento mechanismus se aktivně využívá při implementacích 1C, a rozsah úkolů, které se s jeho pomocí řeší, je velmi široký. To zahrnuje výměnu dat mezi aplikacemi 1C, nainstalovanými v pobočkách organizace, a výměnu mezi aplikací 1C a webovou stránkou internetového obchodu, a výměnu dat mezi serverovou aplikací 1C a mobilním klientem (vytvořeným pomocí mobilní platformy 1C:Enterprise), a mnohem víc.</p><p>Jedním z klíčových pojmů v mechanismu výměny dat je plán výměny. Plán výměny je speciální typ aplikačního objektu platformy 1C, který definuje zejména složení dat, která se budou podílet na výměně (jaké konkrétní referenční informace, dokumenty, registry atd.). Plán výměny rovněž obsahuje informace o účastnících výměny (tzv. uzlech výměny).<br> Druhá součást mechanismu výměny dat je mechanismus registrace změn. Tento mechanismus automaticky sleduje v systému změny dat, které mají být předány konečným uživatelům v rámci plánu výměny. S pomocí tohoto mechanismu platforma sleduje změny, které nastaly od poslední synchronizace, a umožňuje minimalizovat objem dat, která jsou předávána v rámci dalšího synchronizačního sezení.</p><p>Výmena údajov prebieha prostredníctvom XML správ určitej štruktúry. Správa obsahuje údaje, ktoré sa zmenili od poslednej synchronizácie s uzlom, a nejaké servisné informácie. Štruktúra správ podporuje číslovanie správ a umožňuje získať potvrdenia od uzla-prijímateľa o prijatí správ. Takéto potvrdenie sa nachádza v každej správe, ktorá prichádza od uzla-prijímateľa, vo forme čísla poslednej prijatej správy. Číslovanie správ umožňuje platforme pochopiť, aké údaje už boli úspešne prenesené na uzol-prijímateľ a vyhnúť sa opätovnému prenosu, pričom sa prenášajú len údaje, ktoré sa zmenili od prijatia poslednej správy s potvrdením o prijatých údajoch uzlom-prijímateľom. Pri takejto schéme práce je zabezpečená garantovaná dodávka aj pri nespoľahlivých komunikačných kanáloch a strate správ.</p><h4>Externé komponenty</h4><p> V niektorých prípadoch, pri riešení úloh integrácie, sa musíme stretávať so špecifickými požiadavkami, ako napríklad protokoly interakcie, formáty údajov, s ktorými platforma 1C:Enterprise nepočítala. Pre takýto okruh úloh je v platforme predpokladaná <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000545.htm>technológia externých komponentov</a></noindex>, ktorá umožňuje vytvárať dynamicky pripojiteľné moduly, ktoré rozširujú funkčnosť 1C:Enterprise.</p><p>Typickým príkladom úlohy s podobnými požiadavkami môže byť integrácia aplikácie 1C s obchodným zariadením, počínajúc váhami a končiac pokladničnými zariadeniami a skenermi čiarových kódov. Externé komponenty môžu byť pripojené tak na strane servera 1C:Enterprise, ako aj na klientskej strane (vrátane webového klienta, ako aj <noindex><a rel=nofollow href=https://wonderland.v8.1c.ru/blog/vneshnie-komponenty-v-mobilnom-prilozhenii/ >nasledujúcej verzie mobilnej platformy</a></noindex> 1C:Enterprise). Technológia externých komponentov predpokladá dostatočne jednoduché a zrozumiteľné programové (C++) rozhranie na interakciu komponentov s platformou 1C:Enterprise, ktoré musí implementovať vývojár.</p><p>Možnosti, ktoré sa otvárajú pri používaní externých komponentov, sú veľmi široké. Môžeme realizovať interakciu podľa špecifického protokolu výmeny údajov s externými zariadeniami a systémami, integrovať špecifické algoritmy spracovania údajov a formátov údajov atď.</p><h4>Zastaralé integrační mechanismy</h4><p> Na platformě jsou k dispozici integrační mechanismy, které se nedoporučuje používat v nových řešeních; byly ponechány z hlediska zpětné kompatibility a také pro případ, že by druhá strana nemohla pracovat s modernějšími protokoly. Jedním z nich je práce s soubory formátu DBF (podporováno ve vestavěném jazyce pomocí objektu XBase).</p><p>Dalším zastaralým integračním mechanismem je použití technologie COM (dostupné pouze na platformě Windows). Platforma 1C:Enterprise poskytuje dva způsoby integrace pro Windows, které využívají technologii COM: Automatizační server a Externí připojení. Tyto způsoby jsou si velmi podobné, ale jedním z hlavních rozdílů je to, že v případě Automatizačního serveru se spustí plnohodnotná klientská aplikace 1C:Enterprise 8, zatímco v případě externího připojení se spustí relativně malý intraprocesní COM-server. To znamená, že v případě práce přes Automatizační server lze využít funkcionalitu klientské aplikace, provádět akce analogické interaktivním akcím uživatele. Při použití externího připojení lze využívat pouze funkce obchodní logiky, přičemž je možné je provádět jak na klientské straně připojení, kde se vytváří intraprocesní COM-server, tak vyvolávat obchodní logiku na straně serveru 1C:Enterprise.</p><p>Technologii COM lze také použít pro přístup k externím systémům z kódu aplikace na platformě 1C:Enterprise. V tomto případě aplikace 1C funguje jako COM-klient. Je však třeba připomenout, že tyto mechanismy budou fungovat pouze tehdy, pokud server 1C běží v prostředí Windows.</p><h3>Integrační mechanismy realizované ve standardních konfiguracích</h3><p></p><h4>Formát EnterpriseData</h4><p> <img class=lazy decoding=async alt="Způsoby integrace s 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20311%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/8930091e53309b9b808a719b747a6226.jpeg style="display:block;margin: 0 auto;" width=600 height=311><br> V řadě konfigurací 1C (seznam níže) byl na základě výše popsaného platformového mechanismu výměny dat realizován hotový mechanismus pro výměnu dat s externími aplikacemi, který nevyžaduje změnu zdrojového kódu konfigurací (příprava na výměnu dat se provádí v nastaveních aplikovaných řešení):</p><ul> <li>„1C:ERP Řízení podniku 2.0“ </li> <li>„Komplexní automatizace 2“ </li> <li>„Účetnictví podniku“, edice 3.0 </li> <li>„Účetnictví podniku KORP“, edice 3.0 </li> <li>„Maloobchod“, edice 2.0 </li> <li>„Základní řízení obchodování“, vydání 11 </li> <li>„Řízení obchodování“, vydání 11</li> <li>„Mzdová a personální správa KORP“, vydání 3</li></ul><p> Pro výměnu dat se používá formát <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_app/enterprisedata/ >EnterpriseData</a></noindex>, založený na XML. Formát je orientován na podnikání – popsané struktury dat odpovídají obchodním subjektům (dokumentům a položkám katalogu), které jsou reprezentovány v programech 1C, například: potvrzení o provedení prací, příjmový pokladní doklad, kontragent, nomenklatura apod.</p><p>Výměna dat mezi aplikací 1C a třetími aplikacemi může probíhat:</p><ul> <li>prostřednictvím vyhrazeného souborového adresáře </li> <li>přes FTP adresář </li> <li>přes webovou službu nasazenou na straně aplikace 1C. Soubor s daty se předává jako parametr webových metod</li> <li>přes elektronickou poštu</li></ul><p> V případě výměny přes webovou službu bude třetí aplikace iniciovat datovou výměnu voláním odpovídajících webových metod aplikace 1C. V ostatních případech bude iniciátorem sezení výměny aplikace 1C (vložením souboru s daty do odpovídajícího adresáře nebo odesláním souboru s daty na nastavenou e-mailovou adresu).<br> Také se na straně 1C nastaví, jak často bude docházet k synchronizaci (pro varianty s výměnou souborů prostřednictvím adresáře a elektronické pošty):</p><ul> <li>podle plánu (s danou periodicitou) </li> <li>manuálně; uživatel bude muset manuálně spouštět synchronizaci pokaždé, když to bude potřebovat</li></ul><p></p><h5>Potvrzování zpráv</h5><p> Aplikace 1C vedou evidenci odeslaných a přijatých zpráv synchronizace a očekávají to samé od třetích aplikací. To umožňuje využít mechanismus číslování zpráv, popsaný výše v části „Mechanismus výměny dat“.</p><p>Aplikace 1C během synchronizace přenášejí pouze informace o změnách, které nastaly v obchodních entitách od poslední synchronizace (aby se minimalizoval objem přenášených informací). Při první synchronizaci aplikace 1C exportuje všechny obchodní entity (například položky z katalogu zboží) ve formátu EnterpriseData do XML souboru (protože všechny jsou pro externí aplikaci "nové"). Externí aplikace musí zpracovat informace z přijatého XML souboru od 1C a při následující synchronizaci umístit do souboru, odesílaného do 1C, ve speciální sekci XML informaci, že zpráva od 1C s určitém číslem byla úspěšně přijata. Potvrzovací zpráva je pro aplikaci 1C signálem, že všechny obchodní entity byly úspěšně zpracovány externí aplikací a informace o nich již není potřeba přenášet. Kromě potvrzení může XML soubor od externí aplikace také obsahovat data pro synchronizaci ze strany aplikace (například dokumenty realizace zboží a služeb).</p><p>Po obdržení potvrzovací zprávy aplikace 1C označuje všechny změny, které byly zaslány v předchozí zprávě, jako úspěšně synchronizované. Pouze nesynchronizované změny v obchodních entitách (vytváření nových entit, změny a mazání existujících) budou odeslány do externí aplikace při následující synchronizaci.</p><p><img class=lazy decoding=async alt="Způsoby integrace s 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/b0d5509a53909e38886a15c2e03e7131.jpeg style="display:block;margin: 0 auto;" width=600 height=381><br> Při přenosu dat z externí aplikace do aplikace 1C se situace obrací. Externí aplikace musí odpovídajícím způsobem vyplnit sekci potvrzení v XML souboru a umístit obchodní data pro synchronizaci ze své strany ve formátu EnterpriseData.</p><p><img class=lazy decoding=async alt="Způsoby integrace s 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/d34b96efb7591770133b363b369c0019.jpeg style="display:block;margin: 0 auto;" width=600 height=381></p><h5>Zjednodušená výměna dat bez potvrzování</h5><p> Pro případy jednoduché integrace, kdy stačí pouze předávat informace z externí aplikace do aplikace 1C a není potřebný zpětný přenos dat z aplikace 1C do externí aplikace (například integrace online obchodu, který předává informace o prodeji do „1C:Účetnictví“), existuje zjednodušená varianta práce přes webovou službu (bez potvrzování), která nevyžaduje nastavení na straně aplikace 1C.</p><h4>Specializovaná integrační řešení</h4><p> Existuje standardní řešení „1C:Konverze dat“, které využívá mechanismy platformy pro konverzi a výměnu dat mezi standardními konfiguracemi 1C, ale může být také použito pro integraci s externími aplikacemi.</p><h5>Integrace s bankovními řešeními</h5><p> Standard <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/100/index.htm>„Klient banka“</a></noindex>, vyvinutý specialisty 1C před více než 10 lety, se v podstatě stal standardem odvětví v Rusku. Dalším krokem v tomto směru je technologie <noindex><a rel=nofollow href=http://directbank.1c.ru/ >DirectBank</a></noindex>, která umožňuje odesílat platební dokumenty do banky a získávat výpisy z banky přímo ze systémových programů „1C:Podnikání“ stisknutím jednoho tlačítka v programu „1C“; přičemž není nutné instalovat a spouštět další programy na klientském počítači.</p><p>Existuje také <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/109/ >standard pro výměnu dat v projektových platebních systémech</a></noindex>.</p><h5>Ostatní</h5><p> Zaslouží si zmínku <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/131/ >protokol výměny mezi systémem 1C:Podnikání a webovou stránkou</a></noindex>, standard výměny obchodních informací <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/90/ >CommerceML</a></noindex> (vyvinutý ve spolupráci s Microsoftem, Intelem, Price.ru a dalšími společnostmi), <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/111/ >standard pro výměnu dat o transakcích akceptace</a></noindex>.<br> <br>Zdroj: <a content=nofollow rel=nofollow href=https://habr.com/ru/company/1c/blog/308420/ >habr.com</a></p></div></article><div style="width: 100%; text-align: center; margin: 0; padding: 31px 0 0 0;"> <a href=https://prohoster.info/cs/vps/ > <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20700%2086%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp data-srcset="        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22-350.webp 350w,        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp 1280w" data-sizes="(max-width: 768px) 90vw, 700px" alt="ProHoster VPS - Dostupné a spolehlivé VPS servery s plným root přístupem" title="ProHoster VPS - Dostupné a spolehlivé VPS servery s plným root přístupem" style="display: inline-block; height: auto; max-width: 100%;" width=700 height=86> </a></div></div><nav class="navigation post-navigation" aria-label=Příspěvky data-no-translation-aria-label><h2 class="screen-reader-text" data-no-translation="" data-trp-gettext="">Navigace pro příspěvek</h2><div class=nav-links><div class=nav-previous><a href=https://prohoster.info/cs/blog/administrirovanie/lte-kak-simvol-nezavisimosti rel=prev>LTE jako symbol nezávislosti</a></div><div class=nav-next><a href=https://prohoster.info/cs/blog/administrirovanie/podnimaem-server-1s-s-publikatsiej-bazy-i-veb-servisov-na-linux rel=next>Zvedáme 1C server s publikací databáze a webových služeb na Linuxu</a></div></div></nav></main></div></div></div><footer id=colophon class=site-footer><div class=container><div class="row between-sm"><div class="col-md-3 col-xs-12"><div id=nav_menu-9 class="widget widget_nav_menu"><h3 class="widget-title">Naše služby</h3><div class=menu-menyu-v-futere-v-vidzhete-1-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-1-russkij-1 class=menu><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121326"><a href=https://prohoster.info/cs/hosting/unlim-khosting>Neomezený hosting webových stránek</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-172"><a href=https://prohoster.info/cs/zhashchita-ot-ddos>Ochrana proti DDoS útokům</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-169"><a href=https://prohoster.info/cs/hosting/constructor>Tvorba webových stránek</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href=https://prohoster.info/cs/control-panel>Ovládací panely</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173"><a href=https://prohoster.info/cs/domain>Registrace domén</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108824"><a href=https://prohoster.info/cs/ssl-sertifikat>SSL certifikáty</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-123573"><a href=https://prohoster.info/cs/vpn>VPN</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-170"><a href=https://prohoster.info/cs/vps/ssd-vps>VPS, VDS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171"><a href=https://prohoster.info/cs/vps/abuzoustojchivye-vps>Windows VPS</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-10 class="widget widget_nav_menu"><h3 class="widget-title">Informace</h3><div class=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale-container><ul id=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale class=menu><li id=menu-item-153465 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153465"><a href=https://prohoster.info/cs/kompaniya/partnerstvo>Partnerství</a></li> <li id=menu-item-153466 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153466"><a href=https://prohoster.info/cs/bonus-partner>Bonusem od partnerů</a></li> <li id=menu-item-153467 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153467"><a href="https://billing.prohoster.info/knowledgebase?language=english">Znalostní báze</a></li> <li id=menu-item-153468 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153468"><a href=https://prohoster.info/cs/kompaniya>O společnosti</a></li> <li id=menu-item-153471 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153471"><a href=https://prohoster.info/cs/kompaniya/terms-of-service>Podmínky poskytování služeb</a></li> <li id=menu-item-153469 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153469"><a href=https://prohoster.info/cs/kompaniya/privacy-policy>Politika ochrany osobních údajů</a></li> <li id=menu-item-153470 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153470"><a href=https://prohoster.info/cs/kompaniya/terms-of-service/#refund>Politika vrácení peněz</a></li> <li id=menu-item-155022 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-155022"><a href=https://prohoster.info/cs/kompaniya/data-centers>Datová centra</a></li> <li id=menu-item-154840 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-154840"><a href=https://prohoster.info/cs/kompaniya/service-level-agreement>SLA</a></li> <li id=menu-item-155009 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-155009"><a href="https://billing.prohoster.info/submitticket.php?step=2&deptid=1&language=english">Nahlásit zneužití</a></li> <li id=menu-item-183801 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-183801"><a href=https://status.prohoster.info>Stav sítě</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-11 class="widget widget_nav_menu"><h3 class="widget-title">Podpora</h3><div class=menu-menyu-v-futere-v-vidzhete-3-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-3-russkij class=menu><li id=menu-item-188 class="menu-btn-billing menu-item menu-item-type-custom menu-item-object-custom menu-item-188"><a rel=nofollow href=https://billing.prohoster.info/login>Billing panel</a></li> <li id=menu-item-189 class="menu-btn-mail menu-item menu-item-type-custom menu-item-object-custom menu-item-189"><a rel=nofollow href=mailto:support@prohoster.info>support@prohoster.info</a></li> <li id=menu-item-108822 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-108822"><a rel=nofollow href=#>IT WEB LTD (Reg. č. 2088463) Intershore Chambers, Road Town, Tortola, P.O. Box 4342, BVI</a></li> <li id=menu-item-183620 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-183620"><a rel=nofollow href=#>Provoz NL: Tulpenstraat 6, Meppel, Nizozemsko</a></li></ul></div></div><div id=custom_html-19 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:340px;margin:0
auto}.awards-wrapper
img{width:105px;height:105px;object-fit:contain}</style><div class=awards-wrapper> <a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/great-uptime.png alt="ProHoster Recenze"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2021-top-10-shared-hosting.png alt="ProHoster Recenze"> </a><div class=sf-root data-id=3473357 data-badge=most-loved data-variant-id=tbs style="width:125px;transform: scale(1.15);"> <a href=https://topbusinesssoftware.com/products/ProHoster/reviews/ target=_blank>ProHoster Recenze</a></div> <script>(function(){var sc=document.createElement('script');sc.async=true;sc.src='https://b.sf-syn.com/badge_js?sf_id=3473357&variant_id=tbs';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc,p);})();</script> <a href=https://sourceforge.net/software/product/ProHoster/ target=_blank rel="noopener nofollow"> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src="https://b.sf-syn.com/badge_img/3473357/heart-badge-white?variant_id=sf&f=png" alt="ProHoster Recenze"> </a></div></div></div></div><div class="col-md-3 col-xs-12"><div id=custom_html-4 class="widget_text widget widget_custom_html"><h3 class="widget-title">Přijímáme</h3><div class="textwidget custom-html-widget"><style>.image-row{display:flex;flex-wrap:wrap;justify-content:space-between}.image-row
a{width:18%}.image-row
img{width:100%;height:auto}</style><div class=image-row> <a href=https://www.visa.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Přijímáme Visa" src=/wp-content/uploads/payment-logos/visa.svg alt=visa1> </a> <a href=https://www.mastercard.com/index.html rel=nofollow> <img style="width: 55px; height: 35px;" title="Přijímáme MasterCard" src=/wp-content/uploads/payment-logos/mastercard.svg alt=master2> </a> <a href=https://pay.google.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Přijímáme GPay" src=/wp-content/uploads/payment-logos/google-pay.svg alt=GPay> </a> <a href=https://apple.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Přijímáme Apple Pay" src=/wp-content/uploads/payment-logos/apple-pay.svg alt="Apple Pay"> </a> <a href=# rel=nofollow> <img style="width: 55px; height: 35px;" class=alignnone title="Přijímáme Crypto" src=https://prohoster.info/wp-content/uploads/payment-logos/crypto.svg alt="Krypto platba"> </a></div></div></div><div id=custom_html-25 class="widget_text widget widget_custom_html"><h3 class="widget-title">Připojte se k nám</h3><div class="textwidget custom-html-widget"><div class=social-links> <a href=https://www.youtube.com/@prohoster_info target=_blank rel=nofollow aria-label=YouTube> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/youtube-icon.webp alt=YouTube title="Jsme na YouTube"> </a> <a href=https://www.facebook.com/prohoster/ target=_blank rel=nofollow aria-label=Facebook> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/facebook-icon.webp alt=Facebook title="Jsme na Facebooku"> </a> <a href=https://t.me/prohoster_news target=_blank rel=nofollow aria-label=Telegram> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/telegram-icon.webp alt=Telegram title="Jsme na Telegramu"> </a> <a href=https://www.tiktok.com/@prohoster.info target=_blank rel=nofollow aria-label=TikTok> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/tiktok1-icon.webp alt=TikTok title="Jsme na tiktok"> </a></div><style>.social-links{display:grid;grid-template-columns:repeat(4, 1fr);gap:15px 10px;justify-items:center;max-width:300px;margin:0
auto}.social-links
img{width:28px;height:28px;object-fit:contain;transition:transform 0.2s ease}.social-links img:hover{transform:scale(1.15)}</style></div></div><div id=custom_html-20 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper-2{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:240px;margin:0
auto}.awards-wrapper-2
img{width:105px;height:auto;object-fit:contain}</style><div class=awards-wrapper-2 style="    margin-top: 107px;"> <a href=https://ru.hostings.info/prohoster.html target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://ru.hostings.info/informers/cache/730-11-blue.png alt="Hodnocení zákazníků na Hostings.info" title="Hodnocení zákazníků - otevře se v novém okně"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2022-top25-dedicated-hosting.png alt="ProHoster Recenze"> </a></div></div></div><div id=block-2 class="widget widget_block widget_text"><p class=wp-block-paragraph></p></div></div></div></div><div class=site-info><div class=container><div class=row><div class="col-md-12 text-center-xs"><div class="textwidget custom-html-widget"><a href="https://apps.db.ripe.net/db-web-ui/lookup?source=ripe&key=ORG-IWL5-RIPE&type=organisation" target=_blank rel=nofollow> <img class=" lazy" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2088%2031%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/ripe-ncc-m-w.png alt=ripe-ncc-m-w width=88 height=31> </a></div><div class="textwidget custom-html-widget"><div style="content-visibility:auto; contain-intrinsic-size:auto 400px;"><div data-submi-badges=bk_R8PRdHn3TQFt-vxA data-submi-size=small data-submi-layout=scroll style="max-width:50%; margin:0 auto;"> … 99 directory links …</div></div> <script>(function(){var box=document.querySelector('[data-submi-badges]');if(!box)return;function fix(){box.querySelectorAll('a').forEach(function(a){if(a.getAttribute('rel')!=='nofollow noopener')a.setAttribute('rel','nofollow noopener');});box.querySelectorAll('img:not([loading])').forEach(function(img){img.loading='lazy';img.decoding='async';});}
var loaded=false;function load(){if(loaded)return;loaded=true;var s=document.createElement('script');s.src='https://app.submi.io/b/bk_R8PRdHn3TQFt-vxA/js';s.async=true;s.onload=function(){fix();var mo=new MutationObserver(fix);mo.observe(box,{childList:true,subtree:true});setTimeout(function(){mo.disconnect();},5000);};document.head.appendChild(s);}
if('IntersectionObserver'in window){var io=new IntersectionObserver(function(entries){if(entries[0].isIntersecting){io.disconnect();load();}},{rootMargin:'300px'});io.observe(box);}else{window.addEventListener('load',load);}})();</script></div>	© 2014 - 2026<span class=sep> | </span>Všechna práva vyhrazena.</div></div></div></div></footer></div><template id=tp-language data-tp-language=cs_CZ></template><script type=speculationrules>{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/cs/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/universal55x5old/*","/cs/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <style>.ph2-tt-wrap{position:relative;display:inline-block;cursor:help}.ph2-tt-wrap .ph2-tt-box{display:none !important;position:absolute !important;bottom:125%;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:8px
10px;border-radius:4px;font-size:12px;line-height:1.4;width:240px;z-index:999;text-align:left;white-space:normal;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ph2-tt-wrap:hover .ph2-tt-box,
.ph2-tt-wrap.ph2-active .ph2-tt-box{display:block !important}.has-percent::after{content:"%"}</style> <script>document.addEventListener('click',function(e){document.querySelectorAll('.ph2-tt-wrap.ph2-active').forEach(function(el){if(!el.contains(e.target))el.classList.remove('ph2-active');});var wrap=e.target.closest('.ph2-tt-wrap');if(wrap){e.preventDefault();wrap.classList.toggle('ph2-active');}});</script> <script>function loadVideo(el){const videoId=el.dataset.id;const iframe=document.createElement("iframe");iframe.src=`https://www.youtube.com/embed/${videoId}?autoplay=1`;iframe.width="750";iframe.height="422";iframe.frameBorder="0";iframe.allow="autoplay; encrypted-media";iframe.allowFullscreen=true;el.innerHTML="";el.appendChild(iframe);}</script> <style>.youtube-placeholder{position:relative;width:100%;height:0;padding-bottom:56.25%;background-color:#000;cursor:pointer;overflow:hidden}.youtube-placeholder img,
.youtube-placeholder
iframe{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.youtube-placeholder .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:68px;height:48px;background:rgba(0, 0, 0, 0.6);border-radius:12px}.youtube-placeholder .play-button::before{content:'';position:absolute;left:26px;top:12px;width:0;height:0;border-left:16px solid white;border-top:10px solid transparent;border-bottom:10px solid transparent}</style><div class=mwai-chatbot-container data-params='{"aiName":"ProHoster Chat","userName":"User: ","guestName":"Guest:","aiAvatar":true,"aiAvatarUrl":"chat-robot-1.svg","textSend":"Send","textClear":"Clear","imageUpload":false,"fileUpload":false,"multiUpload":false,"maxUploads":1,"fileUploads":0,"mode":"chat","textInputPlaceholder":"Type your message...","textEmptyHint":"","textInputMaxLength":1500,"textCompliance":"","startSentence":"Hi! How can I help you?","localMemory":true,"themeId":"chatgpt","window":true,"icon":"","iconText":"ProHoster Agent","iconTextDelay":1,"iconTextDuration":0,"iconTextOnce":"session","iconAlt":"AI Engine Chatbot","iconPosition":"bottom-right","centerOpen":false,"width":"","openDelay":"","iconBubble":true,"windowAnimation":"zoom","fullscreen":false,"copyButton":true,"pdfButton":false,"headerSubtitle":"Discuss with ProHoster Agent","popupTitle":"ProHoster Agent","containerType":"standard","headerType":"standard","messagesType":"standard","inputType":"standard","footerType":"standard"}' data-system='{"botId":"default","customId":null,"userData":null,"sessionId":null,"restNonce":null,"contextId":36968,"pluginUrl":"https:\/\/prohoster.info\/wp-content\/plugins\/ai-engine","restUrl":"https:\/\/prohoster.info\/cs\/wp-json","stream":true,"debugMode":false,"eventLogs":false,"speech_recognition":false,"speech_synthesis":false,"typewriter":false,"crossSite":false,"texts":{"Ask me anything!":"Ask me anything!","Jump to the latest message":"Jump to the latest message","Try again":"Try again","Conversation cleared.":"Conversation cleared.","Undo":"Undo","Done!":"Done!","New Chat":"New Chat","No messages yet":"No messages yet","Rename":"Rename","Delete":"Delete","Your text was cut at %d characters.":"Your text was cut at %d characters.","Hold to Talk":"Hold to Talk","Release to Send":"Release to Send","Press Space to talk":"Press Space to talk","Start session to upload images":"Start session to upload images","Usage limit exceeded":"Usage limit exceeded","Connection failed":"Connection failed","Connection failed. Please check your network and try again.":"Connection failed. Please check your network and try again.","Connection lost. Reconnecting...":"Connection lost. Reconnecting...","Connection lost while uploading image. Please try again.":"Connection lost while uploading image. Please try again.","Connection timeout: The server took too long to respond.":"Connection timeout: The server took too long to respond.","Could not start realtime session.":"Could not start realtime session.","An error occurred while starting the realtime session.":"An error occurred while starting the realtime session.","An error occurred while processing your request. Please try again.":"An error occurred while processing your request. Please try again.","An error occurred while committing the stats.":"An error occurred while committing the stats.","An error occurred while committing the discussion.":"An error occurred while committing the discussion.","An error occurred while executing the function.":"An error occurred while executing the function.","Authentication failed: Your session has expired. Please refresh the page.":"Authentication failed: Your session has expired. Please refresh the page.","Error uploading image. Please try again.":"Error uploading image. Please try again.","Failed to access microphone: ":"Failed to access microphone: ","Failed to access microphone. Please ensure microphone permissions are granted and try again.":"Failed to access microphone. Please ensure microphone permissions are granted and try again.","Failed to establish connection with OpenAI servers. Please try again.":"Failed to establish connection with OpenAI servers. Please try again.","Failed to read image file.":"Failed to read image file.","Failed to send image. Please try again.":"Failed to send image. Please try again.","Failed to upload image.":"Failed to upload image.","Image file size must be less than 20MB.":"Image file size must be less than 20MB.","Internal server error: An unexpected error occurred. Please try again.":"Internal server error: An unexpected error occurred. Please try again.","Invalid API key: Please check your OpenAI API key in settings.":"Invalid API key: Please check your OpenAI API key in settings.","Invalid request: The message format was not recognized by the server.":"Invalid request: The message format was not recognized by the server.","MediaDevices API not available. Please ensure you are using HTTPS and a modern browser.":"MediaDevices API not available. Please ensure you are using HTTPS and a modern browser.","Model overloaded: The AI model is currently experiencing high demand.":"Model overloaded: The AI model is currently experiencing high demand.","Network error: Failed to establish connection to the AI service.":"Network error: Failed to establish connection to the AI service.","Please select an image file.":"Please select an image file.","Please start a session before uploading images.":"Please start a session before uploading images.","Quota exceeded: You have reached your usage limit for this period.":"Quota exceeded: You have reached your usage limit for this period.","Rate limit exceeded: Too many requests. Please try again later.":"Rate limit exceeded: Too many requests. Please try again later.","Service unavailable: The AI service is temporarily down for maintenance.":"Service unavailable: The AI service is temporarily down for maintenance."},"actions":[],"blocks":[],"shortcuts":[]}' data-theme={"type":"internal","name":"ChatGPT","themeId":"chatgpt","settings":[],"style":"","cssUrl":"https:\/\/prohoster.info\/wp-content\/plugins\/ai-engine\/themes\/chatgpt.css"}></div><script id=flying-scripts>const loadScriptsTimer=setTimeout(loadScripts,5000*1000);const userInteractionEvents=['click','mousemove','keydown','touchstart','touchmove','wheel'];userInteractionEvents.forEach(function(event){window.addEventListener(event,triggerScriptLoader,{passive:!0})});function triggerScriptLoader(){loadScripts();clearTimeout(loadScriptsTimer);userInteractionEvents.forEach(function(event){window.removeEventListener(event,triggerScriptLoader,{passive:!0})})}
function loadScripts(){document.querySelectorAll("script[data-type='lazy']").forEach(function(elem){elem.setAttribute("src",elem.getAttribute("data-src"))})}</script> <script id=trp-dynamic-translator-js-extra>var trp_data={"trp_custom_ajax_url":"https://prohoster.info/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php","trp_wp_ajax_url":"https://prohoster.info/wp-admin/admin-ajax.php","trp_language_to_query":"cs_CZ","trp_original_language":"ru_RU","trp_current_language":"cs_CZ","trp_skip_selectors":["[data-no-translation]","[data-no-dynamic-translation]","[data-trp-translate-id-innertext]","script","style","head","trp-span","translate-press","[data-trp-translate-id]","[data-trpgettextoriginal]","[data-trp-post-slug]"],"trp_base_selectors":["data-trp-translate-id","data-trpgettextoriginal","data-trp-post-slug"],"trp_attributes_selectors":{"text":{"accessor":"outertext","attribute":false},"block":{"accessor":"innertext","attribute":false},"image_src":{"selector":"img[src]","accessor":"src","attribute":true},"submit":{"selector":"input[type='submit'],input[type='button'], input[type='reset']","accessor":"value","attribute":true},"placeholder":{"selector":"input[placeholder],textarea[placeholder]","accessor":"placeholder","attribute":true},"title":{"selector":"[title]","accessor":"title","attribute":true},"a_href":{"selector":"a[href]","accessor":"href","attribute":true},"button":{"accessor":"outertext","attribute":false},"option":{"accessor":"innertext","attribute":false},"aria_label":{"selector":"[aria-label]","accessor":"aria-label","attribute":true},"video_src":{"selector":"video[src]","accessor":"src","attribute":true},"video_poster":{"selector":"video[poster]","accessor":"poster","attribute":true},"video_source_src":{"selector":"video source[src]","accessor":"src","attribute":true},"audio_src":{"selector":"audio[src]","accessor":"src","attribute":true},"audio_source_src":{"selector":"audio source[src]","accessor":"src","attribute":true},"picture_image_src":{"selector":"picture image[src]","accessor":"src","attribute":true},"picture_source_srcset":{"selector":"picture source[srcset]","accessor":"srcset","attribute":true},"image_alt":{"selector":"img[alt]","accessor":"alt","attribute":true},"meta_desc":{"selector":"meta[name=\"description\"],meta[property=\"og:title\"],meta[property=\"og:description\"],meta[property=\"og:site_name\"],meta[property=\"og:image:alt\"],meta[name=\"twitter:title\"],meta[name=\"twitter:description\"],meta[name=\"twitter:image:alt\"],meta[name=\"DC.Title\"],meta[name=\"DC.Description\"],meta[property=\"article:section\"],meta[property=\"article:tag\"]","accessor":"content","attribute":true},"page_title":{"selector":"title","accessor":"innertext","attribute":false},"meta_desc_img":{"selector":"meta[property=\"og:image\"],meta[property=\"og:image:secure_url\"],meta[name=\"twitter:image\"]","accessor":"content","attribute":true}},"trp_attributes_accessors":["outertext","innertext","src","value","placeholder","title","href","aria-label","poster","srcset","alt","content"],"gettranslationsnonceregular":"84637586e9","showdynamiccontentbeforetranslation":"","skip_strings_from_dynamic_translation":[],"skip_strings_from_dynamic_translation_for_substrings":{"href":["amazon-adsystem","googleads","g.doubleclick"]},"duplicate_detections_allowed":"100","trp_translate_numerals_opt":"no","trp_no_auto_translation_selectors":["[data-no-auto-translation]"]};</script> <script id=trp-dynamic-translator-js src="https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/js/trp-translate-dom-changes.js?ver=3.3.8"></script> <script id=heartbeat-js-extra>var heartbeatSettings={"ajaxurl":"/wp-admin/admin-ajax.php","interval":"15"};var dfehc_heartbeat_vars={"recommendedInterval":"18.287170266544","heartbeat_control_enabled":"1","nonce":"9750cc0fd0","ver":"1791319534","cache_bypass_rate":"0.05"};</script> <script id=heartbeat-js src="https://prohoster.info/wp-content/plugins/dynamic-front-end-heartbeat-control/js/heartbeat.min.js?ver=1.6.5"></script> <script id=react-js src="https://prohoster.info/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1"></script> <script id=react-dom-js src="https://prohoster.info/wp-includes/js/dist/vendor/react-dom.min.js?ver=18.3.1.1"></script> <script id=wp-escape-html-js src="https://prohoster.info/wp-includes/js/dist/escape-html.min.js?ver=87ebe53e97bba59805a5"></script> <script id=wp-element-js src="https://prohoster.info/wp-includes/js/dist/element.min.js?ver=4a4370b2b349066fd440"></script> <script id=mwai_chatbot-js defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/ai-engine/app/chatbot.js?ver=1792068262"></script> <script id=mwai_highlight-js defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/ai-engine/vendor/highlightjs/highlight.min.js?ver=11.7"></script> <script id=gt_widget_script_41265934-js-before data-type=lazy data-src="data:text/javascript;base64,CndpbmRvdy5ndHJhbnNsYXRlU2V0dGluZ3MgPSAvKiBkb2N1bWVudC53cml0ZSAqLyB3aW5kb3cuZ3RyYW5zbGF0ZVNldHRpbmdzIHx8IHt9O3dpbmRvdy5ndHJhbnNsYXRlU2V0dGluZ3NbJzQxMjY1OTM0J10gPSB7ImRlZmF1bHRfbGFuZ3VhZ2UiOiJydSIsImxhbmd1YWdlcyI6WyJhZiIsImFtIiwiYXIiLCJoeSIsImF6IiwiYmUiLCJibiIsImJzIiwiemgtQ04iLCJ6aC1UVyIsImhyIiwiZGEiLCJmaSIsImthIiwiZWwiLCJpdyIsImh1IiwiaXMiLCJpZCIsImphIiwia2siLCJrbyIsImt5IiwibHYiLCJsdCIsIm1uIiwibXkiLCJubyIsImZhIiwicnUiLCJzayIsInNsIiwic3ciLCJzdiIsInRoIiwidHIiLCJ1ayIsInV6IiwidmkiXSwidXJsX3N0cnVjdHVyZSI6InN1Yl9kaXJlY3RvcnkiLCJmbGFnX3N0eWxlIjoiMmQiLCJmbGFnX3NpemUiOjI0LCJ3cmFwcGVyX3NlbGVjdG9yIjoiI2d0LXdyYXBwZXItNDEyNjU5MzQiLCJhbHRfZmxhZ3MiOltdLCJjdXN0b21fY3NzIjoiLmd0cmFuc2xhdGVfd3JhcHBlciAuZ3Rfb3B0aW9uIHtwb3NpdGlvbjogYWJzb2x1dGU7ZmxvYXQ6IHJpZ2h0O30iLCJob3Jpem9udGFsX3Bvc2l0aW9uIjoiaW5saW5lIiwiZmxhZ3NfbG9jYXRpb24iOiJcL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2d0cmFuc2xhdGVcL2ZsYWdzXC8ifTsKLy8jIHNvdXJjZVVSTD1ndF93aWRnZXRfc2NyaXB0XzQxMjY1OTM0LWpzLWJlZm9yZQo="></script><script data-no-optimize=1 data-no-minify=1 data-gt-orig-url=/cs/blog/administrirovanie/sposoby-integratsii-s-1s data-gt-orig-domain=prohoster.info data-gt-widget-id=41265934 defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/gtranslate/js/popup.js?ver=5.0.1"></script><script>document.getElementById('burger').addEventListener('click',function(){document.getElementById('mainNav').classList.toggle('open');});document.querySelectorAll('.submenu-toggle').forEach(function(btn){btn.addEventListener('click',function(e){e.preventDefault();const parent=btn.closest('.has-submenu');const submenu=parent.querySelector('.submenu');const isOpen=parent.classList.toggle('open');if(isOpen){submenu.style.display='block';btn.textContent='◀';}else{submenu.style.display='none';btn.textContent='▼';}});});</script> <script>document.addEventListener("DOMContentLoaded",function(){const hamburgerBtn=document.querySelector(".gamburger-btn");const primaryMenu=document.querySelector("ul#primary-menu");if(hamburgerBtn&&primaryMenu){hamburgerBtn.addEventListener("click",function(event){event.preventDefault();this.classList.toggle("gamburger-btn_active");primaryMenu.classList.toggle("active_primary");});}
const mobileSidebar=document.getElementById("mobile_sidebar");const secondaryAside=document.querySelector("aside#secondary");if(mobileSidebar&&secondaryAside){mobileSidebar.addEventListener("click",function(){this.classList.toggle("open_mobile_sidebar");secondaryAside.classList.toggle("open_secondary");});}});</script> <script>document.addEventListener("DOMContentLoaded",function(){const masthead=document.getElementById("masthead");function toggleHeaderFixed(){const isDesktop=window.innerWidth>991;const scrollTop=window.scrollY;if(masthead){if(isDesktop){if(scrollTop>150){masthead.classList.add("header-fixed");}else{masthead.classList.remove("header-fixed");}}else{masthead.classList.remove("header-fixed");}}}
window.addEventListener("scroll",toggleHeaderFixed);window.addEventListener("resize",toggleHeaderFixed);toggleHeaderFixed();});</script> <div id=cookie-data-source style="display:none !important;"> <span class=src-text>Používáme soubory <a target=_blank rel=nofollow href=https://prohoster.info/cs/kompaniya/privacy-policy/#cookie>cookie</a>, abychom zajistili nejlepší zážitek na našich stránkách. Pokračováním v používání stránek souhlasíte s naší politikou ochrany osobních údajů.</span> <span class=src-btn>Přijmout</span></div> <script>(function(){const cookieName='user_cookies_accepted';if(localStorage.getItem(cookieName))return;setTimeout(function(){const dataSource=document.getElementById('cookie-data-source');if(!dataSource)return;const textContent=dataSource.querySelector('.src-text').innerHTML;const btnContent=dataSource.querySelector('.src-btn').innerText;const styles=`

            `;const styleSheet=document.createElement("style");styleSheet.innerText=styles;document.head.appendChild(styleSheet);const finalHtml=`
                <div id=cookie-banner>
                    <div class=cookie-container>
                        <div class=cookie-text>${textContent}</div>
                        <button id=accept-cookies class=cookie-btn>${btnContent}</button>
                    </div>
                </div>
            `;document.body.insertAdjacentHTML('beforeend',finalHtml);const banner=document.getElementById('cookie-banner');const btn=document.getElementById('accept-cookies');setTimeout(()=>{banner.classList.add('show');},100);btn.addEventListener('click',function(){localStorage.setItem(cookieName,'true');banner.classList.remove('show');setTimeout(()=>{banner.remove();},500);});},2000);})();</script> <div id=gt-text-source style="position:absolute; left:-9999px; top:-9999px; opacity:0;"> <span id=gt-org-desc>Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery</span> <span id=gt-page-name>🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster</span></div> <script>(function(){function injectSchemas(){if(document.getElementById('added-org-schema'))return;var orgDesc=document.getElementById('gt-org-desc').innerText;var pageName=document.getElementById('gt-page-name').innerText;var schemas=[{"@context":"https://schema.org","@type":"Organization","id":"added-org-schema","name":"ProHoster","url":"https://prohoster.info/","logo":"https://prohoster.info/wp-content/uploads/2019/08/logo_prohoster.png","email":"support@prohoster.info","description":orgDesc,"address":{"@type":"PostalAddress","streetAddress":"Tulpenstraat, 6","addressLocality":"Meppel","postalCode":"7943 DN","addressCountry":"NL"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.85","reviewCount":"1297","bestRating":"5","worstRating":"1"},"sameAs":["https://hostadvice.com/hosting-company/prohoster-reviews/","https://facebook.com/prohoster","https://twitter.com/prohoster","https://www.instagram.com/prohoster.info/","https://www.tiktok.com/@prohoster.info","https://www.youtube.com/@prohoster_info","https://www.linkedin.com/company/prohoster"]},{"@context":"https://schema.org","@type":"WebPage","name":pageName,"url":window.location.href}];schemas.forEach(function(s){var script=document.createElement('script');script.type='application/ld+json';if(s.id)script.id=s.id;script.text=JSON.stringify(s);document.head.appendChild(script);});}
var checkTimer=setInterval(function(){var currentLang=document.documentElement.lang||document.querySelector('html').getAttribute('lang');var text=document.getElementById('gt-org-desc').innerText;if(!/[а-яА-Я]/.test(text)||currentLang!=='ru'){injectSchemas();clearInterval(checkTimer);}},500);setTimeout(function(){injectSchemas();clearInterval(checkTimer);},4000);})();</script> <script>function w3tc_ll_observe(ll){if(!ll||!ll.update)return;var t;new MutationObserver(function(){clearTimeout(t);t=setTimeout(function(){ll.update();},200);}).observe(document.documentElement,{childList:true,subtree:true});}window.addEventListener("LazyLoad::Initialized",function(e){setTimeout(function(){window.w3tc_lazyload=e.detail.instance;w3tc_ll_observe(window.w3tc_lazyload);},1);});window.w3tc_lazyload=1,window.lazyLoadOptions={elements_selector:".lazy",callback_loaded:function(t){var e;try{e=new CustomEvent("w3tc_lazyload_loaded",{detail:{e:t}})}catch(a){(e=document.createEvent("CustomEvent")).initCustomEvent("w3tc_lazyload_loaded",!1,!1,{e:t})}window.dispatchEvent(e)}}</script><script async src=https://prohoster.info/wp-content/plugins/w3-total-cache/pub/js/lazyload.min.js></script></body></html>