Cara integrasi karo 1C

Apa syarat paling penting kanggo aplikasi bisnis? Sawetara tugas sing paling penting yaiku ing ngisor iki:

  • Gampang ngganti / adaptasi logika aplikasi kanggo ngganti tugas bisnis.
  • Integrasi gampang karo aplikasi liyane.

Carane tugas pisanan ditanggulangi ing 1C diterangake sedhela ing bagean "Kustomisasi lan Dhukungan". wacana iki; Kita bakal bali menyang topik sing menarik iki ing artikel sabanjure. Dina iki kita bakal ngomong babagan tugas kapindho, integrasi.

Tugas integrasi

Tugas integrasi bisa beda-beda. Kanggo ngatasi sawetara masalah, pertukaran data interaktif prasaja cukup - contone, kanggo nransfer dhaptar karyawan menyang bank kanggo ngetokake kertu plastik gaji. Kanggo tugas sing luwih rumit, ijol-ijolan data kanthi otomatis bisa uga dibutuhake, bisa uga kanthi referensi kanggo logika bisnis sistem eksternal. Ana tugas sing khusus ing alam, kayata integrasi karo peralatan eksternal (contone, peralatan ritel, scanner seluler, lan sapiturute) utawa karo sistem warisan utawa khusus banget (contone, karo sistem pangenalan tag RFID). Penting banget kanggo milih mekanisme integrasi sing paling cocog kanggo saben tugas.

Opsi integrasi karo 1C

Ana macem-macem pendekatan kanggo ngetrapake integrasi karo aplikasi 1C; sing kudu dipilih gumantung saka syarat tugas kasebut.

  1. Implementasi adhedhasar mekanisme integrasidiwenehake dening platform, API khusus dhewe ing sisih aplikasi 1C (contone, sakumpulan layanan Web utawa HTTP sing bakal nelpon aplikasi pihak katelu kanggo ngganti data karo aplikasi 1C). Ing kauntungan saka pendekatan iki resistance API kanggo owah-owahan ing implementasine ing sisih aplikasi 1C. Keanehan pendekatan kasebut yaiku kudu ngganti kode sumber solusi 1C standar, sing bisa uga mbutuhake gaweyan nalika nggabungake kode sumber nalika pindhah menyang versi konfigurasi anyar. Ing kasus iki, fungsi progresif anyar bisa nylametake - ekstensi konfigurasi. Ekstensi, intine, mekanisme plugin sing ngidini sampeyan nggawe tambahan kanggo solusi aplikasi tanpa ngganti solusi aplikasi kasebut. Pindhah API integrasi menyang ekstensi konfigurasi bakal ngidini sampeyan ngindhari kesulitan nalika nggabungake konfigurasi nalika pindhah menyang versi anyar saka solusi standar.
  2. Nggunakake mekanisme integrasi platform sing nyedhiyakake akses eksternal menyang model obyek aplikasi lan ora mbutuhake modifikasi aplikasi utawa nggawe extension. Kauntungan saka pendekatan iki yaiku ora perlu ngganti aplikasi 1C. Minus - yen aplikasi 1C wis apik, banjur dandan bisa uga dibutuhake ing aplikasi terpadu. Conto pendekatan iki yaiku nggunakake protokol OData kanggo integrasi, dileksanakake ing sisih 1C: platform Enterprise (liyane babagan ing ngisor iki).
  3. Panganggone protokol aplikasi sing wis siap dileksanakake ing solusi 1C standar. Akeh solusi standar saka 1C lan mitra ngetrapake protokol aplikasi dhewe, fokus ing tugas tartamtu, adhedhasar mekanisme integrasi sing diwenehake dening platform kasebut. Nalika nggunakake mekanisme kasebut, ora perlu nulis kode ing sisih aplikasi 1C, amarga Kita nggunakake kemampuan standar saka solusi aplikasi. Ing sisih aplikasi 1C, kita mung kudu nggawe setelan tartamtu.

Mekanisme integrasi ing platform 1C: Enterprise

Impor / ekspor file

