Aðferðir við samþættingu við 1C

Hverjar eru mikilvægustu kröfurnar fyrir viðskiptaumsóknir? Sum mikilvægustu verkefnin eru eftirfarandi:

  • Auðvelt að breyta/aðlaga umsóknarrökfræði að breyttum viðskiptaverkefnum.
  • Auðveld samþætting við önnur forrit.

Hvernig fyrsta verkefnið er leyst í 1C var stuttlega lýst í hlutanum „Sérsnið og stuðningur“ af þessari grein; Við munum snúa aftur að þessu áhugaverða efni í framtíðargrein. Í dag munum við tala um annað verkefnið, samþættingu.

Samþættingarverkefni

Samþættingarverkefni geta verið mismunandi. Til að leysa sum vandamál nægir einföld gagnvirk gagnaskipti - til dæmis til að flytja lista yfir starfsmenn í banka til að gefa út launaplastkort. Fyrir flóknari verkefni geta full sjálfvirk gagnaskipti verið nauðsynleg, hugsanlega með vísan til viðskiptarökfræði ytra kerfis. Það eru verkefni sem eru sérhæfð í eðli sínu, svo sem samþætting við utanaðkomandi búnað (til dæmis smásölubúnað, farsímaskanna osfrv.) eða við eldri eða mjög sérhæfð kerfi (til dæmis með RFID merkjagreiningarkerfum). Það er afar mikilvægt að velja viðeigandi samþættingarkerfi fyrir hvert verkefni.

Samþættingarvalkostir með 1C

Það eru mismunandi aðferðir við að innleiða samþættingu við 1C forrit; hver á að velja fer eftir kröfum verkefnisins.

  1. Byggt á framkvæmd samþættingarkerfiútvegað af pallinum, eigin sérhæfða API á 1C forritahliðinni (til dæmis safn af vef- eða HTTP þjónustu sem kallar á þriðja aðila forrit til að skiptast á gögnum við 1C forritið). Kosturinn við þessa nálgun er viðnám API gegn breytingum á útfærslu á 1C umsóknarhliðinni. Sérkenni nálgunarinnar er að það er nauðsynlegt að breyta frumkóða staðlaðrar 1C lausnar, sem gæti mögulega krafist fyrirhafnar við sameiningu frumkóða þegar farið er yfir í nýja útgáfu af uppsetningunni. Í þessu tilviki getur ný framsækin virkni komið til bjargar - stillingarviðbætur. Viðbætur eru í meginatriðum viðbætur sem gerir þér kleift að búa til viðbætur við forritalausnir án þess að breyta sjálfum forritalausnunum. Með því að færa samþættingarforritaskilin inn í stillingarviðbótina geturðu forðast erfiðleika við að sameina stillingar þegar þú ferð yfir í nýja útgáfu af staðlaðri lausn.
  2. Notkun vettvangssamþættingaraðferða sem veita ytri aðgang að forritahlutalíkaninu og krefjast ekki breytinga á forritinu eða stofnunar framlengingar. Kosturinn við þessa nálgun er að það er engin þörf á að breyta 1C forritinu. Mínus - ef 1C forritið hefur verið endurbætt, þá gæti verið þörf á endurbótum í samþætta forritinu. Dæmi um þessa nálgun er notkun OData samskiptareglunnar fyrir samþættingu, útfærð á hlið 1C:Enterprise vettvangsins (meira um það hér að neðan).
  3. Notkun á tilbúnum umsóknarsamskiptareglum innleiddar í stöðluðum 1C lausnum. Margar staðlaðar lausnir frá 1C og samstarfsaðilum innleiða eigin umsóknarsamskiptareglur, með áherslu á ákveðin verkefni, byggðar á samþættingaraðferðum sem pallurinn býður upp á. Þegar þessar aðferðir eru notaðar er engin þörf á að skrifa kóða á 1C forritahliðina, vegna þess að Við notum staðlaða eiginleika forritslausnarinnar. Á 1C forritahliðinni þurfum við aðeins að gera ákveðnar stillingar.

Samþættingarkerfi í 1C:Enterprise pallinum

Flytja inn / flytja út skrár

