Pertukaran data universalnya dalam format xml. Memproses pertukaran data Universal dalam format XML

Dalam hampir semua konfigurasi 1C 8, terdapat pertukaran yang dipratentukan antara keluaran standard lain, contohnya dengan: "1C Trade Management 8", "1C ZUP 8", "1C Retail 8". Walau bagaimanapun, bagaimana jika anda perlu menukar antara konfigurasi yang berbeza dengan struktur metadata yang berbeza sama sekali? DALAM dalam kes ini pemprosesan akan membantu " Pertukaran sejagat data dalam Format XML", yang boleh dimuat turun secara percuma untuk dan

Untuk bekerja dengan pemprosesan ini, kami memerlukan fail peraturan dalam format xml. Ia menerangkan dengan tepat bagaimana data dari satu pangkalan maklumat dipindahkan kepada yang lain. Ia dicipta menggunakan konfigurasi khusus"Penukaran data", yang dibekalkan pada cakera atau di tapak web ITS. Kami akan melihat bagaimana untuk menciptanya dalam artikel seterusnya, tetapi buat masa ini mari bayangkan bahawa kami sudah memilikinya. Terdapat 4 tab dalam pemprosesan. Mari kita lihat semuanya mengikut urutan:

Memuat naik data

  • Pertama sekali, kami menunjukkan nama fail peraturan atas dasar muat naik akan berlaku.
  • Nyatakan nama fail data di mana semua maklumat akan disimpan.
  • Anda boleh menandai kotak: memampatkan fail yang diterima atau tidak.

Selepas fail peraturan ditentukan, tab "Data yang dimuat naik" akan memaparkan objek metadata yang mana data akan disimpan. Di sini anda juga boleh menentukan tempoh persampelan akan berlaku. Dalam tab "Pilihan Muat Naik", anda boleh menentukan nilai tambahan mengikut kesesuaian. Tab ulasan bercakap untuk dirinya sendiri

Memuatkan Data

Dalam tab ini, hanya fail data ditunjukkan, kerana semua peraturan sudah ada dalam fail yang dimuat naik bersama-sama dengan data. Di sini anda boleh menetapkan bilangan elemen yang akan dimuat turun dalam satu transaksi. Terdapat pilihan Boolean tambahan pada borang, berdasarkan pemuatan akan berlaku. Jika anda mahu semua semakan terbina dalam dilumpuhkan semasa melakukan pemprosesan, kemudian pilih Tetapan muat turun automatik Data bercakap untuk dirinya sendiri.

Tetapan tambahan

Tab tetapan tambahan membolehkan anda memperhalusi pelaksanaan pemprosesan

  • Mod nyahpepijat membolehkan anda tidak menghentikan prosedur muat naik atau muat turun jika berlaku sebarang masalah. kesalahan yang tidak dijangka. Selepas selesai operasi, laporan terperinci akan dipaparkan.
  • Untuk memantau proses pertukaran, anda boleh menyemak kotak semak "Output". mesej maklumat».
  • Bilangan objek yang diproses untuk kemas kini status - menentukan bilangan elemen yang diproses selepas itu maklumat dalam tetingkap maklumat akan dikemas kini.
  • "Gunakan format yang dioptimumkan untuk pertukaran data (V8 - V8, versi pemprosesan tidak lebih rendah daripada 2.0.18)" ialah format khusus yang memerlukan teg "Maklumat ON Jenis Data" dalam pengepala mesej, yang mempercepatkan proses pelaksanaan.
  • Gunakan urus niaga semasa memunggah untuk pelan pertukaran - apabila bendera ini ditetapkan, pemunggahan akan dilakukan dalam satu urus niaga (urutan yang tidak boleh dibahagikan, disambungkan secara logik)
  • Bilangan elemen dalam transaksi - menentukan bilangan elemen yang akan dimuat naik/dimuatkan dalam satu transaksi. Jika ditetapkan kepada 0, maka keseluruhan prosedur akan berlaku dalam satu transaksi. Pilihan ini disyorkan, kerana jaminan sambungan data logik akan kekal.
  • Muat naik objek yang mempunyai hak akses - bendera berdasarkan objek yang ditentukan untuk memunggah yang pengguna semasa mempunyai hak akses.
  • Alih keluar aksara tidak sah secara automatik daripada rentetan untuk entri dalam XML – apabila item ini ditetapkan, semua entri dalam mesej disemak untuk kesahihan XML 1.0 dan aksara yang tidak mematuhi piawaian akan dialih keluar.
  • Perubahan pendaftaran untuk nod pertukaran selepas memuat naik – mentakrifkan kaedah bekerja dengan pendaftaran perubahan data selepas tamat muat naik data (jangan padam pendaftaran, padam sepenuhnya pendaftaran, padam pendaftaran hanya untuk metadata yang dimuat turun).
  • Nama fail protokol pertukaran—nyatakan nama fail untuk mengelog prosedur pertukaran.
  • Muat turun protokol (untuk sambungan COM) - nama fail log apabila bertukar melalui sambungan COM.
  • Tambahkan data pada protokol pertukaran—apabila bendera ini ditetapkan, fail log akan dilampirkan dan bukannya ditimpa.
  • Output mesej maklumat ke log - bukan sahaja maklumat tentang ralat, tetapi juga mesej maklumat akan ditambah pada fail log.
  • Buka fail protokol pertukaran selepas menjalankan operasi - bendera bercakap untuk dirinya sendiri

Memadam data

Cetak (Ctrl+P)

Bertukar melalui format universal

Subsistem "Pertukaran Data" perpustakaan subsistem standard mengandungi 4 pilihan (teknologi) untuk pertukaran maklumat antara pelbagai pangkalan maklumat:

  • pangkalan maklumat teragih (RIB);
  • pertukaran data melalui format universal;
  • pertukaran data mengikut peraturan pertukaran (peraturan pertukaran dibuat menggunakan konfigurasi "Penukaran Data", edisi 2.1);
  • pertukaran data tanpa peraturan pertukaran.

