Ma'lumotlarni uzatishda xatolikni qanday topish mumkin. Ma'lumotlarni uzatishda xatolikni qanday topish mumkin 1c ob'ektlarini konvertatsiya qilish qoidalari

Uy / Muzlab qoladi

Ushbu ayirboshlash qoidasining maqsadi o'zaro hisob-kitoblar bo'yicha qoldiqlarni BP 2 dan UT11 ga o'tkazishdir.

"Ma'lumotlarni o'zgartirish" konfiguratsiyasidan foydalangan holda almashish qoidasini bosqichma-bosqich yaratish (meta-ma'lumotlar yuklanishi kerak):

1) Buning uchun ob'ektni yuklash qoidasini yarating, "Ma'lumotlarni yuklash qoidalari" yorlig'iga o'ting, qo'shish tugmasini bosing. Ko'rsatilgan oynada namunaviy ob'ektni tanlang, bu o'z-o'zini hisobga olish registri bo'ladi. Namuna olish usulini ixtiyoriy algoritmga o'zgartiramiz.

2) Keling, kodning o'zini yozishga o'tamiz, chunki UTda o'z-o'zini hisobga olish registrlari mavjud emas, shuning uchun biz uni o'zgartirishimiz kerak. Birinchidan, bizning parametrlarimizga ko'ra, o'zaro hisob-kitoblar uchun balanslarni qaytaradigan so'rov kerak. "Qayta ishlashdan oldin" voqea ishlovchisida biz quyidagi so'rovni yozamiz:

QueryText = "Tanlash
| O'z-o'zini qo'llab-quvvatlaydigan balanslar. Hisob,
| O'z-o'zidan qo'llab-quvvatlanadigan Qolganlar.Subconto1 AS Subconto1,
| ISNULL(SUM(O'z-o'zini buxgalteriya qoldig'i.Qolgan miqdorDt),0) ASQolgan Dt,
| ISNULL(SUM(O'z-o'zini hisobga olishQolgan.QolganCt),0) ASQolganCt,
| MAKSIMUM (O'z-o'zidan buxgalteriya balansi. Subhisob 2. Sana) Hisob-kitob sanasi Hujjat,
| MAKSIMUM(O'z-o'zini buxgalteriya balansi.Subhisob 2.Raqam) Buxgalteriya hujjati raqami AS
|FROM
| Buxgalteriya hisobi registri o'z-o'zidan qo'llab-quvvatlanadigan balanslar (&OnDate, Account = &hisob,) AS
|QAYERDA
<>&guruh va
| O'z-o'zini qo'llab-quvvatlovchi balanslar 1. Ota-ona<>&guruh1
|GROUP BY
| O'z-o'zini qo'llab-quvvatlaydigan balanslar. Hisob,
| O'z-o'zini qo'llab-quvvatlovchi balanslar 1,
| O'z-o'zini qo'llab-quvvatlovchiRemains.Subconto2
|Buyurtma berish
| Subkonto1
|AVTO BUYURTMA”;

Mening vazifam o'zaro hisob-kitoblar yuklanadigan kontragentlar guruhlarini cheklash edi.

Biz kelajakda ishlatiladigan o'zgaruvchilar qiymatlarini aniqlaymiz.

OnSana = sana ("20130101");
TD = CurrentDate();
group = Directories.Counterparties.FindByName("Xaridorlar");
group1 = Kontragentlar nomi bo'yicha toping ("INDIVIDUALS dan qaytaradi");

Biz jadval yaratamiz, uni keyinchalik qiymatni o'zgartirish qoidasiga o'tamiz.

TZ = Yangi qiymatlar jadvali();
TK.Columns.Add("Qarshi tomon");
TK.Columns.Add("Miqdor");
TK.Columns.Add("AmountREGLE");
TK.Columns.Add("Calculation Document");
TK.Columns.Add("Hisob-kitob hujjati sanasi");
TK.Columns.Add("Hisob-kitob hujjati raqami");
TK.Columns.Add("Hamkor");
TK.Columns.Add("O'zaro hisob-kitob valyutasi");
TK.Columns.Add("To'lov sanasi");

Biz parametrlarni o'rnatamiz, so'rovni chaqiramiz, jadvalni to'ldiramiz va konvertatsiya qoidasini chaqiramiz.

so'rov = yangi so'rov (RequestText);
request.SetParameter("guruh", guruh so'rovi.SetParameter("group1",group1);
request.SetParameter("OnDate",OnDate);
request.SetParameter("Hisob", Buxgalteriya jadvallari. O'z-o'zini hisobga olish. Boshqa etkazib beruvchilar va pudratchilar bilan hisob-kitoblar);//76.05
Fetch = so'rov.Run().Select();
TK.clear();
While Select.Next() tsikli
agar Sample.SumRemainingCT = 0 yoki Sample.SumRemainingCT = "" bo'lsa
davom ettirish;
endif;
agar Sample.AmountRemainderCT< 0тогда
report(""+Sample.Subconto1+" manfiy qiymat "+Sample.SumRemainingCT);
endif;
LineTZ = TZ.Add();
Line TK.Counterparty = Selection.Subconto1;
LineTZ.sum = Selection.SumRemainingCT;//Selection.SumRemainingCT;
LineTZ.sumRegl = Sampling.SumRemainingCT;//Sampling.SumRemainingCT;
Chiziq TK.Hisoblash hujjati sanasi = Tanlash.Hisoblash hujjati sanasi;
TK qatori.Hisoblash hujjati raqami = Tanlash.Hisoblash hujjati raqami;
LineTZ.PaymentDate = TD;
EndCycle;
OutData = Yangi tuzilma;
OutgoingData.Insert("Sana", CurrentDate());
OutgoingData.Insert("CalculationsWithPartners", TK);
OutgoingData.Insert("Operatsiya turi", "Etkazib beruvchilar oldidagi qarzlar qoldig'i");
OutgoingData.Insert("Izoh", "76.05 hisob krediti bo'yicha yaratilgan");
report("76.05 KREDIT boshlanishi");
UploadByRule(, OutgoingData, "O'zaro hisob-kitoblar uchun qoldiqlarni kiritish_7605Kredit");

Qolgan zarur hisoblar uchun xuddi shunday operatsiyani bajaramiz (ularning tavsifi, shuningdek, tayyor qoida ilovada).

3) Buni amalga oshirish uchun ob'ektni o'zgartirish qoidalarini yaratishga o'tamiz, "Ob'ektni o'zgartirish qoidalari" yorlig'ini oching; Keling, u erga "O'zaro hisob-kitoblar bo'yicha balanslarni kiritish_7605Kredit" nomi bilan yangi qoida qo'shamiz, manba ob'ektini bo'sh qoldiring, qabul qiluvchi ob'ektni "Balanslarni kiriting" hujjatiga o'rnating va sozlamalar yorlig'ida "Qabul qiluvchi ob'ektni qidirish bo'yicha qidiruv" belgisini olib tashlang. manba ob'ektining ichki identifikatori".

"Yuklashdan oldin" voqea ishlovchisida biz quyidagi kodni yozamiz:

GenerateNewNumberOrCodeIfNotSpecified = rost;

"Yuklab bo'lgandan keyin" voqea ishlovchisida biz yozamiz:

bajarish(algoritmlar.AfterLoadInputRemainings);

u quyidagi tarkibga ega algoritmni bajaradi:

valyuta = Constants.RegulatedAccountingCurrency.Get();
object.Owner = SessionParameters.CurrentUser;
object.organization=parameters.organization;
object.calculationspartners loopidagi har bir sahifa uchun
Page.SettlementDocument = Directories.Counterparty Agreements.empty link();
PageCurrencySettlements = valyuta;
agar ValueFilled(page.counterparty.partner) keyin
p.sherik = p.kontrapart.sherik;
aks holda
hamkorlar = Directories.Partners.FindByName(page.counterparty.Name);
stol bo'lsa<>Belgilanmagan va stollar<>Keyin Directories.Partners.emptylink().
p.partner = stol;

object2.Partner = stol;
obyekt2.Write();
aks holda
bajarish (algorithms.AddPartner);
endif;

endif;

tsiklning oxiri;

Bu algoritm qabul qiluvchi tomonda (BP) bajariladi. O'zaro hisob-kitoblar uchun qoldiqlarni o'tkazish bilan bir qatorda, kontragentlarni o'tkazish vazifasi mavjud, ammo UT hamkorlardan foydalanadi, shuning uchun hujjatni yaratgandan so'ng, biz barcha kontragentlar va hamkorlar qabul qiluvchining ma'lumotlar bazasida mavjud yoki yo'qligini tekshiramiz , keyin biz ularni qo'shamiz.

Pudratchilarni qo'shish "Qarama-qarshi tomonlar" katalogi uchun konvertatsiya qilish qoidasini amalga oshiradi, siz uni avvalgi qoida bilan bir xil tarzda yaratishingiz mumkin, ammo tizimga kerakli maydonlarni solishtirishga ruxsat bering.

Hamkorlar uchun qabul qiluvchi tomonda bajariladigan algoritm yaratilgan.

Qabul qiluvchi tomonda algoritmni bajarish uchun algoritm oynasining yuqori o'ng burchagidagi (uni tahrirlashda) "Yuklashda foydalaniladi" bayrog'ini tekshirish kerak.

Quyida "Hamkor qo'shish" algoritmining kodi keltirilgan:

nPartner = Directories.Partners.CreateItem();
nPartner.Name = page.counterparty.name;
nPartner.Comment = "BP dan yuklanganda yaratilgan";
nPartner.NameFull = page.counterparty.NameFull;
nPartner.Supplier = ?(topish(page.counterparty.AdditionalMa'lumot,"Yetkazib beruvchi")>0,to'g'ri,noto'g'ri);
nPartner.Client = ?(topish(page.counterparty.AdditionalInformation,"Mijoz")>0,to'g'ri,noto'g'ri);
Boshqa aloqalar = ?(topish(page.counterparty.AdditionalMa'lumot,"Boshqa")>0,to'g'ri,noto'g'ri);
npartner.Write();
p.partner = npartner.link;
kontragent = Directories.Counterparties.FindByName(page.counterparty.Name);
obyekt2 = kontragent.GetObject();
object2.Partner = npartner.link;
obyekt2.Write();

Ob'ektni o'zgartirish qoidasiga qaytaylik. Endi biz manba va maqsad maydonlari o'rtasida yozishmalarni o'rnatishimiz kerak, bu kodni yozishdan oldin amalga oshirilishi mumkin edi. Maydonlarni solishtirish uchun jadvalning pastki qismida "Xususiyatlar sinxronizatsiyasi" ustasini chaqirish tugmasi mavjud. Ushbu sehrgarda biz maydonlarni xaritalashimiz yoki ikkalasini ham manbasiz va maqsadsiz qoldirishimiz mumkin. Bizning holatlarimizda biz barcha maydonlarni va PMlarni manbasiz qoldiramiz.

Pastki TCda kerakli maydonlar tanlangandan so'ng, har bir maydon uchun "Kirish ma'lumotlaridan olish" ustuniga bayroq o'rnatamiz. Ushbu bayroq tizim kiruvchi ma'lumotlarda ushbu maydonni izlashini bildiradi. Maydon nomi kiruvchi ma'lumotlardagi nomga mos kelishi muhim, aks holda maydon topilmaganligi haqida xabar ko'rsatiladi.

Matn jarayonning barcha nuanslarini tasvirlamaydi.

Chop etish (Ctrl+P)

Ishlovchi Qabul qilingan ma'lumotlarni yozib olishdan oldin

Jarayon PKO_<ИмяПКО>_Qabul qilingan ma'lumotlarni yozib olishdan oldin umumiy modulda Universal format orqali almashinuv menejeri ishlov beruvchi matnini o'z ichiga oladi Qabul qilingan ma'lumotlarni yozib olishdan oldin ma'lum bir PKO uchun. Ishlovchi matni bo'sh bo'lishi mumkin. Biroq, amalda u har doim ma'lumotlar bazasiga ob'ekt yozishdan oldin bajarilishi kerak bo'lgan qo'shimcha mantiqni amalga oshirish uchun ma'lumotlarni yuklashda ishlatiladi. Masalan, mavjud axborot xavfsizligi ma'lumotlariga o'zgartirishlar yuklanishi yoki yangi ma'lumotlar sifatida yuklanishi kerak.

Ishlovchi quyidagi parametrlarni o'z ichiga oladi;

  1. Ma'lumotB ma'lumotlari– Turi – DirectoryObject, DocumentObject. Qabul qilingan ma'lumotlarga mos keladigan ma'lumotlar bazasi ma'lumotlar elementi. Agar mos keladigan ma'lumotlar topilmasa, bu parametr qiymatga ega Aniqlanmagan .
  2. Qabul qilingan ma'lumotlar– Turi – DirectoryObject yoki DocumentObject. tomonidan tuzilgan ma'lumotlar elementi ma'lumotlarni konvertatsiya qilish XDTO. Agar ushbu ma'lumotlar ma'lumotlar bazasi uchun yangi bo'lsa, yozib olinadi (IB Data parametri qiymatni o'z ichiga oladi Aniqlanmagan ). IN aks holda Qabul qilingan ma'lumotlar almashtiring Ma'lumotB ma'lumotlari(barcha mulklar Qabul qilingan ma'lumotlar ga o'tkazildi Ma'lumotB ma'lumotlari). Agar axborot xavfsizligi ma'lumotlarini qabul qilingan ma'lumotlar bilan standart almashtirish talab qilinmasa, siz o'zingizning uzatish mantiqingizni yozishingiz va keyin o'rnatishingiz kerak Qabul qilingan ma'lumotlar ma'nosi Aniqlanmagan
  3. ConvertingProperties. Turi - Qiymatlar jadvali. Birja seansining bir qismi sifatida ishga tushirilgan joriy ob'ekt xususiyatlarini o'zgartirish qoidalarini o'z ichiga oladi.
  4. Components Exchange. Birja komponentlarini o'z ichiga olgan tuzilma: almashinuv qoidalari va almashinuv parametrlari. Birja komponentlarini ishga tushirish tartibi modulda joylashgan Data ExchangeXDTOServer

Oddiy 1C dastur yechimlarining asosiy konfiguratsiyasini o'zgartirmaslik uchun men rivojlangan konfiguratsiyada hal qilgan ba'zi amaliy misollarni ko'rib chiqaylik.

Yuklashda topilgan narsalarni almashtirmang

3.0-nashr ob'ektlarini o'zgartirish qoidalarida, 2.0-nashrdan farqli o'laroq, "Yuklashda topilgan ob'ektlarni almashtirmang" xususiyati yo'q, buning natijasida qabul qiluvchining ma'lumotlar bazasida topilgan ob'ektlar sinxronlash maydonlarining qiymatiga o'zgarmaydi.

3.0 nashrining ob'ektni aylantirish qoidalarida parametr Ma'lumotB ma'lumotlari ob'ekt topilmasa, aniqlanmagan qiymatga ega. Bundan tashqari, agar parametr Qabul qilingan ma'lumotlar ahamiyatga ega aniqlanmagan keyin ishlov beruvchidan chiqqanda, m almashtirilmaydi.

Ish beruvchi mendan UT 11 va BP 3.0 standart konfiguratsiyalari o'rtasidagi konversiya qoidalarini o'zgartirishni so'radi, shunda buxgalteriya bo'limidagi tashkilotlar va omborlar ma'lumotnomasi UT bilan almashishda sotilmaydi. Ular, ayniqsa, ushbu ma'lumotnomalarning qo'shimcha rekvizitlarini buxgalteriya bo'limiga, har safar ushbu ma'lumotnomalarning elementlari buxgalteriya bo'limiga jo'natish uchun UTda ro'yxatdan o'tkazilganda sotishgan.

Men ushbu vazifani asosiy konfiguratsiyani o'zgartirmaslik uchun buxgalteriya konfiguratsiyasi kengaytmasida bajardim. Yechim rasmda ko'rsatilgan. 1. Agar katalog elementi mavjud bo'lsa (manbada topilgan), u holda parametr Ma'lumotB ma'lumotlari belgilangan va barcha xususiyatlar dan Qabul qilingan ma'lumotlar ga o'tkazilmadi Ma'lumotB ma'lumotlari o'rnatilishi kerak Qabul qilingan ma'lumotlar ma'nosi Aniqlanmagan

3-rasm Fragment dastur kodi konfiguratsiya kengaytmasida

Agar katalog ob'ekti topilmasa, u holda parametr Ma'lumotB ma'lumotlari masalalar Noaniq va keyin Men protsedurani chaqiraman Davom eting kengaytiriladigan konfiguratsiyadan voqea ishlovchisini chaqirishni davom ettirish uchun

Hujjatlarni tartibga solinadigan buxgalteriya hisobida aks ettirmang

Mendan buxgalteriya hisobi 3.0 da savdo boshqaruvida yaratilgan ba'zi yuk hujjatlarini aks ettirmaslik imkoniyatini berishni so'rashdi 11. Shu maqsadda men "Hujjatlarni tartibga solinadigan buxgalteriya hisobida aks ettirmang" amalga oshirish hujjatiga qo'shimcha tafsilot kiritdim. Agar bayroq o'rnatilgan bo'lsa, u holda ushbu hujjat qabul qiluvchi ma'lumotlar bazasida o'chirish uchun belgilanishi kerak (BP 3.0). Ushbu vazifaning murakkabligi shundaki, korxonaning buxgalteriya bo'limida hujjatlarda qo'shimcha tafsilotlar mavjud emas. Men sharh maydonidan foydalanishga qaror qildim. Manba tomoniga (UT 11) jo'natishda men sharhlar atributini tegishli yozuv bilan to'ldiraman va qabul qiluvchida (BP) ishlov beruvchida, olingan ma'lumotlarni yozishdan oldin, rasmda ko'rsatilganidek, o'chirish uchun belgi qo'yaman. 2

1C Data Conversion bo'yicha darslik (2-nashr) Ob'ektlarni o'zgartirish qoidalari

Bizga ma'lumki, ob'ektni o'zgartirish qoidalari manba va maqsad konfiguratsiyasidagi ob'ektlarni moslashtirish uchun ishlatiladi. Tabiiyki, qoida ma'lumotlar manbai ob'ektini (ya'ni, ma'lumotlarni qayerdan olish kerak) va ma'lumotlarni qabul qiluvchi ob'ektni (ya'ni, ma'lumotlarni uzatish yoki yozish joyi) belgilaydi.

Ularga qo'shimcha ravishda, biz ma'nosini ochishga harakat qiladigan bir qator xususiyatlar mavjud.

Manba ob'ektining ichki identifikatori bo'yicha maqsad ob'ektini qidiring- V8 platformasi versiyasi uchun qabul qiluvchida ob'ektlarni qidirishni belgilovchi bayroq. Agar ushbu bayroq belgilansa, u holda qabul qiluvchining ma'lumotlar bazasida modifikatsiya qilish uchun ob'ektni qidirish ob'ektning ichki (noyob) identifikatori yordamida amalga oshiriladi. Ushbu identifikator foydalanuvchiga ko'rinmaydi va dastur infobazada identifikatorlarning o'ziga xosligini saqlaydi, shuning uchun ikkita infobaza ob'ektida bir xil identifikatorlar bo'lmaydi.

Qabul qiluvchi ob'ekt identifikator tomonidan topilmasa, qidiruv maydonlari bo'ylab qidirishni davom eting- bayroq, agar noyob identifikator bo'yicha qidiruv ijobiy natijaga olib kelmasa, ob'ektni qabul qiluvchining ma'lumot bazasida qidirishni davom ettirishni belgilaydi.

Yuklashda qabul qilgichdagi mavjud ob'ektlarni almashtirmang, faqat yangilarini yarating va ularni to'ldiring *- bayroq, agar ob'ekt noyob identifikator yoki qidiruv maydonlari orqali muvaffaqiyatli topilgan bo'lsa, qabul qiluvchining ma'lumotlar bazasidagi ob'ekt tafsilotlarini o'zgartirish zarurligini aniqlaydi.

Agar u topilmasa, qabul qilgichda yangi ob'ekt yaratmang *- bayroq, agar uni noyob identifikator yoki qidiruv maydonlari tomonidan topilmagan bo'lsa, qabul qiluvchining ma'lumotlar bazasida yangi ob'ektni yaratish kerakligini aniqlaydi.

Ob'ektni mos yozuvlar bo'yicha uzatishda, yangi ob'ekt yaratmang, faqat havolani o'tkazing- bayroq, agar u noyob identifikator tomonidan topilmagan bo'lsa yoki ob'ekt mos yozuvlar bo'yicha uzatilgan bo'lsa, qidiruv maydonlarida yangi ob'ektni qabul qiluvchining ma'lumotlar bazasida yaratish kerakligini aniqlaydi. Agar ob'ekt topilmasa va u noyob identifikator orqali qidirilsa, u holda faqat ob'ektga havola uzatiladi (qidiruv maydonlarisiz - bitta havola). Agar ob'ekt to'g'ridan-to'g'ri tushirilsa (ya'ni nafaqat ob'ektga havola, balki uning barcha tafsilotlari ham tushirilsa), u holda bayroq hech narsaga ta'sir qilmaydi.

Manba mulk ob'ektlarini havolalar orqali tushirmang- bayroq manba ob'ekti havolalari bo'lgan barcha ob'ektlarni tushirish zarurligini yoki faqat ushbu ob'ektlarga havolalar haqidagi ma'lumotlarni tushirish uchun etarli ekanligini aniqlaydi. Aytaylik, siz mahsulot uchun ma'lumotnomani yuklayapsiz. Agar tegishli PKOda ushbu katakcha belgilanmagan bo'lsa, elementga qo'shimcha ravishda u tegishli bo'lgan barcha ob'ektlar tushiriladi. Agar bayroq egilgan bo'lsa, unda nomenklatura ko'rsatilgan ob'ektlar tushirilmaydi. Ushbu katakchani belgilab ko'ring va natijada olingan ma'lumotlarni yuklash faylini ko'ring, keyin uni olib tashlang va natijalarni taqqoslang. Siz uning ma'nosini tezda tushunasiz.

Yuklanmagan narsalarni eslamang- bayroq tizim yukni tushirishda oxirgi tushirilgan ob'ektlarni KEYSHLASH kerak yoki yo'qligini aniqlaydi. Keshlash ma'lumotlarni yuklash va yuklash jarayonini tezlashtirish imkonini beradi.

Foydalanish tezkor qidiruv tushirish va yuklash paytida ob'ekt- bayroq yuklash uchun ob'ektlar uchun tezkor qidiruvdan foydalanishni aniqlaydi. Uni kichik miqdordagi katalog yozuvlari uchun ishlatish mantiqan to'g'ri keladi (yozuvlar soni 1000 ta elementdan oshmaydi). Agar ko'p ob'ektlarda bayroq o'rnatilgan bo'lsa, effektga erishiladi Mulk ob'ektlarini mos yozuvlar bo'yicha tushirmang. Ma'lumotni yuklash va yuklash uchun ushbu sxema bilan tezlik bir necha bor ortadi.

Agar ko'rsatilmagan bo'lsa, raqam yoki kodni avtomatik ravishda yarating- bayroq tizim avtomatik ravishda yangi kod yoki ob'ekt raqamini yaratish zarurligini aniqlaydi, agar u yozib olishdan oldin to'ldirilmasa.

Onlayn almashinuv

Ob'ektni (to'liq) tushiring, faqat unga havola mavjud bo'lsa- sozlama ob'ektni qanday holatlarda tushirish kerakligini aniqlaydi. Agar katakcha belgilansa, ob'ekt quyidagi qoidalarga muvofiq o'chiriladi:

  1. Yukni tushirish qoidalariga ko'ra, agar ob'ekt allaqachon tushirilgan bo'lsa, uni xuddi shunday tushiring
  2. Yukni tushirish qoidalariga ko'ra, agar ob'ekt tushirilmagan bo'lsa, biz yukni tushirmaymiz
  3. Ob'ektga havola yordamida yuklashda biz hamma narsani yuklaymiz

Misol uchun, agar siz butun elementni bitta ISdan boshqasiga o'tkazishingiz shart emas, faqat havolalari mavjud bo'lsa, tasdiqlash qutisi amalga oshiriladi.

Yuklashda qabul qiluvchining ma'lumotlar bazasida yaratilgan ob'ektni almashtirmang- sozlama almashinuv tashkil etilgan infobazada yaratilgan ob'ektni o'tkazish (orqaga) zarurligini aniqlaydi. Ya'ni, agar hujjat 1-infobase-da yaratilgan bo'lsa va almashinuv orqali 2-ma'lumot bazasiga kiritilgan bo'lsa, u holda 2-ma'lumotlar bazasida o'zgartirilganda uni 1-infobazaga o'tkazish kerakmi? uning yaratilishi. Ya'ni, ob'ekt yaratilgan axborot bazasidagi o'zgarishlar hamma joyda taqsimlanadi va boshqa ma'lumotlar bazalaridagi o'zgarishlar bu ob'ektga 1-ma'lumotlar bazasiga ta'sir qilmaydi.

Ob'ekt ustuvorligini yuklash- sozlama o'zgarishlar to'qnashganda yuklashda ob'ektning ustuvorligini belgilaydi. Standart qiymat va bo'sh qiymat bo'lsa, Yuqorida. Agar to'qnashuv sodir bo'lsa, dastur yuklab olish ob'ektining ustuvorligini tahlil qiladi. Yuklab olish ob'ektining ustuvorligi Yuqoridagiga teng bo'lsagina, u qabul qiluvchining ma'lumotlar bazasida qayd etiladi. Agar ustuvorlik bir xil yoki past bo'lsa, dastur ma'lumotlar bazasida to'qnashuv haqidagi tegishli ma'lumotlarni yozib oladi, lekin ob'ektni o'zgartirmaydi.

Qidiruv maydoni sozlamalari parametrlari- bilan stol mumkin bo'lgan variantlar foydalanuvchi uchun qidiruv maydoni sozlamalari. Qoida ishlab chiqaruvchi belgilaydi mumkin bo'lgan kombinatsiyalar foydalanuvchi almashinuvni o'rnatishda tanlashi mumkin bo'lgan qidiruv maydonlari. Qoida ishlab chiqaruvchisi tomonidan belgilangan barcha sozlamalar “Qidiruv maydonlari” ishlov beruvchi kodida qayta ishlanishi kerak. Ishlovchidagi SearchSettings o'zgaruvchisi foydalanuvchi tanlagan mos keladigan variantni aniqlaydi (mos keladigan jadval qatoridan Algorithm nomini sozlash). Agar foydalanuvchi mos keladigan variantni tanlamagan bo'lsa yoki hech qanday variant taklif qilinmagan bo'lsa, u holda Qidiruv sozlamalari bo'sh qatordir.

"Kengaytirilgan" yorlig'ida siz qoida nomini, uning ma'lum bir guruhga kiritilishini, shuningdek, qoida tavsifini tahrirlashingiz mumkin.

Ma'lumki, 1C dasturlari qulay va ko'p funktsiyali vosita Buxgalteriya hisobini avtomatlashtirish uchun, turli sohalar va faoliyat sohalaridagi korxonalar uchun mos. Biroq, bu vosita murakkab va afsuski, u bilan ishlashda ko'pincha turli xil xatolar paydo bo'ladi. Ushbu maqolada biz sizga tomonidan yaratilgan qoidalardan foydalangan holda ma'lumotlarni ko'chirishda yuzaga kelgan xatoni qanday topish va hal qilishni aytamiz Ma'lumotlarni konvertatsiya qilish texnologiyalari 2.0. Yuklash bajarilmasa yoki ma'lumotlarni qabul qiluvchi ma'lumotlar bazasiga yuklashning iloji bo'lmasa nima qilishim kerak? Bizning maqolamiz ushbu savollarga javob berishga qaratilgan.

Shunday qilib, agar siz ma'lumotlarni o'zgartirish qoidalarini sotib olgan bo'lsangiz, uzatish uchun ishlov berishni ochgan bo'lsangiz, barcha sozlamalarni o'rnatgan bo'lsangiz, lekin yuklash to'xtatilgan va xizmat xabarlarida xato xabari paydo bo'lsa, bu erda xatoni topish va bartaraf etishga yordam beradigan bir nechta texnikalar mavjud.

Avvalo, dasturingizning versiyalarini qoidalarda ko'rsatilganlar bilan tekshiring. Versiyalar o'rtasida bir oz tafovut bilan manba hech qanday muammo tug'ilmaydi, lekin sizning versiyangiz so'nggi versiyalardan sezilarli darajada orqada qolsa, qoidalar ishlamaydi. Konfiguratsiya versiyasi qabul qiluvchi qoidalarda ko'rsatilgan bilan bir xil bo'lishi kerak.

Qoidalar qaysi relizlar uchun ekanligini qanday ko'rishim mumkin? Faqatgina qoidalar faylini istalgan muharrir bilan oching (sukut bo'yicha u Internet Explorer yoki Notepad bo'lishi mumkin) va birinchi qatorlarga qarang - ular manba va maqsad versiyalarini o'z ichiga oladi.

1-rasm. Qoidalarni ko'rish

Nima qilsa bo'ladi? Agar sizda bunday imkoniyat bo'lsa, manba dasturini konvertatsiya qoidalarida ko'rsatilgan versiyaga yangilang. Agar siz dasturni yangilay olmasangiz, unda siz ushbu qoidalar bilan ishlay olmaysiz.

Lekin, ehtimol, siz bularning barchasini allaqachon qilgansiz va yuklash hali ham xatolar bilan sodir bo'ladimi? Keyin dasturning to'g'ri yuklanishiga to'sqinlik qiladigan muammoli elementni topishga harakat qiling.

KA 1.1 dan BP 3.0 ga ma'lumotlarni uzatish misolidan foydalanib, xatolarni qidirishda harakatlar algoritmini ko'rsatamiz.

Quyidagi amallarni bajaring: barcha uzatish qoidalarini o‘chirib qo‘ying va alohida qoidalar guruhlarini birma-bir yuklang. Bular. avval faqat tushirishga harakat qiling Hisob siyosati, faqat keyin Kiruvchi qoldiqlar, faqat Kataloglar va hokazo. (2-rasm). Ko'pincha, hujjatlarni tushirishda muammolar paydo bo'ladi, boshqa turdagi ob'ektlar odatdagidek tushiriladi, shuning uchun keyingi harakatlarni ko'rib chiqish uchun ularning misolidan foydalanamiz. Endi siz har bir hujjatni o'zgartirish qoidasi bilan muqobil yuklash bilan jarayonni takrorlashingiz kerak. Bular. o'z navbatida, faqat avans hisobotlarini, faqat o'tkazilgan akkreditivni va hokazolarni yuklang. 3-rasmda ko'rsatilganidek, ro'yxatga muvofiq.

2-rasm. Ob'ektlar guruhlarini ketma-ket tushirish

3-rasm. Ob'ekt turlarini birma-bir tushirish

Shunday qilib, barcha yuklash qoidalari tanlanganda yuklash to'xtatiladi deb faraz qilaylik Hujjatlar. Siz barcha turdagi hujjatlarni birma-bir yukladingiz, barcha pozitsiyalarni birma-bir ko'rib chiqdingiz va xato faqat hujjatlarni yuklashda paydo bo'lishini hisoblab chiqdingiz. Operatsiya (buxgalteriya va soliq hisobi). Keyinchalik, muammoli hujjatni topish uchun yuklash muddatini asta-sekin qisqartirishingiz kerak. Birinchidan, xatolik bilan yuklash muvaffaqiyatsiz bo'lgan kunni topmaguningizcha, chorak, oy, hafta bo'yicha yuklang.

Nima qilsa bo'ladi? Agar siz xatoga sabab bo'lgan aniq hujjatni topsangiz va muammo nimada ekanligini ko'rsangiz, ajoyib. Iloji bo'lsa, hujjatni tuzating yoki uni ko'chirmang - butun ko'chirishni qo'lda bajarishdan ko'ra bitta hujjatni tuzatish ancha oson. Faqat bitta hujjatdan tashqari uzatishni amalga oshirish uchun qo'shni oynadagi tanlovdan foydalaning. "Taqqoslash turi" ustunida "Teng emas" ni o'rnating, "Qiymat" da muammoli hujjatni tanlang va odatdagidek yuklashni davom eting.

4-rasm. Yuklashda hujjat tanlash

Yaxshi, lekin agar yuklash to'g'ri bajarilgan bo'lsa-chi, lekin ma'lumotlarni boshqa ma'lumotlar bazasiga yuklab bo'lmasa? Birinchidan, vaqtingizni ajrating va hamma narsani to'g'ri bajarganingizni va dastur versiyalari mos keladimi-yo'qligini yana tekshiring. Manbadan farqli o'laroq, qabul qiluvchining reliz versiyasi qoidalarda ko'rsatilganiga to'liq mos kelishi kerak, aks holda siz har doim xatoga yo'l qo'yasiz.

Nima qilsa bo'ladi? Yuklash bosqichidagi xatolar ko'pincha faqat tushirish bosqichida tuzatilishi mumkin, shuning uchun muammoni topish tartibi yuqorida tavsiflanganidek bo'ladi, faqat bitta istisno - har bir tushirishdan so'ng yuklashni takrorlash kerak bo'ladi. Qabul qiluvchi ma'lumotlar bazasida yuklanmaydigan elementni toping. Xuddi shu ketma-ketlikka rioya qiling - avval ob'ekt ko'rinishlari guruhini, so'ngra ma'lum sanalar bo'yicha aniq ko'rinishlarni ko'chiring va nihoyat muvaffaqiyatli yuklashga xalaqit beradigan muammoli elementni yo'q qiling.

Oddiy ishlov berish yuklashni to'g'ri bajarolmasa va jarayon to'xtasa, har doim xizmat xabarlarida xato xabari paydo bo'ladi. Ba'zi hollarda, bu xatoning joylashuvi va sababini faqat tushirish orqali topish mumkin har xil turlari ob'ektlar. Biroq, bu yagona yo'l emas. Ko'pincha xatoning sababi xizmat xabarida ko'rsatilgan;

dan tushirish misolini ko'rib chiqaylik KA 1.1. Foydalanuvchi manba ma'lumotlar bazasidan yuklaydi Kiruvchi qoldiqlar 2018 yil boshida. Yukni tushirish jarayoni to'xtatiladi va dastur bir nechta xizmat xabarlarini ko'rsatadi, jumladan quyidagilar:

BeforeProcessingUploadRules voqea ishlovchisidagi xato
PVD = Qolgan_Materiallar
Ishlovchi = PreProcessingDataUpload
DescriptionErrors = Ob'ekt xususiyati qiymatini olishda xatolik yuz berdi (manba xususiyati nomi bo'yicha)
PKO = Nomenklatura (Katalog: Nomenklatura)
PKS = 15 (modda --> maqola)
Ob'ekt = Payvandlash mashinasi inverteri VDI 160R (Asosiy vositalar)
ReceiverProperty = Maqola (String)
DescriptionErrors = Ob'ekt maydoni topilmadi (maqola)
ModulePosition = Processing.UniversalXMLDataExchange.ObjectModule(8283)
Xabar kodi = 13
ModulePosition = Processing.UniversalXMLDataExchange.ObjectModule(1694)
Xabar kodi = 31

Qiyin yo'ldan borish va har xil turdagi qoldiqlarni birma-bir tushirish mumkin (asosiy vositalar qoldiqlari, nomoddiy aktivlar qoldiqlari va boshqalar) va xato qoida bo'yicha tushirishda sodir bo'lishini aniqlash mumkin. Qolgan_materiallar. Yoki xato xabarida qoida nomini darhol ko'rishingiz mumkin. Qarang, xabardagi xato transkriptining birinchi qatori aynan shunday deydi. DVP - ma'lumotlarni yuklash qoidasi. Ma'lumotlarni yuklash qoidasi Qolgan_Materiallarga teng. Hech narsa izlashimiz shart emas, dasturning o'zi xatolik qaerda sodir bo'lganligini aytadi.

Guruch. 5.1. Xizmat xato xabari

Buning sababini biz ham osongina topishimiz mumkin. Mos ravishda Tavsif xatolar yozilgan Foydalanuvchi uchun juda aniq xabar emas. Biroq, xatolik ob'ektning ba'zi xususiyatida ekanligini tushunishimiz mumkin. Qaysi ob'ekt? Satrda ko'rsatilgan Ob'ekt ushbu xabarda. IN Ushbu holatda bu ob'ekt Payvandlash mashinasi inverteri VDI 160R (Asosiy vositalar). Allaqachon hozirgi paytda kelishmovchilikni ko'rish mumkin. Ma'lumotlarni yuklash qoidasi chaqirdi Qolgan materiallar, mos ravishda Ob'ektni aylantirish qoidasi (OCR) yozilgan Nomenklatura, nima uchun ob'ekt turi sifatida yoziladi Asosiy vositalar? Keling, manba ma'lumotlar bazasini ko'rib chiqaylik va biz haqiqatan ham to'g'ri ob'ektni topdikmi yoki yo'qligini tekshiramiz.

10.09 "Inventarizatsiya va uy-ro'zg'or buyumlari" schyotining qoldiqlarida biz muammoli ob'ektimizni - subkontoni topamiz. Payvandlash mashinasi inverteri VDI 160R(5.2-rasmga qarang)

Guruch. 5.2. 2018 yil uchun 10.09 hisobvarag'i balansi

Agar siz ushbu subkontoni ochsangiz, buni darhol ko'rishingiz mumkin Payvandlash mashinasi inverteri VDI 160R haqiqatan ham nomenklatura emas, balki asosiy vositadir (5.3-rasmga qarang). Nima qoldi Payvandlash mashinasi inverteri VDI 160R 10.09 hisobida to'g'rilanishi kerak bo'lgan aniq xato bo'lib chiqdi.

Guruch. 5.3. Asosiy vositalar kartasi Payvandlash mashinasi inverteri VDI 160R

Bu holda tushirish xatosi noto'g'ri ob'ekt turi tufayli yuzaga keladi. Qolgan materiallarni tushirish qoidasiga ko'ra, uni tushirish kerak Nomenklatura- materiallar, yoqilg'i, inventar va boshqalar Bunday ob'ektlar ma'lum xususiyatlar to'plamiga ega bo'lib, ular konvertatsiya qilish qoidasiga muvofiq boshqa ma'lumotlar bazasiga o'tkaziladi. Turi bo'lgan ob'ektlar uchun Asosiy vositalar xususiyatlar to'plami butunlay boshqacha bo'ladi. Materiallarni tushirish qoidasiga ko'ra, bunday ob'ektni tushirishning hech qanday usuli yo'q. Dastur ob'ektni quyidagicha aniqlaydi Nomenklatura lekin unda kerakli xususiyatlarni topa olmaydi va shunga mos ravishda uni faylga yozish uchun aylantira olmaydi. Xabarda shunday deyilgan Ob'ekt xususiyati qiymatini olishda xatolik yuz berdi (manba xususiyati nomi bo'yicha).

Ushbu misolda muammoni juda oson hal qilish mumkin - bizning qoidalarimizda parametr mavjud Agar miqdor nolga teng bo'lsa, balansni tushirmang. U o'rnatilganda, nol miqdori bo'lgan balanslar shunchaki tushirilmaydi. 5.2-rasmda keltirilgan balansda ko'rib turganingizdek, ushbu subkontoning balanslari miqdori yo'q, ya'ni. ushbu muammoli qoldiqni belgilangan parametr yordamida osongina yo'q qilish mumkin.

Boshqa hollarda, filtr yoki parametr yordamida ob'ektni chiqarib tashlashning hech qanday usuli bo'lmasa, foydalanuvchi ma'lumotlarni ko'chirishdan oldin manba ma'lumotlar bazasidagi xatoni tuzatishi kerak bo'ladi.

Xatoga misol.

Keling, ma'lumotlarni uzatish paytida aniqlangan boshqa xatolik misolini ko'rib chiqaylik.

Hujjatlarni birinchi marta yuklamoqchi bo'lganida, foydalanuvchi tizim xabarlarida quyidagi matnni ko'rdi. Xato xabari bizga xatolik yuz bergan vaqtni aniqlash mexanizmini o'tkazib yuborishga va uni tuzatishga o'tishga imkon beradi. Bunday xabarlar har doim ham ko'rinmaydi va ba'zida siz hali ham birma-bir tushirish usuli yordamida xatoni izlashingiz kerak. Biz yuqorida bunday xabarni qanday o'qishni muhokama qildik.

6.1-rasm. Xato xabari

Shunday qilib, dasturning o'zi bizga muammoli hujjatni aytadi - bu IPBP-000008 xaridorga hisob-faktura, ya'ni biz darhol hujjatga o'tamiz va xato nima ekanligini aniqlashga harakat qilamiz.

6.2-rasmda ko'rib turganingizdek, ushbu hujjatning "Tovarlar va xizmatlar" jadval bo'limidagi qatorlardan birida elementning o'zi emas, balki element guruhi o'rnatilgan, bu o'z-o'zidan xatodir. Albatta, ushbu hujjatning konvertatsiya qilish qoidalari ushbu jadval qismidan ob'ektni qanday aylantirishni aniqlamaydi nomenklatura guruhi, bu o'zidan butunlay boshqa turdagi element nomenklatura, va dasturda qoidalarda ko'rsatilganidan boshqa elementni qanday ko'chirish haqida hech qanday ma'lumot yo'q. Shuning uchun konvertatsiya jarayoni uni tanimaydi, o'zgartira olmaydi va xatoga yo'l qo'yadi.

6.2-rasm. Xato bilan hujjat

Bu qanday va nima uchun tashkil etilgani bizni hozir qiziqtirmaydi. Biz hujjatni ko'chirmaslikka qaror qildik, ya'ni uni ko'chirilgan ob'ektlar ro'yxatidan chiqarib tashladik. Hujjatni yuklash qoidasini topish Xaridorga to'lov uchun schyot-faktura, uni tanlang, tanlovga o'ting, Field - Bog'lanish, Taqqoslash turi - Teng emas, Qiymat - muammoli hujjatimizni o'rnating. Shunday qilib, biz istisno qilamiz ushbu hujjat o'tkazilgan ob'ektlar ro'yxatidan va tushirish normal davom etishi kerak.

6.3-rasm. Hujjatni istisno qilish uchun imtiyozlarni o'rnatish

Shundan so'ng, siz o'zingiz uchun qulay tarzda yuklashni davom ettirishingiz mumkin - barcha hujjatlarni bir vaqtning o'zida o'tkazing yoki topilgan hujjatdan tashqari faqat to'lov uchun hisob-fakturalarni o'tkazing, so'ngra qolganlarini o'tkazing - ma'lumotlarni uzatish tartibi har qanday bo'lishi mumkin.

Bu erda shuni ta'kidlash kerakki, qayta ishlashda ob'ektlarni tanlash imkoniyati mavjud GenericXML ma'lumotlar almashinuvi barcha tipik konfiguratsiyalarda emas. Aniqrog'i, bunday funksionallik rejimda yo'q boshqariladigan dastur. Xususan, odatiy konfiguratsiyada Integratsiyalashgan avtomatlashtirish rev.1.1 istalgan rejimda ishlashingiz mumkin muntazam dastur, va boshqariladigan dastur rejimida yoki ular aytganidek, boshqariladigan shakllar rejimida. Birinchi holda, standart ishlov berishda tanlovlar mumkin (4-rasmga qarang), ikkinchisida - yo'q. Keyin qayta ishlashning o'zgartirilgan versiyalaridan foydalanishingiz kerak (6.3-rasmga qarang). Agar konfiguratsiya platforma muvofiqligi rejimida ishlatilsa 8.2 (bu ayniqsa KA 1.1 Va UPP 1.3), keyin qayta ishlash kerak GenericXML ma'lumotlar almashinuvi versiyalari 2.1.7 . Agar moslik rejimi ishlatilmasa, masalan, konfiguratsiyada Korxona hisobi nashri 3.0, keyin versiyani qayta ishlash bilan ishlashingiz kerak 2.1.8 . Ushbu muolajalar, shuningdek, jurnallar kitobidan tanlovlarni to'ldirish uchun qo'shimcha imkoniyatlarga ega (batafsilroq), shuning uchun ular barcha yetkazib berish variantlariga kiritilmagan, lekin ularni har doim shunday belgilangan paketlarning bir qismi sifatida sotib olish mumkin. hayot tarixiga ko'ra tanlov bilan, yoki alohida.

Umuman olganda, 1C ma'lumotlarini uzatish paytida yuzaga kelgan xatoni topish va yo'q qilish jarayoni shunday ko'rinadi.

Boshqa foydali materiallarni Maqolalar bo'limida yoki bizning asosiy veb-saytimizda topishingiz mumkin.

© Anna Balyasnikova, oxirgi o'zgarishlar 2018 yil aprel

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 (biz faqat 1C kompaniyasining mahsulotlari haqida gapiramiz) bir yechimdan boshqasiga o'tmagan. 1C kompaniyasi migratsiyani yaratishda ishlab chiquvchilar qanday qiyinchiliklarga duch kelishini juda yaxshi tushunadi, shuning uchun u vositalar bilan yordam berishga har tomonlama 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. Texnologiyalarning keng tanlovi ishlab chiquvchilarga muammoni o'z nuqtai nazaridan hal qilishning optimal 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 aytganda, asosiy kamchilik uning so'zsizligi bo'ladi. Migratsiya algoritmlarini mustaqil ravishda amalga oshirish katta vaqt xarajatlarini, shuningdek, disk raskadrovka jarayonini uzoq davom ettirishni talab qiladi. Men bunday qarorlarni qo'llab-quvvatlash haqida gapirishni ham xohlamayman.

Qo'llab-quvvatlashning murakkabligi va yuqori narxi 1C kompaniyasini universal echim yaratishga undadi. Migratsiyani rivojlantirish va qo'llab-quvvatlashni iloji boricha soddalashtirishga imkon beradigan texnologiyalar. Natijada, g'oya alohida konfiguratsiya - "Ma'lumotlarni aylantirish" shaklida amalga oshirildi.

Ma'lumotlarni konvertatsiya qilish - standart yechim, mustaqil konfiguratsiya. “ITS:Prof” obunasiga ega bo‘lgan har qanday foydalanuvchi ushbu paketni foydalanuvchilarni qo‘llab-quvvatlash sayti yoki ITS diskidan mutlaqo bepul yuklab olishi mumkin. O'rnatish standart tarzda amalga oshiriladi - 1C dan boshqa barcha standart echimlar kabi.

Endi yechimning afzalliklari haqida bir oz. Keling, eng muhim narsadan boshlaylik - ko'p qirrali. Yechim maxsus platforma konfiguratsiyasi/versiyalariga moslashtirilmagan. U standart va moslashtirilgan konfiguratsiyalar bilan teng darajada yaxshi ishlaydi. Ishlab chiquvchilar universal texnologiya va yangi migratsiyalarni yaratish uchun standartlashtirilgan yondashuvga ega. Yechimning ko'p qirraliligi hatto 1C: Enterprise'dan boshqa platformalar uchun ham migratsiyalarni tayyorlashga imkon beradi.

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

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 to'liq aniq emas. Siz tushunishingiz kerak bo'lgan birinchi narsa shundaki, har qanday ma'lumotlarni ko'chirish (konversiya) almashinuv qoidalariga asoslanadi. Birja qoidalari - bu axborot xavfsizligi ma'lumotlari yuklanadigan tuzilmani tavsiflovchi oddiy xml fayl. Ma'lumotlarni yuklaydigan/yuklab oladigan xizmatni qayta ishlash almashinuv qoidalarini tahlil qiladi va ular asosida yuklashni amalga oshiradi. Yuklash vaqtida teskari jarayon sodir bo'ladi.

"CD" konfiguratsiyasi vizual konstruktorning bir turi bo'lib, uning yordamida ishlab chiquvchi almashinuv qoidalarini yaratadi. Ma'lumotni qanday yuklab olishni bilmaydi. Buning uchun CD tarqatish paketiga 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 almashish qoidalarini yaratish uchun kompakt diskga yuklanadi.
  • V8ExchanXX.epf- almashinuv qoidalariga muvofiq axborot bazasidan ma’lumotlarni yuklaydi/yuklaydi. Ko'pgina standart 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, yangi konversiyani ishlab chiqish bosqichlarini aniqlaymiz:

  1. Vazifaning ta'rifi. Qaysi ma'lumotlarni uzatish kerakligini (qaysi konfiguratsiya ob'ektlaridan) va eng muhimi, uni qaerga o'tkazish kerakligini aniq tushunish kerak.
  2. Keyinchalik CDga yuklash uchun konfiguratsiya tuzilmalarining tavsiflarini tayyorlash (Manba/Sink). Muammo MDXXExp.epf xizmatini qayta ishlash orqali hal qilinadi.
  3. Tuzilmalarning tayyorlangan tavsiflarini axborot xavfsizligiga yuklash.
  4. Vizual CD vositasi yordamida almashinuv qoidalarini yaratish.
  5. V8ExchanXX.epf ishlovidan foydalangan holda yaratilgan ma'lumotlarni aylantirish qoidalariga muvofiq yuklash/yuklab olish.
  6. Nosozliklarni tuzatish almashinuvi qoidalari (agar kerak bo'lsa).

Eng oddiy konvertatsiya

Namoyish uchun bizga ikkita o'rnatilgan konfiguratsiya kerak bo'ladi. Men variant bilan borishga qaror qildim: "Savdoni boshqarish" 10-nashr va kichik uy yozma yechim. Vazifa standart "UT" konfiguratsiyasidan ma'lumotlarni uzatish bo'ladi. Qisqacha aytganda, keling, o'z-o'zidan yozilgan yechimni "Sink" va savdo boshqaruvini "Manba" deb ataylik. Muammoni hal qilishni "Nomenklatura" katalogidan elementlarni 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.

Qayta ishlash interfeysi ko'p sozlamalarga ega emas. Foydalanuvchi faqat struktura tavsifiga kiritilmaydigan metadata ob'ektlari turlarini ko'rsatishi kerak. Ko'pgina hollarda, bu sozlamalarni o'zgartirish kerak emas, chunki Harakatlarni yig'ish registrlari yordamida tushirishda alohida nuqta yo'q (misol sifatida).

Hujjatlarni qabul qiluvchida ushlab turganda harakatni shakllantirish to'g'riroq. Barcha harakatlar hujjatning o'zi tomonidan transferdan keyin amalga oshiriladi. Standart sozlamalar foydasiga ikkinchi dalil yuklash bilan fayl hajmini kamaytirishdir.

Ba'zi hujjatlar (ayniqsa, standart konfiguratsiyalarda) bir nechta registrlar bo'ylab harakatlarni hosil qiladi. Bu butun iqtisodiyotni bo'shatish natijaga olib keladi XML fayl juda katta. Bu qabul qiluvchi bazasiga keyingi tashish va yuklashni qiyinlashtirishi mumkin. Ma'lumotlar fayli qanchalik katta bo'lsa, sizga shuncha ko'p kerak bo'ladi Ram uni qayta ishlash uchun. Amaliyot davomida men juda katta hajmdagi yuklangan fayllarga duch kelish imkoniga ega bo'ldim. Bunday fayllar standart vositalar yordamida tahlil qilishdan butunlay voz kechdi.

Shunday qilib, biz barcha standart sozlamalarni qoldiramiz va konfiguratsiya tavsifini faylga yuklaymiz. Ikkinchi baza uchun shunga o'xshash protsedurani takrorlaymiz.

CDni oching va asosiy menyuda 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 bir necha marta ishlatishimiz mumkin.

Katalog oynasida "tugmasini bosing. Qo'shish” va paydo bo'lgan oynada konfiguratsiyani tavsiflovchi faylni tanlang. "Yangi konfiguratsiyaga yuklash" katagiga belgi qo'ying va "Yuklash" tugmasini bosing. Ikkinchi konfiguratsiya strukturasi tavsifi bilan shunga o'xshash harakatlarni bajaramiz.

Endi siz almashinuv qoidalarini yaratishga tayyormiz. Asosiy CD menyusida "Kataloglar" -> "Konversiyalar" ni tanlang. Yangi element qo'shing. Yangi konversiyani yaratish oynasida quyidagilarni ko'rsatishingiz kerak: manba konfiguratsiyasi (UT ni tanlang) va maqsad 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. Istalgan vaqtda fayl nomini o'zgartirishingiz mumkin, lekin uni hozir o'rnatish yaxshiroqdir. Bu kelajakda vaqtni tejaydi. Men demo misoli 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 "men" ni belgilaymiz. Sehrgar jiddiy hech narsa yarata olmaydi. Biroq, bu imkoniyatni chegirmaslik kerak. Agar bir xil konfiguratsiyalar o'rtasida almashinuvni o'rnatish zarur bo'lsa, mutaxassisning 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 - katta raqam boshqaruv elementlari bilan to'ldirilgan yorliqlar. Aslida, hamma narsa unchalik qiyin emas, siz bir necha soatlik dastur bilan ishlashdan keyin bu jinnilikka ko'nikishni boshlaysiz.

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

"Ob'ektni aylantirish qoidalari" yorlig'ining ikkinchi yarmida mavjud qo'shimcha panel ikkita yorliq bilan: "Mulkni o'zgartirish" va " Qiymatlarni konvertatsiya qilish" Birinchisi tanlangan ob'ektning xususiyatlarini (tafsilotlarini) tanlaydi, ikkinchisi esa oldindan belgilangan qiymatlar (masalan, oldindan belgilangan katalog elementlari yoki sanab elementlari) bilan ishlash uchun zarurdir.

Ajoyib, endi kataloglar uchun konvertatsiya qoidalarini yarataylik. Ushbu amalni ikki usulda bajarishingiz mumkin: Ob'ektni sinxronlashtirish ustasidan foydalaning ("" tugmasi) yoki har bir ob'ekt uchun yozishmalarni qo'lda qo'shing.

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

Mening holatimda uchta ma'lumotnoma mavjud: Nomenklatura, Tashkilotlar va Omborlar. Shuningdek, "Mijozlar" kabi bir xil maqsadga xizmat qiluvchi katalog mavjud. Qarama-qarshi tomonlar"konfiguratsiyadan" UT" To‘g‘ri, ismlari turlicha bo‘lgani uchun usta ularni qiyoslay olmadi.

Biz bu muammoni o'zimiz hal qila olamiz. Biz oynada topamiz " Obyekt moslashuvi» ma’lumotnoma « Mijozlar", va "Manba" ustunida "Qarshi tomonlar" katalogini tanlang. Keyin "Type" ustunidagi katakchani belgilang va "OK" tugmasini bosing.

Ob'ektlarni sinxronlashtirish ustasi tanlangan barcha ob'ektlarning xususiyatlarini avtomatik ravishda o'zgartirish qoidalarini yaratishni taklif qiladi. Xususiyatlar nomi bilan taqqoslanadi va bizning namoyishimiz uchun bu etarli bo'ladi, biz rozi bo'lamiz. Keyingi savol yuklash qoidalarini yaratish taklifi bo'ladi. Keling, bunga ham 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 ishga tushiramiz. V8Exchan82.epf.

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

Faylga ma'lumotlarni yuklash jarayonini tugatgandan 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 "Yuklab olish" tugmasini bosing. Hammasi, ma'lumotlar muvaffaqiyatli uzatildi.

Haqiqiy dunyo muammolari

Birinchi demo noto'g'ri bo'lishi mumkin. Hamma narsa juda oddiy va mantiqiy ko'rinadi. Aslida, bu mutlaqo to'g'ri emas. IN haqiqiy ish Vizual vositalar yordamida (dasturlashsiz) hal qilish qiyin yoki mutlaqo mumkin bo'lmagan muammolar paydo bo'ladi.

Texnologiyadan xafa bo'lmaslik uchun men bir nechta haqiqiy muammolarni 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 № 1. Yo'qolgan tafsilotlarni to'ldiring

Aytaylik, biz katalogni o'tkazishimiz kerak " Qarama-qarshi tomonlar" Qabul qiluvchida bu maqsadda xuddi shunday "Mijozlar" katalogi mavjud. Bu ma'lumotlarni saqlash uchun to'liq mos keladi, lekin unda rekvizitlar mavjud " Tashkilot”, bu sizga tashkilotga tegishli bo'lgan kontragentlarni ajratish imkonini beradi. Odatiy bo'lib, barcha kontragentlar joriy tashkilotga tegishli bo'lishi kerak (buni bir xil nomdagi doimiydan olish mumkin).

Muammoning bir nechta echimlari mavjud. Tafsilotlarni to'ldirish variantini ko'rib chiqamiz " Tashkilot"to'g'ri ma'lumotlar bazasida" Qabul qiluvchi", ya'ni. ma'lumotlarni yuklash vaqtida. Joriy tashkilot doimiy ravishda saqlanadi, shuning uchun ushbu qiymatni olish uchun hech qanday to'siq yo'q. Ob'ektni o'zgartirish qoidasini (bundan buyon matnda PKO deb yuritiladi) ochamiz. Mijozlar” (ob'ektga ikki marta bosing) va qoidalarni o'rnatish ustasida "Voqealar bilan ishlash" bo'limiga o'ting. Ishlovchilar ro'yxatida biz topamiz " Yuklab olingandan keyin”.

Keling, joriy tashkilotni olish uchun kodni tasvirlab beramiz va keyin uni tafsilotlarga tayinlaymiz. "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;

Tafsilotlarni to'ldirishdan oldin " Tashkilot"Atributning qiymatini tekshirish kerak" Bu guruh" Ma'lumotnoma uchun " Mijozlar"Ierarxik xususiyat o'rnatilgan, shuning uchun guruhni tekshirish kerak. Har qanday tafsilotlarni xuddi shunday tarzda to'ldiring. Boshqa ishlov beruvchi variantlari uchun yordamni o'qib chiqing. Yuklashdan keyin" Masalan, ular orasida " parametri mavjud Rad etish" Agar siz unga "True" qiymatini belgilasangiz, ob'ekt ma'lumotlar bazasiga yozilmaydi. Shunday qilib, yuklash vaqtida yozilishi mumkin bo'lgan ob'ektlarni cheklash mumkin bo'ladi.

Vazifa № 2. Tafsilotlar ma'lumotlar reestrida

katalogida " Qarama-qarshi tomonlar“UT konfiguratsiyasi, tafsilotlar mavjud” Xaridor"Va" Yetkazib beruvchi" Har ikkala tafsilot "turi" Mantiqiy” va kontragent turini aniqlash uchun ishlatiladi. IBda " Qabul qiluvchi", katalogida" Mijozlar"O'xshash tafsilotlar yo'q, ammo ma'lumotlar reestri mavjud" Mijozlarning turlari" U xuddi shunday funktsiyani bajaradi va bitta mijoz uchun bir nechta atributlarni saqlashi mumkin. Bizning vazifamiz ma'lumotlarning qiymatlarini ma'lumotlar registridagi alohida yozuvlarga o'tkazishdir.

Afsuski, faqat vizual vositalar bu erda ham bardosh bera olmaydi. Kichikdan boshlaylik, ma'lumotlar reestri uchun yangi dasturiy ta'minot yarating " Mijozlarning turlari" Manba sifatida hech narsa keltirmang. Kimdan avtomatik yaratish tushirish qoidalarini 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. "Mijozlarning turlari" ma'lumotlar registrini tanlang;
  • Qoida kodi (nomi). Uni "Mijoz turlarini tushirish" deb yozing;

Endi siz yuklash uchun ma'lumotlarni tanlash uchun kod yozishingiz kerak. parametr " Ma'lumotlardan namuna olish" Biz unda tayyorlangan ma'lumotlar to'plami bilan to'plamni joylashtirishimiz mumkin. Parametr " Ma'lumotlardan namuna olish” turli qiymatlarni olishi mumkin - so'rov natijalari, tanlov, qiymatlar to'plami va boshqalar. Biz uni ikkita ustunli qiymatlar jadvali sifatida ishga tushiramiz: mijoz va mijoz turi.

Quyida hodisa ishlov beruvchisi uchun kod mavjud " Qayta ishlashdan oldin" Parametrni ishga tushiradi " Ma'lumotlardan namuna olish” so‘ng katalogdan ma’lumotlarni to‘ldirish orqali “ Qarama-qarshi tomonlar" Bu erda siz ustunni to'ldirishga e'tibor berishingiz kerak " Mijoz turi" "UT" da bizning atributlarimiz "Mantiqiy" tipda, qabul qiluvchi esa ro'yxatdir.

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

DataFetch = Yangi qiymatlar jadvali(); DataSelection.Columns.Add("Mijoz"); DataSelection.Columns.Add("ClientType"); SelectingDataFromDirectory = Directories.Accounts.Select(); SelectingDataFromDirectory.Next() sikli Agar SelectingDataFromDirectory.ThisGroup keyin davom eting;

endIf; Agar Directory.Buyer dan ma'lumotlarni tanlash bo'lsa, NewRow = Data Selection.Add(); NewRow.Client = DataFetchFromDirectory.Link; Mijozlarning turlari NewRow.ClientType = "Mijoz";

endIf;

Agar DataFetchFromDirectory.Supplier bo'lsa, NewRow = DataFetch.Add(); NewRow.Client = DataFetchFromDirectory.Link; NewString.ClientType = "Yetkazib beruvchi";

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

Vazifa № 3. Stol qismlari bilan fokuslar

Ko'pincha siz bitta jadval bo'limidan bir nechta satrlarni joylashtirishni talab qiladigan vazifalarga duch kelasiz. Misol uchun, dastlabki konfiguratsiyada xizmatlar va tovarlar bir jadvalli qismda ro'yxatga olinadi va qabul qiluvchida bu sub'ektlarni saqlash bo'linadi. Shunga qaramay, muammoni vizual vositalar bilan hal qilish mumkin emas. Bu erda ikkinchi masalaning yechimini asos qilib olish qulay.

Biz ma'lumotlarni tushirish uchun qoida tuzamiz, o'zboshimchalik bilan algoritmni belgilaymiz va "Yuklashdan oldin" ishlov beruvchisida jadval qismidan ma'lumotlarni olish uchun so'rov yozamiz.

Joyni tejash uchun men so'rovning kodini (siz har doim manbalarga murojaat qilishingiz mumkin) bermayman - unda g'ayrioddiy narsa yo'q. Olingan tanlovni saralaymiz va tartiblangan natijalarni allaqachon tanish bo'lgan parametrga joylashtiramiz " Ma'lumotlardan namuna olish" To'plam sifatida qiymatlar jadvalidan foydalanish yana qulay:

DataFetch = Yangi qiymatlar jadvali(); //Bu yerda yana bir jadval qismi bo'ladi Data Selection.Columns.Add(“Mahsulotlar”); //Bu yerda, shuningdek, jadvalli qism bo'ladi Data Selection.Columns.Add (“Xizmatlar”); SelectionData.Columns.Add("Link");

Vazifa № 4. Ma'lumotlarni operatsiyaga o'tkazish

Agar tashkilot bir nechta buxgalteriya tizimlaridan foydalansa, ertami-kechmi keyingi operatsiyalarni yaratish bilan ma'lumotlarni ko'chirish zarurati paydo bo'ladi.

Konfiguratsiyada " BP"Umumjahon hujjat bor" Operatsiya” va u ko'proq simlarni shakllantirish uchun ideal. Bitta muammo bor - hujjat ayyorlik bilan tuzilgan va unga ma'lumotlarni osongina o'tkazib bo'lmaydi.

Siz maqolaning manba kodida bunday konvertatsiya qilishning namunasini topasiz. Kod miqdori juda katta bo'lib chiqdi, shuning uchun uni maqola bilan birgalikda nashr etishning ma'nosi yo'q. Aytmoqchimanki, qayta yuklash ma'lumotlarni yuklash qoidalarida ixtiyoriy algoritmdan foydalanadi.

Vazifa № 5. Bir nechta tafsilotlar bo'yicha ma'lumotlarni sinxronlashtirish

Biz allaqachon bir nechta misollarni ko'rib chiqdik, lekin biz hali ham 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 dublikatlarning paydo bo'lishining 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, katalogda " Qarama-qarshi tomonlar” bir xil identifikatorli ikkita element bo'lishi mumkin emas. CD bu va barcha yaratilgan PCOlar uchun hisob-kitoblarni amalga oshiradi, sukut bo'yicha identifikator bo'yicha qidiruv darhol yoqilgan. PCO ni yaratishda siz ob'ekt nomining yonidagi kattalashtiruvchi oyna tasviriga e'tibor berishingiz kerak edi.

Noyob identifikator yordamida sinxronlash ishonchli usuldir, lekin u har doim ham mos kelmaydi. Kataloglarni birlashtirganda " Qarama-qarshi tomonlar”(bir nechtadan turli tizimlar) u ko'p yordam bermaydi.

Bunday hollarda ob'ektlarni bir nechta mezonlarga muvofiq sinxronlashtirish to'g'riroqdir. Kontragentlarni INN, KPP, Name 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, PKO ni tayyorlaymiz va ob'ektni o'zgartirish qoidalari sozlamalarida " Qabul qiluvchi ob'ekt identifikator tomonidan topilmasa, qidiruv maydonlarini qidirishni davom eting" Ushbu harakat bilan biz darhol ikkita qidiruv mezonini aniqladik - noyob identifikator va maxsus maydonlar bo'yicha.

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

Bunday algoritm amalga oshirishga juda qodir. Hodisa boshqaruvchisida " 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”; Aks holdaIfSearchOptionNumber = 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'z echimini tanlash huquqiga ega, ammo agar siz doimo murakkab ma'lumotlar migratsiyasini ishlab chiqishingiz kerak bo'lsa, men "" ga e'tibor berishni tavsiya qilaman. Avvaliga mashg'ulotlarga resurslarni (vaqt) sarflashingiz kerak bo'lishi mumkin, ammo ular birinchi yoki kamroq jiddiy loyihada ko'proq pul to'laydi.

Menimcha, 1C kompaniyasi ma'lumotlarni konvertatsiya qilishdan foydalanish mavzusini adolatsiz ravishda e'tiborsiz qoldirmoqda. Texnologiyaning butun mavjudligi 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 tanishib chiqish tavsiya etiladi.

Platformalarni bilish hali ham zarur

"u 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 til bilan tanishish uchun vaqt sarflashingiz kerak bo'ladi. Tilning sintaksisi va mafkurasi juda boshqacha, shuning uchun siz o'rganish uchun vaqt sarflashingiz kerak bo'ladi. Aks holda, printsip bir xil bo'lib qoladi.

© 2024 ermake.ru -- Kompyuterni ta'mirlash haqida - Axborot portali