Segjum að við stöndum frammi fyrir því verkefni að skiptast á tvíátta gagnaskipti milli 1C forrits og handahófskennt forrits. Til dæmis þurfum við að samstilla lista yfir vörur (Nomenclature directory) á milli 1C forritsins og handahófskennt forrits.

Aðferðir við samþættingu við 1C
Til að leysa þetta vandamál geturðu skrifað viðbót sem hleður niður nafnaskránni í skrá á ákveðnu sniði (texti, XML, JSON, ...) og getur lesið þetta snið.

Vettvangurinn útfærir kerfi til að raðgreina forritshluti í XML bæði beint, með WriteXML/ReadXML alþjóðlegu samhengisaðferðum, og með því að nota XDTO (XML Data Transfer Objects) hjálparhlutinn.

Hægt er að raða hvaða hlut sem er í 1C:Enterprise kerfinu í XML framsetningu og öfugt.

Þessi aðgerð mun skila XML framsetningu á hlutnum:

Функция Объект_В_XML(Объект)
    ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
    ЗаписатьXML(ЗаписьXML, Объект);
    Возврат ЗаписьXML.Закрыть();
КонецФункции

Svona mun útflutningur á nafnaskrárskránni í XML með XDTO líta út:

&НаСервере
Процедура ЭкспортXMLНаСервере()	
	НовыйСериализаторXDTO  = СериализаторXDTO;
	НоваяЗаписьXML = Новый ЗаписьXML();
	НоваяЗаписьXML.ОткрытьФайл("C:DataНоменклатура.xml", "UTF-8");
	
	НоваяЗаписьXML.ЗаписатьОбъявлениеXML();
	НоваяЗаписьXML.ЗаписатьНачалоЭлемента("СправочникНоменклатура");
	
	Выборка = Справочники.Номенклатура.Выбрать();
	
	Пока Выборка.Следующий() Цикл 
		ОбъектНоменклатура = Выборка.ПолучитьОбъект();
		НовыйСериализаторXDTO.ЗаписатьXML(НоваяЗаписьXML, ОбъектНоменклатура, НазначениеТипаXML.Явное);
	КонецЦикла;
	
	НоваяЗаписьXML.ЗаписатьКонецЭлемента();
	НоваяЗаписьXML.Закрыть();	
КонецПроцедуры

Með því einfaldlega að breyta kóðanum flytjum við möppuna út í JSON. Vörurnar verða skrifaðar í fylki; Fyrir fjölbreytni, hér er enska útgáfan af setningafræði:

&AtServer
Procedure ExportJSONOnServer()
	NewXDTOSerializer  = XDTOSerializer;
	NewJSONWriter = New JSONWriter();
	NewJSONWriter.OpenFile("C:DataНоменклатура.json", "UTF-8");
	
	NewJSONWriter.WriteStartObject();
	NewJSONWriter.WritePropertyName("СправочникНоменклатура");
	NewJSONWriter.WriteStartArray();
	
	Selection = Catalogs.Номенклатура.Select();	
	
	While Selection.Next() Do 
		NomenclatureObject = Selection.GetObject();
		
		NewJSONWriter.WriteStartObject();
		
		NewJSONWriter.WritePropertyName("Номенклатура");
		NewXDTOSerializer.WriteJSON(NewJSONWriter, NomenclatureObject, XMLTypeAssignment.Implicit);
		
		NewJSONWriter.WriteEndObject();
	EndDo;
	
	NewJSONWriter.WriteEndArray();
	NewJSONWriter.WriteEndObject();
	NewJSONWriter.Close();	
EndProcedure

Þá er ekki annað eftir en að flytja gögnin til neytenda. 1C:Enterprise pallurinn styður helstu netsamskiptareglur HTTP, FTP, POP3, SMTP, IMAP, þar á meðal öruggar útgáfur þeirra. Þú getur líka notað HTTP og/eða vefþjónustu til að flytja gögn.

HTTP og vefþjónusta

Aðferðir við samþættingu við 1C

1C forrit geta innleitt sína eigin HTTP og vefþjónustu, auk þess að hringja í HTTP og vefþjónustu sem er útfærð af forritum þriðja aðila.

REST tengi og OData samskiptareglur