Artikel ini membincangkan teknologi pertukaran data melalui format EnterpriseData universal. teknologi ini tersedia dalam "Perpustakaan Subsistem Standard" bermula dengan versi 2.3.1.62. dikeluarkan pada awal 2016. hidup masa ini, edisi terkini BSP 2.3 (untuk digunakan dengan platform 1C:Enterprise 8.3 tidak lebih rendah daripada versi 8.3.8.1652 dengan mod keserasian dilumpuhkan) telah mengeluarkan 2.3.6.17.

nasi. 1 Keluaran terbaru BSP 2.3

Antara fail penghantaran untuk penyelesaian aplikasi 1C ada fail teks"Versi perpustakaan", di mana ia ditulis berdasarkan versi BSP mana aplikasi itu dibangunkan, contohnya, berdasarkan penyelesaian aplikasi UT 11.3.3.231, BSP 2.3.5.65 telah dibentuk.

Sila ambil perhatian bahawa untuk digunakan dengan versi platform "1C:Enterprise 8.3" tidak lebih rendah 8.3.10.2168 edisi dikeluarkan dengan mod keserasian dilumpuhkan BSP 2.4.

Penerangan tentang format EnterpriseData

Apakah format EnterpriseData?

Ini ialah format yang membolehkan anda menerangkan objek asas maklumat (rakan niaga, invois, dll.) atau melaporkan fakta bahawa objek ini telah dipadamkan. Adalah dijangka bahawa konfigurasi yang menerima fail dalam format EnterpriseData akan bertindak balas dengan sewajarnya - ia akan mencipta objek baharu dan memadamkan objek yang ditandakan sebagai dipadamkan dalam fail. Ia bertujuan untuk pertukaran maklumat antara konfigurasi UT, RT, UNF, BP. Format ini juga boleh digunakan untuk bertukar maklumat dengan mana-mana yang lain sistem maklumat: ia tidak bergantung pada ciri-cirinya sendiri perisian atau struktur asas maklumat yang mengambil bahagian dalam pertukaran dan tidak mengandungi sekatan yang jelas terhadap penggunaan.

Versi format EnterpriseData

Data format disimpan dalam pakej XDTO dalam cawangan konfigurasi pangkalan data umum, seperti ditunjukkan dalam Rajah. 2

Rajah 2 XDTO – Pakej format data EnterpriseData

Dalam Rajah. 2 menunjukkan bahawa terdapat beberapa pakej XDTO. ini versi berbeza format. Nombor versi format terdiri daripada X.Y.Z, dengan X.Y ialah versi, Z ialah versi Minor. Versi Minor ditingkatkan sekiranya berlaku pembetulan pepijat dan perubahan lain di mana: kefungsian logik penukaran data berdasarkan versi terdahulu format (simpan keserasian ke belakang algoritma semasa untuk menghantar data melalui format); Sokongan untuk keupayaan format baharu untuk logik penukaran adalah secara sukarela. Contoh perubahan sedemikian boleh membetulkan ralat, menukar sifat objek format, menambah sifat yang penggunaannya tidak wajib semasa menukar data. Dalam kes lain, apabila format berubah, versi Major meningkat: X - dalam kes penstrukturan semula global, Y - dalam kes lain.
Format menerangkan perwakilan objek (dokumen atau elemen direktori) dalam bentuk fail XML. Versi 1.0.1 mengandungi penerangan 94 objek dari pelbagai bidang (kewangan, pengeluaran, pembelian dan jualan, operasi gudang). Nama-nama jenis, sebagai peraturan, difahami dengan baik dan tidak memerlukan penjelasan tambahan: sebagai contoh, "Dokumen.Akta Kerja Siap" atau "Direktori.Rakan Sebelah". Seperti yang anda lihat, perihalan jenis dokumen bermula dengan awalan "Dokumentari.", dan elemen direktori bermula dengan awalan "Direktori.". Penerangan yang lebih terperinci tentang format boleh didapati
Versi terkini ialah 1.3, bagaimanapun, versi yang paling biasa digunakan ialah 1.0. Tidak banyak perbezaan antara versi. Format EnterpriseDataExchange_1_0_1_1 digunakan semasa bertukar melalui perkhidmatan web.
Perhatikan bahawa bahawa pakej format data EnterpriseData digunakan bersama-sama dengan ExchangeMessage apabila membuat peraturan penukaran. Pakej ini yang mengandungi objek jenis Maklumat tambahanyang boleh mempunyai sebarang jenis nilai dan digunakan semasa membuat peraturan penukaran antara objek konfigurasi. yang tiada dalam format data. Betul, terima kasih Maklumat tambahanAnda boleh menyesuaikan dan menyesuaikan peraturan pertukaran tanpa mengubah data format dalam pakej XDTO.

nasi. 3 Struktur pakej XDTOExchangeMessage

Bagaimana untuk menukar data dalam format EnterpriseData?

Pertukaran data dalam format EnterpriseData dengan konfigurasi ialah pertukaran fail. Sebagai tindak balas kepada diterima daripada aplikasi luaran fail konfigurasi akan memprosesnya dan mencipta fail respons. Fail boleh ditukar:

  • melalui direktori fail khusus,
  • melalui direktori FTP,
  • melalui perkhidmatan web yang digunakan di bahagian pangkalan maklumat. Fail data dihantar sebagai parameter kepada kaedah web.

Catatan. Untuk pertukaran data dua hala antara aplikasi pihak ketiga dan konfigurasi di bahagian pangkalan maklumat, beberapa tetapan mesti dibuat - aplikasi pihak ketiga mesti didaftarkan dalam pangkalan maklumat, saluran pertukaran mesti ditentukan untuknya (melalui fail atau direktori FTP), dsb. Tetapi untuk kes penyepaduan mudah, apabila ia cukup untuk hanya memindahkan maklumat daripada permohonan pihak ketiga ke pangkalan maklumat dan pos balik data daripada pangkalan maklumat kepada aplikasi pihak ketiga tidak diperlukan (contohnya, penyepaduan kedai dalam talian yang memindahkan maklumat jualan kepada 1C: Perakaunan); terdapat versi ringkas untuk bekerja melalui perkhidmatan web yang tidak memerlukan tetapan pada sebelah.

