uy - Qayta tiklash
Xml 1c o'qish uchun misol. XML faylini yaratish

Ma'lumotlarni uzatish har qanday buxgalteriya tizimida juda muhim jarayon bo'lib, 1C 8.3 va 8.2 platformasi bundan mustasno emas. Quyida biz shunga o'xshash konfiguratsiyaga ega bo'lgan bir tizimdan boshqasiga ma'lumotlarni uzatishning eng oson yo'li bo'yicha ko'rsatmalarni ko'rib chiqamiz (turli xil konfiguratsiyalar uchun siz dasturchilar uchun vositadan foydalanishingiz mumkin - yoki).

Har qanday harakat zarur bo'lishidan oldin, o'zgarishlarni qaytarib bo'lmaydi!

1C 8.3 dan 1C 8.3 Buxgalteriya 3.0 ga ma'lumotlarni uzatishning eng oson va eng qulay usuli - ishlov berishdan foydalanish Ma'lumotlarni XML formatida yuklash va yuklash (yuklash - 8.2 yoki 1C 8.3 yoki ITS uchun). Davolash universal va har qanday konfiguratsiyaga mos keladi.

Biz tafsilotlarga berilmaymiz, keling, tovarlarni eng oddiy uzatish misolidan foydalanib, ushbu ishlov berish yordamida ma'lumotlarni ko'chirish bo'yicha bosqichma-bosqich ko'rsatmalarni ko'rib chiqamiz.

XML-ga ma'lumotlarni yuklash

Avvalo, manba ma'lumotlar bazasida ishlov berishni ochamiz (biz tovarlarni qaerdan tushiramiz) va interfeysni ko'rib chiqamiz:

1C da 267 ta video darslarni bepul oling:

Siz darhol "Fayl nomi" maydonini to'ldirishingiz kerak - bu yo'lda yangi ma'lumotlar fayli yaratiladi, biz uni qabul qiluvchining ma'lumotlar bazasiga yuklaymiz. Quyida, "Yuklash uchun ma'lumotlar" jadval bo'limida siz ma'lumotlar bazasidan yuklamoqchi bo'lgan ma'lumotlarni tanlashingiz kerak.

Jadvalning chap qismidan ob'ektni tanlagandan so'ng, siz o'ng jadval qismida tanlovni qo'llashingiz mumkin:


Bizning misolimizda men "Rake" nomi bilan barcha mahsulotlarni tushirmoqchiman.

Barcha sozlamalar bajarilgandan so'ng, ma'lumotlarni yuklash mumkin. Buning uchun "Ma'lumotlarni yuklash" tugmasini bosing:


Ma'lumotlarni xml dan 1s ga yuklash 8.3

Ma'lumotlar manba ma'lumotlar bazasidan olib tashlandi, endi ularni maqsadli ma'lumotlar bazasiga o'tkazish kerak.

Buni amalga oshirish uchun siz ma'lumotlarni yuklashingiz kerak bo'lgan ma'lumotlar bazasida qayta ishlashni boshlashingiz kerak va "Yuklab olish" yorlig'iga o'ting, diskdagi yuklab olingan faylni tanlang va "Ma'lumotlarni yuklash" tugmasini bosing:


Ushbu misol faqat 1C platformasida bir xil konfiguratsiyalar o'rtasida ma'lumotlarni uzatish uchun javob beradi. Dasturchilar uchun almashinuv mexanizmini tushunish uchun biz maqola yozdik -.

Ma'lumotlar bazalari o'rtasida ma'lumotlarni uzatish ularni qo'llab-quvvatlash va boshqarish vazifalaridan biridir. Uni samarali amalga oshirish uchun qayta ishlash avtomatlashtirilgan 1C komplekslarida yaratilgan. Ular muntazam ishlarni sezilarli darajada osonlashtiradi, ma'lumotlarni yuklash va yuklab olish jarayonlarini tezlashtiradi va shu bilan birga uning to'g'riligini nazorat qiladi. 1c dan xml ga yuklash har qanday konfiguratsiya qilingan konfiguratsiya ob'ektining mazmuni bilan fayl yaratish va ma'lumotlarni bir xil konfiguratsiyaga yuklash kerak bo'lganda undan foydalanish imkonini beradi.

Yuklash yaratish uchun vositalar

Ma'lumotlar bazalaridagi ma'lumotlarni eksport qilish uchun asosan xml formati qo'llaniladi. 1C uchun ko'plab qayta ishlash usullari ishlab chiqilgan (masalan, UploadLoadDataxml82 epf), ularning yordamida ma'lumotlarni faylga chiqarish va yuklash mumkin. Bunday holda, foydalanuvchi ma'lum bir tuzilishdagi faylni olishi kerak, bu esa unda saqlangan ma'lumotlarni mahalliy ma'lumotlar bazasiga yuklash yoki boshqa joyga o'tkazish imkonini beradi. Yuklashni yaratishda quyidagi qoidalarga rioya qilish kerak:

  • Yaratilgan fayllarni to'liq tiklanmaguncha va uzatilgan ma'lumotlarning to'g'riligini tekshirish protseduralari tugaguncha saqlang;
  • Agar siz qayta ishlashni zaxiralash vositasi sifatida ishlatsangiz, ma'lumotlar nusxalari uchun alohida pastki papkalarni yarating va ularni tez olish uchun jurnalni saqlang.