Frá og með útgáfu 8.3.5 getur 1C:Enterprise vettvangurinn sjálfkrafa búa til REST tengi fyrir alla umsóknarlausnina. Hægt er að gera hvaða stillingarhlut sem er (skrá, skjal, upplýsingaskrá osfrv.) aðgengileg til að taka á móti og breyta gögnum í gegnum REST viðmótið. Vettvangurinn notar samskiptareglur sem aðgangsreglur OData útgáfa 3.0. Útgáfa OData þjónustu fer fram frá Configurator valmyndinni „Stjórnun -> Birting á vefþjóni“, „Birta staðlað OData tengi“ verður að vera hakað við. Atom/XML og JSON snið eru studd. Eftir að forritalausnin hefur verið birt á vefþjóninum geta kerfi þriðja aðila fengið aðgang að henni í gegnum REST viðmótið með því að nota HTTP beiðnir. Til að vinna með 1C forritið í gegnum OData samskiptareglur er ekki þörf á forritun á 1C hliðinni.

Svo, slóð eins og http://<сервер>/<конфигурация>/odata/standard.odata/Catalog_Номенклатура mun skila okkur innihaldi nafnaskrárinnar á XML-sniði - safn færsluþátta (skilaboðaheitinu er sleppt í stuttu máli):

<entry>
	<id>http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')</id>
	<category term="StandardODATA.Catalog_Номенклатура" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
	<title type="text"/>
	<updated>2016-06-06T16:42:17</updated>
	<author/>
	<summary/>
	<link rel="edit" href="Catalog_Номенклатура(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')" title="edit-link"/>
	<content type="application/xml">
		<m:properties  >
			<d:Ref_Key>35d1f6e4-289b-11e6-8ba4-e03f49b16074</d:Ref_Key>
			<d:DataVersion>AAAAAgAAAAA=</d:DataVersion>
			<d:DeletionMark>false</d:DeletionMark>
			<d:Code>000000001</d:Code>
			<d:Description>Кондиционер Mitsubishi</d:Description>
			<d:Описание>Мощность 2,5 кВт, режимы работы: тепло/холод</d:Описание>
		</m:properties>
	</content>
</entry>
<entry>
	<id>http://server/Config/odata/standard.odata/Catalog_Номенклатура(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')</id>
	<category term="StandardODATA.Catalog_Номенклатура" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
...

Með því að bæta strengnum „?$format=application/json“ við vefslóðina fáum við innihald nafnaskrárinnar á JSON sniði (URL eyðublaðsins) http://<сервер>/<конфигурация>/odata/standard.odata/Catalog_Номенклатура?$format=application/json ):