Apabila bertukar menggunakan pelan pertukaran, konfigurasi semasa penyegerakan hanya memindahkan maklumat tentang perubahan yang telah berlaku sejak penyegerakan terakhir (untuk meminimumkan jumlah maklumat yang dihantar). Kali pertama anda menyegerakkan, konfigurasi akan membuang semua objek berformat EnterpriseData ke dalam fail XML (kerana semuanya "baru" kepada aplikasi pihak ketiga).

Langkah seterusnya adalah untuk aplikasi pihak ketiga - ia mesti memproses maklumat daripada fail XML dan meletakkannya dalam bahagian semasa sesi penyegerakan seterusnya maklumat yang digunakan untuk mesej daripada konfigurasi nombor tertentu berjaya diterima (letak nombor mesej yang diterima daripada konfigurasi dalam medan ReceivedNo). Mesej resit adalah isyarat kepada konfigurasi bahawa semua objek telah berjaya diproses oleh aplikasi luaran dan tidak perlu menghantar maklumat tentangnya lagi. Sebagai tambahan kepada resit, fail XML daripada aplikasi pihak ketiga juga boleh mengandungi data untuk penyegerakan (dalam bahagian ).

Selepas menerima mesej resit, konfigurasi menandakan semua perubahan yang dihantar dalam mesej sebelumnya sebagai berjaya disegerakkan. Hanya perubahan yang tidak disegerakkan kepada objek (membuat yang baharu, menukar dan memadam yang sedia ada) akan dihantar ke aplikasi luaran semasa sesi penyegerakan seterusnya.

Apabila memindahkan data daripada aplikasi luaran kepada konfigurasi, gambar diterbalikkan. Permohonan mesti mengisi bahagian sewajarnya, dan dalam bahagian letakkan objek untuk disegerakkan dalam format EnterpriseData.

Selepas memproses fail, konfigurasi akan menjana fail XML yang akan mengandungi mesej resit dan data baharu untuk penyegerakan dari bahagian konfigurasi (jika ada sejak sesi penyegerakan terakhir).

Ketahui lebih lanjut tentang bertukar data dengan penyelesaian aplikasi pada platform 1C:Enterprise dalam format EnterpriseData yang anda boleh lihat

Modul umum "pengurus pertukaran melalui format universal".

Prosedur dan fungsi yang menerangkan sepenuhnya peraturan untuk memuat turun data dari pangkalan maklumat ke dalam format pertukaran dan peraturan untuk memuatkan data daripada format pertukaran ke pangkalan maklumat dibangunkan dalam modul biasa - modul pengurus pertukaran melalui format universal.


nasi. 4 Struktur modul pengurus pertukaran melalui format universal

Modul dibuat secara automatik menggunakan konfigurasi "Penukaran Data", edisi 3.0, berdasarkan peraturan pertukaran yang dikonfigurasikan, atau secara manual dalam konfigurasi.

Modul ini terdiri daripada beberapa bahagian besar, setiap satunya mengandungi kumpulan prosedur dan fungsinya sendiri.

  1. Satu komen. Baris pertama modul mengandungi ulasan dengan nama penukaran. Baris ini diperlukan untuk mengenal pasti modul apabila menggunakan arahan dalam program Penukaran Data, edisi 3.0, sebagai contoh. // Penukaran UP2.2.3 dari 06/01/2017 19:51:50
  2. Prosedur penukaran. Mengandungi prosedur pratakrif yang dilakukan pada peringkat penyegerakan data yang berbeza: sebelum penukaran, selepas penukaran, sebelum pengisian tertunda.
  3. Peraturan Pemprosesan Data (DPR). Mengandungi prosedur dan fungsi yang menerangkan peraturan untuk memproses data.
  4. Peraturan Penukaran Objek (OCR). Mengandungi prosedur dan fungsi yang menerangkan peraturan untuk menukar objek, serta peraturan untuk menukar sifat objek ini.
  5. Peraturan Penukaran Data Pratakrif (PDC). Mengandungi prosedur yang mengisi peraturan untuk menukar data yang dipratentukan.
  6. Algoritma. Mengandungi algoritma arbitrari yang dipanggil daripada peraturan lain (POD atau PKO).
  7. Pilihan. Mengandungi logik untuk mengisi parameter penukaran.
  8. Tujuan am. Mengandungi prosedur dan fungsi yang digunakan secara meluas dalam peraturan dan algoritma.

Parameter prosedur dan fungsi yang digunakan dalam beberapa jenis prosedur dalam modul pengurus diterangkan di bawah.

Pertukaran Komponen. Jenis - Struktur. Mengandungi parameter dan peraturan pertukaran yang dimulakan sebagai sebahagian daripada sesi pertukaran.

Arah Pertukaran. Jenis – Rentetan. Sama ada "Hantar" atau "Terima".

data IB. Jenis – DirectoryObject atau DocumentObject.

Prosedur yang berkaitan dengan peristiwa penukaran

Terdapat tiga prosedur pratakrif yang dipanggil semasa proses penukaran:

  • Sebelum Penukaran. Dipanggil sebelum penyegerakan data berlaku. Biasanya prosedur ini menempatkan logik permulaan pelbagai parameter penukaran, mengisi nilai lalai, dsb. Pilihan: ComponentsExchange.
  • AfterConversion. Dipanggil selepas penyegerakan data telah selesai, tetapi sebelum padding malas telah berlaku. Pilihan: ComponentsExchange.
  • SebelumDitangguhPengisian. Dipanggil sebelum pengisian malas berlaku. Logik untuk mengisih atau melaraskan jadual objek yang tertakluk kepada pengisian malas boleh didapati di sini. Pilihan: ComponentsExchange.

prosedur AML

Isikan Peraturan Pemprosesan Data. Prosedur eksport yang mengandungi logik untuk mengisi peraturan pemprosesan data. Mengandungi panggilan ke prosedur lain yang menambahkan peraturan untuk memproses objek tertentu pada jadual peraturan (lihat prosedur di bawah Tambah AML). Pilihan: Arah Pertukaran, Peraturan Pemprosesan Data

Tambah UNDER_<ИмяПОД>. Satu set prosedur yang mengisi jadual DI BAWAH peraturan untuk objek tertentu. Bilangan prosedur sedemikian sepadan dengan bilangan AML yang disediakan untuk penukaran ini dalam program Penukaran Data, edisi 3.0. Pilihan: Peraturan Pemprosesan Data(jadual nilai yang dimulakan sebagai sebahagian daripada sesi pertukaran).