Upaminipun kita ngadhepi tugas pertukaran data bidirectional antarane aplikasi 1C lan aplikasi sewenang-wenang. Contone, kita kudu nyinkronake dhaptar produk (direktori Nomenklatur) ing antarane aplikasi 1C lan aplikasi sing sewenang-wenang.

Cara integrasi karo 1C
Kanggo ngatasi masalah iki, sampeyan bisa nulis ekstensi sing ndownload direktori Nomenclature menyang file format tartamtu (teks, XML, JSON, ...) lan bisa maca format iki.

Platform kasebut ngetrapake mekanisme kanggo serialisasi obyek aplikasi ing XML kanthi langsung, liwat metode konteks global WriteXML/ReadXML, lan nggunakake obyek tambahan XDTO (Objek Transfer Data XML).

Sembarang obyek ing sistem 1C: Enterprise bisa serialized menyang perwakilan XML lan kosok balene.

Fungsi iki bakal ngasilake perwakilan XML saka obyek:

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

Iki bakal katon kaya ngekspor direktori Nomenclature menyang XML nggunakake XDTO:

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

Kanthi mung ngowahi kode, kita ngekspor direktori menyang JSON. Produk bakal ditulis menyang larik; Kanggo macem-macem, iki versi Inggris sintaksis:

&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

Banjur kabeh sing isih ana yaiku nransfer data menyang konsumen pungkasan. Platform 1C: Enterprise ndhukung protokol Internet utama HTTP, FTP, POP3, SMTP, IMAP, kalebu versi aman. Sampeyan uga bisa nggunakake layanan HTTP lan/utawa Web kanggo nransfer data.

HTTP lan layanan web

Cara integrasi karo 1C

Aplikasi 1C bisa ngetrapake layanan HTTP lan web dhewe, uga nelpon layanan HTTP lan web sing ditindakake dening aplikasi pihak katelu.

Antarmuka REST lan protokol OData

Miwiti saka versi 8.3.5, platform 1C:Enterprise bisa kanthi otomatis nggawe antarmuka REST kanggo solusi aplikasi kabeh. Sembarang obyek konfigurasi (direktori, dokumen, daftar informasi, lan sapiturute) bisa kasedhiya kanggo nampa lan ngowahi data liwat antarmuka REST. Platform kasebut nggunakake protokol minangka protokol akses OData versi 3.0. Publishing layanan OData ditindakake saka menu Configurator "Administrasi -> Penerbitan ing server web", kothak centhang "Nerbitake antarmuka OData standar" kudu dicenthang. Format Atom/XML lan JSON didhukung. Sawise solusi aplikasi diterbitake ing server web, sistem pihak katelu bisa ngakses liwat antarmuka REST nggunakake panjalukan HTTP. Kanggo nggarap aplikasi 1C liwat protokol OData, program ing sisih 1C ora dibutuhake.

Dadi, URL kaya http://<сервер>/<конфигурация>/odata/standard.odata/Catalog_Номенклатура bakal ngasilake isi katalog Nomenclature ing format XML - koleksi unsur entri (judhul pesen diilangi kanthi ringkes):

<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"/>
...

Kanthi nambahake string "?$format=application/json" menyang URL, kita entuk isi katalog Nomenclature ing format JSON (URL formulir 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 кВт, режимы работы: тепло/холод"
}, …

Sumber data eksternal

Cara integrasi karo 1C
Ing sawetara kasus, exchange data liwat sumber data eksternal bisa dadi solusi sing paling apik. Sumber data eksternal minangka obyek konfigurasi aplikasi 1C sing ngidini sampeyan sesambungan karo database sing kompatibel karo ODBC, kanggo maca lan nulis. Sumber data eksternal kasedhiya ing Windows lan Linux.

Mekanisme pertukaran data

Mekanisme pertukaran data ditujokake kanggo nggawe sistem sing disebarake sacara geografis adhedhasar 1C: Enterprise, lan kanggo ngatur ijol-ijolan data karo sistem informasi liyane sing ora adhedhasar 1C: Enterprise.