Veb-saytda yoki ITS disklarida topish mumkin bo'lgan 1C foydalanuvchini qo'llab-quvvatlash dasturida taqdim etilgan "XML ma'lumotlarini yuklash va yuklash" universal ishlov berish ma'lumotni eksport qilish va import qilish uchun ajoyib vositadir. Kompyuter foydalanuvchisi butun ma'lumotlar bazasini ham, uning alohida ob'ektlarini ham yuklashi mumkin va haqiqiy eksportga qo'shimcha ravishda ma'lumotlardagi muhim xatolardan xalos bo'lishga yordam beradigan ma'lumotlarni tekshirish uchun turli operatsiyalar amalga oshiriladi.1c yuklashni xml ga qayta ishlash ikki rejimda ishlaydi:

  • Yuk tushirish. Foydalanuvchi tomonidan belgilangan sahifali ob'ektlarni o'z ichiga olgan faylni yaratadi;
  • Yuklanmoqda. Oldindan eksport qilingan faylni o'qiydi va undagi ma'lumotlarni axborot bazasiga yozadi.

Qayta ishlash ob'ektlarda noto'g'ri belgilar mavjudligini tekshirishga imkon beradi, shuningdek, cheklovlar bilan ma'lumotlarni eksport qilish funktsiyasini o'z ichiga oladi.

Yuklashdan nafaqat 1C ma'lumotlar bazalari o'rtasida ma'lumot almashishda foydalanish mumkin. Uning yordami bilan siz turli xil komplekslarning, masalan, 1C va Parus tizimining integratsiyasini ta'minlashingiz mumkin. XML formatining ko'p qirraliligi deyarli har qanday ma'lumot banklari uchun ma'lumotlarni uzatish dasturlarini yaratishga imkon beradi. Xml ma'lumotlarini qayta ishlash, yuklash va yuklab olish ma'lumot almashish uchun eng muhim vositadir.

Ma'lumotlarni yuklash jarayonixml

Oddiy rejimda 1c dan xml ga qanday yuklashni ko'rib chiqamiz. UploadLoadDataxml.epf ni qayta ishlashni yuklab olib, uni ochganingizdan so'ng, siz quyidagi amallarni bajarishingiz kerak:

  • Eksport uchun ob'ektlarni tanlash;
  • Kerakli filtrlarni o'rnating, masalan, davr bo'yicha;
  • Disk quyi tizimidagi ma'lumotlar bilan faylning joylashishini aniqlang;
  • Ob'ektlarni tushirishni boshlang.


Shuni esda tutish kerakki, yuklash fayl formatining sarlavha qismi almashinuv rejalariga muvofiq yuklashda ishlatiladigan fayl formatidan farq qiladi.

xml

Xml 1c ga manba ma'lumotlar bazasiga o'xshash konfiguratsiya bilan qabul qiluvchi ma'lumotlar bazasiga yuklanadi. Xml 1c ni 1c ga yuklashdan oldin siz qabul qiluvchi ma'lumotlar bazasida ishlov berishni ochishingiz kerak. Keyin siz avval yuklangan faylga yo'lni belgilashingiz va "Ma'lumotlarni yuklash" tugmasini bosish orqali ma'lumotlarni yuklab olishingiz kerak.

Agar kerak bo'lsa, taqsimlangan ma'lumotlar bazasida ma'lumotlarni almashish rejimida yuklash va ob'ektlarni yuklashda yuzaga keladigan xatolarni e'tiborsiz qoldirish uchun katakchalar faollashtiriladi.


Shundan so'ng, siz ma'lumotlar bazalarini tekshirishingiz va ularni yo'qotmaslik uchun barcha elementlarning to'g'ri yuklanganligiga ishonch hosil qilishingiz kerak, masalan, ob'ektni yuklagandan so'ng voqea ishlov beruvchisida xatolik yuzaga kelsa.


Ushbu qayta ishlash sizga 1C 8.2 platformasida bir xil (bir xil) konfiguratsiyalar - Bukh, ZUP, UT, UPP va boshqalar o'rtasida ma'lumot almashish imkonini beradi, asosiysi konfiguratsiyalar bir xil!

Skrinshotlarni qayta ishlash

(foto)

Ishlash rejimlari

Qayta ishlash 2 ish rejimini amalga oshiradi: Yuklash (foydalanuvchi tomonidan ko'rsatilgan ma'lumotlarning yuklash faylini yaratish) va Yuklash (bir xil nomdagi rejim tomonidan yaratilgan yuklash faylini o'qish va undagi ma'lumotlarni yozish). Rejim uni Mode maydonida tanlash orqali o'rnatiladi.

