{"id":32475,"date":"2019-10-31T21:47:15","date_gmt":"2019-10-31T18:47:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/platforma-1s-predpriyatie-chto-pod-kapotom\/"},"modified":"2019-10-31T21:47:15","modified_gmt":"2019-10-31T18:47:15","slug":"platforma-1s-predpriyatie-chto-pod-kapotom","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/platforma-1s-predpriyatie-chto-pod-kapotom","title":{"rendered":"Az \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejt\u0151zik a motorh\u00e1ztet\u0151 alatt?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hell\u00f3, Habr! <br \/>\nEbben a cikkben elkezdj\u00fck elmes\u00e9lni, hogyan is m\u0171k\u00f6dik bel\u00fclr\u0151l <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Platform.htm\">a \u201e1C:Enterprise 8\u201d platforma<\/a><\/noindex> \u00e9s milyen technol\u00f3gi\u00e1kat haszn\u00e1lnak a fejleszt\u00e9se sor\u00e1n.<\/p>\n<p><img decoding=\"async\" alt=\"Az \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejt\u0151zik a motorh\u00e1ztet\u0151 alatt?\" src=\"\/wp-content\/uploads\/2019\/04\/9375ea3be32979a7d8c72239dfd50f07.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMi\u00e9rt gondoljuk, hogy ez \u00e9rdekes? El\u0151sz\u00f6r is, mert a \u201e1C:Enterprise 8\u201d platform egy nagy (t\u00f6bb mint 10 milli\u00f3 sor k\u00f3d) C++ (kliense, szerver, stb.), JavaScript (webkliens) alkalmaz\u00e1s, \u00e9s mostan\u00e1ban m\u00e9g <noindex><a rel=\"nofollow\" href=\"http:\/\/www.1c.ru\/news\/info.jsp?id=19821\">Java<\/a><\/noindex>. A nagy projektek \u00e9rdekess\u00e9ge legal\u00e1bbis a m\u00e9ret\u00fck miatt is megmutatkozik, hiszen a kis k\u00f3dalapokban \u00e9szrev\u00e9tlen k\u00e9rd\u00e9sek nagyprojektekben teljesen \u00faj f\u00e9nyt kapnak. M\u00e1sodszor, a \u201e1C:Enterprise\u201d egy t\u00f6megesen forgalmazott, \u201edobozos\u201d term\u00e9k, \u00e9s szinte nincs cikk az ilyen fejleszt\u00e9sekr\u0151l a Habr\u00f3n. R\u00e1ad\u00e1sul mindig \u00e9rdekes megtudni, hogyan \u00e9lnek m\u00e1s csapatokban \u00e9s c\u00e9gekn\u00e9l.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nL\u00e1ssuk h\u00e1t. Ebben a cikkben \u00e1ttekint\u00e9st adunk n\u00e9h\u00e1ny technol\u00f3gi\u00e1r\u00f3l, amelyeket a platformban alkalmaznak, felv\u00e1zoljuk a t\u00e1jat, an\u00e9lk\u00fcl, hogy m\u00e9lyrehat\u00f3an belemenn\u00e9nk a megval\u00f3s\u00edt\u00e1sba. V\u00e9g\u00fcl is, sok mechanizmus r\u00e9szletes bemutat\u00e1sa \u00f6n\u00e1ll\u00f3 cikket ig\u00e9nyelne, m\u00edg n\u00e9h\u00e1ny m\u00e1sik esetleg egy teljes k\u00f6nyvet!<br \/>\nEls\u0151k\u00e9nt \u00e9rdemes tiszt\u00e1zni az alapvet\u0151 dolgokat \u2013 mi az a \u201e1C:Enterprise\u201d platform, \u00e9s milyen \u00f6sszetev\u0151kb\u0151l \u00e1ll. Erre a k\u00e9rd\u00e9sre nem olyan egyszer\u0171 v\u00e1laszolni, mert a \u201ePlatforma\u201d (r\u00f6viden erre fogunk utalni) alatt \u00e9rtj\u00fck a \u00fczleti alkalmaz\u00e1sok fejleszt\u00e9si eszk\u00f6z\u00e9t, a v\u00e9grehajt\u00e1si k\u00f6rnyezet\u00e9t \u00e9s az adminisztr\u00e1ci\u00f3s eszk\u00f6z\u00f6ket. Felt\u00e9telesen az al\u00e1bbi \u00f6sszetev\u0151kre k\u00fcl\u00f6n\u00edthetj\u00fck el:<\/p>\n<ul>\n<li>szerverklaszter<\/li>\n<li>\u201ev\u00e9kony\u201d kliens, amely k\u00e9pes HTTP-n \u00e9s saj\u00e1t bin\u00e1ris protokollj\u00e1n csatlakozni a szerverhez<\/li>\n<li>kliens, amely k\u00e9tl\u00e9pcs\u0151s architekt\u00far\u00e1val m\u0171k\u00f6dik, egy merevlemezen vagy h\u00e1l\u00f3zati mapp\u00e1ban elhelyezett DB-vel<\/li>\n<li>webkliens<\/li>\n<li>alkalmaz\u00e1sszerver adminisztr\u00e1ci\u00f3s eszk\u00f6zei<\/li>\n<li>fejleszt\u00e9si k\u00f6rnyezet (ismertebb nev\u00e9n Konfigur\u00e1tor)<\/li>\n<li>v\u00e9grehajt\u00e1si k\u00f6rnyezet iOS, Android \u00e9s Windows Phone sz\u00e1m\u00e1ra (1C mobilplatform)<\/li>\n<\/ul>\n<p>\nMindezek a r\u00e9szek, a webkliens kiv\u00e9tel\u00e9vel, C++ nyelven \u00edr\u00f3dtak. Ezen k\u00edv\u00fcl l\u00e9tezik egy nemr\u00e9giben bejelentett <noindex><a rel=\"nofollow\" href=\"http:\/\/www.1c.ru\/news\/info.jsp?id=19821\">\u00faj gener\u00e1ci\u00f3s Konfigur\u00e1tor<\/a><\/noindex>, amely Java nyelven k\u00e9sz\u00fclt.<\/p>\n<h3>Nat\u00edv alkalmaz\u00e1sok<\/h3>\n<p>\nA nat\u00edv alkalmaz\u00e1sok fejleszt\u00e9s\u00e9hez a C++03-at haszn\u00e1ljuk. Windows alatt a Microsoft Visual C++ 12 (Windows XP-vel kompatibilis profil) szolg\u00e1l ford\u00edt\u00f3k\u00e9nt, m\u00edg Linux \u00e9s Android alatt a gcc 4.8, iOS alatt pedig a clang 5.0. A standard k\u00f6nyvt\u00e1r minden oper\u00e1ci\u00f3s rendszerhez \u00e9s ford\u00edt\u00f3hoz egys\u00e9ges \u2014 STLPort. Ez a megold\u00e1s cs\u00f6kkenti az STL megval\u00f3s\u00edt\u00e1s\u00e1val kapcsolatos hib\u00e1k val\u00f3sz\u00edn\u0171s\u00e9g\u00e9t. Jelenleg tervezz\u00fck az STL CLang \u00e1ltal biztos\u00edtott megval\u00f3s\u00edt\u00e1s\u00e1ra val\u00f3 \u00e1tt\u00e9r\u00e9st, mivel az STLPort fejl\u0151d\u00e9se le\u00e1llt, \u00e9s nem kompatibilis a C++11 t\u00e1mogat\u00e1s bekapcsolt m\u00f3dj\u00e1val a gcc-ben.<br \/>\nA szerver k\u00f3dalapja 99%-ban k\u00f6z\u00f6s, m\u00edg az \u00fcgyf\u00e9l 95%-os k\u00f6z\u00f6s k\u00f3db\u00e1zissal rendelkezik. S\u0151t, m\u00e9g a mobil platform is ugyanazt a C++ k\u00f3dot haszn\u00e1lja, mint a \"nagy\", b\u00e1r ott az egys\u00e9ges\u00edt\u00e9s m\u00e9rt\u00e9ke valamivel alacsonyabb. <br \/>\nA legt\u00f6bb C++ felhaszn\u00e1l\u00f3hoz hasonl\u00f3an mi sem t\u00f6reksz\u00fcnk a nyelv \u00e9s k\u00f6nyvt\u00e1rai 100%-os kihaszn\u00e1l\u00e1s\u00e1ra. Szinte soha nem haszn\u00e1ljuk a Boost-ot, \u00e9s a nyelv lehet\u0151s\u00e9gei k\u00f6z\u00fcl is csak a dinamikus t\u00edpus\u00e1talak\u00edt\u00e1sra t\u00e1maszkodunk. Ezzel szemben akt\u00edvan alkalmazzuk:<\/p>\n<ul>\n<li>STL (k\u00fcl\u00f6n\u00f6sen a karakterl\u00e1ncok, kont\u00e9nerek \u00e9s algoritmusok)<\/li>\n<li>t\u00f6bbsz\u00f6r\u00f6s \u00f6r\u00f6kl\u00e9s, bele\u00e9rtve a t\u00f6bbsz\u00f6r\u00f6s implement\u00e1ci\u00f3s \u00f6r\u00f6kl\u00e9st<\/li>\n<li>sablonok<\/li>\n<li>kiv\u00e9telkezel\u00e9s<\/li>\n<li>okos mutat\u00f3k (saj\u00e1t megval\u00f3s\u00edt\u00e1s)<\/li>\n<\/ul>\n<p>\nA t\u00f6bbsz\u00f6r\u00f6s interf\u00e9sz-\u00f6r\u00f6kl\u00e9s (teljesen absztrakt oszt\u00e1lyok) r\u00e9v\u00e9n lehet\u0151v\u00e9 v\u00e1lik egy komponensalap\u00fa modell, amelyr\u0151l k\u00e9s\u0151bb lesz sz\u00f3.<\/p>\n<h3>\u00d6sszetev\u0151k<\/h3>\n<p>\nA modularit\u00e1s biztos\u00edt\u00e1sa \u00e9rdek\u00e9ben az \u00f6sszes funkci\u00f3t dinamikus k\u00f6nyvt\u00e1rakk\u00e9nt (*.dll Windows alatt, *.so Linux alatt) megosztva val\u00f3s\u00edtjuk meg. \u00d6sszesen t\u00f6bb mint m\u00e1sf\u00e9l sz\u00e1z komponens\u00fcnk van, ezek k\u00f6z\u00fcl n\u00e9h\u00e1nyat a k\u00f6vetkez\u0151kben ismertet\u00fcnk:<\/p>\n<p>backend<br \/>\nTartalmazza a platform metadaton motorj\u00e1t<\/p>\n<p>accnt<br \/>\nAzok az objektumok, amelyeket az alkalmaz\u00e1sfejleszt\u0151k a k\u00f6nyvel\u00e9s fel\u00e9p\u00edt\u00e9s\u00e9hez haszn\u00e1lnak (sz\u00e1mlaterv \u00e9s k\u00f6nyvel\u00e9si nyilv\u00e1ntart\u00e1sok)<\/p>\n<p>bsl<br \/>\nA be\u00e1gyazott nyelv v\u00e9grehajt\u00e1si motorja<\/p>\n<p>nuke<br \/>\nSaj\u00e1t mem\u00f3riaallok\u00e1tor megval\u00f3s\u00edt\u00e1sa<\/p>\n<p>dbeng8<br \/>\nF\u00e1jl alap\u00fa adatb\u00e1zis motor. Egy egyszer\u0171 f\u00e1jl-szerver adatb\u00e1zis g\u00e9p, amely az ISAM-on alapul, \u00e9s tartalmaz egy egyszer\u0171 SQL feldolgoz\u00f3t is<\/p>\n<p>wbase<br \/>\nTartalmazza a Windows felhaszn\u00e1l\u00f3i fel\u00fclet\u00e9nek megval\u00f3s\u00edt\u00e1s\u00e1hoz sz\u00fcks\u00e9ges alap oszt\u00e1lyokat \u00e9s funkci\u00f3kat \u2014 ablakos oszt\u00e1lyok, hozz\u00e1f\u00e9r\u00e9s a GDI-hez, stb.<\/p>\n<p>\nA sz\u00e1mos komponensre val\u00f3 sz\u00e9tv\u00e1laszt\u00e1s t\u00f6bb szempontb\u00f3l is hasznos:<\/p>\n<ul>\n<li>A sz\u00e9tv\u00e1laszt\u00e1s jobb tervez\u00e9st seg\u00edt, k\u00fcl\u00f6n\u00f6sen a k\u00f3d jobb izol\u00e1l\u00e1s\u00e1t.<\/li>\n<li>A komponenscsomagb\u00f3l rugalmasan k\u00fcl\u00f6nb\u00f6z\u0151 sz\u00e1ll\u00edt\u00e1si verzi\u00f3kat lehet \u00f6ssze\u00e1ll\u00edtani:\n<ul>\n<li>P\u00e9ld\u00e1ul a v\u00e9kony \u00fcgyf\u00e9l telep\u00edt\u00e9se tartalmazni fogja a wbase-t, de nem lesz backend.<\/li>\n<li>A wbase szerveren viszont nem lesz.<\/li>\n<li>Mindk\u00e9t vari\u00e1ns term\u00e9szetesen tartalmazni fogja a nuke-ot \u00e9s a bsl-t.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\nA program ind\u00edt\u00e1sakor minden sz\u00fcks\u00e9ges komponenst bet\u00f6lt\u00fcnk az adott ind\u00edt\u00e1si verzi\u00f3hoz. Ez k\u00fcl\u00f6n\u00f6sen sz\u00fcks\u00e9ges a SCOM-oszt\u00e1lyok regisztr\u00e1l\u00e1s\u00e1hoz, amir\u0151l al\u00e1bb lesz sz\u00f3.<\/p>\n<h3>SCOM<\/h3>\n<p>\nA SCOM egy alacsonyabb szint\u0171 dekompoz\u00edci\u00f3t haszn\u00e1l \u2013 ideol\u00f3giailag hasonl\u00f3 az ATL k\u00f6nyvt\u00e1rhoz. Azok sz\u00e1m\u00e1ra, akik m\u00e9g nem dolgoztak ATL-lel, r\u00f6viden \u00f6sszefoglalom a f\u0151 lehet\u0151s\u00e9geket \u00e9s jellegzetess\u00e9geket. <br \/>\nK\u00fcl\u00f6n\u00f6sen kialak\u00edtott SCOM-oszt\u00e1lyra:<\/p>\n<ul>\n<li>Gy\u00e1ri m\u00f3dszereket biztos\u00edt, amelyek lehet\u0151v\u00e9 teszik, hogy egy oszt\u00e1lyt hozzunk l\u00e9tre egy m\u00e1sik komponensb\u0151l, csak a neve ismeret\u00e9ben (megval\u00f3s\u00edt\u00e1s felt\u00e1r\u00e1sa n\u00e9lk\u00fcl).<\/li>\n<li>Okos mutat\u00f3k infrastrukt\u00far\u00e1j\u00e1t biztos\u00edtja referencia sz\u00e1m\u00edt\u00e1ssal. A SCOM-oszt\u00e1ly \u00e9letciklus\u00e1t nem kell manu\u00e1lisan nyomon k\u00f6vetni.<\/li>\n<li>Lehet\u0151v\u00e9 teszi annak meg\u00e1llap\u00edt\u00e1s\u00e1t, hogy az objektum megval\u00f3s\u00edt-e egy adott interf\u00e9szt, \u00e9s automatikusan \u00e1t tudja alak\u00edtani az objektum mutat\u00f3t az interf\u00e9sz mutat\u00f3j\u00e1v\u00e1.<\/li>\n<li>Szolg\u00e1ltat\u00e1s objektumot hozhat l\u00e9tre, mindig el\u00e9rhet\u0151 a get_service met\u00f3duson kereszt\u00fcl, stb.<\/li>\n<\/ul>\n<p>\nP\u00e9ld\u00e1ul a json.dll komponensben le lehet \u00edrni egy oszt\u00e1lyt a JSON olvas\u00e1s\u00e1ra (p\u00e9ld\u00e1ul JSONStreamReader).<br \/>\nAz oszt\u00e1lyokat, p\u00e9ld\u00e1nyokat m\u00e1s komponensekb\u0151l a SCOM-g\u00e9pen kell regisztr\u00e1lni:<\/p>\n<pre><code class=\"cpp\">SCOM_CLASS_ENTRY(JSONStreamReader)\n<\/code><\/pre>\n<p>\nEz a makr\u00f3 egy speci\u00e1lis statikus oszt\u00e1lyregisztr\u00e1l\u00f3t \u00edr le, amelynek konstruktora a komponens mem\u00f3ri\u00e1ba t\u00f6lt\u00e9sekor lesz megh\u00edvva.<br \/>\nEzt k\u00f6vet\u0151en, egy m\u00e1sik komponensben l\u00e9trehozhatjuk az p\u00e9ld\u00e1ny\u00e1t:<\/p>\n<pre><code class=\"cpp\">IJSONStreamReaderPtr jsonReader = create_instance(SCOM_CLSIDOF(JSONStreamReader));\n<\/code><\/pre>\n<p>\nA szolg\u00e1ltat\u00e1sok t\u00e1mogat\u00e1s\u00e1hoz a SCOM egy kieg\u00e9sz\u00edt\u0151, meglehet\u0151sen bonyolult infrastrukt\u00far\u00e1t k\u00edn\u00e1l. Ennek k\u00f6z\u00e9ppontj\u00e1ban a SCOM-folyamat fogalma \u00e1ll, amely a fut\u00f3 szolg\u00e1ltat\u00e1sok t\u00e1rol\u00f3jak\u00e9nt szolg\u00e1l (azaz bet\u00f6lti a Szolg\u00e1ltat\u00e1skeres\u0151 szerep\u00e9t), \u00e9s tartalmazza a lokaliz\u00e1lhat\u00f3 er\u0151forr\u00e1sokhoz val\u00f3 k\u00f6t\u0151d\u00e9st. A SCOM-folyamat a rendszersz\u00e1lhoz kapcsol\u00f3dik. Ennek k\u00f6sz\u00f6nhet\u0151en az alkalmaz\u00e1son bel\u00fcl \u00edgy lehet szolg\u00e1ltat\u00e1sokat kapni:<\/p>\n<pre><code class=\"cpp\">SCOM_Process* process = core::current_process();\nif (process)\n         return get_service(process);\n<\/code><\/pre>\n<p>\nTov\u00e1bb\u00e1, a logikai (SCOM) folyamatok \u00e1tkapcsol\u00e1s\u00e1val, amelyek a folyamathoz kapcsol\u00f3dnak, gyakorlatilag f\u00fcggetlen alkalmaz\u00e1steret \u00e9rhet\u00fcnk el, amelyek egyetlen folyamat keretein bel\u00fcl futnak. \u00cdgy m\u0171k\u00f6dik a v\u00e9kony kliens\u00fcnk, amely f\u00e1jlb\u00e1zissal dolgozik - egy oper\u00e1ci\u00f3s rendszer bels\u0151 folyamat\u00e1ban k\u00e9t SCOM-folyamat tal\u00e1lhat\u00f3, az egyik a klienssel, a m\u00e1sik a szerverrel kapcsol\u00f3dik. Ez a megk\u00f6zel\u00edt\u00e9s lehet\u0151v\u00e9 teszi a k\u00f3d egys\u00e9ges \u00edr\u00e1s\u00e1t, amely mind a helyi f\u00e1jlb\u00e1zison, mind a \"val\u00f3di\" kliens-szerver v\u00e1ltozaton fog m\u0171k\u00f6dni. Az egys\u00e9ges\u00edt\u00e9s \u00e1ra a felmer\u00fcl\u0151 k\u00f6lts\u00e9gek, de a gyakorlat azt mutatja, hogy meg\u00e9rik az \u00e1r\u00e1t.<\/p>\n<p>Az SCOM komponens modellj\u00e9re alapozva megval\u00f3sult az \u00fczleti logika \u00e9s a felhaszn\u00e1l\u00f3i interf\u00e9sz 1C: V\u00e1llalat r\u00e9sz\u00e9re.<\/p>\n<h3>Felhaszn\u00e1l\u00f3i fel\u00fclet<\/h3>\n<p>\nEgy\u00e9bk\u00e9nt a fel\u00fcletekr\u0151l. Nem haszn\u00e1lunk szabv\u00e1nyos Windows-vez\u00e9rl\u0151ket, vez\u00e9rl\u0151elemeink k\u00f6zvetlen\u00fcl a Windows API-n kereszt\u00fcl vannak megval\u00f3s\u00edtva. A Linux verzi\u00f3j\u00e1hoz egy k\u00f6ztes r\u00e9teg k\u00e9sz\u00fclt, amely a wxWidgets k\u00f6nyvt\u00e1ron kereszt\u00fcl m\u0171k\u00f6dik.<br \/>\nA vez\u00e9rl\u0151elemek k\u00f6nyvt\u00e1ra f\u00fcggetlen a \"1C: V\u00e1llalat\" t\u00f6bbi r\u00e9sz\u00e9t\u0151l, \u00e9s t\u00f6bb kicsi bels\u0151 seg\u00e9dprogramban is haszn\u00e1ljuk.<\/p>\n<p>Az 1C: V\u00e1llalat fejl\u0151d\u00e9se sor\u00e1n a vez\u00e9rl\u0151k megjelen\u00e9se v\u00e1ltozott, de a komolyabb elvek v\u00e1ltoz\u00e1sa csak egyszer t\u00f6rt\u00e9nt, 2009-ben, a 8.2-es verzi\u00f3 megjelen\u00e9s\u00e9vel \u00e9s a \"kezelhet\u0151 \u0171rlapok\" bevezet\u00e9s\u00e9vel. A megjelen\u00e9s mellett alapvet\u0151en megv\u00e1ltozott a forma elrendez\u00e9s\u00e9nek elve - a pixelek szerinti pozicion\u00e1l\u00e1s helyett a flow-koncepci\u00f3ra val\u00f3 \u00e1tt\u00e9r\u00e9s t\u00f6rt\u00e9nt. R\u00e1ad\u00e1sul az \u00faj modellben a vez\u00e9rl\u0151elemek nem k\u00f6zvetlen\u00fcl a domain objektumokkal dolgoznak, hanem speci\u00e1lis DTO-kkal (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/DTO\">Adat\u00e1tviteli objektumok<\/a><\/noindex>).<br \/>\nEzek a v\u00e1ltoz\u00e1sok lehet\u0151v\u00e9 tett\u00e9k a webkliens \"1C: V\u00e1llalat\" l\u00e9trehoz\u00e1s\u00e1t, amely JavaScripten megism\u00e9tli a C++ vez\u00e9rl\u0151k logik\u00e1j\u00e1t. Arra t\u00f6reksz\u00fcnk, hogy funkcion\u00e1lis egyen\u00e9rt\u00e9k\u0171s\u00e9get tartsunk fenn a v\u00e9kony \u00e9s a webkliens k\u00f6z\u00f6tt. Amikor ez lehetetlen, p\u00e9ld\u00e1ul az el\u00e9rhet\u0151 JavaScript API-k korl\u00e1tai miatt (p\u00e9ld\u00e1ul a f\u00e1jlokkal val\u00f3 munka lehet\u0151s\u00e9ge nagyon korl\u00e1tozott), gyakran val\u00f3s\u00edtunk meg sz\u00fcks\u00e9ges funkci\u00f3kat b\u00f6ng\u00e9sz\u0151b\u0151v\u00edtm\u00e9nyek seg\u00edts\u00e9g\u00e9vel, amelyeket C++ nyelven \u00edrtunk. Jelenleg az Internet Explorer \u00e9s Microsoft Edge (Windows), Google Chrome (Windows), Firefox (Windows \u00e9s Linux) \u00e9s Safari (MacOS) b\u00f6ng\u00e9sz\u0151ket t\u00e1mogatjuk.<\/p>\n<p>A 1C mobil alkalmaz\u00e1sainak fel\u00fclet\u00e9t az ir\u00e1ny\u00edtott form\u00e1k technol\u00f3gi\u00e1ja haszn\u00e1lja. Mobil eszk\u00f6z\u00f6k\u00f6n a vez\u00e9rl\u0151k megjelen\u00edt\u00e9se az oper\u00e1ci\u00f3s rendszer nat\u00edv technol\u00f3gi\u00e1ival val\u00f3sul meg, de a form\u00e1k elrendez\u00e9s\u00e9nek logik\u00e1ja \u00e9s a fel\u00fclet reakci\u00f3i ugyanazt a k\u00f3dot haszn\u00e1lj\u00e1k, mint a \u201enagy\u201d 1C:V\u00e1llalat platformon.<\/p>\n<p><img decoding=\"async\" alt=\"Az \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejt\u0151zik a motorh\u00e1ztet\u0151 alatt?\" src=\"\/wp-content\/uploads\/2019\/04\/a4a87ca99cef465e82429739a8845300.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>1C fel\u00fclet Linux oper\u00e1ci\u00f3s rendszeren<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Az \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejt\u0151zik a motorh\u00e1ztet\u0151 alatt?\" src=\"\/wp-content\/uploads\/2019\/04\/23f48ade4e28242104bfd4e9099800e2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>1C fel\u00fclet mobil eszk\u00f6z\u00f6n<\/i><\/p>\n<p><b class=\"spoiler_title\">1C fel\u00fclet m\u00e1s platformokon<\/b> <img decoding=\"async\" alt=\"Az \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejt\u0151zik a motorh\u00e1ztet\u0151 alatt?\" src=\"\/wp-content\/uploads\/2019\/04\/d04d2431d8c5240d44acce675d837018.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>1C fel\u00fclet Windows oper\u00e1ci\u00f3s rendszeren<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Az \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejt\u0151zik a motorh\u00e1ztet\u0151 alatt?\" src=\"\/wp-content\/uploads\/2019\/04\/a443f6e2d1cb95e256e0dcff4fe139d2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>1C \u2014 webes kliens<\/i><\/p>\n<p><\/p>\n<h3>Ny\u00edlt forr\u00e1sk\u00f3d<\/h3>\n<p>\nB\u00e1r nem haszn\u00e1lunk olyan, a C++ fejleszt\u0151k sz\u00e1m\u00e1ra megszokott k\u00f6nyvt\u00e1rakat Windows alatt (MFC, WinAPI vez\u00e9rl\u0151k), nem minden komponenst magunk \u00edrunk. M\u00e1r eml\u00edt\u00e9st nyert a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.wxwidgets.org\/\">wxWidgets<\/a><\/noindex>, \u00e9s emellett haszn\u00e1ljuk:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/curl.haxx.se\/libcurl\/\">cURL<\/a><\/noindex> HTTP \u00e9s FTP kezel\u00e9s\u00e9re. <\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/openssl.org\/\">OpenSSL<\/a><\/noindex> titkos\u00edt\u00e1si munka \u00e9s TLS kapcsolatok l\u00e9trehoz\u00e1s\u00e1ra<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.xmlsoft.org\/\">libxml2 \u00e9s libxslt<\/a><\/noindex> XML parsol\u00e1s\u00e1ra<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dinhviethoa\/libetpan\">libetpan<\/a><\/noindex> lev\u00e9lprotokollokkal (POP3, SMTP, IMAP) val\u00f3 munk\u00e1ra<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.codesink.org\/mimetic_mime_library.html\">mimetic<\/a><\/noindex> elektronikus levelek \u00fczeneteinek parsol\u00e1s\u00e1ra<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlite.org\/\">sqllite<\/a><\/noindex> a felhaszn\u00e1l\u00f3i tev\u00e9kenys\u00e9gek napl\u00f3z\u00e1s\u00e1hoz<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/site.icu-project.org\/\">ICU<\/a><\/noindex> nemzetk\u00f6ziv\u00e9 t\u00e9telhez<\/li>\n<\/ul>\n<p>\nA lista m\u00e9g folytathat\u00f3.<br \/>\nEmellett er\u0151sen m\u00f3dos\u00edtott v\u00e1ltozat\u00e1t haszn\u00e1ljuk a <noindex><a rel=\"nofollow\" href=\"http:\/\/code.google.com\/p\/googletest\/\">Google Test<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"http:\/\/code.google.com\/p\/googlemock\/\">Google Mock<\/a><\/noindex> egys\u00e9gtesztek fejleszt\u00e9s\u00e9hez.<br \/>\nA k\u00f6nyvt\u00e1rakat alkalmazkod\u00e1sra k\u00e9nyszer\u00edtette a komponens szervezeti SCOM-modellj\u00e9vel val\u00f3 kompatibilit\u00e1s \u00e9rdek\u00e9ben.<br \/>\nA 1C elterjedts\u00e9ge kiv\u00e1l\u00f3 ellen\u0151rz\u00e9si lehet\u0151s\u00e9get biztos\u00edt az abban haszn\u00e1lt k\u00f6nyvt\u00e1raknak. A felhaszn\u00e1l\u00f3k \u00e9s a forgat\u00f3k\u00f6nyvek sokf\u00e9les\u00e9ge gyorsan felfedi a hib\u00e1kat m\u00e9g a legkev\u00e9sb\u00e9 haszn\u00e1lt k\u00f3dr\u00e9szekben is. A hib\u00e1kat jav\u00edtjuk a saj\u00e1t rendszer\u00fcnkben \u00e9s igyeksz\u00fcnk visszaadni a k\u00f6nyvt\u00e1rak k\u00e9sz\u00edt\u0151inek. A tapasztalataink v\u00e1ltozatosak.<br \/>\nFejleszt\u0151k <noindex><a rel=\"nofollow\" href=\"http:\/\/curl.haxx.se\/libcurl\/\">cURL<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dinhviethoa\/libetpan\">libetpan<\/a><\/noindex> gyorsan reag\u00e1lnak a pull-requestekre, de a patch, p\u00e9ld\u00e1ul a <noindex><a rel=\"nofollow\" href=\"http:\/\/openssl.org\/\">OpenSSL<\/a><\/noindex> soha nem siker\u00fclt visszaadnunk.<\/p>\n<h3>Z\u00e1r\u00e1s<\/h3>\n<p>\nA cikkben a \u201e1C: V\u00e1llalat\u201d platform fejleszt\u00e9s\u00e9nek n\u00e9h\u00e1ny alapvet\u0151 aspektus\u00e1t \u00e9rintett\u00fck. A cikk korl\u00e1tozott terjedelm\u00e9ben csak n\u00e9h\u00e1ny \u00e9rdekesnek tartott aspektust eml\u00edtett\u00fcnk meg. <br \/>\nA platform k\u00fcl\u00f6nf\u00e9le mechanizmusainak \u00e1ltal\u00e1nos le\u00edr\u00e1s\u00e1t itt tekinthetj\u00fck meg: <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Platform.htm\">itt<\/a><\/noindex>.<br \/>\nMilyen t\u00e9m\u00e1k \u00e9rdekeln\u00e9nek \u00d6n\u00f6ket a k\u00f6vetkez\u0151 cikkekben?<\/p>\n<p>Hogyan val\u00f3sult meg a 1C mobil platform?<br \/>\nA webes kliens bels\u0151 fel\u00e9p\u00edt\u00e9se? <br \/>\nVagy tal\u00e1n \u00e9rdekeln\u00e9 \u00d6n\u00f6ket az \u00faj kiad\u00e1sok funkci\u00f3inak kiv\u00e1laszt\u00e1s\u00e1nak, fejleszt\u00e9s\u00e9nek \u00e9s tesztel\u00e9s\u00e9nek folyamata?<\/p>\n<p>\u00cdrjanak megjegyz\u00e9seikben!<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/269611\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043d\u0430\u0447\u043d\u0435\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u00ab1\u0421:\u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 8\u00bb \u0438 \u043a\u0430\u043a\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0435\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. \u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u00ab1\u0421:\u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 8\u00bb \u2014 \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 (\u0431\u043e\u043b\u0435\u0435 10 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430) \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 C++ (\u043a\u043b\u0438\u0435\u043d\u0442, \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0442.\u0434.), JavaScript (\u0432\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442), \u0438, \u0441 \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24279,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32475","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\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\/hu\/blog\/administrirovanie\/platforma-1s-predpriyatie-chto-pod-kapotom\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u00ab1\u0421: \u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435\u00bb \u2014 \u0447\u0442\u043e \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/platforma-1s-predpriyatie-chto-pod-kapotom\" \/>\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-31T18:47:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:47:15+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\udd47A \u201e1C: V\u00e1llalat\u201d platform \u2014 mi rejlik a motorh\u00e1ztet\u0151 alatt? | ProHoster","description":"Hell\u00f3, Habr!","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/platforma-1s-predpriyatie-chto-pod-kapotom","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u00ab1\u0421: \u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435\u00bb \u2014 \u0447\u0442\u043e \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c? | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/platforma-1s-predpriyatie-chto-pod-kapotom","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-31T18:47:15+00:00","article:modified_time":"2019-10-31T18:47:15+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32475","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-21 11:03:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:58:23","updated":"2026-01-21 11:03:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/32475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=32475"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/32475\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/24279"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=32475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=32475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=32475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}