Mekanisme iki aktif digunakake ing implementasine 1C, lan sawetara tugas sing ditanggulangi kanthi bantuan kasebut amba banget. Iki kalebu ijol-ijolan data antarane aplikasi 1C sing diinstal ing cabang organisasi, lan ijol-ijolan antarane aplikasi 1C lan situs web toko online, lan ijol-ijolan data antarane aplikasi server 1C lan klien seluler (digawe nggunakake platform seluler 1C:Enterprise), lan akeh. liyane.

Salah sawijining konsep kunci ing mekanisme pertukaran data yaiku rencana ijol-ijolan. Rencana ijol-ijolan minangka jinis obyek khusus saka platform aplikasi 1C, sing nemtokake, utamane, komposisi data sing bakal melu ijol-ijolan (direktori, dokumen, ndhaptar, lan liya-liyane). Rencana ijol-ijolan uga ngemot informasi babagan peserta ijol-ijolan (sing diarani simpul ijol-ijolan).
Komponen kapindho mekanisme pertukaran data yaiku mekanisme registrasi owah-owahan. Mekanisme iki kanthi otomatis ngawasi sistem kanggo owah-owahan data sing kudu ditransfer menyang pangguna pungkasan minangka bagéan saka rencana ijol-ijolan. Nggunakake mekanisme iki, platform nglacak owah-owahan sing wis kedadeyan wiwit sinkronisasi pungkasan lan ngidini sampeyan nyilikake jumlah data sing ditransfer sajrone sesi sinkronisasi sabanjure.

Ijol-ijolan data dumadi nggunakake pesen XML saka struktur tartamtu. Pesen kasebut ngemot data sing wis diganti wiwit sinkronisasi pungkasan karo simpul lan sawetara informasi layanan. Struktur pesen ndhukung nomer pesen lan ngidini sampeyan nampa konfirmasi saka simpul panampa yen pesen wis ditampa. Konfirmasi kasebut ana ing saben pesen sing teka saka simpul panampa, kanthi bentuk nomer pesen sing ditampa pungkasan. Nomer pesen ngidini platform ngerti apa data sing wis kasil dikirim menyang simpul panampa, lan supaya ora dikirim maneh kanthi mung ngirim data sing wis diganti wiwit simpul ngirim nampa pesen pungkasan kanthi kuitansi kanggo data sing ditampa dening simpul panampa. Skema operasi iki njamin pangiriman sing dijamin sanajan saluran transmisi sing ora bisa dipercaya lan mundhut pesen.

Komponen njaba

Ing sawetara kasus, nalika ngrampungake masalah integrasi, siji kudu menehi hasil karo syarat tartamtu, contone, protokol interaksi, format data, kang ora kasedhiya ing platform 1C: Enterprise. Kanggo macem-macem tugas, platform kasebut nyedhiyakake teknologi komponen njaba, sing ngidini sampeyan nggawe modul plug-in kanthi dinamis sing ngembangake fungsi 1C: Enterprise.

Conto khas tugas kanthi syarat sing padha yaiku integrasi solusi aplikasi 1C karo peralatan ritel, wiwit saka timbangan nganti kasir lan scanner barcode. Komponen eksternal bisa disambungake ing sisih server 1C: Enterprise lan ing sisih klien (kalebu, nanging ora winates ing, klien web, uga versi sabanjure platform seluler 1C: Perusahaan). Teknologi komponen eksternal nyedhiyakake antarmuka piranti lunak (C ++) sing cukup prasaja lan bisa dingerteni kanggo interaksi komponen karo platform 1C: Enterprise, sing kudu ditindakake dening pangembang.

Kemungkinan sing mbukak nalika nggunakake komponen njaba amba banget. Sampeyan bisa ngleksanakake interaksi nggunakake protokol ijol-ijolan data tartamtu karo piranti lan sistem njaba, mbangun algoritma tartamtu kanggo ngolah data lan format data, etc.

Mekanisme integrasi lawas

Platform kasebut nyedhiyakake mekanisme integrasi sing ora dianjurake kanggo digunakake ing solusi anyar; lagi ditinggalake amarga kompatibilitas mundur, lan uga yen pihak liya ora bisa nggarap protokol sing luwih modern. Salah sijine yaiku nggarap file format DBF (didhukung ing basa sing dibangun nggunakake obyek XBase).