Muayyan rejimni ishga tushirishdan oldin (Ishga tushirish tugmachasini bosish) siz "Fayl nomi" maydoniga qo'lda kiritish yoki ushbu maydonni va standart faylni tanlash dialog oynasini tanlash uchun tugmani ishlatish orqali yuklash faylining nomini belgilashingiz kerak. .

Yuklab olish rejimida registrlarni yozishda jami foydalanishni tahrirlash mumkin, bu yuklab olish tezligiga ta'sir qilishi mumkin.

“Ma’lumotlarni yuklashda jamilardan foydalanishni tahrirlash imkoniyatini yoqish” bayrog‘i o‘rnatilganda “Jamilarni o‘chirish” va “Jamilarni yoqish” tugmalari mavjud bo‘lib, ular ma’lumotlarni yuklashda jamilardan foydalanish rejimini qo‘lda boshqarish uchun ishlatiladi.

Qayta ishlashni qo'llash shartlari

Qayta ishlash faqat ma'lumotlar yuklangan ma'lumotlar bazasi va ma'lumotlar yuklangan bir hil bo'lgan (konfiguratsiyalar bir xil, ma'lumotlar farq qilishi mumkin) yoki barcha yuklangan ob'ektlar deyarli bir xil bo'lgan hollarda qo'llanilishi mumkin. tafsilotlar va jadval qismlarining tarkibi va turlari, "etakchi" metama'lumotlar ob'ektining xususiyatlari va boshqalar. Shuni ta'kidlash kerakki, ushbu cheklovlar tufayli qayta ishlash asosan bir hil IS o'rtasida almashish uchun mo'ljallangan.

Yuklash fayl formati sarlavha qismidagi almashinuv rejasiga muvofiq yuklashda yaratilgan fayl formatidan farq qiladi. Ma'lumotlarni (katalog elementlari, registr yozuvlari to'plami va boshqalar) yuklash uchun qayta ishlash almashinuv rejalariga muvofiq yuklash bilan bir xil XML seriyalash mexanizmidan foydalanadi; bu qismda fayl formatlari bir xil.

Yuk tushirish tarkibini aniqlash

Qayta ishlash ma'lumotlar bazasi ma'lumotlarini faylga to'liq va qisman yuklash imkonini beradi. Yuklangan ma'lumotlarning tarkibi dialog oynasida ma'lumotlar yuklanishi mumkin bo'lgan metadata ob'ektlarini ko'rsatadigan daraxt ustunidagi katakchalarni belgilash orqali sozlanadi. "Agar kerak bo'lsa" katakchalarining qo'shimcha ustuni ushbu turdagi ob'ektlarni "mos yozuvlar bo'yicha" tushirish zarurligini belgilaydi. Ya'ni, agar katakcha faqat "Agar kerak bo'lsa" ustunida belgilansa, bunday ob'ekt uchun ma'lumotlar to'liq yuklab olinmaydi, faqat yuklab olishni yuklaydigan ma'lumot bazasida ma'lumotlarning yaxlitligini saqlash uchun zarur bo'lgan darajada. fayl.

Shaklni ochishda ishlov berish barcha ob'ektlarga havola bo'yicha tushirish belgisini o'rnatadi, bu ma'lumot bazasining yuklanmagan fragmentining mos yozuvlar yaxlitligini kafolatlaydi.

"Havola orqali tushirilgan ob'ektlarni aniqlash" tugmasini bosganingizda, qayta ishlash to'liq tushirish atributiga ega bo'lgan ob'ektlarda qanday ma'lumotlar havolalari bo'lishi mumkinligini tahlil qiladi va havola bo'yicha tushirish zarurligini ko'rsatadigan bayroqlar ustunini avtomatik ravishda to'ldiradi. Agar ob'ektda allaqachon to'liq tushirish bayrog'i o'rnatilgan bo'lsa, u holda mos yozuvlar bo'yicha tushirish bayrog'i o'rnatilmaydi.

Mumkin ilovalar

Ushbu qayta ishlashdan foydalanish, masalan, ma'lumotlarning to'liq yoki qisman zaxira nusxasini yaratish, ma'lumotlar bazalari o'rtasida ma'lumot almashish, shuningdek, muammoli ma'lumotlar bazalarini tiklashda yordamchi vosita sifatida foydalanish mumkin.

Tashkilotda buxgalteriya hisobi nafaqat 1C: Enterprise platformasidagi echimlarda, balki boshqa dasturiy ta'minot tizimlarida ham (Galaktika, Parus, SAP va boshqalar) amalga oshirilishi mumkin. Bu ikkita ilovani integratsiyalash muammosini keltirib chiqaradi.

Misol uchun, ba'zi ilovalar (uni "X" deb ataymiz) konfiguratsiya hujjatlari ro'yxatini o'qishi kerak. Biz bunday muammoni hal qilishning amaliy afzalliklari haqida gapirmaymiz, faqat shuni ta'kidlaymanki, bunday vaziyatda eng qulay va universal usul XML formatidagi hujjatlar ro'yxatini yuklash bo'ladi.