UNDER_<ИмяПОД>_Apabila Memproses. Prosedur mengandungi teks pengendali Semasa Pemprosesan untuk AML tertentu. Pengendali direka untuk melaksanakan logik penukaran pada peringkat objek. Sebagai contoh, tetapkan PQO tertentu kepada objek tertentu bergantung pada kandungan objek tersebut. Pilihan:

  • MaklumatB data atau DataXDTO(bergantung pada arah pertukaran):
  • semasa menghantar – objek ( DirectoryObject,DocumentObject);
  • setelah diterima - struktur dengan penerangan objek XDTO.
  • Penggunaan PKO. Jenis - Struktur. Kunci mengandungi rentetan dengan nama PCO, dan nilai jenis Boolean (betul– PKO digunakan, Bohong– PKO tidak digunakan).
  • ComponentsExchange.

UNDER_<ИмяПОД>_Pensampelan Data. Fungsi ini mengandungi teks pengendali Semasa Memunggah. Pengendali direka bentuk untuk melaksanakan algoritma sewenang-wenangnya untuk memilih objek untuk dipunggah. Nilai pulangan: tatasusunan objek untuk dipunggah. Tatasusunan boleh mengandungi kedua-dua pautan ke objek pangkalan maklumat dan struktur dengan data untuk dimuat naik. Pilihan: ComponentsExchange.

prosedur PKO

Isikan Peraturan Penukaran Objek. Prosedur eksport yang mengandungi logik untuk mengisi peraturan untuk menukar objek. Mengandungi panggilan ke prosedur lain yang menambahkan peraturan penukaran objek tertentu pada jadual peraturan (lihat prosedur di bawah Tambah PKO). Pilihan: Arah Pertukaran, Peraturan Penukaran(jadual nilai yang dimulakan sebagai sebahagian daripada sesi pertukaran).

TambahPKO_<ИмяПКО>. Satu set prosedur yang mengisi jadual PKO dengan peraturan untuk objek tertentu. Bilangan prosedur sedemikian sepadan dengan bilangan PKO yang disediakan untuk penukaran ini dalam program Penukaran Data, versi 3.0. Pilihan: Peraturan Penukaran(jadual nilai yang dimulakan sebagai sebahagian daripada sesi pertukaran).

PKO_<ИмяПКО>_WhenSendingData. Prosedur mengandungi teks pengendali Semasa Menghantar untuk PKO tertentu. Pengendali digunakan semasa memuat naik data. Direka bentuk untuk melaksanakan logik untuk menukar data yang terkandung dalam objek pangkalan maklumat kepada perihalan objek XDTO. Pilihan:

  • MaklumatB data. Jenis - DirectoryObject, DocumentObject. Objek asas maklumat sedang diproses.
  • DataXDTO. Jenis - Struktur. Direka untuk mengakses data objek XDTO.
  • ComponentsExchange.
  • StackUploads. Jenis - Susunan. Mengandungi pautan ke objek yang dipunggah, dengan mengambil kira sarang.

PKO_<ИмяПКО>_Apabila Menukar Data XDTO. Prosedur mengandungi teks pengendali Apabila Menukar DataXDTO untuk PKO tertentu. Pengendali digunakan semasa memuatkan data. Direka untuk melaksanakan logik penukaran data XDTO sewenang-wenangnya. Pilihan:

  • DataXDTO. Jenis - Struktur. Sifat objek XDTO yang telah dipraproses untuk menjadikannya lebih mudah untuk diakses.
  • ReceivedData. Jenis - DirectoryObject, DocumentObject. Objek pangkalan maklumat yang dibentuk dengan menukar data XDTO. Tidak direkodkan dalam pangkalan data maklumat.
  • ComponentsExchange.

PKO_<ИмяПКО>_Sebelum Merekod Data Yang Diterima. Prosedur mengandungi teks pengendali Sebelum Merekod Data Yang Diterima untuk PKO tertentu. Pengendali digunakan semasa memuatkan data. Direka bentuk untuk melaksanakan logik tambahan yang mesti dilakukan sebelum merakam objek dalam pangkalan maklumat. Sebagai contoh, sekiranya perubahan dimuatkan ke dalam data keselamatan maklumat sedia ada atau jika ia dimuatkan sebagai data baharu. Pilihan:

  • ReceivedData. Jenis - DirectoryObject, DocumentObject. Elemen data yang dijana dengan menukar data XDTO.

Dirakam jika data ini baharu untuk pangkalan maklumat (parameter MaklumatB data mengandungi nilai Tidak ditentukan).

Jika tidak ReceivedData menggantikan MaklumatB data(semua harta daripada ReceivedData dipindahkan ke MaklumatB data).

Jika penggantian standard data keselamatan maklumat dengan data yang diterima tidak diperlukan, anda harus menulis logik pemindahan anda sendiri, dan kemudian tetapkan parameter ReceivedData maksudnya Tidak ditentukan:

  • MaklumatB data. Jenis - DirectoryObject, DocumentObject. Elemen data pangkalan maklumat yang sepadan dengan data yang diterima. Jika tiada data yang sepadan ditemui, mengandungi Tidak ditentukan.
  • ConvertingProperties. Jenis - Jadual nilai. Mengandungi peraturan untuk menukar sifat objek semasa, dimulakan sebagai sebahagian daripada sesi pertukaran.
  • ComponentsExchange.

prosedur PCPD

Isikan Peraturan Penukaran Data Pratakrif. Prosedur eksport yang mengandungi logik untuk mengisi peraturan untuk menukar data yang dipratentukan. Pilihan: Arah Pertukaran, Peraturan Penukaran(jadual nilai yang dimulakan sebagai sebahagian daripada sesi pertukaran).

Algoritma

Dalam program "Penukaran Data", edisi 3.0, adalah mungkin untuk mencipta algoritma arbitrari yang dipanggil daripada pengendali AML dan PKPD. Nama, parameter dan kandungan algoritma ditentukan semasa membangunkan peraturan.

Pilihan