{
"odata.metadata": "http://server/Config/odata/standard.odata/$metadata#Catalog_Номенклатура",
"value": [{
"Ref_Key": "35d1f6e4-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAgAAAAA=",
"DeletionMark": false,
"Code": "000000001",
"Description": "Кондиционер Mitsubishi",
"Описание": "Мощность 2,5 кВт, режимы работы: тепло/холод"
},{
"Ref_Key": "35d1f6e5-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAwAAAAA=",
"DeletionMark": false,
"Code": "000000002",
"Description": "Кондиционер Daikin",
"Описание": "Мощность 3 кВт, режимы работы: тепло/холод"
}, …

Ytri gagnaveitur

Aðferðir við samþættingu við 1C
Í sumum tilfellum skiptast á gögnum í gegnum ytri gagnagjafa gæti verið besta lausnin. Ytri gagnagjafar eru 1C forritastillingarhlutur sem gerir þér kleift að hafa samskipti við hvaða ODBC-samhæfðan gagnagrunn sem er, bæði til að lesa og skrifa. Ytri gagnaveitur eru fáanlegar á bæði Windows og Linux.

Gagnaskiptakerfi

Gagnaskiptakerfi er ætlað bæði til að búa til landfræðilega dreifð kerfi byggð á 1C:Enterprise, og til að skipuleggja gagnaskipti við önnur upplýsingakerfi sem ekki eru byggð á 1C:Enterprise.

Þessi vélbúnaður er virkur notaður í 1C útfærslum og verkefnasvið sem leyst er með hjálp þess er mjög breitt. Þetta felur í sér gagnaskipti milli 1C forrita sem eru uppsett í útibúum stofnunarinnar og skipti milli 1C forritsins og vefverslunarvefsíðunnar og gagnaskipti milli 1C netþjónaforritsins og farsímaforritsins (búið til með því að nota 1C:Enterprise farsímavettvanginn), og margt fleira. meira.

Eitt af lykilhugtökum í gagnaskiptakerfi er skiptiáætlunin. Skiptiáætlun er sérstök tegund af hlutum 1C umsóknarvettvangsins, sem ákvarðar einkum samsetningu gagna sem munu taka þátt í skiptum (hvaða möppur, skjöl, skrár osfrv.). Skiptaáætlunin inniheldur einnig upplýsingar um skiptinema (svokallaðir skiptihnútar).
Annar hluti gagnaskiptakerfisins er breytingaskráningarkerfið. Þetta kerfi fylgist sjálfkrafa með kerfinu fyrir breytingum á gögnum sem þarf að flytja til notenda sem hluti af skiptiáætluninni. Með því að nota þetta kerfi rekur pallurinn breytingar sem hafa átt sér stað frá síðustu samstillingu og gerir þér kleift að lágmarka magn gagna sem flutt er á næstu samstillingarlotu.

Gagnaskipti eiga sér stað með því að nota XML skilaboð af ákveðinni uppbyggingu. Skilaboðin innihalda gögn sem hafa breyst frá síðustu samstillingu við hnútinn og nokkrar þjónustuupplýsingar. Skilaboðaskipan styður númerun skilaboða og gerir þér kleift að fá staðfestingu frá viðtakandahnút um að skilaboð hafi verið móttekin. Slík staðfesting er að finna í hverju skeyti sem kemur frá móttökuhnútnum, í formi númers síðustu mótteknu skeytisins. Númeraskilaboð gera vettvangnum kleift að skilja hvaða gögn hafa þegar verið send til móttökuhnútsins og forðast endursendingu með því að senda aðeins gögn sem hafa breyst frá því að sendihnúturinn fékk síðustu skilaboðin með kvittun fyrir gögnunum sem móttökuhnúturinn fékk. Þetta rekstrarkerfi tryggir trygga afhendingu jafnvel með óáreiðanlegum flutningsrásum og skilaboðatapi.

Ytri íhlutir

Í mörgum tilfellum, þegar leysa þarf samþættingarvandamál, þarf að takast á við sérstakar kröfur, til dæmis, samskiptareglur, gagnasnið, sem ekki er gert ráð fyrir í 1C:Enterprise pallinum. Fyrir slíkt úrval verkefna býður vettvangurinn upp á ytri íhlutatækni, sem gerir þér kleift að búa til kraftmikla viðbótaeiningar sem auka virkni 1C:Enterprise.

Dæmigerð dæmi um verkefni með svipaðar kröfur væri samþætting 1C forritalausnar við smásölubúnað, allt frá vogum til sjóðsvéla og strikamerkjaskanna. Hægt er að tengja ytri íhluti bæði á 1C:Enterprise miðlara og á biðlara hlið (þar á meðal, en ekki takmarkað við, vefþjóninn, sem og næsta útgáfa af farsímapallinum 1C:Fyrirtæki). Tækni ytri íhluta veitir tiltölulega einfalt og skiljanlegt hugbúnaðarviðmót (C++) fyrir samspil íhluta við 1C:Enterprise vettvang, sem þarf að útfæra af verktaki.

Möguleikarnir sem opnast þegar ytri íhlutir eru notaðir eru mjög breiðir. Þú getur innleitt samskipti með því að nota ákveðna gagnaskiptasamskiptareglu við ytri tæki og kerfi, byggja inn ákveðin reiknirit til að vinna úr gögnum og gagnasniðum osfrv.

Gamaldags samþættingarkerfi

Vettvangurinn býður upp á samþættingarkerfi sem ekki er mælt með til notkunar í nýjum lausnum; þær eru skildar eftir af ástæðum bakviðkvæmni, og einnig ef hinn aðilinn getur ekki unnið með nútímalegri samskiptareglum. Einn þeirra er að vinna með DBF sniði skrár (studd á innbyggða tungumálinu með XBase hlutnum).

Annar eldri samþættingarbúnaður er notkun COM tækni (aðeins fáanleg á Windows pallinum). 1C:Enterprise vettvangurinn býður upp á tvær samþættingaraðferðir fyrir Windows sem notar COM tækni: sjálfvirkniþjón og ytri tengingu. Þeir eru mjög líkir, en einn af grundvallarmuninum er sá að þegar um er að ræða Automation netþjóninn er ræst fullgild 1C:Enterprise 8 biðlaraforrit og ef um er að ræða ytri tengingu, tiltölulega lítið COM í vinnslu. þjónn er ræstur. Það er, ef þú vinnur í gegnum sjálfvirkniþjóninn geturðu notað virkni biðlaraforritsins og framkvæmt aðgerðir svipaðar gagnvirkum aðgerðum notandans. Þegar ytri tenging er notuð er aðeins hægt að nota viðskiptarökfræðiaðgerðir og þær er hægt að framkvæma bæði á biðlarahlið tengingarinnar, þar sem COM-þjónn sem er í vinnslu er búinn til, og þú getur hringt í viðskiptarökfræði á 1C:Enterprise þjóninum hlið.

Einnig er hægt að nota COM tækni til að fá aðgang að ytri kerfum frá forritakóða á 1C:Enterprise pallinum. Í þessu tilviki virkar 1C forritið sem COM viðskiptavinur. En það skal muna að þessi kerfi virka aðeins ef 1C þjónninn starfar í Windows umhverfi.

Samþættingaraðferðir útfærðar í stöðluðum stillingum

Enterprise Data Format

Aðferðir við samþættingu við 1C
Í fjölda 1C stillinga (listi hér að neðan), sem byggir á gagnaskiptakerfi pallsins sem lýst er hér að ofan, er tilbúið kerfi til að skiptast á gögnum við utanaðkomandi forrit útfært, sem krefst ekki að breyta frumkóða stillinganna (undirbúningur fyrir gögn skipti fara fram í stillingum forritalausna):

  • "1C:ERP Enterprise Management 2.0"
  • "Flókin sjálfvirkni 2"
  • „Fyrirtækjabókhald“, útgáfa 3.0
  • „Bókhald fyrir fyrirtæki fyrir fyrirtæki“, útgáfa 3.0
  • "Retail", útgáfa 2.0
  • „Grunnsviðsstjórnun“, útgáfa 11
  • Viðskiptastjórnun, útgáfa 11
  • „Laun and personal management CORP“, útgáfa 3

Snið sem notað er fyrir gagnaskipti er Enterprise Data, byggt á XML. Snið er viðskiptamiðað - gagnauppbyggingin sem lýst er í því samsvarar viðskiptaeiningum (skjölum og skráarþáttum) sem koma fram í 1C forritum, til dæmis: verklok, pöntun fyrir staðgreiðslukvittun, mótaðila, hlut osfrv.

Gagnaskipti milli 1C forritsins og þriðja aðila forrits geta átt sér stað:

  • í gegnum sérstaka skráaskrá
  • í gegnum FTP skrá
  • í gegnum vefþjónustu sem er beitt á 1C forritahlið. Gagnaskráin er send sem færibreyta til vefaðferða
  • í gegnum tölvupóst

Ef um er að ræða skipti í gegnum vefþjónustu mun forrit frá þriðja aðila hefja gagnaskiptalotu með því að hringja í samsvarandi vefaðferðir 1C forritsins. Í öðrum tilfellum mun upphafsmaður skiptilotunnar vera 1C forritið (með því að setja gagnaskrána í viðeigandi möppu eða senda gagnaskrána á uppsett netfang).
Einnig á 1C hliðinni geturðu stillt hversu oft samstilling á sér stað (fyrir valkosti með skráaskiptum í gegnum möppu og tölvupóst):

  • samkvæmt áætlun (með tiltekinni tíðni)
  • handvirkt; notandinn verður að hefja samstillingu handvirkt í hvert skipti sem hann þarfnast hennar

Samþykkja skilaboð

1C forrit halda skrár yfir send og móttekin samstillingarskilaboð og búast við því sama frá forritum frá þriðja aðila. Þetta gerir þér kleift að nota númerakerfi skilaboða sem lýst er hér að ofan í hlutanum „Gagnaskiptakerfi“.

Við samstillingu senda 1C forrit aðeins upplýsingar um breytingar sem hafa átt sér stað hjá viðskiptaeiningum frá síðustu samstillingu (til að lágmarka magn upplýsinga sem flutt er). Við fyrstu samstillingu mun 1C forritið hlaða upp öllum viðskiptaeiningum (til dæmis hlutum í uppflettibókinni) á EnterpriseData sniði í XML skrá (þar sem þau eru öll „ný“ fyrir ytra forritið). Þriðja aðila umsókn verður að vinna úr upplýsingum úr XML skránni sem berast frá 1C og, á næstu samstillingarlotu, setja í skrána sem send er til 1C, í sérstökum XML hluta, upplýsingar um að skilaboðin frá 1C með ákveðnu númeri hafi tekist. fengið. Kvittunarskilaboðin eru merki til 1C umsóknarinnar um að allar viðskiptaeiningar hafi verið afgreiddar með góðum árangri af ytri umsókninni og það er engin þörf á að senda upplýsingar um þær lengur. Til viðbótar við kvittunina getur XML skrá frá þriðja aðila forriti einnig innihaldið gögn til samstillingar með forritinu (til dæmis skjöl fyrir sölu á vörum og þjónustu).

Eftir að hafa fengið kvittunarskilaboðin, merkir 1C forritið allar breytingar sem sendar voru í fyrri skilaboðum sem samstilltar. Aðeins ósamstilltar breytingar á rekstrareiningum (að búa til nýjar einingar, breyta og eyða þeim sem fyrir eru) verða sendar til ytra forritsins á næstu samstillingarlotu.

Aðferðir við samþættingu við 1C
Þegar gögn eru flutt úr utanaðkomandi forriti yfir í 1C forritið er myndinni snúið við. Ytri umsókn verður að fylla út kvittunarhluta XML-skrárinnar í samræmi við það og setja viðskiptagögnin fyrir samstillingu af sinni hálfu á EnterpriseData sniði.

Aðferðir við samþættingu við 1C

Einfölduð gagnaskipti án handabandi

Þegar um einfalda samþættingu er að ræða, þegar það er nóg að flytja aðeins upplýsingar úr forriti þriðja aðila yfir í 1C forritið og öfugt flutning á gögnum frá 1C forritinu yfir í forrit þriðja aðila er ekki krafist (til dæmis samþættingu á netinu verslun sem flytur söluupplýsingar til 1C: Bókhald), það er einfaldaður möguleiki á að vinna í gegnum vefþjónustu (án staðfestingar), sem krefst ekki stillinga á hlið 1C forritsins.

Sérsniðnar samþættingarlausnir

Það er til staðlað lausn „1C: Data Conversion“, sem notar kerfiskerfi til að umbreyta og skiptast á gögnum á milli staðlaðra 1C stillinga, en einnig er hægt að nota til samþættingar við þriðja aðila forrit.

Samþætting við bankalausnir

Standard "Viðskiptavinabanki", þróað af 1C sérfræðingum fyrir meira en 10 árum síðan, hefur í raun orðið iðnaðarstaðall í Rússlandi. Næsta skref í þessa átt er tæknin DirectBank, sem gerir þér kleift að senda greiðsluskjöl til bankans og fá yfirlit frá bankanum beint úr forritum 1C:Enterprise kerfisins með því að ýta á einn hnapp í 1C forritinu; það þarf ekki að setja upp og keyra viðbótarforrit á biðlaratölvunni.

Það eru líka staðall um gagnaskipti í launaverkefnum.

Annað

Vert að minnast á skiptast á samskiptareglum milli 1C:Enterprise kerfisins og vefsíðunnar, staðall til að skiptast á viðskiptaupplýsingum CommerceML (Þróað í sameiningu með Microsoft, Intel, Price.ru og öðrum fyrirtækjum), staðall fyrir gagnaskipti til að afla viðskipta.

Heimild: www.habr.com

Bæta við athugasemd