Ushbu formatdan foydalangan holda almashinuv universaldir, chunki ko'pgina ilovalar u bilan ishlashi mumkin. Keling, 1C: Enterprise-dan konfiguratsiya hujjatlari ro'yxatini XML fayliga qanday yuklashingiz mumkinligini ko'rib chiqaylik.

XML-ga yuklash

Shunday qilib, keling, asosiy narsaga o'tamiz. Hujjat metadata ro'yxatini aylanib o'tishimiz va ro'yxatni XML faylida yaratishimiz kerak. Quyidagi skrinshotda XML faylini yaratish algoritmi ko'rsatilgan:

CreateXML() funktsiyasini eksport qilish // Vaqtinchalik fayl nomini oling Yo'l = GetTemporaryFileName() ; // "XML Record" sinfini ishga tushiring Kirish = Yangi EntryXML; // Yozish uchun vaqtinchalik faylni oching - 8 ") ; // XML fayl deklaratsiyasini yozing Yozib olish. WriteDeclarationXML(); // Yozish. WriteElementStart(" Hujjatlar konfiguratsiyasi") ; // Birinchi element // Fayl yaratilgan sana bilan birinchi elementning atributi Yozib olish. WriteAttribute("hosil qilingan", Format(CurrentDate(), "DF = yyyy-AA- ddSs:dd:ss; DLF = DT")) ; // Har bir konfiguratsiya hujjati uchun element yozing. Biz hujjatning nomini matnga kiritamiz. Metadatadan har bir hujjat uchun. Hujjatlar siklini yozib olish. WriteElementStart("Hujjat"); Yozib olish. WriteText(Doc.Name) ; Yozib olish. WriteEndElement(); EndCycle; // Birinchi elementni yozishni tugating Yozib olish. WriteEndElement(); Yozib olish. Close(); // Faylni yoping // Faylning ikkilik ma'lumotlarini oling va uni vaqtincha saqlashga qo'ying BinaryData = new BinaryData(Path); Manzil = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier); Qaytish manzili; // Xotiraga fayl manzilini qaytaring EndFunction

Yaratilgan har bir element to'g'ri to'ldirilishi kerak. “WriteStartofElement()” bajarilgandan so‘ng “WriteEndElement()” usuli bajarilishi kerak, aks holda XML faylining tuzilishi noto‘g‘ri bo‘ladi.

XML fayllarni yaratish uchun umumiy shablon quyidagi ketma-ketlikdir:

// 1. "XML Record" sinfini ishga tushiring Kirish = Yangi EntryXML; // 2. Yozib olish uchun vaqtinchalik faylni oching Yozib olish. OpenFile (yo'l, "UTF-8"); // 3. XML fayl deklaratsiyasini yozing Yozib olish. WriteDeclarationXML(); // // 4. ++ XML faylining mazmunini yozing Yozib olish. WriteElementStart("XMLElement"); Yozib olish. WriteEndElement(); // -- XML ​​faylining mazmunini yozing // 5. Faylni yoping Yozib olish. Close();

Ushbu besh qadam deyarli har qanday XML faylini yaratadi.

Bizning misolimizda yaratilgan fayl ikkilik ma'lumotlarga aylantiriladi va CreateXML funksiyasi chaqirilgan joyga qaytariladi. Keyinchalik bu fayl fayl tizimiga yozilishi mumkin.

Yuqoridagi skrinshotda yuklangan faylning namunasini ko'rishingiz mumkin.

Uchinchi tomon ilovasi

Misol tariqasida, men uchinchi tomon ilovasida XML faylini o'qishni ko'rsatish uchun .NET Framework dasturida dastur yaratdim.

Dastur yaratilgan faylni o'qiydi va hujjatlarni ro'yxat shaklida ko'rsatadi:

Siz buni o'zingiz sinab ko'rishingiz mumkin, dasturni maqolaning oxiridagi havoladan foydalanib yuklab olish mumkin.

Ko'p qirralilik

XML formati ko'pgina konfiguratsiyalarda 1C: Enterprise platformasidagi amaliy echimlar o'rtasida ma'lumot almashish uchun ishlatiladi. Yana bir keng tarqalgan aloqa usuli - MAQOMOTI ulanishi. XML deyarli har qanday dastur bilan almashish imkonini beradi, shuning uchun uni universal deb atashga loyiqdir.

Yuklab olish uchun fayllar:

XML fayllarni o'qish uchun dastur.

XML faylini yaratishga ishlov berish.

Agar korxona o'z ishida doimiy ravishda qandaydir dasturiy paketlardan foydalansa, tabiiyki, uni doimiy qo'llab-quvvatlash va boshqarish masalasi doimo paydo bo'ladi. Ma'lumotlarni almashish, saqlash va tiklash vazifalaridan qochishning hech qanday usuli yo'q. Keling, 1C-dan XML formatida ma'lumotlarni qanday yuklash yoki tushirishni ko'rib chiqaylik, chunki bu ushbu mavzu uchun muhim protsedura.