IsikanConversionParameters. Prosedur eksport di mana struktur dengan parameter penukaran diisi. Pilihan: Pilihan Penukaran(jenis - Struktur).

Prosedur dan Fungsi Tujuan Am

ExecuteManagerModuleProcedure. Pilihan: Nama Prosedur(garisan), Pilihan(struktur). Prosedur eksport, yang bertujuan untuk memanggil prosedur modul bukan eksport, nama dan parameter yang diterima sebagai input. Membolehkan anda memanggil prosedur atau fungsi pada talian tanpa menggunakan kaedah Laksanakan.

ExecuteManagerModuleFunction. Pilihan: Nama Prosedur(garisan), Pilihan(struktur). Fungsi, tujuan serupa ExecuteManagerModuleProcedure. Perbezaannya ialah ia memanggil fungsi dan mengembalikan nilainya.

Apa yang diperlukan untuk pertukaran automatik data, tanpa membuat perubahan pada konfigurasi:
1) Memproses "Pertukaran Data Universal dalam Format XML", yang disertakan dalam kebanyakan konfigurasi standard. Jika ia tidak ada, maka mudah untuk mencarinya di cakera ITS atau di Internet. Dalam konfigurasi ia dipanggil "Pertukaran Data XML Universal"
2) Peraturan pertukaran data. Dibuat menggunakan "Penukaran Data". Pekerjaan yang perlu anda kuasai. Terdapat juga kursus video dan alat bantu mengajar. Contohnya: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Pemprosesan luaran, mengandungi prosedur pemuatan/pemunggahan. Mari mula menciptanya:
Pemprosesan luaran dibuat dalam modul objek yang akan mengandungi teks di bawah (gantikan data anda untuk pangkalan data dan pengguna). Adalah dinasihatkan untuk mencipta pengguna individu Dengan hak penuh untuk pertukaran data. Mari kita panggil pemprosesan, sebagai contoh, "Data Exchange.epf".

Jika LaunchParameter = "Muat Naik" Kemudian Processing=Processing.UniversalXMLDataExchange.Create(); //Tetapkan parameter yang diperlukan untuk memuat naik (pilihan untuk menyunting) Processing.ExchangeMode="Upload"; Processing.LoadDataInExchangeMode=Benar; Processing.WriteRegistersRecordSets = Benar; Processing.RememberLoadedObjects=Benar; Processing.UseSelectionByDateForAllObjects=True; Processing.UploadOnlyAllowed=Benar; //!Tetapkan parameter yang diperlukan untuk memuat naik //Parameter ini mesti diisi semula MANDATORI //Tetapkan sekatan pada muat naik mengikut tarikh objek Processing.StartDate = CurrentDate() - 60*60*24*2; Processing.EndDate = "00010101"; //Jika kami ingin memuat naik data ke fail, tetapkan kepada False. Jika Benar, ia akan dimuat naik ke pangkalan data penerima Processing.DirectReadingVIBReceiver=True; //Jika pangkalan data penerima data yang dimuat naik ialah pelayan, maka False. Jika fail - True Processing.InformationBaseForConnectionType=True; //! Parameter yang diperlukan diisi semula //Jika kami memuat naik data ke fail Jika Tidak Memproses.DirectReadingVIBReceiver Kemudian Processing.ExchangeFileName = "C:\Inbox\OlegA\Conversion\upload.xml"; //Jika kami memuat naik data ke pangkalan data Jika tidak Memproses.PasswordInformationBaseForConnection="Admin"; Processing.ConnectionInfoBaseUser="supercool"; Processing.AuthenticationWindowsInformationBaseForConnection=False; //Jika penerima data ialah pangkalan pelayan Jika Processing.ConnectionInformationBaseType = False Kemudian Processing.ConnectionInformationBaseServerName="MainServ"; Processing.InformationBaseNameOnServerForConnection="Buhia"; //Jika penerima data ialah pangkalan data fail Jika tidak Memproses.InformationBasePlatformVersionForConnection="V82"; Processing.InformationBaseDirectoryForConnection="C:\Inbox\OlegA\Clients\Zeus BP20\Zeus BP20"; endIf; endIf; //Tindakan pendaftaran apabila memunggah mengikut pelan pertukaran Memproses.RegistrationDeletionTypeofChangesForExchangeNodesAfterUpload=0; // 0 - jangan batal pendaftaran, // 1 - batalkan pendaftaran Processing.LoadExchangeRules(); //JIKA ANDA PERLU MUAT NAIK MENGIKUT PELAN PERTUKARAN, KEMUDIAN DAYAKAN BLOK INI DAN SERAHKAN NOD PELAN PERTUKARAN ANDA SENDIRI //Untuk Setiap Halaman Daripada Kitaran Processing.UploadRulesTable.Lines //Page.Enable=1; // Untuk Setiap Halaman1 Dari Gelung PageLine // Line1.Enable=1; // Page1.LinkToExchangeNode=ExchangePlans.Full.FindByCode("BP20"); //EndCycle; //EndCycle; Memproses.Lakukan Muat Naik(); ShutdownSystem(Salah); ElseIf LaunchParameter = "Muat" Kemudian ExchangeProcessing = Processing.UniversalXMLDataExchange.Create(); ExchangeProcessing.ExchangeFileName = "C:\Inbox\OlegA\Upload.xml"; ExchangeProcessing.ExchangeMode = "Memuatkan"; ExchangeProcessing.OpenDownloadFile(True); ProcessExchange.ArchiveFile = Palsu; ProcessExchange.PerformLoad(); ExchangeProcessing = Tidak ditentukan; ShutdownSystem(Salah); endIf;

4) Muat naik fail Bat, yang akan melancarkan 1C dan pemprosesan luaran dengan parameter pelancaran di bawah pengguna, yang bertujuan untuk pertukaran data. Fail mesti dibuat, contohnya, dalam notepad++ dengan pengekodan OEM (MS-Dos), jika tidak, ia tidak akan berfungsi. Mari namakan fail, sebagai contoh, "BatVygruz.bat". Teksnya akan seperti berikut:

Jika pangkalan data adalah fail:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3" /N"Data Exchange Robot" /P "lulus " /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\OlegA\DataExchange.epf" /C"Upload"
Penjelasan:

b) C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3 - laluan anda ke pangkalan data fail dari mana kami akan memuat naik data
c) Robot Pertukaran Data - Nama pengguna di mana 1C berjalan untuk pertukaran data
d) pas - kata laluan pengguna
e) /DisableStartupMessages - tutup tetingkap pop timbul apabila memulakan 1C
e) /RunModeOrdinaryApplication - pelancaran masuk mod biasa pelanggan gemuk
g) C:\Inbox\OlegA\Data Exchange.epf - laluan ke pemprosesan kami, yang akan bermula pada permulaan
h) Muat naik - kami melepasi parameter pelancaran 1C, ia memberitahu kami bahawa kami perlu memuat naik data

Jika pangkalan data berasaskan pelayan:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"Data Exchange Robot" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ Oleg\ Data Exchange.epf" /C"Upload"
Penjelasan:
a) C:\Program Files (x86)\1cv82\common\1cestart.exe - laluan anda ke pemula 1C
b) Server1C/DataBase - pelayan anda di mana pangkalan data terletak dan nama pangkalan data itu sendiri dari mana kami memuat naik data.
Parameter selebihnya adalah serupa dengan versi fail fail kelawar

5) Muat turun fail Bat (jika perlu). Jika anda memutuskan untuk memuat naik data ke fail, dan bukan terus ke pangkalan data. Kemudian kita juga akan memerlukan item ini (biasanya perlu).
Ciptaan fail kelawar muat naik adalah serupa dengan fail muat naik, tetapi hanya parameter pelancaran yang berbeza, bukannya "Muat naik", kami meletakkan "Muat turun"

6) Tetapkan jadual pelancaran fail Bat kami memuatkan/memuat naik pada pelayan. Untuk melakukan ini, anda perlu pergi ke pentadbiran panel kawalan pada pelayan dan dalam penjadual tugas buat tugas baharu untuk menjalankan fail muat turun pada pukul 23 setiap hari dan tugas muat turun yang menyatakan fail muat turun Bat (jika perlu) pada pukul 04 sebagai contoh.

Memproses Pertukaran Data Universal dalam format XML (memproses Universal Data Exchangexml)

Memproses "Pertukaran data universal dalam format XML" bertujuan untuk memuatkan dan memunggah data ke dalam fail daripada sebarang konfigurasi yang dilaksanakan pada platform 1C:Enterprise 8.

Mod operasi
menggunakan borang terkawal pemprosesan mempunyai dua mod operasi:
1. Pada klien. Apabila menggunakan mod ini, peraturan dan fail data muat turun dipindahkan dari klien ke pelayan, dan fail data muat turun dipindahkan dari pelayan ke klien. Laluan ke fail ini terletak pada klien mesti dinyatakan dalam kotak dialog serta-merta sebelum melakukan tindakan.
2. Pada pelayan. Dalam mod ini, fail tidak dipindahkan kepada klien dan laluan kepada mereka mesti ditentukan pada pelayan.
Nota: Fail pemprosesan luaran dan fail protokol pertukaran mesti sentiasa terletak pada pelayan, tanpa mengira mod pengendalian.

Muat turun Pertukaran Data Universal dalam format XML- Hanya pengguna berdaftar boleh memuat turun fail!


Pemprosesan mempunyai empat tab

Memuat naik data
Untuk memuat naik data, anda mesti menyatakan nama fail yang mana data akan dimuat naik dan pilih fail peraturan pertukaran. Peraturan pertukaran untuk sebarang konfigurasi boleh dikonfigurasikan dalam konfigurasi khusus "Penukaran Data, Edisi 2".

Untuk memuat naik dokumen dan rekod daripada daftar maklumat berkala bebas, anda mesti menyatakan tempoh - “Tarikh Mula” dan “Tarikh Tamat”. Fail yang terhasil dengan data yang dimuat turun boleh dimampatkan.

Pada tab "Peraturan untuk memuat naik data", anda boleh memilih jenis objek yang perlu dimuat naik, menyediakan pilihan untuk memilih objek atau menentukan nod pertukaran data yang anda ingin muat naik data.

Pada tab "Pilihan Muat Naik", anda boleh tentukan Pilihan tambahan muat naik data.

Pada tab "Ulasan", anda boleh menulis teks ulasan sewenang-wenangnya untuk disertakan dalam fail pertukaran.

Adalah mungkin untuk mengkonfigurasi pemuatan data ke dalam transaksi. Untuk melakukan ini, anda perlu memilih kotak semak "Gunakan transaksi" dan nyatakan bilangan elemen dalam satu transaksi semasa memuatkan.

"Muatkan data dalam mod pertukaran (Data Exchange.Load = True)" – jika bendera ditetapkan, maka objek akan dimuatkan daripada tanda yang ditetapkan muat turun. Ini bermakna apabila objek ditulis ke pangkalan data, semua pemeriksaan platform dan aplikasi akan dilumpuhkan. Pengecualian adalah untuk dokumen yang direkodkan dalam mod pengeposan atau pembatalan. Mengepos dan membatalkan pengeposan dokumen sentiasa dilakukan tanpa menetapkan mod pemuatan, i.e. semakan akan dilakukan.

Tetapan tambahan
Penanda buku digunakan untuk tetapan terperinci memuat naik dan memuat turun data.

"Mod nyahpepijat" – bendera untuk menetapkan mod nyahpepijat pertukaran. Jika bendera ini ditetapkan, proses pertukaran data tidak akan dihentikan jika sebarang ralat berlaku. Pertukaran akan selesai dan mesej nyahpepijat akan dikeluarkan ke fail log pertukaran. Mod ini disyorkan untuk digunakan semasa menyahpepijat peraturan pertukaran.

“Mesej maklumat output dalam tetingkap mesej” – jika bendera ditetapkan, maka protokol proses pertukaran data akan dipaparkan dalam tetingkap mesej.

“Bilangan objek yang diproses untuk kemas kini status” – parameter digunakan untuk menentukan bilangan elemen yang diproses sebelum menukar baris status memuat/memunggah

“Tetapan muat naik data” – membolehkan anda menentukan bilangan elemen yang diproses dalam satu transaksi apabila memuat naik data, memuat naik dan memproses hanya objek yang anda mempunyai hak akses, konfigurasikan jenis perubahan pendaftaran untuk objek yang dimuat naik melalui pelan pertukaran.

