QO‘NG‘IROQ

Bu xabarni sizdan oldin o'qiganlar bor.
Eng so'nggi maqolalarni olish uchun obuna bo'ling.
Elektron pochta
Ism
Familiya
Qo'ng'iroqni qanday o'qishni xohlaysiz
Spam yo'q

Maxsus konfiguratsiya "1C: Ma'lumotlarni aylantirish 2.0"

1C: Enterprise platformasining sakkizinchi versiyasining chiqarilishi avtomatlashtirish tizimlarini rivojlantirishda muhim qadam bo'ldi. 1C: Enterprise 8 platformasini loyihalashda 1C: Enterprise 7.7 platformasi asosidagi yechimlardan foydalanish bo'yicha katta tajriba inobatga olindi: platformaning o'rnatilgan tili va tipik konfiguratsiyalari jiddiy ravishda qayta ishlab chiqilgan, ma'lumotlarni saqlash va kirish tuzilmasi. o'zgartirildi, yangi platformaning afzalliklarini amalga oshiradigan yangi sanoat echimlari yaratildi. Yangi platformada oldingi til konstruksiyalaridan foydalanish noo‘rin bo‘lib qoldi.

Ushbu muammoni hal qilishni osonlashtirish uchun (7.7-versiyadan 8-versiyaga ma'lumotlarni uzatish) 1C ixtisoslashtirilgan "Ma'lumotlarni aylantirish 2.0" konfiguratsiyasini chiqardi. U mutaxassislarga ma'lumotlarni uzatishning turli muammolarini hal qilishda yordam berish uchun yaratilgan. 1C bir xil turdagi konfiguratsiyalardan ma'lumotlarni uzatish uchun tayyor qoidalarni chiqardi, masalan, 1C: Buxgalteriya 7.7 dan 1C: Buxgalteriya 8, lekin 1C: Enterprise 8 platformasiga o'tishda nostandart yoki o'zgartirilgan standart konfiguratsiya foydalanuvchilari. uzatish qoidalari ma'lumotlarini o'zingiz yaratishingiz kerak bo'ladi.

Ma'lumotlarni uzatish muammolarini hal qilishning barcha xilma-xil xususiy usullari bilan hal qilinishi kerak bo'lgan muammolar doirasi deyarli o'zgarishsiz qolmoqda:

Ma'lumotnoma ma'lumotlarini sinxronlashtirish (yangisini yaratish, yangilash mavjud elementlar kataloglar, ierarxiyani o'chirish, saqlash yoki o'zgartirish, ma'lumotlarni tarmoqqa bo'lish, davriy tafsilotlarning qiymatlarini o'zgartirish tarixini uzatish);

Hujjatlar va operatsiyalarni sinxronlashtirish (hujjatlarni yaratish, o'zgartirish yoki bir turdagi hujjatni boshqasiga o'zgartirish, birlashtirish yoki ko'paytirish);

Buxgalteriya registrlarini yuritish uchun etarli boshlang'ich sharoitlarni yaratish iqtisodiy faoliyat(qolgan tovarlarni o'tkazish va boshqalar).

1C: Korxonada turli xil versiyalar va / yoki konfiguratsiyalardagi ma'lumotlarni saqlash tuzilmalari har xil, shuning uchun ma'lumotlarni uzatish nafaqat fayllar yoki jadvallarni nusxalash, balki ularni konvertatsiya qilishdir. Transformatsiya aniq va to'g'ri bo'lishi uchun ma'lumotlarni uzatish qoidalarini yaratish va sozlash kerak. Turli ma'lumotlar bazalari o'rtasida ma'lumotlarni uzatish qoidalarini yaratish va sozlash, agar manba va maqsadli ma'lumotlar bazalarida ma'lumotlarni saqlash tuzilishi ma'lum bo'lsa, mumkin. Konfiguratsiya metama'lumotlari strukturasi tavsifi birlashtirilgan bo'lishi kerak. Data Conversion 2.0 konfiguratsiyasi manba va maqsad konfiguratsiyasi metama’lumotlar strukturasi tavsiflari asosida ma’lumotlarni uzatish qoidalarini yaratish va sozlash uchun ishlatiladi.

Infobazalar o'rtasida ma'lumotlarni uzatish jarayoni quyidagi bosqichlardan iborat:

  • 1. Metadata tavsifi fayllarini yaratish.
  • 2. "Ma'lumotlarni o'zgartirish" da konfiguratsiyalarni yaratish.
  • 3. Konversiyaning o'zini yaratish.
  • 4. Ma'lumotlarni o'zgartirish qoidalarini izchil yaratish.
  • 5. Ma'lumotlarni yuklash qoidalarini izchil yaratish.
  • 6. Bir konfiguratsiyadan boshqasiga ma'lumotlarni tushirish va yuklashning haqiqiy tartibi.

Chunki Ushbu maxsus konfiguratsiyadan foydalanish eng samarali hisoblanadi bu daqiqa ushbu turdagi muammolarni hal qilish yo'llari va qo'shimcha ravishda o'quv maqsadlari uchun juda foydali shaxsiy tajriba manbai, keyin MChJ uchun "Server: ijarani hisoblash" va "1C: Korxona hisobi" IS o'rtasida ma'lumotlar almashinuvi mexanizmini ishlab chiqish. MChJ" usuli "Ma'lumotlarni aylantirish 2.0" konfiguratsiyasidan foydalanishga asoslangan.

Ma'lumotlarni o'zgartirish 2.0 va 2.1 - 8.1 dan 8.3 gacha bo'lgan platforma versiyalarida amalga oshirilgan 1C texnologik konfiguratsiyasi.

Asbobning asosiy vazifasi 1C 8 va 7 dastur yechimlari o'rtasida almashish qoidalarini yozishdir.Bugungi kunda ma'lumotlarni konvertatsiya qilishning joriy versiyasi 3.0.

Ma'lumotlarni konvertatsiya qilish juda foydali konfiguratsiya bo'lib, uning yordamida siz nafaqat ma'lumotni bir ma'lumot bazasidan boshqasiga o'tkazish masalasini, balki, masalan, bitta ma'lumotlar bazasi ichidagi ma'lumotlarni o'zgartirish masalasini ham hal qilishingiz mumkin.

Konfiguratsiya qachon foydalanish uchun juda qulay.

Ma'lumotlarni konvertatsiya qilish har qanday dasturchi uchun foydali bo'ladi: almashinuv qoidalarini yaratish ko'nikmalariga ega bo'lish professional ko'nikmalar uchun jiddiy ortiqcha.

Konfiguratsiya bilan ishlashni o'rganish uchun amaliy muammolarni hal qilish eng mos keladi. O'zingiz uchun vazifalarni ishlab chiqishga harakat qiling, masalan: har qanday ma'lumotni bir ma'lumotlar bazasidan boshqasiga o'tkazish, amalga oshirish hujjatini kvitansiya hujjatiga aylantirish, "haydash" joriy balanslar yoqilgan buxgalteriya hisobi hujjatda "balanslarni kiritish" va boshqa vazifalar.

1C 8.3 almashinuvining "odatiy" qoidalarini tushunish juda foydali bo'ladi, u erda siz ko'pincha vazifalarni bajarishning qiziqarli misollarini topishingiz mumkin.

Asoslarni tushunish uchun sizga materiallar kerak bo'ladi, ularni quyida ko'rib chiqing.

Video aylantirish uchun ko'rsatma

"1C Data Conversion" konfiguratsiyasidan foydalangan holda 1C-da ma'lumotlar almashinuvini sozlash asoslari uchun misol uchun videoga qarang:

1C Data Conversion 2.0 ni o'rganish uchun materiallar, darsliklar

Tarmoqda juda ko'p materiallar va hujjatlar yo'q, men eng muhim va qiziqarli materiallarni to'plashga harakat qildim:

0. Avvalo, men Ilya Leontievning bepul video kursini maslahat beraman, u erda mavjud havola.

1. Men birinchi navbatda konfiguratsiyada o'rnatilgan yordamdan foydalanishni maslahat bergan bo'lardim. Bu, albatta, yaxshi yozilgan va texnik jihatdan yaxshi amalga oshirilgan:

2. Ma'lumotlarning ikkinchi eng muhim manbasi bu faqat ma'lumotlarni konvertatsiya qilishga ixtisoslashgan http://www.mykod.info/ sayti (sayt yopildi). U erda siz ko'p sonli konvertatsiya materiallarini yuklab olishingiz mumkin.

3. Alohida, men o'quv qo'llanma darsligini ta'kidlamoqchiman - (muallif - Olga Kuznetsova).

Turli xil konfiguratsiyalar o'rtasida ma'lumotlarni ko'chirish ahamiyatsiz vazifa emas. Har doimgidek, bir nechta echimlar mavjud, ammo ularning hammasi ham maqbul emas. Keling, ma'lumotlarni uzatishning nuanslarini tushunishga harakat qilaylik va bunday muammolarni hal qilish uchun universal strategiyani tanlaylik.

Kecha ma'lumotlarni ko'chirish muammosi (bu faqat 1C kompaniyasining mahsulotlari haqida) bir yechimdan boshqasiga o'tmagan. 1C kompaniyasi migratsiyalarni yaratishda ishlab chiquvchilar duch keladigan qiyinchiliklarni yaxshi biladi, shuning uchun u asboblar bilan yordam berishga harakat qiladi.

Platformani ishlab chiqish jarayonida kompaniya bir qator universal vositalarni, shuningdek, ma’lumotlarni uzatishni soddalashtiruvchi texnologiyalarni joriy qildi. Ular barcha standart echimlarga o'rnatilgan va bir xil konfiguratsiyalar o'rtasidagi migratsiya muammosi odatda hal qilingan. G'alaba standart echimlarning yaqin integratsiyasi bilan yana bir bor tasdiqlanadi.

Nostandart echimlar orasidagi migratsiya bilan vaziyat biroz murakkabroq. Keng ko'lamli texnologiyalar ishlab chiquvchilarga muammoni o'z nuqtai nazaridan hal qilishning eng yaxshi usulini mustaqil ravishda tanlash imkonini beradi.

Keling, ulardan ba'zilarini ko'rib chiqaylik:

  • matnli fayllar orqali almashish;
  • almashinuv rejalaridan foydalanish;
  • va hokazo.

Ularning har biri o'zining ijobiy va salbiy tomonlariga ega. Xulosa qilib aytadigan bo'lsak, asosiy kamchilik - bu aniqlik. Migratsiya algoritmlarini mustaqil ravishda amalga oshirish katta vaqt xarajatlarini, shuningdek, disk raskadrovka jarayonini uzoq davom ettirishni talab qiladi. Men bunday qarorlarni keyingi qo'llab-quvvatlash haqida gapirishni ham xohlamayman.

Xizmatning murakkabligi va yuqori narxi 1C kompaniyasini universal yechim yaratishga undadi. Migratsiyani rivojlantirish va qo'llab-quvvatlashni iloji boricha soddalashtirishga imkon beruvchi texnologiya. Natijada, g'oya alohida konfiguratsiya - "Ma'lumotlarni aylantirish" shaklida amalga oshirildi.

Ma'lumotlarni konvertatsiya qilish - standart echim, o'z-o'zini sozlash. ITS:Prof obunasi bo'lgan har qanday foydalanuvchi ushbu paketni foydalanuvchilarni qo'llab-quvvatlash sayti yoki ITS diskidan butunlay bepul yuklab olishi mumkin. O'rnatish standart tarzda amalga oshiriladi - 1C dan boshqa barcha standart echimlar kabi.

Endi yechimning afzalliklari haqida bir oz. Eng muhimi - ko'p qirralilikdan boshlaylik. Yechim ma'lum platforma konfiguratsiyasi/versiyalariga moslashtirilmagan. U standart konfiguratsiyalar va o'z-o'zidan yozilganlar bilan teng darajada yaxshi ishlaydi. Ishlab chiquvchilar universal texnologiya va yangi migratsiyalarni yaratish uchun standartlashtirilgan yondashuvga ega bo'lishadi. Yechimning ko'p qirraliligi hatto 1C: Enterprise'dan boshqa platformalar uchun ham migratsiyalarni tayyorlashga imkon beradi.

Ikkinchi qalin ortiqcha - ko'rgazmali qo'llanmalar. Oddiy migratsiya dasturlashsiz yaratiladi. Ha, ha, bitta kod satrisiz! Faqat buning uchun texnologiyani bir marta o'rganishga vaqt sarflash va keyin bebaho ko'nikmalarni qayta-qayta ishlatishga arziydi.

Men ta'kidlagan uchinchi afzallik - ma'lumotlarni tarqatishda cheklovlar yo'qligi. Ishlab chiquvchining o'zi qabul qiluvchi konfiguratsiyasiga ma'lumotlarni etkazib berish usulini tanlaydi. Ikkita variant mavjud: xml fayliga yuklash va ma'lumot bazasiga (COM/OLE) to'g'ridan-to'g'ri ulanish.

Arxitekturani o'rganish

Biz allaqachon bilamizki, ma'lumotlarni konvertatsiya qilish mo''jizalar yaratishi mumkin, ammo texnik afzalliklari nimada ekanligi hali aniq emas. O'rganish kerak bo'lgan birinchi narsa - har qanday ma'lumotlarni ko'chirish (konversiya) almashinuv qoidalariga asoslangan. Birja qoidalari - IB dan ma'lumotlar yuklanadigan tuzilma tavsifi bilan oddiy xml fayli. Ma'lumotlarni yuklash/yuklab olishni amalga oshiradigan xizmatni qayta ishlash almashinuv qoidalarini tahlil qiladi va ular asosida yuklashni amalga oshiradi. Yuklab olish jarayonida teskari jarayon sodir bo'ladi.

"KD" konfiguratsiyasi - bu ishlab chiquvchi almashinuv qoidalarini yaratadigan vizual konstruktorning bir turi. Ma'lumotni qanday yuklashni bilmaydi. Buning uchun CD tarqatish to'plamiga kiritilgan qo'shimcha tashqi xizmatni qayta ishlash javobgardir. Ulardan bir nechtasi bor (fayl nomidagi XX - platforma versiyasi raqami):

  • MDXXExp.epf- ishlov berish xml fayliga infobase strukturasi tavsifini yuklash imkonini beradi. Tuzilish tavsifi keyingi tahlil qilish va almashinuv qoidalarini yaratish uchun kompakt diskga yuklanadi.
  • V8ExchanXX.epf- almashinuv qoidalariga muvofiq infobazadan ma'lumotlarni yuklaydi/yuklaydi. Ko'pgina odatiy konfiguratsiyalarda ishlov berish qutidan tashqarida mavjud ("Xizmat" menyusi bandiga qarang). Qayta ishlash universaldir va hech qanday maxsus konfiguratsiyalar/qoidalar bilan bog'liq emas.

Xo'sh, endi yuqorida aytilganlarning barchasiga asoslanib, keling, yangi konversiyani ishlab chiqish bosqichlarini aniqlaymiz:

  1. Vazifa ta'rifi. Qaysi ma'lumotlarni uzatish kerakligini (qaysi konfiguratsiya ob'ektlaridan) va eng muhimi, qaerga o'tkazish kerakligini aniq tushunish kerak.
  2. Keyinchalik CD ga yuklash uchun konfiguratsiya tuzilmalari (Manba/Qabul qiluvchi) tavsifini tayyorlash. Vazifa MDXXExp.epf xizmatini qayta ishlash orqali hal qilinadi.
  3. ISda tuzilmalarning tayyorlangan tavsiflarini yuklash.
  4. CD ning vizual vositalaridan foydalangan holda almashinuv qoidalarini yaratish.
  5. V8ExchanXX.epf ishlovidan foydalangan holda yaratilgan ma'lumotlarni aylantirish qoidalariga muvofiq yuklash/yuklash.
  6. Nosozliklarni tuzatish almashinuvi qoidalari (agar kerak bo'lsa).

Eng oddiy konvertatsiya

Namoyish uchun bizga ikkita o'rnatilgan konfiguratsiya kerak. Men variantda to'xtashga qaror qildim: "Savdoni boshqarish" 10-nashr va kichik o'z-o'zidan yozilgan yechim. Vazifa odatiy UT konfiguratsiyasidan ma'lumotlarni uzatish bo'ladi. Qisqacha aytganda, biz o'z-o'zidan yozilgan yechimni "Qabul qiluvchi" va savdo boshqaruvini "Manba" deb ataymiz. Keling, muammoni hal qilishni "Nomenklatura" katalogining elementlarini o'tkazish orqali boshlaylik.

Avvalo, ma'lumotlarni konvertatsiya qilish sxemasini ko'rib chiqamiz va bajarilishi kerak bo'lgan harakatlar ro'yxatini qayta o'qib chiqamiz. Keyin biz "Manba" konfiguratsiyasini ishga tushiramiz va unda MD82Exp.epf xizmatini qayta ishlashni ochamiz.

Ishlov berish interfeysi juda ko'p sozlamalar bilan porlamaydi. Foydalanuvchi faqat strukturaning tavsifiga kirmaydigan metadata ob'ektlari turlarini ko'rsatishi kerak. Ko'pgina hollarda, bu sozlamalarni o'zgartirish kerak emas, chunki yig'ish registrlarida (misol sifatida) tushirish harakatlarida alohida nuqta yo'q.

Hujjatlarni qabul qiluvchida saqlash vaqtida harakatni shakllantirish to'g'riroq. Barcha harakatlar hujjatning o'zi tomonidan transferdan keyin amalga oshiriladi. Standart sozlamalarni himoya qilishning ikkinchi argumenti yuklangan fayl hajmini kamaytirishdir.

Ba'zi hujjatlar (ayniqsa, odatiy konfiguratsiyalarda) bir nechta registrlarda harakatlarni tashkil qiladi. Ushbu iqtisodning barchasini tushirish natijasida XML fayli juda katta bo'ladi. Bu qabul qiluvchi bazasiga keyingi tashish va yuklashni qiyinlashtirishi mumkin. Ma'lumotlar fayli qanchalik katta bo'lsa, uni qayta ishlash uchun ko'proq RAM talab qilinadi. Amaliyotim davomida men juda katta hajmdagi yuklangan fayllarga duch keldim. Bunday fayllar standart vositalar bilan tahlil qilishdan butunlay voz kechdi.

Shunday qilib, biz barcha standart sozlamalarni qoldiramiz va konfiguratsiya tavsifini faylga yuklaymiz. Xuddi shu tartibni ikkinchi asos uchun takrorlaymiz.

CDni oching va asosiy menyudan tanlang "Kataloglar" -> "Konfiguratsiyalar". Katalog konversiyalarni yaratish uchun ishlatilishi mumkin bo'lgan barcha konfiguratsiyalar tuzilmalarining tavsiflarini saqlaydi. Biz konfiguratsiya tavsifini bir marta yuklaymiz va undan keyin turli konversiyalarni yaratish uchun uni qayta-qayta ishlatishimiz mumkin.

Katalog oynasida " tugmasini bosing. Qo'shish” va paydo bo'lgan oynada konfiguratsiya tavsifi bilan faylni tanlang. "Yangi konfiguratsiyaga yuklash" katagiga belgi qo'ying va "Yuklashni amalga oshirish" tugmasini bosing. Biz shunga o'xshash harakatlarni ikkinchi konfiguratsiya strukturasining tavsifi bilan bajaramiz.

Endi hamma narsa almashinuv qoidalarini yaratishga tayyor. Asosiy CD menyusida "Ma'lumotnomalar" -> "Konversiyalar" ni tanlang. Yangi element qo'shish. Yangi konversiyani yaratish oynasida quyidagilarni ko'rsatishingiz kerak: manba konfiguratsiyasi (UT ni tanlang) va qabul qiluvchining konfiguratsiyasi ("Qabul qiluvchi" ni tanlang). Keyin, "Kengaytirilgan" yorlig'ini oching va quyidagi maydonlarni to'ldiring:

  • almashish qoidalari fayl nomi - yaratilgan almashinuv qoidalari shu nom ostida saqlanadi. Fayl nomi istalgan vaqtda o'zgartirilishi mumkin, lekin uni hozir o'rnatish yaxshidir. Bu kelajakda vaqtni tejaydi. Men demo uchun qoidalarni nomladim: "rules-ut-to-priemnik.xml".
  • nom - konvertatsiya nomi. Ism mutlaqo har qanday bo'lishi mumkin, men o'zimni "Demo" bilan chekladim. Qabul qiluvchiga UT”.

Hammasi shunday, "OK" tugmasini bosing. Darhol bizning oldimizda barcha qoidalarni avtomatik ravishda yaratishimizni so'ragan oyna paydo bo'ladi. Bunday jozibali taklifga rozi bo'lish ustaga tanlangan konfiguratsiyalar tavsifini avtomatik ravishda tahlil qilish va almashish qoidalarini mustaqil ravishda yaratish buyrug'ini beradi.

Keling, darhol "va" ni belgilaymiz. Usta hech qanday jiddiy narsani yarata olmaydi. Biroq, bu imkoniyatni chegirmaslik kerak. Agar siz bir xil konfiguratsiyalar o'rtasida almashinuvni o'rnatishingiz kerak bo'lsa, sehrgarning xizmatlari juda foydali bo'ladi. Bizning misolimiz uchun qo'lda rejim afzalroqdir.

Keling, "Almashtirish qoidalari sozlamalari" oynasini batafsil ko'rib chiqaylik. Interfeys biroz chalkash tuyulishi mumkin - boshqaruv elementlari bilan to'ldirilgan ko'p sonli yorliqlar. Darhaqiqat, hamma narsa unchalik qiyin emas, siz dastur bilan bir necha soat ishlashingizdan keyin bu jinnilikka ko'nikishni boshlaysiz.

Ushbu bosqichda biz ikkita yorliq bilan qiziqamiz: "Ob'ektni o'zgartirish qoidalari" va "Ma'lumotlarni yuklash qoidalari". Birinchisida biz mos keladigan qoidalarni o'rnatishimiz kerak, ya'ni. ikkita konfiguratsiya ob'ektlarini solishtiring. Ikkinchisida, foydalanuvchiga tushirish uchun mavjud bo'lgan ob'ektlarni aniqlang.

"Ob'ektni o'zgartirish qoidalari" yorlig'ining ikkinchi yarmida ikkita yorliqli qo'shimcha panel mavjud: "Mulkni o'zgartirish" va " Qiymat konvertatsiyasi". Birinchisi tanlangan ob'ektning xususiyatlarini (rekvizitlarini) tanlaydi, ikkinchisi esa oldindan belgilangan qiymatlar (masalan, oldindan belgilangan lug'at elementlari yoki sanab elementlari) bilan ishlash uchun zarurdir.

Ajoyib, endi kataloglar uchun konvertatsiya qoidalarini yarataylik. Siz ushbu amalni ikki usulda bajarishingiz mumkin: ob'ektni sinxronlashtirish ustasidan foydalaning ("" tugmasini bosing) yoki har bir ob'ekt uchun mosliklarni qo'lda qo'shing.

Joyni tejash uchun biz birinchi variantdan foydalanamiz. Sehrgar oynasida katakchani olib tashlang " Hujjatlar” (bizni faqat kataloglar qiziqtiradi) va guruhni kengaytiring. Ma'lumotnomalar". Biz ro'yxatni diqqat bilan aylantiramiz va taqqoslash mumkin bo'lgan kataloglarning nomlarini ko'rib chiqamiz.

Mening holatimda uchta ma'lumotnoma mavjud: Nomenklatura, Tashkilotlar va Omborlar. Shuningdek, bir xil semantik yukni bajaradigan "Clients" katalogi ham mavjud. Qarama-qarshi tomonlar"konfiguratsiyadan" UT". To'g'ri, usta ajoyib nomlari tufayli ularni taqqoslay olmadi.

Biz bu kamchilikni o'zimiz tuzatishimiz mumkin. Oynada toping Ob'ektni xaritalash» qo‘llanma « Mijozlar”, va “Manba” ustunida “Qarshi tomonlar” ma’lumotnomasini tanlang. Keyin "Type" ustunidagi katakchani belgilang va "OK" tugmasini bosing.

Ob'ektlarni sinxronlashtirish ustasi barcha tanlangan ob'ektlarning xususiyatlarini avtomatik ravishda o'zgartirish qoidalarini yaratishni taklif qiladi. Xususiyatlar nom bilan mos keladi va bizning namoyishimiz uchun bu etarli bo'ladi, biz rozi bo'lamiz. Keyingi savol yuklash qoidalarini yaratish taklifi bo'ladi. Keling, bunga rozi bo'laylik.

Ayirboshlash qoidalari uchun asos tayyor. Sinxronizatsiya uchun ob'ektlarni tanladik va xususiyatlarni o'zgartirish qoidalari va yuklash qoidalari avtomatik ravishda yaratildi. Keling, almashish qoidalarini faylga saqlaymiz, keyin IB "Manba" ni oching (mening holimda bu UT) va unda xizmat ko'rsatishni boshlaylik. V8Exchan82.epf.

Avvalo, ishlov berish oynasida biz yaratgan almashinuv qoidalarini tanlang. Biz qoidalarni yuklash haqidagi savolga ijobiy javob beramiz. Qayta ishlash almashinuv qoidalarini tahlil qiladi va tushirish uchun mavjud bo'lgan ob'ektlar uchun bir xil nomdagi daraxtni yaratadi. Ushbu daraxt uchun biz barcha turdagi filtrlarni o'rnatishimiz yoki ma'lumotlarni tanlashimiz kerak bo'lgan tugunlarni almashtirishimiz mumkin. Biz mutlaqo barcha ma'lumotlarni yuklamoqchimiz, shuning uchun filtrlarni o'rnatishga hojat yo'q.

Faylga ma'lumotlarni yuklash jarayoni tugagandan so'ng, IB ga o'ting " Qabul qiluvchi". Unda qayta ishlashni ham ochamiz V8Exchan82.epf, faqat bu safar biz "Ma'lumotlarni yuklash" yorlig'iga o'tamiz. Ma'lumotlar faylini tanlang va "Yuklash" tugmasini bosing. Hammasi, ma'lumotlar muvaffaqiyatli uzatildi.

Haqiqiy dunyodan vazifalar

Birinchi demo noto'g'ri bo'lishi mumkin. Hamma narsa juda oddiy va mantiqiy ko'rinadi. Aslida bu haqiqat emas. Haqiqiy ishda faqat vizual vositalar yordamida (dasturlashsiz) hal qilish qiyin yoki mutlaqo mumkin bo'lmagan vazifalar paydo bo'ladi.

Texnologiyadan xafa bo'lmaslik uchun men bir nechta haqiqiy vazifalarni tayyorladim. Ishda ularga albatta duch kelasiz. Ular unchalik ahamiyatsiz ko'rinmaydi va sizni ma'lumotlarni o'zgartirishga yangi burchakdan qarashga majbur qiladi. Taqdim etilgan misollarni diqqat bilan ko'rib chiqing va haqiqiy muammolarni hal qilishda ulardan parcha sifatida foydalaning.

Vazifa raqami 1. Yo'qolgan tafsilotlarni to'ldiring

Aytaylik, biz katalogni o'tkazishimiz kerak " Qarama-qarshi tomonlar". Qabul qiluvchida buning uchun shunga o'xshash "Mijozlar" ma'lumotnomasi mavjud. Bu ma'lumotlarni saqlash uchun to'liq mos keladi, lekin unda rekvizitlar mavjud " Tashkilot”, tashkilotga mansubligi bo'yicha kontragentlarni ajratish imkonini beradi. Odatiy bo'lib, barcha kontragentlar joriy tashkilotga tegishli bo'lishi kerak (uni bir xil nomdagi doimiydan olish mumkin).

Muammoning bir nechta echimlari mavjud. Biz rekvizitlarni to'ldirish variantini ko'rib chiqamiz " Tashkilot"o'ngda" Qabul qiluvchi", ya'ni. ma'lumotlarni yuklash vaqtida. Joriy tashkilot doimiy ravishda saqlanadi, shuning uchun bu qiymatni olish uchun hech qanday to'siq yo'q. Ob'ektni o'zgartirish qoidasini (bundan buyon matnda FRP deb yuritiladi) ochamiz. Mijozlar” (ob'ektni ikki marta bosing) va qoidalarni o'rnatish ustasida "Voqealar ishlovchilari" bo'limiga o'ting. Ishlovchilar ro'yxatida biz " Yuklagandan keyin”.

Keling, keyingi atributga tayinlangan holda joriy tashkilotni olish kodini tasvirlaylik. "Yuklashdan keyin" ishlov beruvchisi ishga tushirilganda, ob'ekt to'liq shakllantiriladi, lekin hali ma'lumotlar bazasiga yozilmagan. Hech kim bizni o'z xohishimizga ko'ra o'zgartirishni taqiqlamaydi:

Agar Object.ThisGroup EMAS bo'lsa, unda Object.Organization = Constants.CurrentOrganization.Get(); EndIf;

Rekvizitlarni to'ldirishdan oldin " Tashkilot» atributining qiymatini tekshirish kerak « Bu guruh". Qo'llanma uchun " Mijozlar» ierarxik bayroq o'rnatilgan, shuning uchun guruhni tekshirish kerak. Xuddi shunday, har qanday tafsilotlarni to'ldirish amalga oshiriladi. Boshqa ishlov beruvchi variantlari uchun yordamni o'qib chiqing. Yuklashdan keyin". Masalan, ular orasida parametr mavjud " Rad etish". Agar unga "True" qiymati berilgan bo'lsa, u holda ob'ekt ma'lumotlar bazasiga yozilmaydi. Shunday qilib, yuklash vaqtida yozish uchun ob'ektlarni cheklash mumkin bo'ladi.

Vazifa raqami 2. Tafsilotlar ma'lumotlar reestrida

Qo'llanmada " Qarama-qarshi tomonlar"UT konfiguratsiyasi, tafsilotlar mavjud" Xaridor"va" Provayder". Har ikki rekvizit turi " mantiqiy” va kontragent turini aniqlash uchun ishlatiladi. IBda " Qabul qiluvchi", ma'lumotnomada" Mijozlar"O'xshash tafsilotlar yo'q, ammo ma'lumotlar reestri mavjud" Mijozlarning turlari". U xuddi shunday funktsiyani bajaradi va bitta mijoz uchun bir nechta teglarni saqlashi mumkin. Bizning vazifamiz ma'lumotlarning qiymatlarini ma'lumotlar registrining alohida yozuvlariga o'tkazishdir.

Afsuski, faqat vizual vositalar bu erda ham bardosh bera olmaydi. Keling, kichikdan boshlaylik, ma'lumotlar reestri uchun yangi PCO yarating " Mijozlarning turlari". Hech narsani manba sifatida ko'rsatmang. Yuklash qoidalarini avtomatik yaratishni rad etish.

Keyingi qadam yuklash qoidalarini yaratishdir. Tegishli yorliqga o'ting va " Qo'shish". Yuklash qoidalarini qo'shish oynasida quyidagilarni to'ldiring:

  • namuna olish usuli. "Ixtiyoriy algoritm" ga o'zgartirish;
  • konvertatsiya qilish qoidasi. “Mijoz turlari” axborot registrini tanlang;
  • Qoida kodi (nomi). Biz uni "Mijoz turlarini yuklash" deb yozamiz;

Endi siz yuklash uchun ma'lumotlarni tanlash kodini yozishingiz kerak. Bu erda parametr " Ma'lumotlardan namuna olish". Unda biz tayyorlangan ma'lumotlar to'plami bilan to'plamni joylashtirishimiz mumkin. Parametr " Ma'lumotlardan namuna olish” qabul qilishi mumkin turli ma'nolar- so'rov natijasi, tanlov, qiymatlar to'plami va boshqalar. Biz uni ikkita ustunli qiymatlar jadvali sifatida ishga tushiramiz: mijoz va mijoz turi.

Quyida hodisani qayta ishlash kodi " Qayta ishlashdan oldin". Parametrni ishga tushiradi " Ma'lumotlardan namuna olish” so‘ng katalogdan ma’lumotlarni to‘ldirish orqali “ Qarama-qarshi tomonlar". Bu erda ustunni to'ldirishga e'tibor qaratish lozim " Mijoz turi". "UT" da bizda "Boolean" tipidagi xususiyatlar mavjud, qabul qiluvchida esa ro'yxatga olish.

Bu bosqichda biz ularni kerakli turga keltira olmaymiz (u UTda emas), shuning uchun hozircha uni satrlar shaklida qoldiramiz. Buni qilish shart emas, lekin men darhol manbadagi etishmayotgan turga qanday o'tishni ko'rsatmoqchiman.

DataFetch = NewValueTable(); Ma'lumotlarni tanlash.Ustunlar.Qo'shish("Mijoz"); Ma'lumotlarni tanlash.Columns.Add("ClientType"); Katalogdan ma'lumotlarni tanlash = Directories.Contractors.Select(); DataFromCatalog.Next() ni olish paytida agar FetchingDataFromCatalog.ThisGroup keyin davom eting; EndIf; Agar DataFetchFromCatalog.Buyer Unda NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Xaridor"; EndIf; Agar DataFetchFromCatalog.Provider Keyin NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Yetkazib beruvchi"; EndIf; EndCycle;

Ma'lumotlarni yuklash qoidasini saqlang va "" ga qayting. Ob'ektni aylantirish qoidalari". Keling, ma'lumot reestriga qo'shamiz " Mijozlarning turlari” mulkni aylantirish qoidalari: mijoz va mijoz turi. Biz manbani bo'sh qoldiramiz va "Yuklashdan oldin" voqea ishlovchisida biz yozamiz:

//“Mijoz” xususiyati uchun Qiymat = Source.Client; //“CustomerType” xususiyati uchun If Source.Customer = “Xaridor” Keyin Ifodasi = “Enumerations.CustomerTypes.Buyer” ElseIf Source.Customer = “Yetkazib beruvchi” Keyin Ifodasi = “Enumerations.CustomerTypes.Supplier”; EndIf;

Ro'yxatda ma'lumotlar tanlangan ma'lumotlar asosida to'ldiriladi. Biz mijozni shunchaki havola sifatida uzatamiz va parametrga mijoz turini yozamiz " Ifoda". Ushbu parametrning ma'lumotlari qabul qiluvchida sharhlanadi va bajarilganda atribut ro'yxatdagi to'g'ri qiymat bilan to'ldiriladi.

Mana, ayirboshlash qoidalari tayyor.Ko'rib chiqilgan misol juda universal bo'lib chiqdi. Shunga o'xshash yondashuv ko'pincha 7.7 platformasida yaratilgan konfiguratsiyalardan ma'lumotlarni uzatishda qo'llaniladi. Buning yorqin misoli - davriy detallarning uzatilishi.

Vazifa raqami 3. Jadvalli fokuslar

Ko'pincha bitta jadval qismining qatorlarini bir nechtasiga joylashtirishni talab qiladigan vazifalar mavjud. Misol uchun, dastlabki konfiguratsiyada xizmatlar va tovarlar bitta jadvalli bo'limda ro'yxatga olinadi, bu ob'ektlarning saqlanishi esa qabul qiluvchida ajratiladi. Shunga qaramay, muammoni vizual vositalar bilan hal qilish mumkin emas. Bu erda ikkinchi masalaning yechimini asos qilib olish qulay.

Biz ma'lumotlarni yuklash qoidasini tuzamiz, ixtiyoriy algoritmni belgilaymiz va jadval bo'limidan ma'lumotlarni olish uchun "Yuklashdan oldin" ishlov beruvchisiga so'rov yozamiz.

Joyni tejash uchun men so'rovning kodini (siz har doim manba kodiga murojaat qilishingiz mumkin) bermayman - unda g'ayrioddiy narsa yo'q. Olingan namunani saralaymiz va tartiblangan natijalarni allaqachon tanish bo'lgan parametrga joylashtiramiz " Ma'lumotlardan namuna olish". Shunga qaramay, qiymatlar jadvalini to'plam sifatida ishlatish qulay:

DataFetch = NewValueTable(); //Bu yerda yana bitta jadvalli bo'lim bo'ladi Data Selection.Columns.Add("Mahsulotlar"); //Bu yerda yana jadvalli bo'lim bo'ladi Data Selection.Columns.Add("Xizmatlar"); Ma'lumotlarni tanlash.Ustunlar.Qo'shish("Link");

Vazifa raqami 4. Ma'lumotlarni operatsiyaga o'tkazish

Agar tashkilot bir nechta buxgalteriya tizimlaridan foydalansa, ertami-kechmi xabarlarni keyinchalik shakllantirish bilan ma'lumotlarni ko'chirish zarurati paydo bo'ladi.

konfiguratsiyada " BP"Umumjahon hujjat bor" Operatsiya” va u ko'proq simlarni shakllantirish uchun ideal. Bu erda faqat bitta muammo bor - hujjat ayyorlik bilan tuzilgan va unga ma'lumotlarni uzatish unchalik oson emas.

Bunday konvertatsiyaga misolni maqolaning manba kodida topish mumkin. Kod miqdori juda katta bo'lib chiqdi, shuning uchun uni maqola uchun nashr qilishning ma'nosi yo'q. Aytmoqchimanki, yuklash yana ma'lumotlarni yuklash qoidalarida ixtiyoriy algoritmdan foydalanadi.

Vazifa raqami 5. Bir nechta atributlar bo'yicha ma'lumotlarni sinxronlashtirish

Biz allaqachon bir nechta misollarni ko'rib chiqdik, lekin hozirgacha ko'chirish paytida ob'ektlarni sinxronlashtirish haqida gapirmadik. Tasavvur qilaylik, biz kontragentlarni o'tkazishimiz kerak va ularning ba'zilari, ehtimol, qabul qiluvchining ma'lumotlar bazasida. Qanday qilib ma'lumotlarni uzatish va dublikatlarni oldini olish mumkin? Shu munosabat bilan CD uzatilgan ob'ektlarni sinxronlashtirishning bir necha usullarini taklif qiladi.

Birinchisi noyob identifikator bo'yicha. Ko'pgina ob'ektlar jadval ichidagi o'ziga xoslikni kafolatlaydigan noyob identifikatorga ega. Masalan, qo'llanmada " Qarama-qarshi tomonlar” bir xil identifikatorga ega ikkita elementga ega bo'lishi mumkin emas. CD buning uchun hisob-kitob qiladi va barcha yaratilgan PSPlar uchun identifikator bo'yicha qidiruv darhol sukut bo'yicha yoqilgan. PSP-ni yaratishda siz ob'ekt nomi yonidagi kattalashtiruvchi oyna belgisiga e'tibor berishingiz kerak edi.

Noyob identifikator bilan sinxronlash ishonchli usul, ammo u har doim ham mos kelmaydi. Kataloglarni birlashtirganda " Qarama-qarshi tomonlar” (bir nechta turli tizimlardan) u kam yordam beradi.

Bunday hollarda ob'ektlarni bir nechta mezonlarga muvofiq sinxronlashtirish to'g'riroqdir. Kontragentlarni TIN, KPP, Ism bo'yicha qidirish yoki qidiruvni bir necha bosqichlarga bo'lish to'g'riroq.

Ma'lumotlarni konvertatsiya qilish ishlab chiquvchini qidirish mezonlarini belgilashda cheklamaydi. Keling, mavhum misolni ko'rib chiqaylik. Aytaylik, biz kataloglarni sinxronlashtirishimiz kerak " Qarama-qarshi tomonlar” turli axborot bazalaridan olingan. Keling, PCP tayyorlaylik va ob'ektni o'zgartirish qoidalari sozlamalarida " katagiga belgi qo'ying. Qabul qiluvchi ob'ekt ID tomonidan topilmasa, qidiruv maydonlarini qidirishni davom eting". Ushbu harakat bilan biz darhol ikkita qidiruv mezonini aniqladik - noyob identifikator va ixtiyoriy maydonlar bo'yicha.

Maydonlarni o'zimiz tanlash huquqiga egamiz. TIN, KPP, Ismni qayd qilib, biz darhol bir nechta qidiruv mezonlarini ko'rsatamiz. Qulaymi? To'g'ri, lekin yana, bu etarli emas. Va agar biz qidiruv mezonlarini o'zgartirmoqchi bo'lsak-chi? Misol uchun, birinchi navbatda biz TIN + KPP to'plamini qidiramiz va agar hech narsa topa olmasak, omadimizni nom bilan sinab ko'ramiz.

Bunday algoritmni amalga oshirish juda mumkin. Hodisa ishlov beruvchisida Qidiruv maydonlari” biz 10 tagacha qidiruv mezonlarini belgilashimiz mumkin va ularning har biri uchun qidiruv maydonlarining o'z tarkibini aniqlaymiz:

Agar SearchOptionNumber = 1 bo'lsa, SearchPropertyNameString = “TIN, KPP”; ElseIfSearchVariantNumber = 2 ThenSearchPropertyNameString = "Ism"; EndIf;

Har doim bir nechta echimlar mavjud.

Har qanday vazifa bir nechta echimlarga ega va turli xil konfiguratsiyalar o'rtasida ma'lumotlarni uzatish bundan mustasno emas. Har bir ishlab chiquvchi o'zining yechim yo'lini tanlash huquqiga ega, ammo agar siz doimo murakkab ma'lumotlar migratsiyasini ishlab chiqishingiz kerak bo'lsa, men "" konfiguratsiyasiga e'tibor berishni tavsiya qilaman. Avvaliga siz mashg'ulotlarga resurslarni (vaqt) sarflashingiz kerak, ammo ular birinchi yoki kamroq jiddiy loyihada ko'proq pul to'laydi.

Menimcha, 1C kompaniyasi ma'lumotlarni konvertatsiya qilishdan foydalanish mavzusini mutlaqo chetlab o'tadi. Texnologiya mavjud bo'lgan vaqt davomida u haqida faqat bitta kitob nashr etilgan: "1C: Enterprise 8. Ma'lumotlarni konvertatsiya qilish: amaliy echimlar o'rtasida almashish". Kitob ancha eski (2008), lekin u bilan tanishish kerak.

Platforma bilimi hali ham talab qilinadi

» universal vositadir, ammo agar siz undan 1C: Enterprise 7.7 platformasi uchun ishlab chiqilgan konfiguratsiyalardan ma'lumotlar migratsiyasini yaratish uchun foydalanmoqchi bo'lsangiz, unda siz o'rnatilgan tilni bilish uchun vaqt sarflashingiz kerak bo'ladi. Tilning sintaksisi va mafkurasi juda boshqacha, shuning uchun siz o'rganishga vaqt sarflashingiz kerak. Qolgan printsiplar bir xil bo'lib qoladi.

Voqealarni qayta ishlash mexanizmi "Ma'lumotlarni aylantirish 2.0" yordamida ma'lumotlarni konvertatsiya qilishning asosiy texnologiyalaridan biridir. Ushbu mexanizmdan malakali va mohirona foydalanish ishlab chiquvchiga deyarli har qanday ma'lumotlarni aylantirish vazifasini tezda hal qilish imkonini beradi. Protsessor texnologiyasi yordamida ma'lumotlarni tanlash, ma'lumotlarni konvertatsiya qilish osonlik bilan amalga oshiriladi turli xil turlari, murakkab ma'lumotlarni tanlash, konversiya sozlamalari va boshqa ko'plab vazifalar.

Ushbu texnologiyaning asosiy tamoyillarini ko'rib chiqing. Universal almashinuvni qayta ishlashda ma'lumotlarni tushirish va yuklash algoritmlarining asosiy nuqtalarida ma'lumotlarni tushirish yoki yuklashni qayta ishlashda "qattiq simli" emas, balki ma'lumotlar almashinuvi qoidalaridan olingan dastur kodini bajarish mumkin. "Ma'lumotlarni aylantirish 2.0" konfiguratsiyasi bunday dastur kodini ma'lumotlar almashinuvi qoidalariga integratsiya qilish imkoniyatlarini beradi.

Hammasi bo'lib, uchinchi tomon kodlari bajarilishi mumkin bo'lgan ma'lumotlar almashinuvi algoritmlarida yigirmadan ortiq turli joylar mavjud. Shunga ko'ra, konfiguratsiya turli xil turdagi hodisalarni qayta ishlash vositalarini yaratishni ta'minlaydi.

Voqealarni qayta ishlash kodi almashinuv qoidalari ob'ektlariga - kataloglar elementlariga "biriktirilgan": konversiyalar, ob'ektni o'zgartirish qoidalari, mulkni o'zgartirish qoidalari, ma'lumotlarni yuklash qoidalari va ma'lumotlarni tozalash qoidalari. Tabiiyki, hodisani qayta ishlash kodi bir qator talablarga javob berishi kerak. Xususan, ishlov beruvchi kodida konvertatsiya jarayonini boshqarish uchun maxsus o'zgaruvchilar - parametrlardan foydalanish kerak. Hodisa ishlov beruvchilarining barcha turlari va mavjud oʻzgaruvchilarning toʻliq tavsifini tegishli shakllardagi ishlov beruvchilar haqidagi maʼlumotlarda topish mumkin.

DIQQAT!!!

Data Conversion 2.0 texnologiyalari 1C: Enterprise 7.7 va 1C: Enterprise 8.0 platformalarida amalga oshirilgan infobazalar bilan maʼlumotlar almashish imkonini beradi. 1C: Enterprise 7.7 platformasining ishlashining o'ziga xos xususiyatlaridan kelib chiqqan holda, ushbu platformada amalga oshirilgan infobazalar uchun hodisalarni qayta ishlash vositalaridan foydalangan holda ma'lumotlar almashinuvi qoidalarini tayyorlash bir qator xususiyatlarga ega.

1C: Enterprise 7.7 platformasi uchun o'zboshimchalik bilan kodni bajarish mumkin emas (V8 uchun Run funksiyasiga o'xshash). Agar V7.7 platformasi uchun hodisa ishlov beruvchilaridan foydalanish zarur bo'lsa, ma'lumotlarni yuklash yoki yuklab olish ishlov berish matnini "Ma'lumotlarni aylantirish 2.0" konfiguratsiyasi ishlab chiqaradigan ishlov berish matnlari bilan almashtirish kerak.

Agar siz V7.7 dan V8 ga ma'lumotlarni uzatishingiz kerak bo'lsa, unda:

Yukni tushirishda, qoidalar faylining o'ziga qo'shimcha ravishda, tizim V77Exp.ert ni voqea ishlov beruvchilarini amalga oshiradigan funktsiyalar bilan qayta ishlash uchun modul matnini yaratadi. Keyin, konfiguratorda standart V77Exp.ert modulini "Ma'lumotlarni aylantirish 2.0" tomonidan yaratilgan yangisiga almashtirishimiz kerak.

1C: Enterprise 7.7 platformasida ma'lumotlar almashinuvi echimlarini ishlab chiqishda siz ushbu muhim "arzimas narsani" eslab qolishingiz kerak. Ma'lumotlar almashinuvi qoidalarini yuklashda modul matni yaratilgan o'zgartirilgan ishlov berishdan foydalansangizgina sizning qoidalaringiz to'g'ri ishlaydi. Ushbu qoidada bitta istisno bor - agar siz hodisalarni qayta ishlash vositalaridan foydalanmasangiz, unda siz standart ishlov berishdan foydalanishingiz mumkin.

Hurmat bilan, Vladimir Milkin(o'qituvchi va ishlab chiquvchi).

QO‘NG‘IROQ

Bu xabarni sizdan oldin o'qiganlar bor.
Eng so'nggi maqolalarni olish uchun obuna bo'ling.
Elektron pochta
Ism
Familiya
Qo'ng'iroqni qanday o'qishni xohlaysiz
Spam yo'q