Ular shunday qurilganki, yuklashda siz mijoz uchun zarur bo'lgan ma'lumotlar yozib olinadigan XML faylini olishingiz mumkin. Shu bilan birga, yozib olish bilan bir vaqtda, o'tkazilgan yozuvlarning to'g'riligi muhim xatolar uchun nazorat qilinadi.

Shunday qilib, bir ma'lumot bazasidan XML fayliga yuklash (yozuvlarni import qilish) va keyinchalik XML dan boshqasiga yuklash ma'lumotlar bazalari o'rtasida XML formatidagi ma'lumotlar almashinuvini anglatadi.

Ushbu protsedura, ayniqsa katta hajmdagi ma'lumotlar bilan, juda ko'p qo'l mehnatini tejaydi.

Import (natijadagi fayl) kutilmagan holatlarda (agar yo'qolgan yoki shikastlangan bo'lsa) tiklash uchun arxiv sifatida ham foydalanish mumkin.

Bunday qayta ishlash vositalari juda ko'p ishlab chiqilgan va ular Internetda mavjud. Ulardan foydalanish uchun javobgarlik mijozning yelkasiga (va boshiga) tushadi.

Ammo Odeneski rasmiy foydalanuvchilari uchun ishlab chiquvchilar universal protsessorni yaratdilar "XML ma'lumotlarini yuklash / yuklash".

MUHIM. 1C-da XML-ga eksport qilish va 1C-dan keyingi XML-ga yuklash bir xil konfiguratsiyalar uchun qabul qilinadi - aks holda u buziladi.

Universal ishlov beruvchi

Universal dasturchidan foydalanishning asosiy nuqtalari:

  • Yozuvlarni uzatish tugagunga qadar va ularning to'g'riligi tekshirilgunga qadar import qilinadigan fayllarni saqlang;
  • Zaxira nusxalari sifatida foydalanilganda, qidiruvni saralash uchun ularning yozuvi saqlanishi kerak.

Uning ishlashi ikkita rejimga ega: ma'lumotni saqlashda fayl yaratish va import qilishda uni o'qish/yozish.

Bundan tashqari, foydalanuvchi ma'lumotlarni eksport qilishda ham, yuklashda ham qo'shimcha cheklovlar o'rnatishi mumkin.

Yozuvlarni chiqarish

Siz ma'lumotlarni butun ma'lumotlar bazasi bo'ylab va tanlab - ob'ekt bo'yicha yuklashingiz mumkin.

Ishlovchini yuklab olish, o'rnatish va ochgandan so'ng, quyidagilar sodir bo'ladi:

Ularning tanlovi ishga tushirilgandan so'ng ochilgan dialog oynasida amalga oshiriladi. Buni amalga oshirish uchun, olinadigan metadata ob'ektlarini ko'rsatadigan ro'yxatdagi katakchalarni belgilang;

  1. Kerakli filtrlar sozlangan (masalan, sana bo'yicha);
  2. Disk maydoni tanlangan;
  3. Operatsiyaning o'zi boshlanadi.

Yozuvlarni qabul qiluvchiga yuklash

Qabul qiluvchi ma'lumotlar bazasiga ma'lumotlarni qabul qilishning birinchi bosqichi undagi protsessor dasturini ochishdir.

Manba faylga yo'l ko'rsatilgandan va protsedura sozlamalari bayroqlari faollashtirilgandan so'ng (agar kerak bo'lsa), jarayonni "Ma'lumotlarni yuklash" tugmasi bilan boshlashingiz mumkin.


Endi siz ma'lumotlarni saqlash va ma'lumotlar bazalari o'rtasida almashish uchun XML formatida 1C dan ma'lumotlarni qanday yuklash yoki tushirishni bilasiz.

Ushbu masala bo'yicha tajribangiz haqida sharhlarda yozing.

2018-11-15T19:32:35+00:00

Universal ishlov berish "XML ma'lumotlarini yuklash va yuklash" ma'lumotlar bazasi ma'lumotlarini XML formatidagi faylga to'liq yoki qisman tushirishni amalga oshiradi. Keyinchalik, ushbu fayl bir xil ishlov berish yordamida ma'lumot bazasiga yuklanishi mumkin. Yuklash fayl formati sarlavha qismidagi almashinuv rejasiga muvofiq yuklashda yaratilgan fayl formatidan farq qiladi.