"Gunakan format yang dioptimumkan untuk pertukaran data (V8 - V8, versi pemprosesan tidak lebih rendah daripada 2.0.18)" – format mesej pertukaran yang dioptimumkan menganggap kehadiran nod "InformationOnDataTypes" dalam pengepala mesej, di mana maklumat tentang jenis data dimasukkan dimuat naik. Ini membolehkan anda mempercepatkan proses pemuatan data.

“Gunakan urus niaga semasa memunggah untuk pelan pertukaran” – bendera menentukan mod penggunaan urus niaga semasa memunggah data apabila mengambil perubahan pada nod pelan pertukaran. Jika bendera ditetapkan, maka muat naik data akan dilakukan dalam transaksi.

"Bilangan elemen dalam transaksi" – menentukan bilangan maksimum elemen data yang diletakkan dalam mesej dalam satu transaksi pangkalan data. Jika nilai parameter ialah 0 (nilai lalai), maka semua data diletakkan dalam satu transaksi. Mod ini disyorkan kerana ia menjamin ketekalan data yang disertakan dalam mesej. Tetapi apabila anda membuat mesej dalam mod berbilang pengguna, mungkin terdapat konflik kunci antara transaksi yang meletakkan data ke dalam mesej dan transaksi yang dilakukan oleh pengguna lain. Untuk mengurangkan kemungkinan konflik sedemikian, anda boleh menetapkan parameter ini kepada nilai selain daripada nilai lalai. Bagaimana kurang nilai parameter, semakin rendah kemungkinan konflik kunci, tetapi semakin tinggi kemungkinan meletakkan data yang tidak konsisten dalam mesej.

"Putuskan objek yang anda mempunyai hak akses" - jika bendera ditetapkan, maka pemilihan objek pangkalan maklumat akan dilakukan dengan mengambil kira hak akses pengguna semasa program. Ini melibatkan penggunaan literal "DIBENARKAN" dalam badan pertanyaan untuk mendapatkan semula data.

“Alih keluar aksara tidak sah secara automatik daripada rentetan untuk menulis dalam XML” – jika bendera ditetapkan, maka apabila menulis data ke mesej pertukaran, aksara tidak sah akan dialih keluar. Aksara disemak terhadap pengesyoran XML 1.0.

"Perubahan pendaftaran untuk nod pertukaran selepas memuat naik" - medan menentukan mod operasi dengan pendaftaran perubahan data selepas selesai memuat naik data. Nilai yang mungkin:

Jangan padamkan pendaftaran – selepas memuat turun data, pendaftaran perubahan pada nod tidak akan dipadamkan.
Padam sepenuhnya pendaftaran untuk nod pertukaran - selepas memuat naik data, pendaftaran perubahan pada nod akan dipadamkan sepenuhnya.
Alih keluar pendaftaran hanya untuk metadata yang dimuat naik - selepas memuat naik data, pendaftaran perubahan pada nod akan dipadamkan hanya untuk objek metadata yang ditentukan untuk muat naik.

“Protokol pertukaran” – membolehkan anda mengkonfigurasi output mesej maklumat ke tetingkap mesej, menyelenggara dan merakam dalam fail berasingan protokol pertukaran.

“Nama fail, protokol pertukaran” – nama fail untuk mengeluarkan protokol proses pertukaran data.

“Muat turun protokol (untuk sambungan COM)” – nama fail untuk mengeluarkan protokol proses pertukaran data dalam pangkalan penerima apabila bertukar melalui sambungan COM. Penting: laluan ke fail mesti boleh diakses dari komputer di mana pangkalan penerima dipasang.

"Tambah data pada protokol pertukaran" - jika bendera ditetapkan, maka kandungan fail protokol pertukaran disimpan jika fail protokol sudah wujud.

"Keluarkan mesej maklumat ke dalam protokol" - jika bendera ditetapkan, maka mesej maklumat akan dikeluarkan kepada protokol pertukaran, sebagai tambahan kepada mesej tentang ralat pertukaran.

“Buka fail protokol pertukaran selepas menjalankan operasi” – jika bendera ditetapkan, maka selepas pertukaran data fail protokol pertukaran akan dibuka secara automatik untuk dilihat.

Memadam data
Penanda halaman hanya diperlukan untuk pembangun peraturan pertukaran. Membolehkan anda memadamkan objek sewenang-wenangnya daripada pangkalan maklumat.

Menyahpepijat muat naik dan muat turun data
Pemprosesan membolehkan anda menyahpepijat pengendali acara dan menjana modul nyahpepijat daripada fail peraturan atau fail data.

Mendayakan mod nyahpepijat untuk pengendali muat naik dilakukan pada tab "Muat Naik Data" dengan menandai kotak pilihan "Mod nyahpepijat untuk pengendali muat naik". Sehubungan itu, pada tab "Pemuatan Data", mod nyahpepijat pemuatan didayakan dengan menandai kotak pilihan "Mod penyahpepijatan pengendali muat".

Selepas menetapkan mod nyahpepijat untuk pengendali, butang tetapan penyahpepijatan akan tersedia. Mengklik butang ini akan membuka tetingkap tetapan.

Menyediakan pengendali penyahpepijatan dilakukan dalam empat langkah:

Langkah 1: Memilih mod nyahpepijat algoritma

Pada langkah pertama, anda perlu memutuskan mod debugging algoritma:

Tiada penyahpepijatan algoritma
Panggil algoritma sebagai prosedur
Gantikan kod algoritma di tempat panggilan

Mod pertama adalah mudah untuk digunakan apabila kita mengetahui dengan pasti bahawa ralat dalam pengendali tidak berkaitan dengan kod mana-mana algoritma. Dalam mod ini, kod algoritma tidak dimuat naik ke modul penyahpepijatan. Algoritma dilaksanakan dalam konteks pengendali "Run()" dan kodnya tidak tersedia untuk penyahpepijatan.