Mekanisme integrasi warisan liyane yaiku nggunakake teknologi COM (mung kasedhiya ing platform Windows). Platform 1C: Enterprise nyedhiyakake rong cara integrasi kanggo Windows nggunakake teknologi COM: Server otomatis lan sambungan eksternal. Padha banget padha, nanging salah siji saka prabédan dhasar yaiku ing kasus server Otomasi, aplikasi klien 1C: Enterprise 8 lengkap diluncurake, lan ing kasus sambungan eksternal, COM ing proses sing relatif cilik. server dibukak. Yaiku, yen sampeyan nggarap server Otomasi, sampeyan bisa nggunakake fungsi aplikasi klien lan nindakake tumindak sing padha karo tumindak interaktif pangguna. Nalika nggunakake sambungan external, sampeyan mung bisa nggunakake fungsi logika bisnis, lan padha bisa kaleksanan loro ing sisih klien sambungan, ngendi server COM ing-proses digawe, lan sampeyan bisa nelpon logika bisnis ing 1C: Enterprise server. sisih.

Teknologi COM uga bisa digunakake kanggo ngakses sistem eksternal saka kode aplikasi ing platform 1C: Enterprise. Ing kasus iki, aplikasi 1C tumindak minangka klien COM. Nanging kudu eling yen mekanisme kasebut mung bisa digunakake yen server 1C beroperasi ing lingkungan Windows.

Mekanisme integrasi sing ditindakake ing konfigurasi standar

Format Data Perusahaan

Cara integrasi karo 1C
Ing sawetara konfigurasi 1C (dhaptar ing ngisor iki), adhedhasar mekanisme ijol-ijolan data platform sing kasebut ing ndhuwur, mekanisme sing wis siap kanggo ijol-ijolan data karo aplikasi eksternal ditindakake, sing ora mbutuhake ngganti kode sumber konfigurasi (persiapan kanggo data. ijol-ijolan ditindakake ing setelan solusi aplikasi):

  • "1C: ERP Enterprise Management 2.0"
  • "Otomasi Komplek 2"
  • "Akuntansi Perusahaan", edisi 3.0
  • "Akuntansi kanggo perusahaan CORP", edisi 3.0
  • "Eceran", edisi 2.0
  • "Manajemen Perdagangan Dasar", edisi 11
  • Manajemen Perdagangan, Edisi 11
  • "Gaji lan Manajemen Personel CORP", edisi 3

Format sing digunakake kanggo ijol-ijolan data yaiku EnterpriseData, adhedhasar XML. Format kasebut berorientasi bisnis - struktur data sing diterangake ing kono cocog karo entitas bisnis (dokumen lan unsur direktori) sing ditampilake ing program 1C, contone: tumindak rampung, pesenan kuitansi awis, mitra, barang, lsp.

Ijol-ijolan data antarane aplikasi 1C lan aplikasi pihak katelu bisa kedadeyan:

  • liwat direktori file khusus
  • liwat direktori FTP
  • liwat layanan web sing disebarake ing sisih aplikasi 1C. File data dilewati minangka parameter kanggo metode web
  • liwat email

Ing kasus ijol-ijolan liwat layanan web, aplikasi pihak katelu bakal miwiti sesi ijol-ijolan data kanthi nelpon metode web sing cocog karo aplikasi 1C. Ing kasus liyane, inisiator sesi ijol-ijolan bakal dadi aplikasi 1C (kanthi nempatake file data ing direktori sing cocog utawa ngirim file data menyang alamat email sing dikonfigurasi).
Uga ing sisih 1C sampeyan bisa ngatur sepira kerepe sinkronisasi bakal kedadeyan (kanggo opsi karo ijol-ijolan file liwat direktori lan email):

  • miturut jadwal (kanthi frekuensi tartamtu)
  • kanthi manual; pangguna kudu miwiti sinkronisasi kanthi manual saben-saben mbutuhake

Ngakoni pesen

