{"id":36968,"date":"2019-10-31T22:15:01","date_gmt":"2019-10-31T19:15:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sposoby-integratsii-s-1s\/"},"modified":"2019-10-31T22:15:01","modified_gmt":"2019-10-31T19:15:01","slug":"sposoby-integratsii-s-1s","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/sposoby-integratsii-s-1s","title":{"rendered":"Metody integracji z 1C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jakie s\u0105 najwa\u017cniejsze wymagania stawiane aplikacjom biznesowym? Do najwa\u017cniejszych zada\u0144 nale\u017c\u0105:<\/p>\n<ul>\n<li>\u0141atwo\u015b\u0107 zmiany\/adaptacji logiki dzia\u0142ania aplikacji do zmieniaj\u0105cych si\u0119 zada\u0144 biznesowych.<\/li>\n<li>\u0141atwo\u015b\u0107 integracji z innymi aplikacjami.<\/li>\n<\/ul>\n<p>\nspos\u00f3b rozwi\u0105zania pierwszego zadania w 1C zosta\u0142 kr\u00f3tko opisany w sekcji \u201eDostosowanie i wsparcie\u201d <noindex><a rel=\"nofollow\" href=\"https:\/\/habrahabr.ru\/company\/1c\/blog\/267321\/\">tego artyku\u0142u<\/a><\/noindex>; wr\u00f3cimy jeszcze do tego interesuj\u0105cego tematu w jednym z przysz\u0142ych artyku\u0142\u00f3w. Dzi\u015b skupimy si\u0119 na drugim zadaniu, czyli integracji.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Zadania integracyjne<\/h3>\n<p>\nZadania integracyjne mog\u0105 by\u0107 r\u00f3\u017cne. Dla jednych wystarczy prosty interaktywny wymiana danych \u2013 na przyk\u0142ad, aby przes\u0142a\u0107 do banku list\u0119 pracownik\u00f3w w celu wydania kart p\u0142atniczych na wynagrodzenia. W przypadku bardziej z\u0142o\u017conych zada\u0144 mo\u017ce by\u0107 potrzebna ca\u0142kowicie zautomatyzowana wymiana danych, mo\u017cliwie z odwo\u0142aniem do logiki biznesowej zewn\u0119trznego systemu. S\u0105 tak\u017ce zadania o charakterze specjalistycznym, takie jak integracja ze sprz\u0119tem zewn\u0119trznym (na przyk\u0142ad, sprz\u0119tem handlowym, mobilnymi skanerami itp.) lub z systemami dziedziczonymi lub w\u0105sko wyspecjalizowanymi (na przyk\u0142ad z systemami rozpoznawania znacznik\u00f3w RFID). Kluczowe jest, aby dla ka\u017cdego zadania wybra\u0107 najbardziej odpowiedni mechanizm integracji.<\/p>\n<h3>Mo\u017cliwo\u015bci integracji z 1C<\/h3>\n<p>\nIstniej\u0105 r\u00f3\u017cne podej\u015bcia do realizacji integracji z aplikacjami 1C, kt\u00f3re z nich wybra\u0107 \u2013 zale\u017cy od wymaga\u0144 zadania.<\/p>\n<ol>\n<li>Realizacja oparta na <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000581.htm\">mechanizmach integracji<\/a><\/noindex>, udost\u0119pnianych przez platform\u0119, w\u0142asnym specjalistycznym API po stronie aplikacji 1C (na przyk\u0142ad, zestawem serwis\u00f3w Web lub HTTP, kt\u00f3re b\u0119d\u0105 wywo\u0142ywa\u0107 aplikacje zewn\u0119trzne do wymiany danych z aplikacj\u0105 1C). Zalet\u0105 tego podej\u015bcia jest odporno\u015b\u0107 API na zmiany implementacji po stronie aplikacji 1C. Cech\u0105 charakterystyczn\u0105 podej\u015bcia jest to, \u017ce wymaga zmiany kodu \u017ar\u00f3d\u0142owego standardowego rozwi\u0105zania 1C, co mo\u017ce potencjalnie wymaga\u0107 wysi\u0142ku podczas \u0142\u0105czenia kod\u00f3w \u017ar\u00f3d\u0142owych przy przej\u015bciu na now\u0105 wersj\u0119 konfiguracji. W tej sytuacji pomocn\u0105 mo\u017ce okaza\u0107 si\u0119 nowa, nowoczesna funkcjonalno\u015b\u0107 \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000883.htm\">rozszerzenia konfiguracji<\/a><\/noindex>. Rozszerzenia to w zasadzie mechanizm plugin\u00f3w, kt\u00f3ry pozwala na tworzenie dodatk\u00f3w dla aplikacji bez zmiany samej aplikacji. Przeniesienie integrowanego API do rozszerzenia konfiguracji pozwoli unikn\u0105\u0107 problem\u00f3w przy \u0142\u0105czeniu konfiguracji podczas aktualizacji do nowej wersji standardowego rozwi\u0105zania.\n<\/li>\n<li>Wykorzystanie mechanizm\u00f3w integracji platformy, kt\u00f3re zapewniaj\u0105 zewn\u0119trzny dost\u0119p do obiektowej struktury aplikacji i nie wymagaj\u0105 modyfikacji aplikacji ani tworzenia rozszerze\u0144. Plus tego podej\u015bcia \u2013 nie trzeba zmienia\u0107 aplikacji 1C. Minusem jest to, \u017ce je\u015bli aplikacja 1C zosta\u0142a zmodyfikowana, mog\u0105 by\u0107 potrzebne dalsze zmiany w zintegrowanej aplikacji. Przyk\u0142adem tego podej\u015bcia jest wykorzystanie protoko\u0142u OData do integracji, zrealizowanego po stronie platformy 1C:\u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 (wi\u0119cej o tym poni\u017cej).\n<\/li>\n<li>Wykorzystanie gotowych protoko\u0142\u00f3w aplikacyjnych, zrealizowanych w standardowych rozwi\u0105zaniach 1C. Wiele standardowych rozwi\u0105za\u0144 od 1C oraz partner\u00f3w tworzy w\u0142asne protoko\u0142y aplikacyjne na bazie mechanizm\u00f3w integracji dostarczanych przez platform\u0119, skierowane na konkretne zadania. Na korzystanie z tych mechanizm\u00f3w nie wymaga pisania kodu po stronie aplikacji 1C, poniewa\u017c wykorzystujemy standardowe mo\u017cliwo\u015bci rozwi\u0105zania aplikacyjnego. Po stronie aplikacji 1C wystarczy przeprowadzi\u0107 pewne ustawienia.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Mechanizmy integracji w platformie 1C:\u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435<\/h3>\n<p><\/p>\n<h4>Import\/eksport plik\u00f3w<\/h4>\n<p>\nZa\u0142\u00f3\u017cmy, \u017ce mamy do czynienia z zadaniem dwukierunkowej wymiany danych mi\u0119dzy aplikacj\u0105 1C a dowoln\u0105 aplikacj\u0105. Na przyk\u0142ad musimy zsynchronizowa\u0107 list\u0119 towar\u00f3w (rejestr Nomenkatura) mi\u0119dzy aplikacj\u0105 1C a dowoln\u0105 aplikacj\u0105.<\/p>\n<p><img decoding=\"async\" alt=\"Metody integracji z 1C\" src=\"\/wp-content\/uploads\/2019\/08\/9678f09dfcf7f70de100ed74ada6019c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAby rozwi\u0105za\u0107 taki problem, mo\u017cna napisa\u0107 rozszerzenie, kt\u00f3re eksportuje rejestr Nomenkatura do pliku w okre\u015blonym formacie (tekstowy, XML, JSON, \u2026) i potrafi odczytywa\u0107 ten format. <\/p>\n<p>W platformie zrealizowano mechanizm serializacji obiekt\u00f3w aplikacyjnych do formatu XML, zar\u00f3wno bezpo\u015brednio, poprzez metody globalnego kontekstu \u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044cXML\/\u0427\u0442\u0435\u043d\u0438\u0435XML, jak i za pomoc\u0105 pomocniczego obiektu XDTO (XML Data Transfer Objects).<\/p>\n<p>Ka\u017cdy obiekt w systemie 1C:\u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 mo\u017ce by\u0107 serializowany do reprezentacji XML i odwrotnie. <\/p>\n<p>Ta funkcja zwr\u00f3ci reprezentacj\u0119 obiektu w formie XML:<\/p>\n<pre><code class=\"1c\">Funkcja Obiekt_W_XML(Obiekt)\n    ZapiszXML = Nowy ZapiszXML();\n    ZapiszXML.UstawStron\u0119();\n    ZapiszXML(ZapiszXML, Obiekt);\n    Zwr\u00f3\u0107 ZapiszXML.Zamknij();\nKoniecFunkcji\n<\/code><\/pre>\n<p>\ntak b\u0119dzie wygl\u0105da\u0107 eksport katalogu Nomenklatura do XML przy u\u017cyciu XDTO:<\/p>\n<pre><code class=\"1c\">&amp;NaSerwerze\nProcedura EksportXMLNaSerwerze()\t\n\tNowySserializerXDTO = SerializatorXDTO;\n\tNowyZapiszXML = Nowy ZapiszXML();\n\tNowyZapiszXML.Otw\u00f3rzPlik(\"C:DataNomenklatura.xml\", \"UTF-8\");\n\t\n\tNowyZapiszXML.ZapiszOg\u0142oszenieXML();\n\tNowyZapiszXML.ZapiszPocz\u0105tekElementu(\"KatalogNomenklatura\");\n\t\n\tWyb\u00f3r = Katalogi.Nomenklatura.Wybierz();\n\t\n\tPodczas Wyb\u00f3r.Nast\u0119pny() Cykle \n\t\tObiektNomenklatura = Wyb\u00f3r.PobierzObiekt();\n\t\tNowySserializerXDTO.ZapiszXML(NowyZapiszXML, ObiektNomenklatura, PrzeznaczenieTypuXML.Jawne);\n\tKoniecCykli;\n\t\n\tNowyZapiszXML.ZapiszKoniecElementu();\n\tNowyZapiszXML.Zamknij();\t\nKoniecProcedury\n<\/code><\/pre>\n<p>\nPoprzez prost\u0105 przer\u00f3bk\u0119 kodu eksportujemy katalog do JSON. Produkty b\u0119d\u0105 zapisane w tablicy; dla r\u00f3\u017cnorodno\u015bci podamy angloj\u0119zyczn\u0105 wersj\u0119 sk\u0142adni:<\/p>\n<pre><code class=\"1c\">&amp;NaSerwerze\nProcedura EksportJSONNaSerwerze()\n\tNowySerializerXDTO  = SerializerXDTO;\n\tNowyPisarzJSON = Nowy PisarzJSON();\n\tNowyPisarzJSON.Otw\u00f3rzPlik(\"C:DataNomenklatura.json\", \"UTF-8\");\n\t\n\tNowyPisarzJSON.ZapiszPocz\u0105tekObiektu();\n\tNowyPisarzJSON.ZapiszNazw\u0119W\u0142a\u015bciwo\u015bci(\"KatalogNomenklatura\");\n\tNowyPisarzJSON.ZapiszPocz\u0105tekTablicy();\n\t\n\tWyb\u00f3r = Katalogi.Nomenklatura.Wybierz();\t\n\t\n\tPodczas Wyb\u00f3r.Nast\u0119pny() Zr\u00f3b \n\t\tObiektNomenklatura = Wyb\u00f3r.PobierzObiekt();\n\t\t\n\t\tNowyPisarzJSON.ZapiszPocz\u0105tekObiektu();\n\t\t\n\t\tNowyPisarzJSON.ZapiszNazw\u0119W\u0142a\u015bciwo\u015bci(\"Nomenklatura\");\n\t\tNowySerializerXDTO.ZapiszJSON(NowyPisarzJSON, ObiektNomenklatura, PrzypisanieTypuXML.Implikowane);\n\t\t\n\t\tNowyPisarzJSON.ZapiszKoniecObiektu();\n\tKoniecZr\u00f3b;\n\t\n\tNowyPisarzJSON.ZapiszKoniecTablicy();\n\tNowyPisarzJSON.ZapiszKoniecObiektu();\n\tNowyPisarzJSON.Zamknij();\t\nKoniecProcedury\n<\/code><\/pre>\n<p>\nNast\u0119pnie wystarczy tylko przekaza\u0107 dane ko\u0144cowemu u\u017cytkownikowi. Platforma 1C:Przedsi\u0119biorstwo wspiera g\u0142\u00f3wne protoko\u0142y internetowe HTTP, FTP, POP3, SMTP, IMAP, w tym ich bezpieczne wersje. Mo\u017cliwe jest tak\u017ce u\u017cycie HTTP i\/lub us\u0142ug Web do przesy\u0142ania danych.<\/p>\n<h4>HTTP i us\u0142ugi internetowe<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Metody integracji z 1C\" src=\"\/wp-content\/uploads\/2019\/08\/1d4797d9298f793e19ee637fd26473b2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Aplikacje 1C mog\u0105 implementowa\u0107 swoje us\u0142ugi HTTP i internetowe oraz wywo\u0142ywa\u0107 us\u0142ugi HTTP i internetowe, kt\u00f3re zosta\u0142y wdro\u017cone przez zewn\u0119trzne aplikacje. <\/p>\n<h4>Interfejs REST i protok\u00f3\u0142 OData<\/h4>\n<p>\nPocz\u0105wszy od wersji 8.3.5, platforma 1C:Przedsi\u0119biorstwo mo\u017ce automatycznie <noindex><a rel=\"nofollow\" href=\"https:\/\/wonderland.v8.1c.ru\/blog\/avtomaticheskiy-rest-interfeys-prikladnykh-resheniy\/\">tworzy\u0107 interfejs REST<\/a><\/noindex> dla ca\u0142ego rozwi\u0105zania aplikacyjnego. Ka\u017cdy obiekt konfiguracji (katalog, dokument, rejestr informacji itp.) mo\u017ce by\u0107 udost\u0119pniony do pobierania i modyfikacji danych za po\u015brednictwem interfejsu REST. Jako protok\u00f3\u0142 dost\u0119pu platforma korzysta z protoko\u0142u <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Open_Data_Protocol\">OData<\/a><\/noindex> wersji 3.0. Publikacja us\u0142ug OData odbywa si\u0119 z menu Konfiguratora \u201eAdministracja -&gt; Publikacja na serwerze WWW\u201d, pole \u201ePublikuj standardowy interfejs OData\u201d musi by\u0107 zaznaczone. Obs\u0142ugiwane s\u0105 formaty atom\/XML i JSON. Po opublikowaniu rozwi\u0105zania aplikacyjnego na serwerze WWW, systemy zewn\u0119trzne mog\u0105 si\u0119 do niego odwo\u0142ywa\u0107 za pomoc\u0105 interfejsu REST z wykorzystaniem zapyta\u0144 HTTP. Do pracy z aplikacj\u0105 1C przez protok\u00f3\u0142 OData programowanie po stronie 1C nie jest wymagane.<\/p>\n<p>Tak, URL w postaci <u>http:\/\/\/\/odata\/standard.odata\/Catalog_Nomenklatura<\/u> zwr\u00f3ci nam zawarto\u015b\u0107 katalogu Nomenklatura w formacie XML \u2014 kolekcj\u0119 element\u00f3w entry (nag\u0142\u00f3wek wiadomo\u015bci pomini\u0119ty dla zwi\u0119z\u0142o\u015bci):<\/p>\n<pre><code class=\"xml\">http:\/\/server\/Config\/odata\/standard.odata\/Catalog_Nomenklatura(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')\n\t\n\t<title \/>\n\t2016-06-06T16:42:17\n\t\n\t<summary \/>\n\t\n\t\n\t\t\n\t\t\t35d1f6e4-289b-11e6-8ba4-e03f49b16074\n\t\t\tAAAAAgAAAAA=\n\t\t\tfalse\n\t\t\t000000001\n\t\t\tKlimatyzator Mitsubishi\n\t\t\tMo\u017cliwo\u015b\u0107 2,5 kW, tryby pracy: ciep\u0142o\/zimno\n\t\t\n\t\n\n\n\thttp:\/\/server\/Config\/odata\/standard.odata\/Catalog_Nomenklatura(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')\n\t\n...\n<\/code><\/pre>\n<p>\nDodaj\u0105c do URL ci\u0105g \u201e?$format=application\/json\u201d, otrzymamy zawarto\u015b\u0107 katalogu Nomenklatura w formacie JSON (URL w postaci <u>http:\/\/\/\/odata\/standard.odata\/Catalog_Nomenklatura?$format=application\/json<\/u> ):<\/p>\n<pre><code>{\n\"odata.metadata\": \"http:\/\/server\/Config\/odata\/standard.odata\/$metadata#Catalog_Nomenklatura\",\n\"value\": [{\n\"Ref_Key\": \"35d1f6e4-289b-11e6-8ba4-e03f49b16074\",\n\"DataVersion\": \"AAAAAgAAAAA=\",\n\"DeletionMark\": false,\n\"Code\": \"000000001\",\n\"Description\": \"Klimatyzator Mitsubishi\",\n\"Opis\": \"Mo\u017cliwo\u015b\u0107 2,5 kW, tryby pracy: ciep\u0142o\/zimno\"\n},{\n\"Ref_Key\": \"35d1f6e5-289b-11e6-8ba4-e03f49b16074\",\n\"DataVersion\": \"AAAAAwAAAAA=\",\n\"DeletionMark\": false,\n\"Code\": \"000000002\",\n\"Description\": \"Klimatyzator Daikin\",\n\"Opis\": \"Mo\u017cliwo\u015b\u0107 3 kW, tryby pracy: ciep\u0142o\/zimno\"\n}, \u2026\n<\/code><\/pre>\n<p><\/p>\n<h4>Zewn\u0119trzne \u017ar\u00f3d\u0142a danych<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Metody integracji z 1C\" src=\"\/wp-content\/uploads\/2019\/08\/1663b53846f3a6a8a03f386f1f6cd311.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nW niekt\u00f3rych przypadkach wymiana danych przez <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000795.htm\">zewn\u0119trzne \u017ar\u00f3d\u0142a danych<\/a><\/noindex> mo\u017ce sta\u0107 si\u0119 optymalnym rozwi\u0105zaniem. Zewn\u0119trzne \u017ar\u00f3d\u0142a danych to obiekt aplikacyjny konfiguracji 1C, umo\u017cliwiaj\u0105cy interakcj\u0119 z ka\u017cd\u0105 baz\u0105 danych zgodn\u0105 z ODBC zar\u00f3wno w trybie odczytu, jak i zapisu. Zewn\u0119trzne \u017ar\u00f3d\u0142a danych s\u0105 dost\u0119pne zar\u00f3wno w systemie Windows, jak i na systemie Linux.<\/p>\n<h4>Mechanizm wymiany danych<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000269.htm\">Mechanizm wymiany danych<\/a><\/noindex> jest przeznaczony zar\u00f3wno do tworzenia system\u00f3w rozproszonych opartych na 1C: Przedsi\u0119biorstwo, jak i do organizacji wymiany danych z innymi systemami informacyjnymi, kt\u00f3re nie s\u0105 oparte na 1C: Przedsi\u0119biorstwo.<\/p>\n<p>Ten mechanizm jest aktywnie wykorzystywany w implementacjach 1C, a zakres zada\u0144, kt\u00f3re mo\u017cna zrealizowa\u0107 za jego pomoc\u0105, jest do\u015b\u0107 szeroki. Obejmuje wymian\u0119 danych mi\u0119dzy aplikacjami 1C zainstalowanymi w oddzia\u0142ach organizacji, wymian\u0119 danych mi\u0119dzy aplikacj\u0105 1C a stron\u0105 internetow\u0105 sklepu oraz wymian\u0119 danych mi\u0119dzy serwerow\u0105 aplikacj\u0105 1C a mobilnym klientem (stworzon\u0105 przy u\u017cyciu mobilnej platformy 1C: Przedsi\u0119biorstwo) i wiele wi\u0119cej.<\/p>\n<p>Jednym z kluczowych poj\u0119\u0107 w mechanizmie wymiany danych jest plan wymiany. Plan wymiany to szczeg\u00f3lny typ obiektu aplikacyjnego platformy 1C, kt\u00f3ry definiuje m.in. sk\u0142ad danych, kt\u00f3re wezm\u0105 udzia\u0142 w wymianie (jakie dok\u0142adnie s\u0142owniki, dokumenty, rejestry itp.). Plan wymiany zawiera r\u00f3wnie\u017c informacje o uczestnikach wymiany (tzw. w\u0119z\u0142ach wymiany).<br \/>\nDrugim sk\u0142adnikiem mechanizmu wymiany danych jest mechanizm rejestracji zmian. Ten mechanizm automatycznie \u015bledzi w systemie zmiany danych, kt\u00f3re musz\u0105 by\u0107 przekazane ko\u0144cowym odbiorcom w ramach planu wymiany. Dzi\u0119ki temu mechanizmowi platforma \u015bledzi zmiany, kt\u00f3re mia\u0142y miejsce od ostatniej synchronizacji, i pozwala zminimalizowa\u0107 obj\u0119to\u015b\u0107 danych przekazywanych w ramach kolejnej sesji synchronizacji.<\/p>\n<p>Wymiana danych odbywa si\u0119 za pomoc\u0105 wiadomo\u015bci XML o okre\u015blonej strukturze. Wiadomo\u015b\u0107 zawiera dane, kt\u00f3re uleg\u0142y zmianie od ostatniej synchronizacji z w\u0119z\u0142em, oraz pewne informacje pomocnicze. Struktura wiadomo\u015bci wspiera numeracj\u0119 wiadomo\u015bci i umo\u017cliwia otrzymywanie potwierdze\u0144 od w\u0119z\u0142a odbiorczego o odbiorze wiadomo\u015bci. Takie potwierdzenie znajduje si\u0119 w ka\u017cdej wiadomo\u015bci przychodz\u0105cej od w\u0119z\u0142a odbiorczego w postaci numeru ostatniej przyj\u0119tej wiadomo\u015bci. Numeracja wiadomo\u015bci pozwala platformie zrozumie\u0107, jakie dane zosta\u0142y ju\u017c pomy\u015blnie przekazane do w\u0119z\u0142a odbiorczego, oraz unika\u0107 ponownego przesy\u0142ania, przesy\u0142aj\u0105c jedynie dane, kt\u00f3re zmieni\u0142y si\u0119 od momentu odbioru przez w\u0119ze\u0142 nadawczy ostatniej wiadomo\u015bci z potwierdzeniem o danych odebranych przez w\u0119ze\u0142 odbiorczy. Taka metoda dzia\u0142ania zapewnia gwarantowan\u0105 dostaw\u0119 nawet przy zawodnych kana\u0142ach przesy\u0142owych i utracie wiadomo\u015bci.<\/p>\n<h4>Komponenty zewn\u0119trzne<\/h4>\n<p>\nW niekt\u00f3rych przypadkach, w rozwi\u0105zaniach integracyjnych, trzeba si\u0119 zmierzy\u0107 ze specyficznymi wymaganiami, takimi jak protoko\u0142y interakcji czy formaty danych, z kt\u00f3rymi nie przewidziano pracy w platformie 1C:Enterprise. Dla tego typu zada\u0144 platforma przewidzia\u0142a <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000545.htm\">technologi\u0119 komponent\u00f3w zewn\u0119trznych<\/a><\/noindex>, kt\u00f3ra pozwala na tworzenie dynamicznie pod\u0142\u0105czanych modu\u0142\u00f3w, rozszerzaj\u0105cych funkcjonalno\u015b\u0107 1C:Enterprise. <\/p>\n<p>Typowym przyk\u0142adem zadania z podobnymi wymaganiami mo\u017ce by\u0107 integracja rozwi\u0105zania aplikacyjnego 1C z urz\u0105dzeniami handlowymi, pocz\u0105wszy od wag, a sko\u0144czywszy na kasach fiskalnych i skanerach kod\u00f3w kreskowych. Komponenty zewn\u0119trzne mog\u0105 by\u0107 pod\u0142\u0105czane zar\u00f3wno po stronie serwera 1C:Enterprise, jak i na klienckiej cz\u0119\u015bci (w tym, tak\u017ce w kliencie internetowym oraz <noindex><a rel=\"nofollow\" href=\"https:\/\/wonderland.v8.1c.ru\/blog\/vneshnie-komponenty-v-mobilnom-prilozhenii\/\">nast\u0119pn\u0105 wersj\u0105 platformy mobilnej<\/a><\/noindex> 1C:Enterprise). Technologia komponent\u00f3w zewn\u0119trznych przewiduje stosunkowo prosty i zrozumia\u0142y programowy interfejs (C++) do interakcji komponent\u00f3w z platform\u0105 1C:Enterprise, kt\u00f3ry musi zaimplementowa\u0107 programista.<\/p>\n<p>Mo\u017cliwo\u015bci, jakie otwieraj\u0105 si\u0119 przy u\u017cyciu komponent\u00f3w zewn\u0119trznych, s\u0105 bardzo szerokie. Mo\u017cna zrealizowa\u0107 interakcj\u0119 zgodnie ze specyficznym protoko\u0142em wymiany danych z zewn\u0119trznymi urz\u0105dzeniami i systemami, wbudowa\u0107 specyficzne algorytmy przetwarzania danych oraz formaty danych itp.<\/p>\n<h4>Przestarza\u0142e mechanizmy integracji<\/h4>\n<p>\nW platformie dost\u0119pne s\u0105 mechanizmy integracji, kt\u00f3rych nie zaleca si\u0119 u\u017cywa\u0107 w nowych rozwi\u0105zaniach; pozosta\u0142y one ze wzgl\u0119d\u00f3w zapewnienia wstecznej kompatybilno\u015bci oraz na wypadek, gdy druga strona nie mo\u017ce pracowa\u0107 z bardziej nowoczesnymi protoko\u0142ami. Jednym z nich jest praca z plikami w formacie DBF (obs\u0142ugiwane w wbudowanym j\u0119zyku przy u\u017cyciu obiektu XBase).<\/p>\n<p>Innym przestarza\u0142ym mechanizmem integracji jest zastosowanie technologii COM (dost\u0119pnej tylko na platformie Windows). Platforma 1C:Enterprise oferuje dwa sposoby integracji dla Windows, kt\u00f3re wykorzystuj\u0105 technologi\u0119 COM: serwer Automatyzacji oraz Zewn\u0119trzne po\u0142\u0105czenie. S\u0105 one bardzo podobne, ale jednym z zasadniczych r\u00f3\u017cnic jest to, \u017ce w przypadku serwera Automatyzacji uruchamiane jest pe\u0142nowarto\u015bciowe aplikacyjne oprogramowanie klienta 1C:Enterprise 8, podczas gdy w przypadku zewn\u0119trznego po\u0142\u0105czenia uruchamiany jest stosunkowo ma\u0142y wewn\u0119trzny serwer COM. Czyli w przypadku pracy przez serwer Automatyzacji mo\u017cna zaanga\u017cowa\u0107 funkcjonalno\u015b\u0107 aplikacji klienckiej i wykonywa\u0107 dzia\u0142ania analogiczne do interaktywnych dzia\u0142a\u0144 u\u017cytkownika. Przy u\u017cyciu zewn\u0119trznego po\u0142\u0105czenia mo\u017cna korzysta\u0107 tylko z funkcji logiki biznesowej, przy czym mog\u0105 by\u0107 one wykonywane zar\u00f3wno po stronie klienta po\u0142\u0105czenia, gdzie tworzony jest wewn\u0119trzny serwer COM, jak i wykonywa\u0107 wywo\u0142ania logiki biznesowej po stronie serwera 1C:Enterprise.<\/p>\n<p>Technologi\u0119 COM mo\u017cna tak\u017ce wykorzysta\u0107 do komunikacji z zewn\u0119trznymi systemami z kodu aplikacji na platformie 1C:Enterprise. W tym przypadku aplikacja 1C dzia\u0142a jako klient COM. Nale\u017cy jednak przypomnie\u0107, \u017ce te mechanizmy b\u0119d\u0105 dzia\u0142a\u0107 tylko wtedy, gdy serwer 1C dzia\u0142a w \u015brodowisku Windows.<\/p>\n<h3>Mechanizmy integracji, zrealizowane w standardowych konfiguracjach<\/h3>\n<p><\/p>\n<h4>Format EnterpriseData<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Metody integracji z 1C\" src=\"\/wp-content\/uploads\/2019\/08\/8930091e53309b9b808a719b747a6226.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nW niekt\u00f3rych konfiguracjach 1C (lista poni\u017cej) na podstawie opisanego wy\u017cej platformowego mechanizmu wymiany danych zrealizowano gotowy mechanizm wymiany danych z zewn\u0119trznymi aplikacjami, kt\u00f3ry nie wymaga zmiany kodu \u017ar\u00f3d\u0142owego konfiguracji (przygotowanie do wymiany danych odbywa si\u0119 w ustawieniach rozwi\u0105za\u0144 aplikacyjnych):<\/p>\n<ul>\n<li>\u00ab1C:ERP Zarz\u0105dzanie przedsi\u0119biorstwem 2.0\u00bb <\/li>\n<li>\u00abKompleksowa automatyzacja 2\u00bb <\/li>\n<li>\u00abKsi\u0119gowo\u015b\u0107 przedsi\u0119biorstwa\u00bb, edycja 3.0 <\/li>\n<li>\u00abKsi\u0119gowo\u015b\u0107 przedsi\u0119biorstwa KORP\u00bb, edycja 3.0 <\/li>\n<li>\u00abDetal\u00bb, edycja 2.0 <\/li>\n<li>\u201eZarz\u0105dzanie sprzeda\u017c\u0105 podstawowe\u201d, wersja 11 <\/li>\n<li>\u201eZarz\u0105dzanie sprzeda\u017c\u0105\u201d, wersja 11<\/li>\n<li>\u201eP\u0142ace i zarz\u0105dzanie personelem KORP\u201d, wersja 3<\/li>\n<\/ul>\n<p>\nDo wymiany danych u\u017cywany jest format <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_app\/enterprisedata\/\">EnterpriseData<\/a><\/noindex>, oparty na XML. Format jest ukierunkowany na biznes \u2013 opisane w nim struktury danych odpowiadaj\u0105 biznesowym encjom (dokumentom i elementom s\u0142ownik\u00f3w) przedstawionym w programach 1C, na przyk\u0142ad: akt wykonanych prac, przychodowy dow\u00f3d kasowy, kontrahent, asortyment itd.<\/p>\n<p>Wymiana danych mi\u0119dzy aplikacj\u0105 1C a zewn\u0119trzn\u0105 aplikacj\u0105 mo\u017ce odbywa\u0107 si\u0119:<\/p>\n<ul>\n<li>przez dedykowany katalog plik\u00f3w <\/li>\n<li>przez katalog FTP <\/li>\n<li>przez us\u0142ug\u0119 webow\u0105 uruchomion\u0105 po stronie aplikacji 1C. Plik z danymi przekazywany jest jako parametr metod webowych<\/li>\n<li>przez e-mail<\/li>\n<\/ul>\n<p>\nW przypadku wymiany przez us\u0142ug\u0119 webow\u0105, zewn\u0119trzna aplikacja b\u0119dzie inicjowa\u0107 sesj\u0119 wymiany danych poprzez wywo\u0142anie odpowiednich metod webowych aplikacji 1C. W pozosta\u0142ych przypadkach inicjatorem sesji wymiany b\u0119dzie aplikacja 1C (poprzez umieszczenie pliku z danymi w odpowiednim katalogu lub wys\u0142anie pliku z danymi na skonfigurowany adres e-mail).<br \/>\nR\u00f3wnie\u017c po stronie 1C konfiguruje si\u0119, jak cz\u0119sto b\u0119dzie zachodzi\u0107 synchronizacja (dla opcji wymiany plik\u00f3w przez katalog i e-mail):<\/p>\n<ul>\n<li>wed\u0142ug harmonogramu (z okre\u015blon\u0105 cz\u0119stotliwo\u015bci\u0105) <\/li>\n<li>r\u0119cznie; u\u017cytkownik b\u0119dzie musia\u0142 r\u0119cznie uruchamia\u0107 synchronizacj\u0119 za ka\u017cdym razem, gdy b\u0119dzie to potrzebne<\/li>\n<\/ul>\n<p><\/p>\n<h5>Potwierdzanie wiadomo\u015bci<\/h5>\n<p>\nAplikacje 1C prowadz\u0105 ewidencj\u0119 wys\u0142anych i odebranych wiadomo\u015bci synchronizacji i oczekuj\u0105 tego samego od aplikacji zewn\u0119trznych. Umo\u017cliwia to wykorzystanie mechanizmu numeracji wiadomo\u015bci, opisanego powy\u017cej w sekcji \u201eMechanizm wymiany danych\u201d.<\/p>\n<p>Aplikacje 1C podczas synchronizacji przesy\u0142aj\u0105 jedynie informacje o zmianach, kt\u00f3re zasz\u0142y w podmiotach biznesowych od czasu ostatniej synchronizacji (aby zminimalizowa\u0107 obj\u0119to\u015b\u0107 przesy\u0142anych danych). Przy pierwszej synchronizacji aplikacja 1C wyeksportuje wszystkie podmioty biznesowe (na przyk\u0142ad elementy katalogu towar\u00f3w) w formacie EnterpriseData do pliku XML (poniewa\u017c wszystkie s\u0105 \"nowe\" dla zewn\u0119trznej aplikacji). Zewn\u0119trzna aplikacja powinna przetworzy\u0107 informacje z otrzymanego od 1C pliku XML, a przy nast\u0119pnej sesji synchronizacji umie\u015bci\u0107 w pliku wysy\u0142anym do 1C w specjalnej sekcji XML informacj\u0119, \u017ce wiadomo\u015b\u0107 od 1C o okre\u015blonym numerze zosta\u0142a pomy\u015blnie przyj\u0119ta. Wiadomo\u015b\u0107 potwierdzaj\u0105ca jest dla aplikacji 1C sygna\u0142em, \u017ce wszystkie podmioty biznesowe zosta\u0142y pomy\u015blnie przetworzone przez zewn\u0119trzn\u0105 aplikacj\u0119 i informacje o nich mog\u0105 by\u0107 przesy\u0142ane dalej. Opr\u00f3cz potwierdzenia, plik XML z zewn\u0119trznej aplikacji mo\u017ce tak\u017ce zawiera\u0107 dane do synchronizacji ze strony aplikacji (na przyk\u0142ad dokumenty realizacji towar\u00f3w i us\u0142ug).<\/p>\n<p>Po otrzymaniu wiadomo\u015bci potwierdzaj\u0105cej aplikacja 1C oznacza wszystkie zmiany przes\u0142ane w poprzedniej wiadomo\u015bci jako pomy\u015blnie zsynchronizowane. Tylko niesynchronizowane zmiany w podmiotach biznesowych (tworzenie nowych podmiot\u00f3w, zmiany i usuni\u0119cia istniej\u0105cych) b\u0119d\u0105 wysy\u0142ane do zewn\u0119trznej aplikacji podczas nast\u0119pnej sesji synchronizacji.<\/p>\n<p><img decoding=\"async\" alt=\"Metody integracji z 1C\" src=\"\/wp-content\/uploads\/2019\/08\/b0d5509a53909e38886a15c2e03e7131.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPodczas przekazywania danych od zewn\u0119trznej aplikacji do aplikacji 1C sytuacja zmienia si\u0119 na przeciwie\u0144stwo. Zewn\u0119trzna aplikacja powinna odpowiednio wype\u0142ni\u0107 sekcj\u0119 potwierdzenia w pliku XML i umie\u015bci\u0107 dane biznesowe do synchronizacji z jej strony w formacie EnterpriseData.<\/p>\n<p><img decoding=\"async\" alt=\"Metody integracji z 1C\" src=\"\/wp-content\/uploads\/2019\/08\/d34b96efb7591770133b363b369c0019.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h5>Uproszczona wymiana danych bez potwierdzenia<\/h5>\n<p>\nW przypadkach prostej integracji, gdy wystarczy jedynie przesy\u0142a\u0107 informacje od zewn\u0119trznej aplikacji do aplikacji 1C i nie jest wymagana odwrotna przesy\u0142ka danych z aplikacji 1C do zewn\u0119trznej aplikacji (na przyk\u0142ad integracja sklepu internetowego przesy\u0142aj\u0105cego informacje o sprzeda\u017cy do \"1C: Ksi\u0119gowo\u015b\u0107\"), dost\u0119pna jest uproszczona wersja pracy przez web service (bez potwierdzenia), kt\u00f3ra nie wymaga konfiguracji po stronie aplikacji 1C.<\/p>\n<h4>Specjalistyczne rozwi\u0105zania integracyjne<\/h4>\n<p>\nIstnieje standardowe rozwi\u0105zanie \u201e1C:Konwersja danych\u201d, kt\u00f3re wykorzystuje mechanizmy platformy do konwersji i wymiany danych pomi\u0119dzy standardowymi konfiguracjami 1C, ale mo\u017ce by\u0107 r\u00f3wnie\u017c u\u017cywane do integracji z aplikacjami zewn\u0119trznymi.<\/p>\n<h5>Integracja z rozwi\u0105zaniami bankowymi<\/h5>\n<p>\nStandard <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/100\/index.htm\">\u201eKlient bankowy\u201d<\/a><\/noindex>, opracowane przez specjalist\u00f3w 1C ponad 10 lat temu, sta\u0142o si\u0119 faktycznie standardem bran\u017cowym w Rosji. Nast\u0119pnym krokiem w tym kierunku jest technologia <noindex><a rel=\"nofollow\" href=\"http:\/\/directbank.1c.ru\/\">DirectBank<\/a><\/noindex>, kt\u00f3ra pozwala na wysy\u0142anie dokument\u00f3w p\u0142atniczych do banku i odbieranie wyci\u0105g\u00f3w bankowych bezpo\u015brednio z program\u00f3w systemu \u201e1C:Przedsi\u0119biorstwo\u201d za naci\u015bni\u0119ciem jednego przycisku w programie \u201e1C\u201d; przy tym nie jest wymagana instalacja i uruchamianie dodatkowych program\u00f3w na komputerze klienta. <\/p>\n<p>Jest r\u00f3wnie\u017c <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/109\/\">standard wymiany danych w projektach p\u0142acowych<\/a><\/noindex>.<\/p>\n<h5>Inne<\/h5>\n<p>\nWarto wspomnie\u0107 o <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/131\/\">protokole wymiany pomi\u0119dzy systemem 1C:Przedsi\u0119biorstwo a stron\u0105<\/a><\/noindex>, standardzie wymiany informacji handlowej <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/90\/\">CommerceML<\/a><\/noindex> (opracowanym wsp\u00f3lnie z Microsoft, Intel, Price.ru i innymi firmami), <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/111\/\">standardzie wymiany danych dotycz\u0105cych operacji acquiringowych<\/a><\/noindex>.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/308420\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c? \u041e\u0434\u043d\u0438\u043c\u0438 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438: \u041b\u0435\u0433\u043a\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\/\u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u0438\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043c\u0435\u043d\u044f\u044e\u0449\u0438\u043c\u0441\u044f \u0431\u0438\u0437\u043d\u0435\u0441-\u0437\u0430\u0434\u0430\u0447\u0430\u043c. \u041b\u0435\u0433\u043a\u043e\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0422\u043e, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0432 1\u0421 \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u0431\u044b\u043b\u043e \u043a\u0440\u0430\u0442\u043a\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00ab\u041a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430\u00bb \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438; \u043c\u044b \u0435\u0449\u0435 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u044d\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0442\u0435\u043c\u0435 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27703,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36968","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/sposoby-integratsii-s-1s\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 1\u0421 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/sposoby-integratsii-s-1s\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sposoby integracji z 1C | ProHoster","description":"Jakie s\u0105 najwa\u017cniejsze wymagania dotycz\u0105ce aplikacji biznesowych?","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/sposoby-integratsii-s-1s","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 1\u0421 | ProHoster","og:description":"\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c?","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/sposoby-integratsii-s-1s","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:01+00:00","article:modified_time":"2019-10-31T19:15:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36968","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 05:33:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:35:27","updated":"2026-01-22 05:33:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/36968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=36968"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/36968\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/27703"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=36968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=36968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=36968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}