Qayta ishlash faqat ma'lumotlar yuklangan ma'lumotlar bazasi va ma'lumotlar yuklangan bir hil bo'lgan (konfiguratsiyalar bir xil, ma'lumotlar farq qilishi mumkin) yoki barcha yuklangan ob'ektlar deyarli bir xil bo'lgan hollarda qo'llanilishi mumkin. detallar va jadval qismlarining tarkibi va turlari, "etakchi" metama'lumotlar ob'ektining xususiyatlari va boshqalar.

Ushbu qayta ishlashdan foydalanish, masalan, ma'lumotlarning to'liq yoki qisman zaxira nusxasini yaratish, infobazalar o'rtasida ma'lumot almashish, shuningdek, noto'g'ri ma'lumotlar bazalarini tiklashda yordamchi vosita sifatida foydalanish mumkin.

Qayta ishlash davri bo'yicha tanlashni belgilash qobiliyati bilan ma'lumotlarni yuklashni qo'llab-quvvatlaydi. XML orqali almashtirilganda yaroqsiz belgilar mavjudligi uchun ob'ektlarni tekshirish ham amalga oshiriladi.

Hurmat bilan, (o'qituvchi va dasturchi).

Tashkilotda buxgalteriya hisobi nafaqat 1C: Enterprise platformasidagi echimlarda, balki boshqa dasturiy ta'minot tizimlarida ham (Galaktika, Parus, SAP va boshqalar) amalga oshirilishi mumkin. Bu ikkita ilovani integratsiyalash muammosini keltirib chiqaradi.

Misol uchun, ba'zi ilovalar (uni "X" deb ataymiz) konfiguratsiya hujjatlari ro'yxatini o'qishi kerak. Biz bunday muammoni hal qilishning amaliy afzalliklari haqida gapirmaymiz, faqat shuni ta'kidlaymanki, bunday vaziyatda eng qulay va universal usul XML formatidagi hujjatlar ro'yxatini yuklash bo'ladi.

Ushbu formatdan foydalangan holda almashinuv universaldir, chunki ko'pgina ilovalar u bilan ishlashi mumkin. Keling, 1C: Enterprise-dan konfiguratsiya hujjatlari ro'yxatini XML fayliga qanday yuklashingiz mumkinligini ko'rib chiqaylik.

XML-ga yuklash

Shunday qilib, keling, asosiy narsaga o'tamiz. Hujjat metadata ro'yxatini aylanib o'tishimiz va ro'yxatni XML faylida yaratishimiz kerak. Quyidagi skrinshotda XML faylini yaratish algoritmi ko'rsatilgan:

CreateXML() funktsiyasini eksport qilish // Vaqtinchalik fayl nomini oling Yo'l = GetTemporaryFileName() ; // "XML Record" sinfini ishga tushiring Kirish = Yangi EntryXML; // Yozish uchun vaqtinchalik faylni oching- 8 " ) ; // XML fayl deklaratsiyasini yozing Yozib olish. WriteDeclarationXML(); // Yozish. WriteElementStart(" Hujjatlar konfiguratsiyasi" ) ; // Birinchi element // Fayl yaratilgan sana bilan birinchi elementning atributi Yozib olish. WriteAttribute("hosil qilingan", Format(CurrentDate(), "DF = yyyy-AA- ddSs:dd:ss; DLF = DT" ) ) ; // Har bir konfiguratsiya hujjati uchun element yozing. Biz hujjatning nomini matnga kiritamiz. Metadatadan har bir hujjat uchun. Hujjatlar siklini yozib olish. WriteElementStart("Hujjat"); Yozib olish. WriteText(Doc.Name) ; Yozib olish. WriteEndElement(); EndCycle; // Birinchi elementni yozishni tugating Yozib olish. WriteEndElement(); Yozib olish. Close(); // Faylni yoping // Faylning ikkilik ma'lumotlarini oling va uni vaqtincha saqlashga qo'ying BinaryData = new BinaryData(Path); Manzil = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier); Qaytish manzili; // Xotiraga fayl manzilini qaytaring EndFunction

Yaratilgan har bir element to'g'ri to'ldirilishi kerak. “WriteStartofElement()” bajarilgandan so‘ng “WriteEndElement()” usuli bajarilishi kerak, aks holda XML faylining tuzilishi noto‘g‘ri bo‘ladi.

XML fayllarni yaratish uchun umumiy shablon quyidagi ketma-ketlikdir:

// 1. "XML Record" sinfini ishga tushiring Kirish = Yangi EntryXML; // 2. Yozib olish uchun vaqtinchalik faylni oching Yozib olish. OpenFile (yo'l, "UTF - 8 " ) ; // 3. XML fayl deklaratsiyasini yozing Yozib olish. WriteDeclarationXML(); // // 4. ++ XML faylining mazmunini yozing Yozib olish. WriteElementStart("XMLElement"); Yozib olish. WriteEndElement(); // -- XML ​​faylining mazmunini yozing // 5. Faylni yoping Yozib olish. Close();

Ushbu besh qadam deyarli har qanday XML faylini yaratadi.

Bizning misolimizda yaratilgan fayl ikkilik ma'lumotlarga aylantiriladi va CreateXML funksiyasi chaqirilgan joyga qaytariladi. Keyinchalik bu fayl fayl tizimiga yozilishi mumkin.

Yuqoridagi skrinshotda yuklangan faylning namunasini ko'rishingiz mumkin.

Uchinchi tomon ilovasi

Misol tariqasida, men uchinchi tomon ilovasida XML faylini o'qishni ko'rsatish uchun .NET Framework dasturida dastur yaratdim.

Dastur yaratilgan faylni o'qiydi va hujjatlarni ro'yxat shaklida ko'rsatadi:

Siz buni o'zingiz sinab ko'rishingiz mumkin, dasturni maqolaning oxiridagi havoladan foydalanib yuklab olish mumkin.

Ko'p qirralilik

XML formati ko'pgina konfiguratsiyalarda 1C: Enterprise platformasidagi amaliy echimlar o'rtasida ma'lumot almashish uchun ishlatiladi. Yana bir keng tarqalgan aloqa usuli - MAQOMOTI ulanishi. XML deyarli har qanday dastur bilan almashish imkonini beradi, shuning uchun uni universal deb atashga loyiqdir.

Yuklab olish uchun fayllar:

XML fayllarni o'qish uchun dastur.

XML faylini yaratishga ishlov berish.

Savdo yoki ish haqidan yuklab olingan ma'lumotlarni 1C: Buxgalteriya 8.3 (3.0 tahriri) ga qanday yuklash mumkin?

2016-12-01T12:52:06+00:00

Ko'pincha savdo yoki ish haqi to'g'risidagi ma'lumotlar buxgalteriya hisobiga o'tkaziladi.

Yuklab olingan ma'lumotlar kengaytmali fayl " .xml". Uni dasturga qanday yuklash mumkin?

  1. dan boshlaylik zaxira nusxasini yaratish buxgalteriya bo'limi, agar yuklab olish ma'lumotlar bazasini buzsa, biz asl holatiga qaytishimiz mumkin. Zaxira nusxalarini yaratish haqida yozilgan.
  2. Endi menyuni oching " Barcha funksiyalar" (bu haqida ).
  3. Ochilgan oynada elementni toping " Muolajalar" va uni ortiqcha belgisi bilan oching.
  4. Biz uning elementlarini qayta ishlashni topamiz va ochamiz " XML formatida universal ma'lumotlar almashinuvi".
  5. ".
  6. bildiramiz faylga yo'l undan biz ma'lumotlarni yuklaymiz.
  7. "tugmasini bosing Ma'lumotlarni yuklab olish".

Agar hamma narsa yaxshi bo'lsa, ajoyib! Agar xatolar mavjud bo'lsa, unda sabab, ehtimol, savdodan yoki maoshdan tushirish uchun noto'g'ri (eskirgan) qoidalar ishlatilgan - ularni yangilash va qayta tushirish kerak.

Hurmat bilan, (o'qituvchi va dasturchi).

- zaif tekshiruvlar bilan XML analogi bo'lgan taniqli veb-sahifalar.

XML Reader/Writer Objects, FastInfoset, HTML belgilash teglarini o'rnatilgan qayta ishlash bilan matnli fayllarni o'qish imkoniyatlarini kengaytiradi.

Ular, shuningdek, ma'lumotlar manbalari sifatida DOMBuilder/DOMRecord ob'ektlari uchun ishlatiladi (pastga qarang).

XML 1C fayllari matnli ma'lumotlarni o'z ichiga oladi, ya'ni ular matnli fayllardir. 1C XML Reader va 1C Write XML ob'ektlari 1C faylida XML teglari bilan ishlashni osonlashtiradigan "qo'shimcha" hisoblanadi.

ReadingFastInfoset 1C va WritingFastInfoset 1C, ReadingHTML 1C va WritingHTML 1C obyektlari ReadingXML 1C va WritingXML 1C bilan butunlay o‘xshash va boshqa formatlar bilan bir xilda ishlashga xizmat qiladi.

Misollarda ishlatiladigan XML 1C fayli

Katalog>

Katalog>

Matn valueProps>
Katalog>
Konfiguratsiya>

Misol 1. Reading XML 1C yordamida 1C XML faylini qiymatlar daraxtiga o'qish

// ReadingXML 1C yordamida o'qish uchun XML 1C faylini oching
Fayl = Yangi ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

//qiymat daraxtini tayyorlang
//har bir XML filiali nomi, atributlari va qiymatiga ega bo'lishi mumkin
dzXML = NewValueTree();
dzXML.Columns.Add("Ism");
dzXML.Columns.Add("Qiymat");
dzXML.Columns.Add("Atributlar");

//XML qatori bir nechta atributlarga ega bo'lishi mumkinligi sababli, biz ularni qiymatlar jadvaliga yozamiz
//har bir atributning nomi va qiymati bor
tAtributlar = Yangi qiymatlar jadvali();
tAttributes.Columns.Add("Ism");
tAttributes.Columns.Add("Qiymat");

//uyalash darajasi bizga qachon ichki novda qo'shishimiz kerakligini va qachon yuqoriga qaytishimiz kerakligini tushunishga yordam beradi.
Yuvalash darajasi = 0;
//joriy chiziq - bu daraxt chizig'i, uya ko'payishi bilan o'zgaradi
CurrentRow = Aniqlanmagan;
//XML 1C faylini o'qish satr satr emas, balki strukturaga ko'ra amalga oshiriladi; fayl tugagach, o'qish FALSE qaytaradi.
While File.Read() sikli

//bizni uchta turdagi tugun qiziqtiradi - elementning boshlanishi, matn (elementning qiymati) va elementning oxiri (yuqori darajaga qaytish uchun)
Agar File.NodeType = XMLNodeType.ElementStart Keyin

Yuvalash darajasi = Yuvalash darajasi + 1;

//agar bu birinchi qator bo'lsa, uni daraxtning eng yuqori qismiga qo'shing va faqat nomini saqlang
Agar CurrentRow = Aniqlanmagan bo'lsa
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = File.Name;
Davom etish;
Aks holda
// ichki qatorlar
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = File.Name; //nomni saqlang

//bu XML elementining atributlari bormi?
Agar File.NumberAttributes() > 0 bo'lsa
//ha bo'lsa, atributlarni saqlash uchun tayyorlangan bo'sh jadvaldan nusxa oling
tAttributesNode = tAttributes.Copy();
//ushbu elementning atributlari soni bo'yicha aylanish
Hisob uchun = 0 fayl bo'yicha. Atributlar soni()-1 sikl
//har bir atribut uchun nom va qiymatni eslab qoling
Qator = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
EndCycle;
//elementning atributlar jadvalini joriy satrga saqlang
CurrentRow.Attributes = tNodeAttributes;
endIf;
endIf;

ElseIf File.NodeType = XMLNodeType.EndElement Keyin
//elementning boshida biz joylashtirish darajasini oshiramiz, element oxirida biz uni kamaytiramiz
Yuvalash darajasi = Yuvalash darajasi - 1;
//joriy qatorni bir daraja yuqoriga qaytarish
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text Keyin
//agar element qiymatga ega bo'lsa, uni saqlash kifoya
CurrentRow.Value = File.Value;

endIf;

EndCycle;

File.Close();

Misol 2. 1C Record XML obyekti yordamida 1C XML faylini yozib olish

//fayl yaratish XML 1C yozib olish
Fayl = NewWriteXML();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Konfiguratsiya");

//barcha kataloglarni aylanib o'tish uchun metama'lumotlardan foydalaning (batafsil ma'lumot uchun "Metama'lumotlar bilan ishlash" ga qarang)
Metadata.Directories Cycle-dan har bir katalog uchun

//WriteStartofElement - yangi [bo'ysunuvchi] filialni ochadi
File.WriteElementStart("Katalog");
//WriteAttribute - avval ochilgan filialga atribut yozadi
File.WriteAttribute("Ism", Directory.Name);
File.WriteAttribute("Sinonim", Directory.Sinonim);

// metama'lumotlardan foydalanib, biz katalogning barcha tafsilotlarini ko'rib chiqamiz
Directory.Props tsiklidan har bir rekvizit uchun




EndCycle;

//katalogning barcha jadval qismlarini aylanib o'tish uchun metama'lumotlardan foydalaning
Katalogdagi har bir PM uchun.Tsiklning jadval qismlari
File.WriteElementStart("TabularPart");
File.WriteAttribute("Ism", PM.Name);
File.WriteAttribute("Sinonim", PM.Sinonimi);

PM.Props Cycle-dan har bir rekvizit uchun
File.WriteElementStart("Props");
File.WriteAttribute("Ism", Atributlar.Name);
File.WriteAttribute("Sinonim", Atributlar.Sinonim);
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
EndCycle;

//WriteEndElement - WriteBeginElement yordamida avval ochilgan filialni "yopishadi"
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
File.Close();



 


O'qing:



Eng yaxshi simsiz minigarnituralar reytingi

Eng yaxshi simsiz minigarnituralar reytingi

Universal quloqlarni arzon sotib olish mumkinmi? 3000 rubl - bunday pulga yuqori sifatli eshitish vositalarini sotib olish mumkinmi? Ma'lum bo'lishicha, ha. Va nutq ...

Mobil qurilmaning asosiy kamerasi odatda tananing orqa tomonida joylashgan bo'lib, fotosuratlar va videolarni olish uchun ishlatiladi

Mobil qurilmaning asosiy kamerasi odatda tananing orqa tomonida joylashgan bo'lib, fotosuratlar va videolarni olish uchun ishlatiladi

Yaxshilangan xarakteristikalar va yuqori avtonomiyaga ega planshetning yangilangan versiyasi.Acer smartfonlariga kamdan-kam tashrif buyuradi...

Raqamingizni saqlab qolgan holda boshqa operatorga qanday o'tish mumkin

Raqamingizni saqlab qolgan holda boshqa operatorga qanday o'tish mumkin

Rossiyada 1 dekabrdan boshlab abonent boshqa uyali aloqa operatoriga o‘tganda telefon raqamini saqlab qolish to‘g‘risidagi qonun kuchga kirdi. Biroq, ma'lum bo'lishicha, ...

phabletni ko'rib chiqish, qimmat, lekin juda malakali

phabletni ko'rib chiqish, qimmat, lekin juda malakali

Qimmatbaho, lekin juda malakali fablet sharhi 20.03.2015 Men dunyodagi etiksiz yagona poyabzalchiman, o'z smartfonimsiz smartfon sharhlovchisiman....

tasma tasviri RSS