Mod kedua mesti digunakan dalam kes di mana ralat berada dalam kod algoritma. Apabila mod ini ditetapkan, algoritma akan dipunggah sebagai prosedur berasingan. Pada masa ini algoritma dipanggil daripada mana-mana pengendali, prosedur pemprosesan yang sepadan dipanggil. Mod ini mudah digunakan apabila pembolehubah global "Parameter" digunakan untuk menghantar parameter kepada algoritma. Had penggunaan mod ini ialah apabila menyahpepijat algoritma, pembolehubah tempatan pengendali dari mana ia dipanggil tidak tersedia.

Mod penyahpepijatan ketiga digunakan, seperti dalam kes kedua, apabila menyahpepijat kod algoritma dan dalam kes di mana mod penyahpepijatan kedua tidak sesuai. Apabila mod ini ditetapkan, algoritma akan dipunggah sebagai kod bersepadu dalam pengendali. Itu. bukannya operator panggilan algoritma, masukkan kod penuh algoritma dengan mengambil kira algoritma bersarang. Dalam mod ini tiada sekatan ke atas penggunaan pembolehubah pengendali tempatan, tetapi terdapat sekatan apabila menyahpepijat algoritma dengan panggilan rekursif.

Langkah 2: Pembentukan modul penyahpepijatan

Dalam langkah kedua, anda perlu memunggah pengendali dengan mengklik pada butang "Buat modul pemunggahan (memuatkan) penyahpepijatan". Pengendali dan algoritma yang dijana akan dipaparkan dalam tetingkap berasingan untuk dilihat. Kandungan modul penyahpepijatan mesti disalin ke papan keratan dengan mengklik pada butang "Salin ke papan keratan".

Langkah 3: Buat Pemprosesan Luaran

Pada langkah ini, anda perlu melancarkan configurator dan mencipta pemprosesan luaran baharu. Anda mesti menampal kandungan papan keratan ke dalam modul pemprosesan (modul penyahpepijatan) dan menyimpan pemprosesan di bawah sebarang nama.

Langkah 4: Menyambung Pemprosesan Luaran

Pada langkah keempat dan terakhir, anda mesti menentukan nama fail pemprosesan luaran dalam medan input. Dalam kes ini, program menyemak masa penciptaan (kemas kini) fail pemprosesan. Jika pemprosesan mempunyai lebih banyak versi terdahulu, daripada versi fail modul penyahpepijatan, amaran akan dipaparkan dan borang konfigurasi tidak akan ditutup.

Nota: Keupayaan untuk menyahpepijat pengendali penukaran global "Selepas memuatkan peraturan pertukaran" tidak disokong.

Apabila mengekalkan beberapa pangkalan data 1C yang berfungsi, kadangkala terdapat keperluan untuk menukar data antara mereka. Terdapat 2 cara untuk memindahkan data:

  1. Pemindahan data menggunakan peraturan pertukaran dan pemprosesan "Pertukaran Data XML". Peraturan pertukaran dibuat menggunakan konfigurasi 1C:Penukaran Data.
  2. Memindahkan data antara pangkalan maklumat yang serupa menggunakan pemprosesan "Memuat naik dan memuatkan data XML".

Mari kita pertimbangkan pilihan kedua, i.e. memuat naik dan memuatkan data dari/ke konfigurasi yang mengandungi objek (sama) yang sama yang kami perlukan. Untuk melakukan ini, kami akan menggunakan pemprosesan luaran "Memuat naik dan memuatkan data XML", yang boleh digunakan.

Syarat untuk menggunakan pemprosesan ini adalah seperti berikut: Pangkalan maklumat dari mana data dimuat turun mesti mengandungi objek yang sama dan dengan butiran yang sama (nama dan jenis data) seperti dalam pangkalan data tempat data dimuatkan.

Mari kita pertimbangkan contoh dengan pemindahan data menggunakan pemprosesan ini. Katakan anda perlu memindahkan dokumen "Pesanan pembayaran masuk" dan "Pesanan pembayaran keluar". Penyelesaian kepada masalah ini adalah seperti berikut.

Kami membuka pemprosesan luaran "Memuat naik dan memuatkan data XML" melalui menu utama: Fail? Buka... Pada tab “Muat naik”, nyatakan fail XML, di mana kami akan menyimpan data.

Kemudian anda perlu menentukan tempoh yang mana kami akan memunggah objek data daripada pangkalan data 1C dan objek itu sendiri. Kami menandakan dokumen yang kami perlukan untuk memuat naik dengan tanda dalam medan struktur objek konfigurasi dalam lajur "Data untuk muat naik". Jika dokumen yang dimuat naik mengandungi pautan ke elemen direktori yang tidak berada dalam konfigurasi lain, maka wajar untuk menandakan kotak dalam lajur "Jika perlu" supaya elemen ini turut dimuat naik bersama dokumen.

Sekarang langkah ini Adakah anda perlu memutuskan sama ada untuk memuat naik pergerakan mereka di sepanjang daftar bersama-sama dengan dokumen atau memindahkan dokumen ini ke pangkalan data lain? Untuk menyiarkan semula dokumen yang dimuat naik dalam pangkalan data lain, anda boleh menggunakan pemprosesan "Pemprosesan kumpulan direktori dan dokumen". Jika algoritma yang dijalankan dalam data pangkalan data maklumat berbeza dalam beberapa cara, maka kotak semak di sebelah "Muat naik semua pergerakannya dengan dokumen" tidak boleh ditandakan.

Itu sahaja, persediaan muat naik selesai, semuanya mudah di sini! Klik butang "Muat naik data" dan tunggu sehingga data disimpan ke fail XML. Untuk pemunggahan yang lebih kompleks, anda boleh menentukan pemilihan untuk objek yang dipunggah bukan sahaja mengikut noktah.

Selepas memunggah, pergi ke pangkalan data 1C kedua dan buka pemprosesan yang sama di sana. Pergi ke tab "Muat Turun" dan nyatakan di sini fail XML yang sama tempat kami memuat naik data.

Pada tab ini, tandai kotak di sebelah "Teruskan memuatkan objek jika ralat berlaku" dan klik pada butang "Muat data". Kami tidak menganggap fungsi lain, sebagai contoh, penggunaan jumlah, walaupun fungsi ini boleh mempercepatkan pemuatan objek (rekod mengikut daftar).