{"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\/nl\/blog\/administrirovanie\/sposoby-integratsii-s-1s","title":{"rendered":"Integratiemethoden met 1C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Wat zijn de belangrijkste vereisten voor bedrijfsapplicaties? Enkele van de belangrijkste taken zijn:<\/p>\n<ul>\n<li>De mogelijkheid om de logica van de applicatie eenvoudig aan te passen aan veranderende zakelijke behoeften.<\/li>\n<li>Eenvoudige integratie met andere applicaties.<\/li>\n<\/ul>\n<p>\nHoe de eerste taak in 1C wordt aangepakt, is kort beschreven in de sectie 'Aanpassing en ondersteuning'. <noindex><a rel=\"nofollow\" href=\"https:\/\/habrahabr.ru\/company\/1c\/blog\/267321\/\">dit artikel<\/a><\/noindex>; we zullen terugkomen op dit interessante onderwerp in een van de volgende artikelen. Vandaag bespreken we de tweede taak, integratie.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Integratietaken<\/h3>\n<p>\nIntegratietaken kunnen vari\u00ebren. Voor sommige taken is een eenvoudige interactieve gegevensuitwisseling voldoende, bijvoorbeeld voor het versturen van een lijst van medewerkers naar de bank voor de uitgifte van salariskaarten. Voor complexere taken kan een volledig geautomatiseerde gegevensuitwisseling nodig zijn, mogelijk met oproepen naar de businesslogica van een extern systeem. Er zijn ook specialistische taken, zoals integratie met externe apparatuur (bijvoorbeeld handelsapparatuur, mobiele scanners, enz.) of met verouderde of gespecialiseerd systemen (bijvoorbeeld systemen voor het herkennen van RFID-tags). Het is uiterst belangrijk om voor elke taak het meest geschikte integratiemechanisme te kiezen.<\/p>\n<h3>Integratiemogelijkheden met 1C<\/h3>\n<p>\nEr zijn verschillende benaderingen voor de implementatie van integratie met 1C-applicaties; welke te kiezen hangt af van de vereisten van de taak.<\/p>\n<ol>\n<li>Implementatie op basis van <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000581.htm\">integratiemechanismen<\/a><\/noindex>, geleverd door het platform, of een eigen gespecialiseerd API aan de kant van de 1C-applicatie (bijvoorbeeld een reeks web- of HTTP-services die externe applicaties aanroepen voor gegevensuitwisseling met de 1C-applicatie). Een voordeel van deze benadering is de veerkracht van de API tegen veranderingen in de implementatie aan de kant van de 1C-applicatie. Een kenmerk van de benadering is dat de broncode van de standaardoplossing van 1C moet worden aangepast, wat potentieel inspanningen kan vergen bij het samenvoegen van de broncodes bij de overgang naar een nieuwe versie van de configuratie. In dit geval kan nieuwe, geavanceerde functionaliteit een uitkomst bieden \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000883.htm\">configuratie-uitbreidingen<\/a><\/noindex>. Uitbreidingen zijn in wezen een pluginmechanisme dat het mogelijk maakt om aanvullende applicaties te cre\u00ebren zonder de applicaties zelf aan te passen. Het verplaatsen van de integratie-API naar de configuratie-uitbreiding voorkomt complicaties bij het combineren van configuraties bij de overgang naar een nieuwe versie van de standaardoplossing.\n<\/li>\n<li>Het gebruik van integratiemechanismen van het platform die externe toegang bieden tot het objectmodel van de applicatie en geen aanpassing van de applicatie of het maken van een uitbreiding vereisen. Het voordeel van deze aanpak is dat de 1C-applicatie niet hoeft te worden gewijzigd. Het nadeel is dat als de 1C-applicatie al is aangepast, er mogelijk verdere aanpassingen in de ge\u00efntegreerde applicatie nodig zijn. Een voorbeeld van deze aanpak is het gebruik van het OData-protocol voor integratie, ge\u00efmplementeerd aan de kant van het 1C:Enterprise-platform (meer hierover hieronder).\n<\/li>\n<li>Gebruik maken van kant-en-klare applicatieprotocollen, ge\u00efmplementeerd in standaardoplossingen van 1C. Veel standaardoplossingen van 1C en partners implementeren hun eigen applicatieprotocollen op basis van de integratiemechanismen die door het platform worden geboden, gericht op specifieke taken. Bij het gebruik van deze mechanismen is er geen code vereist aan de kant van de 1C-applicatie, omdat we gebruikmaken van de standaardmogelijkheden van de applicatie. Aan de kant van de 1C-applicatie hoeven we slechts bepaalde instellingen uit te voeren.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Integratiemechanismen in het 1C:Enterprise-platform<\/h3>\n<p><\/p>\n<h4>Importeren\/exporteren van bestanden<\/h4>\n<p>\nStel dat we voor de taak staan van bidirectionele gegevensuitwisseling tussen de 1C-applicatie en een willekeurige applicatie. Bijvoorbeeld, we moeten de productlijst (referentie Catalogus) tussen de 1C-applicatie en een willekeurige applicatie synchroniseren.<\/p>\n<p><img decoding=\"async\" alt=\"Integratiemethoden met 1C\" src=\"\/wp-content\/uploads\/2019\/08\/9678f09dfcf7f70de100ed74ada6019c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nOm deze taak op te lossen kan een uitbreiding worden geschreven die de referentie Catalogus in een bestand van een bepaald formaat (tekst, XML, JSON, \u2026) exporteert en dit formaat kan inlezen. <\/p>\n<p>Het platform heeft een mechanisme voor het serialiseren van applicatieobjecten in XML, zowel direct via de methoden van de globale context WriteXML\/ReadXML, als met behulp van het hulpprogramma XDTO (XML Data Transfer Objects).<\/p>\n<p>Elk object in het 1C:Enterprise-systeem kan worden.serialized naar een XML-weergave en omgekeerd. <\/p>\n<p>Deze functie retourneert de weergave van het object in XML-vorm:<\/p>\n<pre><code class=\"1c\">Functie Object_In_XML(Object)\n    RecordXML = Nieuwe RecordXML();\n    RecordXML.StelStringIn();\n    SchrijfXML(RecordXML, Object);\n    Retourneer RecordXML.Sluit();\nEindeFunctie\n<\/code><\/pre>\n<p>\nZo zal de export van de catalogus Nomenclatuur in XML eruitzien met behulp van XDTO:<\/p>\n<pre><code class=\"1c\">&amp;OpServer\nProcedure ExporteerXMLOpServer()\t\n\tNieuweSerializerXDTO  = SerializerXDTO;\n\tNieuweRecordXML = Nieuwe RecordXML();\n\tNieuweRecordXML.OpenBestand(\"C:DataNomenclatuur.xml\", \"UTF-8\");\n\t\n\tNieuweRecordXML.SchrijfAankondigingXML();\n\tNieuweRecordXML.SchrijfStartElement(\"CatalogusNomenclatuur\");\n\t\n\tSelectie = Catalogi.Nomenclatuur.Selecteren();\n\t\n\tTerwijl Selectie.Volgende() Doe \n\t\tObjectNomenclatuur = Selectie.KrijgObject();\n\t\tNieuweSerializerXDTO.SchrijfXML(NieuweRecordXML, ObjectNomenclatuur, ToewijzingXML.Type.Expliciet);\n\tEindeLoop;\n\t\n\tNieuweRecordXML.SchrijfEindeElement();\n\tNieuweRecordXML.Sluit();\t\nEindeProcedure\n<\/code><\/pre>\n<p>\nMet een eenvoudige aanpassing van de code exporteren we de catalogus naar JSON. De producten worden in een array geschreven; voor de variatie geven we de Engelstalige versie van de syntaxis:<\/p>\n<pre><code class=\"1c\">&amp;OpServer\nProcedure ExporteerJSONOpServer()\n\tNieuweXDTOSerializer  = XDTOSerializer;\n\tNieuweJSONSchrijver = Nieuwe JSONSchrijver();\n\tNieuweJSONSchrijver.OpenBestand(\"C:DataNomenclatuur.json\", \"UTF-8\");\n\t\n\tNieuweJSONSchrijver.SchrijfStartObject();\n\tNieuweJSONSchrijver.SchrijfEigenschapsnaam(\"CatalogusNomenclatuur\");\n\tNieuweJSONSchrijver.SchrijfStartArray();\n\t\n\tSelectie = Catalogs.Nomenclatuur.Selecteren();\t\n\t\n\tTerwijl Selectie.Volgende() Doe \n\t\tNomenclatuurObject = Selectie.KrijgObject();\n\t\t\n\t\tNieuweJSONSchrijver.SchrijfStartObject();\n\t\t\n\t\tNieuweJSONSchrijver.SchrijfEigenschapsnaam(\"Nomenclatuur\");\n\t\tNieuweXDTOSerializer.SchrijfJSON(NieuweJSONSchrijver, NomenclatuurObject, ToewijzingXML.Type.Impliciet);\n\t\t\n\t\tNieuweJSONSchrijver.SchrijfEindeObject();\n\tEindeDoe;\n\t\n\tNieuweJSONSchrijver.SchrijfEindeArray();\n\tNieuweJSONSchrijver.SchrijfEindeObject();\n\tNieuweJSONSchrijver.Sluit();\t\nEindeProcedure\n<\/code><\/pre>\n<p>\nVervolgens hoeft u alleen nog de gegevens aan de eindgebruiker over te dragen. Het platform 1C:Enterprise ondersteunt de belangrijkste internetprotocollen HTTP, FTP, POP3, SMTP en IMAP, inclusief hun veilige versies. Daarnaast kunnen gegevens ook worden verzonden via HTTP en\/of webservices.<\/p>\n<h4>HTTP- en webservices<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Integratiemethoden met 1C\" src=\"\/wp-content\/uploads\/2019\/08\/1d4797d9298f793e19ee637fd26473b2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>1C-applicaties kunnen hun eigen HTTP- en webservices implementeren, evenals HTTP- en webservices aanroepen die door externe applicaties zijn ge\u00efmplementeerd. <\/p>\n<h4>REST-interface en het OData-protocol<\/h4>\n<p>\nVanaf versie 8.3.5 kan het 1C:Enterprise-platform automatisch <noindex><a rel=\"nofollow\" href=\"https:\/\/wonderland.v8.1c.ru\/blog\/avtomaticheskiy-rest-interfeys-prikladnykh-resheniy\/\">een REST-interface genereren<\/a><\/noindex> voor de gehele applicatieoplossing. Elk configuratieobject (catalogus, document, register van gegevens, enz.) kan beschikbaar worden gesteld voor het ophalen en wijzigen van gegevens via de REST-interface. Het platform gebruikt het protocol <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Open_Data_Protocol\">OData<\/a><\/noindex> versie 3.0. Publicatie van OData-diensten gebeurt vanuit het menu Configurator 'Beheer -&gt; Publicatie op webserver', het selectievakje 'Publiceer standaard OData-interface' moet zijn aangevinkt. De formaten atom\/XML en JSON worden ondersteund. Nadat de applicatieoplossing op de webserver is gepubliceerd, kunnen externe systemen deze benaderen via de REST-interface met behulp van HTTP-verzoeken. Voor het werken met de 1C-applicatie via het OData-protocol is programmeren aan de 1C-kant niet nodig.<\/p>\n<p>Dus, een URL zoals <u>http:\/\/\/\/odata\/standard.odata\/Catalog_Artikel<\/u> zal ons de inhoud van de catalogus Artikel in XML-formaat teruggeven \u2014 een verzameling entry-elementen (de berichtkop is ter vergadering weggelaten):<\/p>\n<pre><code class=\"xml\">http:\/\/server\/Config\/odata\/standard.odata\/Catalog_Artikel(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\tAirconditioner Mitsubishi\n\t\t\tVermogen 2,5 kW, werkmodi: verwarming\/koeling\n\t\t\n\t\n\n\n\thttp:\/\/server\/Config\/odata\/standard.odata\/Catalog_Artikel(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')\n\t\n...\n<\/code><\/pre>\n<p>\nDoor de string \u00ab?$format=application\/json\u00bb aan de URL toe te voegen, krijgen we de inhoud van de catalogus Artikel in JSON-formaat (URL zoals <u>http:\/\/\/\/odata\/standard.odata\/Catalog_Artikel?$format=application\/json<\/u> ):<\/p>\n<pre><code>{\n\"odata.metadata\": \"http:\/\/server\/Config\/odata\/standard.odata\/$metadata#Catalog_Artikel\",\n\"value\": [{\n\"Ref_Key\": \"35d1f6e4-289b-11e6-8ba4-e03f49b16074\",\n\"DataVersion\": \"AAAAAgAAAAA=\",\n\"DeletionMark\": false,\n\"Code\": \"000000001\",\n\"Description\": \"Airconditioner Mitsubishi\",\n\"Beschrijving\": \"Vermogen 2,5 kW, werkmodi: verwarming\/koeling\"\n},{\n\"Ref_Key\": \"35d1f6e5-289b-11e6-8ba4-e03f49b16074\",\n\"DataVersion\": \"AAAAAwAAAAA=\",\n\"DeletionMark\": false,\n\"Code\": \"000000002\",\n\"Description\": \"Airconditioner Daikin\",\n\"Beschrijving\": \"Vermogen 3 kW, werkmodi: verwarming\/koeling\"\n}, \u2026\n<\/code><\/pre>\n<p><\/p>\n<h4>Externe gegevensbronnen<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Integratiemethoden met 1C\" src=\"\/wp-content\/uploads\/2019\/08\/1663b53846f3a6a8a03f386f1f6cd311.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIn sommige gevallen vindt gegevensuitwisseling plaats via <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000795.htm\">externe gegevensbronnen<\/a><\/noindex> kan de optimale oplossing blijken te zijn. Externe gegevensbronnen zijn een toepassingsobject van de 1C-configuratie dat interactie mogelijk maakt met elke ODBC-compatibele database, zowel voor lezen als schrijven. Externe gegevensbronnen zijn beschikbaar op zowel Windows als Linux.<\/p>\n<h4>Gegevensuitwisselingsmechanisme<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000269.htm\">Gegevensuitwisselingsmechanisme<\/a><\/noindex> is bedoeld voor zowel het cre\u00ebren van territoriaal verspreide systemen op basis van 1C:Enterprise als voor het organiseren van gegevensuitwisseling met andere informatiesystemen die niet gebaseerd zijn op 1C:Enterprise.<\/p>\n<p>Dit mechanisme wordt actief gebruikt bij implementaties van 1C, en het bereik van taken dat ermee kan worden opgelost, is zeer breed. Dit omvat gegevensuitwisseling tussen 1C-applicaties die zijn ge\u00efnstalleerd in de vestigingen van de organisatie, gegevensuitwisseling tussen een 1C-applicatie en de website van een webwinkel, en gegevensuitwisseling tussen een serverapplicatie van 1C en een mobiele client (gemaakt met de mobiele platform van 1C:Enterprise), en nog veel meer.<\/p>\n<p>Een van de belangrijkste begrippen in het gegevensuitwisselingsmechanisme is het uitwisselingsplan. Het uitwisselingsplan is een speciaal type toepassingsobject in het 1C-platform dat onder andere de samenstelling van de gegevens definieert die aan de uitwisseling zullen deelnemen (welke specifieke catalogi, documenten, registers, enz.). Het uitwisselingsplan bevat ook informatie over de deelnemers aan de uitwisseling (de zogenaamde uitwisselingsknopen).<br \/>\nDe tweede component van het gegevensuitwisselingsmechanisme is het mechanisme voor wijzigingsregistratie. Dit mechanisme volgt automatisch de gegevenswijzigingen in het systeem die aan eindgebruikers moeten worden doorgegeven in het kader van het uitwisselingsplan. Dankzij dit mechanisme volgt het platform de wijzigingen die sinds de laatste synchronisatie zijn opgetreden en maakt het mogelijk de hoeveelheid gegevens die in het kader van de volgende synchronisatiesessie wordt verzonden, te minimaliseren.<\/p>\n<p>Gegevensuitwisseling vindt plaats via XML-berichten van een bepaalde structuur. Een bericht bevat gegevens die sinds de laatste synchronisatie met de node zijn gewijzigd, evenals enige service-informatie. De structuur van de berichten ondersteunt de nummering van berichten en maakt het mogelijk om bevestigingen van de ontvangende node te ontvangen over de ontvangst van berichten. Deze bevestigen zijn opgenomen in elk bericht dat van de ontvangende node komt, in de vorm van het nummer van het laatst ontvangen bericht. De nummering van de berichten stelt het platform in staat te begrijpen welke gegevens al met succes zijn overgedragen aan de ontvangende node, en voorkomt dubbele overdracht door alleen de gegevens door te geven die zijn gewijzigd sinds het laatste bericht dat door de verzendende node werd ontvangen met een ontvangstbewijs van de ontvangen gegevens door de ontvangende node. Dit werkingsschema garandeert de levering zelfs bij onbetrouwbare overdrachtskanalen en verlies van berichten.<\/p>\n<h4>Externe componenten<\/h4>\n<p>\nIn sommige gevallen, bij het oplossen van integratietaken, kan men worden geconfronteerd met specifieke vereisten, zoals interactieprotocollen en gegevensformaten waarmee de 1C:Enterprise-plattform geen rekening houdt. Voor dit soort taken biedt het platform <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/overview\/Term_000000545.htm\">de technologie van externe componenten<\/a><\/noindex>, die het mogelijk maakt om dynamisch te koppelen modules te cre\u00ebren die de functionaliteit van 1C:Enterprise uitbreiden. <\/p>\n<p>Een typisch voorbeeld van een taak met dergelijke vereisten kan de integratie van de applicatieoplossing 1C met handelsapparatuur zijn, beginnend bij weegschalen en eindigend bij kassa's en barcode-scanners. Externe componenten kunnen worden aangesloten zowel aan de serverzijde van 1C:Enterprise als aan de clientzijde (inclusief de webclient en <noindex><a rel=\"nofollow\" href=\"https:\/\/wonderland.v8.1c.ru\/blog\/vneshnie-komponenty-v-mobilnom-prilozhenii\/\">de volgende versie van het mobiele platform<\/a><\/noindex> 1C:Enterprise). De technologie van externe componenten voorziet in een vrij eenvoudige en begrijpelijke programmeerinterface (C++) voor de interactie van de component met het 1C:Enterprise platform, die door de ontwikkelaar moet worden ge\u00efmplementeerd.<\/p>\n<p>De mogelijkheden die zich aandienen bij het gebruik van externe componenten zijn zeer breed. Men kan interactie realiseren via een specifiek datacommunicatieprotocol met externe apparaten en systemen, specifieke algoritmen voor gegevensverwerking en gegevensformaten integreren, enz.<\/p>\n<h4>Verouderde integratiemechanismen<\/h4>\n<p>\nDe platform biedt integratiemechanismen die niet aanbevolen worden voor gebruik in nieuwe oplossingen; ze zijn behouden uit het oogpunt van achterwaartse compatibiliteit en voor het geval een andere partij niet met modernere protocollen kan werken. Een daarvan is het werken met bestanden in DBF-formaat (ondersteund in de ingebouwde taal via het XBase-object).<\/p>\n<p>Een ander verouderd integratiemechanisme is het gebruik van COM-technologie (alleen beschikbaar op het Windows-platform). Het 1C:Enterprise-platform biedt twee manieren van integratie voor Windows die de COM-technologie gebruiken: de Automation-server en de Externe verbinding. Ze zijn zeer vergelijkbaar, maar een van de belangrijkste verschillen is dat bij de Automation-server een volwaardig clienttoepassing 1C:Enterprise 8 wordt gestart, terwijl bij de externe verbinding een relatief kleine intraprocess COM-server start. Dat wil zeggen, bij gebruik via de Automation-server kan de functionaliteit van de clienttoepassing worden benut, en kunnen acties worden uitgevoerd die lijken op de interactieve acties van de gebruiker. Bij het gebruik van de externe verbinding kunnen alleen de functies van de businesslogica worden gebruikt, die uitgevoerd kunnen worden aan de clientzijde van de verbinding, waar de intraprocess-com-server wordt gemaakt, of er kan een oproep naar de businesslogica aan de serverzijde van 1C:Enterprise worden gedaan.<\/p>\n<p>De COM-technologie kan ook worden gebruikt om toegang te krijgen tot externe systemen vanuit de applicatiecode op het 1C:Enterprise-platform. In dit geval fungeert de 1C-applicatie als COM-client. Het moet echter worden opgemerkt dat deze mechanismen alleen functioneren als de 1C-server werkt in een Windows-omgeving.<\/p>\n<h3>Integratiemechanismen ge\u00efmplementeerd in standaardconfiguraties<\/h3>\n<p><\/p>\n<h4>EnterpriseData-formaat<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Integratiemethoden met 1C\" src=\"\/wp-content\/uploads\/2019\/08\/8930091e53309b9b808a719b747a6226.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIn een aantal 1C-configuraties (lijst hieronder) is er een kant-en-klaar mechanisme voor gegevensuitwisseling met externe applicaties op basis van het hierboven beschreven plattformmechanisme voor gegevensuitwisseling, dat geen wijziging van de broncode van de configuraties vereist (de voorbereiding voor gegevensuitwisseling gebeurt in de instellingen van de toepassingsoplossingen):<\/p>\n<ul>\n<li>\u00ab1C:ERP Bedrijfsbeheer 2.0\u00bb <\/li>\n<li>\u00abGe\u00efntegreerde automatisering 2\u00bb <\/li>\n<li>\u00abBedrijfsboekhouding\u00bb, editie 3.0 <\/li>\n<li>\u00abBedrijfsboekhouding KORP\u00bb, editie 3.0 <\/li>\n<li>\u00abDetailhandel\u00bb, editie 2.0 <\/li>\n<li>\u00abBasis voor Handelsbeheer\u00bb, editie 11 <\/li>\n<li>\u00abHandelsbeheer\u00bb, editie 11<\/li>\n<li>\u00abLoonadministratie en Personeelsbeheer CORP\u00bb, editie 3<\/li>\n<\/ul>\n<p>\nVoor gegevensuitwisseling wordt het formaat gebruikt <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_app\/enterprisedata\/\">EnterpriseData<\/a><\/noindex>, gebaseerd op XML. Het formaat is bedrijfgericht \u2013 de daarin beschreven gegevensstructuren komen overeen met bedrijfseenheden (documenten en elementen van naslagwerken) die in de 1C-programma's worden gepresenteerd, zoals: uitgevoerd werk, inkomende kasbon, tegenpartij, assortiment, enz.<\/p>\n<p>Gegevensuitwisseling tussen de 1C-applicatie en een externe applicatie kan plaatsvinden:<\/p>\n<ul>\n<li>via een specifieke bestandsdirectory <\/li>\n<li>via de FTP-directory <\/li>\n<li>via een webservice die aan de zijde van de 1C-applicatie is ge\u00efmplementeerd. Het bestand met gegevens wordt als parameter van de webmethoden doorgegeven<\/li>\n<li>via e-mail<\/li>\n<\/ul>\n<p>\nIn het geval van gegevensuitwisseling via de webservice zal de externe applicatie de gegevensuitwisselingssessie initi\u00ebren door de relevante webmethoden van de 1C-applicatie aan te roepen. In andere gevallen zal de 1C-applicatie de initiator van de uitwisselingssessie zijn (door het bestand met gegevens in de respectieve directory te plaatsen of het bestand met gegevens naar het geconfigureerde e-mailadres te verzenden).<br \/>\nOok aan de zijde van 1C wordt ingesteld hoe vaak de synchronisatie zal plaatsvinden (voor de opties met bestandsuitwisseling via directory en e-mail):<\/p>\n<ul>\n<li>op schema (met een bepaalde frequentie) <\/li>\n<li>manueel; de gebruiker moet handmatig de synchronisatie starten telkens wanneer dat nodig is<\/li>\n<\/ul>\n<p><\/p>\n<h5>Bevestiging van berichten<\/h5>\n<p>\nDe 1C-applicaties houden een register bij van verzonden en ontvangen synchronisatieberichten en verwachten hetzelfde van externe applicaties. Dit maakt gebruik van het hierboven beschreven berichtnummeringsmechanisme, dat is beschreven in het gedeelte 'Mechanisme voor gegevensuitwisseling'.<\/p>\n<p>1C-applicaties verzenden tijdens de synchronisatie alleen informatie over de wijzigingen die sinds de laatste synchronisatie hebben plaatsgevonden met de bedrijfsentiteiten (om de hoeveelheid verzonden informatie te minimaliseren). Bij de eerste synchronisatie zal de 1C-applicatie alle bedrijfsentiteiten (bijvoorbeeld elementen van de nomenclaturesoftware) exporteren in het EnterpriseData-formaat naar een XML-bestand (aangezien ze allemaal 'nieuw' zijn voor de externe applicatie). De externe applicatie moet de informatie uit het door 1C ontvangen XML-bestand verwerken en bij de volgende synchronisatiesessie in het bestand dat naar 1C wordt verzonden, in een speciale sectie van de XML, de informatie plaatsen dat het bericht van 1C met een bepaald nummer met succes is ontvangen. Het ontvangstbewijs is voor de 1C-applicatie een signaal dat alle bedrijfsentiteiten met succes door de externe applicatie zijn verwerkt en dat er geen informatie meer over moet worden verzonden. Naast het ontvangstbewijs kan het XML-bestand van de externe applicatie ook gegevens voor synchronisatie vanuit de applicatie bevatten (bijvoorbeeld documenten voor de verkoop van goederen en diensten).<\/p>\n<p>Na ontvangst van het ontvangstbewijs markeert de 1C-applicatie alle wijzigingen die in het vorige bericht zijn verzonden als succesvol gesynchroniseerd. Alleen niet-synchroniseerde wijzigingen in de bedrijfsentiteiten (het cre\u00ebren van nieuwe entiteiten, het wijzigen en verwijderen van bestaande) zullen bij de volgende synchronisatiesessie naar de externe applicatie worden verzonden.<\/p>\n<p><img decoding=\"async\" alt=\"Integratiemethoden met 1C\" src=\"\/wp-content\/uploads\/2019\/08\/b0d5509a53909e38886a15c2e03e7131.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nBij het verzenden van gegevens van de externe applicatie naar de 1C-applicatie verandert het plaatje. De externe applicatie moet de sectie-ontvangstbewijs in het XML-bestand dienovereenkomstig invullen en bedrijfsgegevens voor synchronisatie met zijn kant in het EnterpriseData-formaat invoegen.<\/p>\n<p><img decoding=\"async\" alt=\"Integratiemethoden met 1C\" src=\"\/wp-content\/uploads\/2019\/08\/d34b96efb7591770133b363b369c0019.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h5>Versimpelde gegevensuitwisseling zonder ontvangstbewijs<\/h5>\n<p>\nVoor gevallen van eenvoudige integratie, waarbij het voldoende is om alleen informatie van de externe applicatie naar de 1C-applicatie te verzenden en een terugzending van gegevens van de 1C-applicatie naar de externe applicatie niet vereist is (bijvoorbeeld integratie van een online winkel die verkoopinformatie naar '1C: Boekhouding' verzendt), is er een vereenvoudigde werkmethode via een webservice (zonder ontvangstbewijs) die geen instellingen aan de kant van de 1C-applicatie vereist.<\/p>\n<h4>Gespecialiseerde integratieoplossingen<\/h4>\n<p>\nEr is een standaardoplossing \"1C: Gegevensconversie\" die de mechanismen van het platform gebruikt voor de conversie en uitwisseling van gegevens tussen standaardconfiguraties van 1C, maar die ook kan worden gebruikt voor integratie met externe applicaties.<\/p>\n<h5>Integratie met bankoplossingen<\/h5>\n<p>\nDe standaard <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/100\/index.htm\">\"Klantenbank\"<\/a><\/noindex>, ontwikkeld door specialisten van 1C meer dan 10 jaar geleden, is feitelijk de standaard in de sector in Rusland geworden. De volgende stap in deze richting is de technologie <noindex><a rel=\"nofollow\" href=\"http:\/\/directbank.1c.ru\/\">DirectBank<\/a><\/noindex>, die het mogelijk maakt om betalingsdocumenten naar de bank te verzenden en bankafschriften rechtstreeks vanuit het programma \"1C: Bedrijf\" te ontvangen met een simpele druk op de knop in het programma \"1C\"; hiervoor is geen extra software nodig op de cli\u00ebntcomputer. <\/p>\n<p>Er is ook een <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/109\/\">standaard voor gegevensuitwisseling in salarisprojecten<\/a><\/noindex>.<\/p>\n<h5>Overige<\/h5>\n<p>\nVermeldenswaard zijn <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/131\/\">het uitwisselingsprotocol tussen het systeem 1C: Bedrijf en de website<\/a><\/noindex>, de standaard voor uitwisseling van commerci\u00eble informatie <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/90\/\">CommerceML<\/a><\/noindex> (ontwikkeld in samenwerking met Microsoft, Intel, Price.ru en andere bedrijven), <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/edi\/edi_stnd\/111\/\">de standaard voor gegevensuitwisseling bij acquisitie transacties<\/a><\/noindex>.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/sposoby-integratsii-s-1s\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47 Manieren om te integreren met 1C | ProHoster","description":"Wat zijn de belangrijkste eisen aan businessapplicaties?","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sposoby-integratsii-s-1s","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/36968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=36968"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/36968\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/27703"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=36968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=36968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=36968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}