Aplikasi 1C nyimpen cathetan pesen sinkronisasi sing dikirim lan ditampa lan ngarepake sing padha saka aplikasi pihak katelu. Iki ngidini sampeyan nggunakake mekanisme nomer pesen sing kasebut ing ndhuwur ing bagean "Mekanisme pertukaran data".

Sajrone sinkronisasi, aplikasi 1C mung ngirim informasi babagan owah-owahan sing kedadeyan karo entitas bisnis wiwit sinkronisasi pungkasan (kanggo nyilikake jumlah informasi sing ditransfer). Sajrone sinkronisasi pisanan, aplikasi 1C bakal ngunggah kabeh entitas bisnis (contone, item saka buku referensi item) ing format EnterpriseData menyang file XML (amarga kabeh "anyar" kanggo aplikasi eksternal). Aplikasi pihak katelu kudu ngolah informasi saka file XML sing ditampa saka 1C lan, sajrone sesi sinkronisasi sabanjure, nyelehake ing file sing dikirim menyang 1C, ing bagean XML khusus, informasi yen pesen saka 1C kanthi nomer tartamtu wis sukses. ditampa. Pesen kuitansi minangka sinyal kanggo aplikasi 1C yen kabeh entitas bisnis wis kasil diproses dening aplikasi eksternal lan ora perlu ngirim informasi babagan kasebut maneh. Saliyane kuitansi, file XML saka aplikasi pihak katelu uga bisa ngemot data kanggo sinkronisasi dening aplikasi kasebut (contone, dokumen kanggo adol barang lan layanan).

Sawise nampa pesen panrimo, aplikasi 1C nandhani kabeh owah-owahan sing dikirim ing pesen sadurunge wis kasil disinkronake. Mung owah-owahan sing ora disinkronake kanggo entitas bisnis (nggawe entitas anyar, ngganti lan mbusak sing wis ana) bakal dikirim menyang aplikasi eksternal sajrone sesi sinkronisasi sabanjure.

Cara integrasi karo 1C
Nalika mindhah data saka aplikasi eksternal menyang aplikasi 1C, gambar kasebut dibalik. Aplikasi eksternal kudu ngisi bagean panrimo saka file XML lan nyelehake data bisnis kanggo sinkronisasi ing format EnterpriseData.

Cara integrasi karo 1C

Pertukaran data sing disederhanakake tanpa jabat tangan

Kanggo kasus integrasi sing prasaja, yen cukup mung nransfer informasi saka aplikasi pihak katelu menyang aplikasi 1C lan transfer data mbalikke saka aplikasi 1C menyang aplikasi pihak katelu ora dibutuhake (contone, integrasi online toko sing nransfer informasi dodolan menyang 1C: Accounting), ana pilihan sing disederhanakake kanggo nggarap layanan web (tanpa pangakuan), sing ora mbutuhake setelan ing sisih aplikasi 1C.

Solusi integrasi khusus

Ana solusi standar "1C: Konversi Data", sing nggunakake mekanisme platform kanggo ngowahi lan ijol-ijolan data antarane konfigurasi 1C standar, nanging uga bisa digunakake kanggo integrasi karo aplikasi pihak katelu.

Integrasi karo solusi perbankan

Standar "Bank Klien", dikembangake dening spesialis 1C luwih saka 10 taun kepungkur, wis dadi standar industri ing Rusia. Langkah sabanjure ing arah iki yaiku teknologi DirectBank, sing ngidini sampeyan ngirim dokumen pembayaran menyang bank lan nampa statement saka bank langsung saka program sistem 1C: Enterprise kanthi mencet tombol siji ing program 1C; ora mbutuhake nginstal lan mbukak program tambahan ing komputer klien.

Ana uga ana standar kanggo ijol-ijolan data ing proyek gaji.

Liyane

Worth mentioning protokol ijol-ijolan antarane sistem 1C: Enterprise lan situs web, standar pertukaran informasi komersial CommerceML (dikembangake bebarengan karo Microsoft, Intel, Price.ru lan perusahaan liyane), standar kanggo ijol-ijolan data kanggo entuk transaksi.

Source: www.habr.com

Add a comment