1s disk raskadrovka konfiguratsiyasi kengaytmalari. Konfiguratsiya kengaytmalari. Konfiguratsiya kengaytmalarida boshqariladigan shakl moduli va hodisalarni ishlovchilar

Konfiguratsiyani kengaytirish mexanizmi - bu konfiguratsiyani o'zgartirmasdan (shu jumladan qo'llab-quvvatlashdan olib tashlamasdan) kengaytiriladigan konfiguratsiyani yaxshilash uchun mo'ljallangan maxsus mexanizm.

Konfiguratsiyani kengaytirish mexanizmini ko'rib chiqishda quyidagi atamalar qo'llaniladi:

  • Kengaytiriladigan konfiguratsiya- kengaytma qo'llaniladigan yoki kengaytma ishlab chiqilayotgan ma'lumotlar bazasining asosiy konfiguratsiyasi.
  • Konfiguratsiya kengaytmasi- kengaytiriladigan konfiguratsiyaga ulangan va kengaytiriladigan konfiguratsiyaga qo'shilgan ob'ektlar to'plamini o'z ichiga olgan konfiguratsiya ob'ektlari to'plami. Kengaytma kengaytiriladigan konfiguratsiya ob'ektlarini ham, kengaytirilgan konfiguratsiyada mavjud bo'lmagan ob'ektlarni ham o'z ichiga olishi mumkin.
  • o'z ob'ekti- kengaytiriladigan konfiguratsiyada ham, kengaytmada ham (hisobot, ishlov berish yoki quyi tizim) joylashishi mumkin bo'lgan mustaqil konfiguratsiya ob'ekti.
  • Qarzga olingan ob'ekt- konfiguratsiya kengaytmasiga qo'shilgan shaxsiy ob'ekt.
  • Kengaytiriladigan ob'ekt– o'z ob'ekti, uning uchun qarzga olingan ob'ektda har qanday parametrlar (xususiyatlar, shakllar va boshqalar) o'zgartirilgan.
  • Kengaytma ob'ekti kengaytiriladigan ob'ektga nisbatan o'zgartirilgan qarzga olingan ob'ekt. Qarzga olingan ob'ektda faqat boshqariladigan xususiyatlarga ega bo'lish qarzga olingan ob'ektni kengaytiruvchiga aylantirmaydi.
  • Natija obyekti o'zining ob'ekti va barcha kengaytirilgan ob'ektlarning birlashmasi (agar bir nechta kengaytma bo'lsa). Agar o'z ob'ekti uchun kengaytiruvchi ob'ektlar bo'lmasa, u natijada "o'zgarmagan" bo'ladi. Bular. foydalanuvchi ishlayotgan konfiguratsiyada barcha ob'ektlar o'rnatilgan kengaytmalarning mavjudligi va sonidan qat'i nazar, natija ob'ektlari hisoblanadi.
  • Mulkni kengaytirish- kengaytirilgan ob'ektning bir xil nomdagi xususiyatini o'zgartiradigan qarzga olingan ob'ektning mulki.
  • nazorat qilinadigan mulk- qarzga olingan ob'ektning mulki, uning qiymati kengaytma kengaytirilgan konfiguratsiyaga ulanganda tekshiriladi. Agar kengaytmani ulashda (1C: Enterprise rejimida) kengaytmadagi boshqariladigan xususiyatning qiymati kengaytirilayotgan konfiguratsiyadagi bir xil xususiyatning qiymatiga mos kelmasa, kengaytma ulanmaydi.
  • O'zgartiriladigan xususiyat– qarzga olingan ob’ektning mulki, natijada olingan ob’ektdagi qiymati kengaytmadan olinadi.

Qarzga olingan ob'ektning mulkini bir vaqtning o'zida boshqarish va o'zgartirish mumkin emas.

Konfiguratsiya kengaytmasining asosiy maqsadi amalga oshirish paytida (yoki "bulutda") qo'llaniladigan yechimni mijozning ehtiyojlariga moslashtirishdir. Shu bilan birga, yakuniy konfiguratsiyani qo'llab-quvvatlashdan olib tashlash kerak emas. Natijada, yaxshilanishlarni amalga oshirish zarurati bilan qo'llab-quvvatlanadigan odatiy dastur echimini yangilash oson. Kengaytmani ishlab chiqishda siz konfiguratsiya kengaytmasi ishlashining ba'zi xususiyatlarini tushunishingiz kerak. Shunday qilib, kengaytiriladigan konfiguratsiya istalgan vaqtda, masalan, yangilanish natijasida o'zgartirilishi mumkin. Shu bilan birga, kengaytmani ishlab chiquvchi hech qanday tarzda yangilash imkoniyati yoki mumkin emasligiga ta'sir qila olmaydi. Tizimda bir nechta kengaytmalar ishlashi mumkinligini va har bir kengaytmaning muallifi (umuman) boshqa kengaytma qanday ishlashini bilmasligini ham hisobga olishingiz kerak.

Kengaytma konfiguratorda yaratilgan, ma'lumotlar bazasida saqlanadi va faylga saqlanishi mumkin. Muayyan mijozning amaliy yechimiga faylga saqlangan kengaytmani qo'shish (ulash) uchun konfiguratordan foydalanishning hojati yo'q. Kengaytmani maxsus standart funksiya yordamida ulashingiz mumkin (Barcha funktsiyalar - Standart - Konfiguratsiya kengaytmalarini boshqarish). Bundan tashqari, kengaytmani platforma tomonidan taqdim etilgan dasturlash interfeysidan foydalanadigan amaliy yechim asboblar to'plamidan foydalanib ulashingiz mumkin. Kengaytmani (interaktiv yoki o'rnatilgan tildan) biriktirish xavfsiz bo'lmagan rejimda yoki sessiya ishlayotgan xavfsizlik profili plagin kengaytmasiga kirishga ruxsat berganida mumkin.

Kengaytiriladigan ob'ektlar quyidagilar bo'lishi mumkin:

  • Boshqariladigan shakllar;
  • Rollar;
  • Quyi tizimlar;
  • Qo'llaniladigan yechimning dastlabki sahifasi (ish stoli) sozlamalari;
  • Umumiy modullar;
  • Barcha turdagi ob'ektlar uchun ob'ekt modullari;
  • Barcha turdagi ob'ektlar uchun menejer modullari;
  • seans moduli;
  • Boshqariladigan dastur moduli;
  • Tashqi ulanish moduli;
  • buyruq modullari.

Quyidagilardan maxsus kengaytma ob'ektlari sifatida foydalanish mumkin:

  • Quyi tizimlar;
  • Qayta ishlash;
  • Hisobotlar;
  • Qarzga olingan ishlov berish va hisobotlarda rekvizitlar, jadval qismlari va jadval qismlarining tafsilotlari;
  • Rollar;
  • XDTO paketlari;
  • Veb-xizmatlar;
  • HTTP xizmatlari;
  • WS havolalari;
  • Umumiy sxemalar;
  • Umumiy buyruqlar;
  • Birgalikda modullar (global server va imtiyozli umumiy modullardan tashqari);
  • Buyruqlar guruhlari;
  • Umumiy rasmlar;
  • Qarzga olingan ob'ektlarning shakllari, tartibi va buyruqlari:
  • almashinuv rejalari;
  • tanlash mezonlari;
  • Saqlash sozlamalari;
  • kataloglar;
  • Hujjatlar;
  • Hujjatlar jurnallari;
  • Ro'yxatlar;
  • Hisobotlar;
  • qayta ishlash;
  • Axborot registrlari;
  • Jamg'arma registrlari;
  • buxgalteriya registrlari;
  • Hisoblash registrlari;
  • Xarakteristikalar turlarining rejalari;
  • Hisob jadvallari;
  • Hisoblash turlari bo'yicha rejalar;
  • Biznes jarayonlari;
  • vazifalar;
  • Tashqi ma'lumotlar manbalarining jadvallari;
  • Tashqi ma'lumotlar manbalarining kublari;
  • Tashqi ma'lumotlar manbalarining o'lchov jadvallari.

Nazorat qilinadigan xususiyatlar orasida quyidagilarni ta'kidlash kerak:

  • Ayirboshlash rejasining tarkibi;
  • Ma'lumotnomalar uchun oldindan belgilangan elementlar, xarakteristikalar turlari jadvallari, hisoblar jadvallari va hisoblash turlari jadvallari.

Ilova echimlarining asosiy versiyalarida kengaytmalar bilan ishlash qo'llab-quvvatlanmaydi.

Dasturiy ta'minotni sozlash zarurati, ya'ni. uning ma'lum bir foydalanuvchi ehtiyojlariga o'zgartirishlari, ehtimol, dasturiy ta'minotning o'zi bilan bir vaqtda paydo bo'lgan. Hammani qoniqtiradigan dastur yozish qiyin, shuning uchun dastur ishlab chiqaruvchisini jalb qilmasdan o'zgartirishlar kiritishga ruxsat berish yaxshidir. Ayniqsa, biznes ilovalari haqida gap ketganda, chunki. turli tashkilotlarda bir xil sohalarda ham biznes jarayonlari farq qilishi mumkin.

Manba kodini o'zgartirish

Turli xil xususiylashtirish strategiyalari mavjud. Agar dastur manba kodlarida taqdim etilgan bo'lsa, eng aniq yondashuv sizning ehtiyojlaringizga mos ravishda manba kodini qayta yozishdir. Va bu holatda eng aniq muammo dasturning yangi versiyasiga o'tishdir, chunki. Bu o'zgartirilgan mijoz versiyasining manba kodlarini va sotuvchining yangi versiyasini birlashtirishni talab qiladi. Va bu ahamiyatsiz vazifa bo'lishi mumkin, ayniqsa mijoz tomoni kodi juda moslashtirilgan bo'lsa.

Plaginlar

Bu borada xavfsizroq strategiya plaginlardir. Manba ilovasi plaginni qattiq interfeyslar to'plami bilan ta'minlaydi, shuningdek, dasturda o'zini ro'yxatdan o'tkazish imkoniyatini beradi. Ilovaning yangi versiyasi chiqarilganda, oldingi versiya uchun yozilgan plaginlar yangi versiyada ishlashda davom etadi (interfeyslar o'zgarmagan holda). Yangi versiyadagi plaginlarning xatti-harakati, agar dasturiy ta'minot sotuvchisi ilovaning harakatini o'zgartirgan bo'lsa, avvalgi versiyadagi xatti-harakatlardan farq qilishi mumkin. Plaginlar kontseptsiyasi turli xil dasturiy ta'minot sinflarida - ofis va biznes dasturlarida, ishlab chiqish muhitlarida (Visual Studio, Eclipse, ...), grafik va ovozli tahrirlovchilarda va boshqalarda qo'llaniladi.

Obunalar

Boshqa xususiylashtirish texnologiyasi - bu dasturdagi voqealarga obuna bo'lish va ushbu voqealar paytida taniqli yoki xususiy tilda maxsus kodni bajarish qobiliyati. Hodisalar juda xilma-xil bo'lishi mumkin - oynani ochish, tasvirni yuklash (grafik muharrir uchun), buyurtmani qayta ishlash (biznes tizimi uchun).

Ushbu yondashuvning bir varianti asosiy dasturga Visual Basic for Application (VBA) kabi tillarda maxsus skriptlarni bajarish qobiliyatini yaratishdir. Maxsus kod, xususan, dastur hodisalariga javoban bajarilishi mumkin. Xuddi shu VBA juda kuchli va moslashuvchan moslashtirish vositasi ekanligini isbotladi; u Microsoft Office, AutoCAD, SolidWorks, CorelDRAW, WordPerfect, ESRI ArcGIS va boshqa mahsulotlarga o'rnatilgan.

1C yechimlarida moslashtirish: boshlanish

1C: Enterprise platformasi turli xil xususiylashtirish strategiyalarini amalga oshiradi. 1C qo'llaniladigan echimlar manba kodlarida taqdim etilganligi sababli, tabiiyki, eng aniq stsenariylardan biri manba kodini o'zgartirishdir.

1C ilovalarining manba kodini o'zgartirish

Mijoz 1C yechimining manba kodini o'z ehtiyojlariga mos ravishda o'zgartirganda, u dastur provayderi ham ishlamay qolmasligini va yangi versiyalarni chiqarishini, funksionallikni qo'shishini va xatolarni tuzatishini unutmasligi kerak. Ilovaning yangi versiyasini o'rnatishda mijozning ehtiyojlariga kiritilgan o'zgartirishlar yo'qolmasligi uchun dasturning o'zgartirilgan oldingi versiyasini va yangi versiyani qandaydir tarzda birlashtirish (birlashtirish) kerak.

Tabiiyki, biz 1C da ushbu vazifaga katta e'tibor qaratdik va uni hal qilishni osonlashtiradigan etkazib berish va qo'llab-quvvatlash mexanizmini ishlab chiqdik. Bu qanday ishlashini aytib berishdan oldin, 1C yechimlarining ichki tuzilishi haqida bir nechta tafsilotlar.

1C dastur yechimining (konfiguratsiyasi) manba kodlari va metama'lumotlari ma'lumotlar bazasida, dasturning o'zi ma'lumotlarini (e'lonlar, kataloglar va hujjatlar ma'lumotlari va boshqalar) o'z ichiga olgan bir xilda saqlanadi, ya'ni. dastur ma'lumotlar bilan birga saqlanadi. 1C terminologiyasida konfiguratsiyaga (va dastur ma'lumotlariga) ega bo'lgan ma'lumotlar bazasi ma'lumotlar bazasi deb ataladi (infobaza sifatida qisqartiriladi).

Ishlab chiqish jarayonida konfiguratsiya provayderi mijoz qaysi konfiguratsiya ob'ektlarini (ma'lumotnomalar, hujjatlar va boshqalar) o'zgartirishi mumkinligini va qaysi birini o'zgartira olmasligini aniqlaydi.

Yetkazib beruvchi tomonida yetkazib berishni sozlash

Mijoz o'z tomonida, ushbu mexanizmdan foydalangan holda, provayderning amalga oshirilgan konfiguratsiyasi ob'ektlarini qo'llab-quvvatlash qoidalarini ham aniqlashi mumkin - masalan, agar u ushbu ob'ektni keyingi o'zgartirish uchun javobgarlikni o'z zimmasiga olsa, ma'lum bir ob'ektni provayder tomonidan qo'llab-quvvatlashni rad qilishi mumkin. . Yoki, aksincha, tasodifiy o'zgarishlardan sug'urta qilish uchun "sizning" konfiguratsiya ob'ektini tahrirlashni taqiqlashingiz mumkin (hatto yetkazib beruvchi ruxsat bergan bo'lsa ham).

Mijoz tomonidan qo'llab-quvvatlashni sozlash

Mijoz odatiy konfiguratsiyada biror narsani o'zgartirishni boshlaganda, ma'lumotlar bazasida ikkita konfiguratsiya yaratiladi:

  1. Asl sotuvchi konfiguratsiyasi.
  2. Mijoz tomonida o'zgartirilgan joriy konfiguratsiya.
Va endi yetkazib beruvchi yangi versiyani chiqaradi. U to'liq dastur sifatida yoki o'zgartirilgan ob'ektlar bilan xizmat paketi sifatida taqdim etilishi mumkin. Yangi versiyaga o'tishda bizda mijoz tomonida 3 ta konfiguratsiya mavjud bo'lib, ular asosida konfiguratsiyalarni uch tomonlama birlashtirish deb ataladigan narsa amalga oshiriladi:
  1. Sotuvchidan olingan eski konfiguratsiya.
  2. Mijozning joriy konfiguratsiyasi (sotuvchining eski konfiguratsiyasi va unga mijoz tomonidan kiritilgan o'zgarishlar).
  3. Sotuvchidan yangi konfiguratsiya.
Ba'zi hollarda provayder tomonidan o'zgartirilgan ob'ektlar avtomatik ravishda yangilanishi mumkinligi aniq:
  • Mijoz tomonidan o'zgartirilmagan ob'ektlar.
  • Mijoz tomonidagi ob'ektlarga oddiy o'zgartirishlar (masalan, ob'ektga qo'shimcha atributlar qo'shish).
Agar ob'ekt mijoz tomonidan ham, etkazib beruvchining yangi versiyasida ham o'zgartirilgan bo'lsa, qo'lda aralashuv zarur. Bizda nafaqat kod modullari, balki modellar (metadata, shakllar, hisobotlar...) uchun ham kuchli taqqoslash va birlashtirish mexanizmi mavjud, ammo bu mexanizm bilan ham konfiguratsiyalarni birlashtirish ahamiyatsiz bo'lishi mumkin.

Tashqi hisobotlar va qayta ishlash

Yangi versiyalarga o'tish nuqtai nazaridan nisbatan xavfsiz bo'lgan yana bir moslashtirish mexanizmi - bu tashqi hisobotlar va qayta ishlash mexanizmi. Nomidan ko'rinib turibdiki, ikkala turdagi ob'ektlar - tashqi hisobotlar va tashqi ishlov berish - amaliy yechim uchun tashqi bo'lib, alohida fayllarda saqlanadi va bajarilish vaqtida dastur yechimiga yuklanadi. Shunday qilib, yangi versiyaga o'tish jarayoni ularga umuman ta'sir qilmaydi. Ammo agar yangi versiyada ob'ekt tafsilotlari o'chirilgan yoki nomi o'zgartirilgan bo'lsa va qayta ishlash yoki hisobot ularga tegishli bo'lsa, hisobot yoki ishlov berish o'zgartirilmagan holda yangi versiyada ishlamaydi.

Tashqi hisobotlar va qayta ishlash asosan plaginlardir. Ular "moslashtirilgan" hisobotlar va maxsus ma'lumotlar operatsiyalari uchun juda mos keladi (masalan, boshqa tizimlardan ma'lumotlarni import qilish uchun), lekin, albatta, ular barcha sozlash stsenariylarini qamrab olmaydi. Agar mijoz hujjatni joylashtirishda bajarilishi kerak bo'lgan maxsus kodni qo'shishi kerak bo'lsa, bu erda tashqi ishlov berish ajralmas - hujjat modulining manba kodini tahrirlashingiz kerak.

Bulutli moslashtirishlar

1cFresh bulut texnologiyasining paydo bo'lishi bilan moslashtirish vazifasi yangi darajaga ko'tarildi. Gap shundaki, "bulutda" turli tashkilotlarning qo'llaniladigan yechim foydalanuvchilari bitta infobaza bilan (ya'ni, ilovaning bitta nusxasi bilan) jismonan ishlashi mumkin, ammo shu bilan birga, ma'lumotlarni almashish mexanizmi tufayli ular faqat ularning tashkiloti to'g'risidagi ma'lumotlar. Manba kodini o'zgartirish orqali xususiylashtirish bu erda qabul qilinishi mumkin emas - har bir tashkilot o'z shaxsiy sozlashlariga muhtoj va ma'lumotlar bazasidagi "qo'shnilar" ni sozlash mutlaqo keraksiz.

Moslashtirish uchun "bulutda" faqat tashqi hisobotlardan foydalanish va qayta ishlash qo'llaniladi, lekin yuqorida aytib o'tilganidek, tashqi hisobotlar va ishlov berish foydalanuvchilarga kerak bo'lgan barcha stsenariylarni qamrab olmaydi.

Konfiguratsiya kengaytmalari

Shunday qilib, biz quyidagi talablarni qondiradigan moslashtirish mexanizmini ishlab chiqishimiz kerak edi:
  1. Konfiguratsiyalarni qo'lda birlashtirishdan qochib, moslashtirilgan yechimni yangi versiyaga yangilashni osonlashtiradi.
  2. Muayyan sharoitlarda sozlashni yoqishga ruxsat beriladi (masalan, agar biz ma'lum bir tashkilot kontekstida ishlasak).
  3. Asl konfiguratsiyaning yangi versiyasiga o'tishda xususiylashtirish o'z funksionalligini yo'qotish ehtimoli kamaydi.
  4. Ilovaning ishlashini ta'minlash uchun muammolar yuzaga kelganda sozlashni o'chirish imkoniyati mavjud edi.
Bunday mexanizm, bulutli echimlarda qo'llanilishidan tashqari, sozlash zarur bo'lgan standart konfiguratsiyalarni amalga oshirish bo'yicha yangi versiyaga o'tishda hayotni sezilarli darajada osonlashtiradi.
Biz bunday mexanizmni o'ylab topdik va uni kengaytmalar deb atashdik. Bu mexanizm, ma'lum ma'noda, sozlashning ikkita yondashuvini - plaginlar mafkurasi va obuna mexanizmini birlashtiradi.

Kengaytmalar konfiguratsiya o'zgarishlarini konfiguratsiyaning o'zidan alohida saqlash usulidir. Kengaytma, aslida, o'zgartirilgan ob'ektlarni o'z ichiga olgan alohida konfiguratsiyadir. U, konfiguratsiya kabi, ob'ektlar daraxti sifatida taqdim etiladi. Kengaytma bilan ishlash uchun odatdagi konfiguratsiya bilan bir xil ish usullari qo'llaniladi:

Agar biz kengaytmadagi asosiy konfiguratsiyadagi ob'ektdan foydalanmoqchi bo'lsak (masalan, asosiy konfiguratsiyadagi mavjud hujjatga yangi shakl qo'shish), avval "Kengaytmaga qo'shish" buyrug'i yordamida ob'ektni kengaytmamizga olishimiz kerak. . Ob'ektni kengaytmaga qo'shgandan so'ng, u kengaytma ob'ektlari daraxtida "bo'sh" bo'ladi - u faqat asosiy konfiguratsiyada bo'lgan xususiyatlarga ega. Bundan tashqari, asosiy konfiguratsiyadan mavjud shaklni qarzga olishingiz va, masalan, ba'zi bir amalni bajaradigan yangi tugma qo'shishingiz mumkin. Kengaytmalardagi ob'ektlarga yangi atributlar qo'shish hali mumkin emas, lekin biz buning ustida ishlamoqdamiz.

InvoiceIssued qarzga olingan hujjat bilan asosiy konfiguratsiya va kengaytma

Kengaytma, shuningdek, hodisalar obunasining analogiga ega - kengaytiriladigan konfiguratsiya ob'ektlarining hodisalarini qayta ishlash qobiliyati, masalan, yozuvlarni qayta ishlash. Kengaytmada kodimiz qanday chaqirilishini aniq belgilashingiz mumkin:

Hujjatni yozishning standart protsedurasidan oldin biz kodimizga qo'ng'iroq qilishimiz mumkin, masalan, hujjat uchun mas'ul xodimning maydoni to'ldirilganligini tekshiradi va agar bo'lmasa, u joriy foydalanuvchini ushbu maydonga yozadi:

&After("BeforeWrite") protsedurasi ExtendAndromeda_BeforeWrite(Cancel,WriteMode, PostMode) Agar (ThisObject.Owner = Catalogs.Users.NullReference()) Keyin ThisObject.Owner = ModuleUsers.GetCurrentUser(); EndIf; EndProcedure
Konfiguratsiyaning yangi versiyasida hujjat kiritishni amalga oshirish o'zgarishi mumkin, ammo kengaytmadagi bizning kodimiz standart hujjat kiritish kodidan oldin ishlaydi va o'z vazifasini bajaradi.

Ishlash vaqtida odatiy konfiguratsiya va kengaytmalar (bir nechta bo'lishi mumkin) "qo'shiladi", natijada oxirgi foydalanuvchi ishlaydigan yangi, moslashtirilgan konfiguratsiya paydo bo'ladi.

Kengaytmalarni bajarish tartibi

Kengaytmalarni ishlab chiqishda shuni yodda tutingki, platforma konfiguratsiyaga bir nechta kengaytmalar qo'shganda kengaytmalar bir xil tartibda ishlashiga kafolat bermaydi. Biz ataylab kengaytmalarni bajarish tartibini aniq belgilashdan voz kechdik, chunki bu, bizning fikrimizcha, o'rnatishni murakkablashtiradi va oxir-oqibat u hal qilishdan ko'ra ko'proq muammolarni keltirib chiqaradi.

Agar biz konfiguratsiyaga bir nechta kengaytmalarni qo'shsak, ularning har biri "&After" direktivasi bilan bir xil hujjatni qayta ishlashga ega bo'lsa, u holda barcha ishlov beruvchilar bajariladi, ammo platforma ularni bajarish tartibi har doim ham shunday bo'lishiga kafolat bermaydi. bir xil. Kengaytmalarni ishlab chiqishda buni hisobga olish kerak.

Agar "&O'rniga" direktivasi bilan bir nechta kengaytmalarda bir xil hodisa uchun ishlov beruvchi mavjud bo'lsa, faqat bitta ishlov beruvchi bajariladi va qaysi biri ekanligini oldindan aytish mumkin emas. Buni yodda tutish va nazorat qilish kerak, shunda konfiguratsiyaning bir nechta kengaytmalarida bir xil ob'ekt / hodisa uchun "&O'rniga" ishlov beruvchisi bo'lmaydi.

Kengaytmalarda shaklni moslashtirish

Biz ob'ekt shaklini konfiguratsiyadan (masalan, hujjat shakli) kengaytmamizga olishimiz mumkin. Shu bilan birga, kengaytmadagi vizual shakl muharririda biz asosiy konfiguratsiyadagi kabi shaklni ko'ramiz. Va shakl kodi muharririda kengaytma bo'sh bo'ladi - forma uchun barcha kod hali ham faqat asosiy konfiguratsiyada mavjud.

Shaklga yangi tugma (yoki hatto bir nechta) qo'shishingiz mumkin. Agar bir nechta kengaytmalar bir xil shaklga o'z tugmalarini qo'shsa, ularning barchasi bajarish paytida yakuniy shaklda mavjud bo'ladi.

Ammo shakldan standart elementlarni olib tashlash tavsiya etilmaydi - bu asl konfiguratsiyada mavjud kodni buzishi mumkin (agar u forma elementlariga kirsa). Agar bunday ehtiyoj mavjud bo'lsa, "Ko'rinish" xususiyati orqali elementlarni ko'rinmas holga keltirish yaxshiroqdir.

Shuni hisobga olish kerakki, 1C: Enterprise ilovasi shunchaki dasturlash tilidagi kod emas. Ilovaning ko'p qismi deklarativ modellar shaklida tasvirlangan. Bundan tashqari, har xil vazifalar (shakllar, hisobotlar, huquqlar, ....) uchun har xil turdagi modellar qo'llaniladi. Har bir turdagi model uchun biz kengaytmalarda o'z xususiylashtirish usulini tanlaymiz, bu odatiy holatlar uchun eng qulay o'zgarishlarni ta'minlaydi.

Kengaytmalarning afzalliklari

Kengaytmalar mafkuraviy jihatdan etkazib berish va qo'llab-quvvatlash mexanizmidan farq qiladi. Yetkazib berish va qo'llab-quvvatlash mexanizmida ishlab chiquvchi etkazib beruvchining konfiguratsiyasini o'zi xohlagancha tahrir qiladi, go'yo u o'z konfiguratsiyasini yakunlayotgandek, keyin (yangilashda) qarama-qarshi o'zgarishlarni qanday sinxronlashtirishni aniqladi. Kengaytmalarda ishlab chiquvchi qo'shilgan funksionallik nuqtai nazaridan darhol kengaytmani ishlab chiqadi. Kengaytma tizim tomonidan aynan qo'shimcha sifatida saqlanadi va tizim eng xavfsiz yangilanish bilan shug'ullanadi.

Konfiguratsiyaning yangi versiyasiga o'tish qulayligi

Sotuvchi umumiy konfiguratsiyaning yangi versiyasini chiqarganda, avtomatik yangilash amalga oshiriladi, chunki umumiy konfiguratsiyani qo'llab-quvvatlash rejimi o'zgarmagan - u to'liq sotuvchi tomonidan qo'llab-quvvatlanadi. Yangilangan dastur yechimini ishga tushirganingizda, platforma yana avtomatik ravishda o'zgartirilgan standart konfiguratsiyani kengaytma bilan birlashtiradi. Va mijoz o'z ehtiyojlariga mos ravishda o'zgartirilgan standart yechim bilan ishlashda davom etadi.

Biroq, ba'zan, standart konfiguratsiya versiyasini yangilagandan so'ng, kengaytmani yangi versiyaga moslashtirish kerak bo'lishi mumkin, masalan, agar kengaytmada ishtirok etuvchi ob'ektlarning ob'ektlari yoki atributlari yangi versiyada qayta nomlansa. Bu haqda biroz ko'proq quyida, "Xatolar haqida erta xabar berish" bo'limida.

O'zgarishlar alohida

Kengaytmalarning birinchi aniq afzalligi shundaki, mijoz uchun qilingan barcha sozlashlar odatiy konfiguratsiyadan alohida bo'lib, endi aniq nima o'zgartirilganligini tushunish uchun o'zgartirilgan konfiguratsiyani odatiy konfiguratsiya bilan solishtirishning hojati yo'q.

Kengaytmadagi asosiy konfiguratsiyadagi ob'ektdan foydalanish uchun uni asosiy konfiguratsiyadan kengaytmaga olish kerakligi allaqachon aytib o'tilgan. Shunday qilib, kengaytmada asosiy konfiguratsiyadagi ob'ektga havola kabi narsa paydo bo'ladi.

Shu bilan birga, konfiguratsiyadagi qaysi qarzga olingan ob'ektlar haqiqatan o'zgartirilganligini va qaysilari faqat o'qish rejimida olinganligini tushunishning bir usuli mavjud - masalan, hisobotlarda foydalanish uchun. Kengaytma ob'ektlari daraxtida "Kengaytmaga o'zgartirildi va qo'shildi" filtr tugmasi mavjud, uni bosgandan so'ng faqat ushbu kengaytmada o'zgartirilgan qarzga olingan ob'ektlar va ushbu kengaytmada yaratilgan yangi ob'ektlar daraxtda qoladi.

Erta xato xabari

Hisobotda foydalanish uchun shartnomalar katalogini asosiy konfiguratsiyadan kengaytmaga oldik deylik. Shu bilan birga, standart konfiguratsiyaning yangi versiyasi chiqdi, unda Shartnomalar katalogi Shartnomalar deb o'zgartirildi. Tabiiyki, yangi versiyaga o'tgandan so'ng, kengaytmadagi hisobotimiz ishlamaydi. Agar biz eski xususiylashtirish texnologiyasidan - tashqi hisobotdan foydalangan bo'lsak, unda xato faqat hisobot bajarilgan paytda sodir bo'ladi. Kengaytmalar bo'lsa, biz odatdagi konfiguratsiya versiyasini yangilagandan so'ng dizayn vaqtida kengaytmalarning to'g'riligini tekshirish va foydalanuvchilar ishlashni boshlashdan oldin har qanday muammolarni hal qilish imkoniyatiga egamiz.

Bu, ayniqsa, bitta ma'lumot bazasida ko'plab kengaytmalar qo'llaniladigan va konfiguratsiya versiyasi markazlashtirilgan tarzda yangilanadigan ilovalar uchun to'g'ri keladi (masalan, bir xil konfiguratsiyadan foydalanadigan, lekin turli ma'lumotlar sohalarida ishlaydigan turli tashkilotlar turli xil kengaytmalar to'plamidan foydalanishi mumkin bo'lgan bulutli ilovalarda) . Administrator sinov bazasida odatiy konfiguratsiya versiyasini yangilashi va yangi versiyaga nisbatan barcha foydalanuvchi kengaytmalarining to'g'riligini tekshirishi mumkin. Muammolar yuzaga kelganda, u kengaytmalar egalariga xabar beradi va ishchi bazaning odatiy konfiguratsiyaning yangi versiyasiga o'tishi faqat barcha kengaytmalar konfiguratsiyaning yangi versiyasiga moslashtirilganda amalga oshiriladi.

Keyin nima?

Biz kengaytmalarni ishlab chiqishni 1C: Enterprise platformasida moslashtirish vositalarini ishlab chiqishning asosiy yo'nalishlaridan biri deb hisoblaymiz. Dastlab bulut xizmatida moslashtirishni osonlashtirish uchun ishlab chiqilgan kengaytmalar bulutli bo'lmagan ilovalarda ham sozlash holatlarini osonlashtirish uchun mo'ljallangan.

Kengaytmalarda siz xohlagan hamma narsani moslashtira olmaysiz. Masalan, hali yangi amaliy ob'ektlarni (kataloglar, hujjatlar va boshqalar) yaratish mumkin emas va mavjud dastur ob'ektlariga yangi atributlar qo'shish mumkin emas. Biz bu ustida ishlayapmiz (va boshqa funktsiyalarda) va 1C: Enterprise platformasining deyarli har bir yangi versiyasida biz kengaytmalarga yangi xususiyatlar qo'shamiz: Teglar qo'shish

Juda dolzarb bo'lib chiqdi :)

Mayli, keling, bu hafta oxiri ham foydali bo'lsin.

Shunday qilib, bugungi kunda "1C amaliy operatsiyasi" ning yana bir mavzusi:

8.3.6 platformasida kengaytirish mexanizmi

Biz nima haqida gapiryapmiz?

8.3.6 platformasida yangi mexanizm joriy etildi - ma'lum bir mijoz uchun dastur echimini moslashtirishni osonlashtiradigan kengaytma mexanizmi.

Kengaytmalardan foydalanganda konfiguratsiya yangi ob'ektda yakunlanadi- konfiguratsiya kengaytmasi:

  • Kengaytma, aslida, bu ham konfiguratsiya, lekin ba'zi cheklovlar bilan
  • Tayyorlangan kengaytma foydalanuvchi rejimida mijozning ishchi ma'lumotlar bazasiga ulanishi mumkin
  • Eng asosiysi - yakunlangan konfiguratsiyani qo'llab-quvvatlashdan olib tashlash kerak emas, ya'ni. u standart, o'zgarishsiz qoladi
  • O'zgartirilgan konfiguratsiyani yangilash foydalanuvchi tomonidan avtomatik ravishda amalga oshirilishi mumkin

Shunday qilib, mijoz natijada oladi takomillashtirish imkoniyati konfiguratsiya va bir vaqtning o'zida oddiy avtomatik yangilash.

Bu bilan batafsilroq shug'ullanishingiz uchun biz kengaytmalar bo'yicha yana bir nechta videolarni + PDF-ni nashr etamiz.

Keling, boraylik:

Konfiguratsiya kengaytmalarini tayinlash

Video 8.3.6 platformasida taqdim etilgan yangi konfiguratsiya kengaytmalari mexanizmini qamrab oladi. U amalga oshirish jarayonida echimlarni takomillashtirish, moslashtirish uchun mo'ljallangan. Shu bilan birga, mijoz oddiy avtomatik konfiguratsiya yangilanishini va yaxshilanishlarni amalga oshirish qobiliyatini oladi.

Kengaytmada o'zgartirilishi mumkin bo'lgan ob'ektlar

Ushbu videoda kengaytma mexanizmining mavjud cheklovlari muhokama qilinadi. Hozirgi vaqtda kengaytmalarda faqat cheklangan miqdordagi ob'ektlardan foydalanish mumkin.

Konfiguratorda kengaytmalar bilan ishlash

Ushbu video konfiguratorda kengaytmalarni ishlab chiqishni o'z ichiga oladi. Kengaytma biroz cheklangan bo'lsa-da, konfiguratsiyadir. Kengaytma bilan ishlash metadata ob'ektlari daraxtida ham amalga oshiriladi. Olingan kengaytma diskdagi faylga saqlanishi mumkin.

Ob'ektlarni qarzga olish

Ushbu videoda asosiy konfiguratsiya ob'ektlarini kengaytmaga olish ko'rib chiqiladi. Bu kengaytmaning o'zi rivojlanishini amalga oshirish uchun zarur bo'lgan asosiy mexanizmdir. Shuningdek, u boshqariladigan xususiyatlar haqida gapiradi, ularning qiymati kengaytma ulanganda tekshiriladi.

Konfiguratsiya kengaytmasida o'z ob'ektlaringizni yaratish

Ushbu video kengaytmada o'z ob'ektlaringizni qanday yaratishingiz mumkinligini ko'rsatadi. Bunday ob'ektlar ro'yxati hali ham cheklangan - bu hisobotlar, ishlov berish va quyi tizimlar. Kengaytmada bunday ob'ektlarni ishlab chiqish asosiy konfiguratsiyaga o'xshashlik bilan amalga oshiriladi.

Foydalanuvchi rejimida kengaytmalar bilan ishlash

Ushbu videoda tayyorlangan kengaytmani mijozning ishchi bazasiga qanday ulash mumkinligi ko'rsatilgan. Bunday holda, ulanish foydalanuvchi rejimidan konfiguratorga kirmasdan amalga oshirilishi mumkin.

Konfiguratsiya kengaytmalarida boshqariladigan shakllar bilan ishlash

Ushbu video sizga kengaytmada boshqariladigan shakllar bilan qanday ishlashni ko'rsatib beradi. Ta'kidlanishicha, asl shakl kengaytma bilan avtomatik sinxronlashtirilmaydi. Tizim kengaytma mavjud bo'lganda shaklning paydo bo'lgan ko'rinishini qanday yaratishini tushuntiradi.

Konfiguratsiya kengaytmalarida boshqariladigan shakl moduli va hodisalarni ishlovchilar

Ushbu video sizga boshqariladigan konfiguratsiya kengaytmasi shakllarida voqea ishlovchilar bilan qanday ishlashni ko'rsatib beradi.

Asosiy konfiguratsiyada va kengaytmada hodisa ishlov beruvchilarining bajarilish tartibi ko'rsatilgan.

Dasturning oldingi versiyalaridan foydalanish tajribasini o'rganib chiqib, ma'lum bir yechim qanchalik universal va keng qamrovli bo'lishidan qat'i nazar, oxir-oqibat, 90% hollarda u oxirgi foydalanuvchi uchun yakunlanishi kerak. 1C dasturining 8-versiyasini ishlab chiquvchilar standart konfiguratsiya mexanizmlarini o'zgartirish zaruratini minimallashtirish uchun bir nechta tubdan yangi echimlarni amalga oshirdilar:

  • Dasturning birinchi versiyalaridan tom ma'noda ko'plab kataloglarning elementlari xarakterli turlarning tegishli rejasi va ma'lumotlar registridan foydalangan holda qo'shimcha xususiyatlar va toifalarni yaratish imkoniyatiga ega;
  • Jadval qismlarini to'ldirish uchun qo'shimcha bosma shakllar va shakllar, shuningdek, qo'shimcha hisobotlar va ishlov berish endi tegishli katalogdan chaqirilishi mumkin;
  • Ob'ektlarning standart protseduralarini qayta ishlash modulga o'zgartirishlar kiritish orqali emas, balki hodisalarga obuna bo'lish orqali amalga oshiriladi;
  • Va nihoyat, 8.3.6 platforma versiyasidan konfiguratsiya kengaytmalari 1C da paydo bo'ldi.

1C konfiguratsiya kengaytmalari nima, ular bilan qanday ishlash kerak, foydalanishdagi cheklovlar - bu bizning maqolamizda ochib berishga harakat qiladigan masalalar qatori.

Bir oz nazariya

Kengaytma mexanizmi paydo bo'lishidan oldin, umumiy konfiguratsiyalarni yangilash jarayoni asosan konfiguratsiya saqlanib qolgan yoki o'zgartirilganligiga bog'liq edi. Ikkinchi holda, ishlab chiquvchi quyidagilarni bajarishi kerak edi:

  1. Oddiy va mavjud metama'lumotlar strukturasini solishtiring;
  2. Oddiy elementlar o'rtasida sezilarli farq bo'lsa, to'g'ri yangilanishga rioya qiling;
  3. Yangilashdan so'ng tegishli o'zgarishlarni amalga oshiring.

Bularning barchasi yangilanish jarayonini sezilarli darajada murakkablashtirdi, ishlab chiqish vaqtini oshirdi va ko'pincha tashkilotni qimmat dasturiy ta'minotning odatiy modullarini yangilash imkoniyatidan mahrum qildi.

Kengaytma mexanizmi standart konfiguratsiyani qo'llab-quvvatlashdan olib tashlamasdan, uning ko'pgina elementlarini o'zgartirishga imkon beradi. Aslida, ishlab chiquvchi odatiy yechimga asoslanib, o'zining konfiguratsiyasini yaratadi, bu odatiy yechim uchun qobiqdir. Bunday holda, odatiy qismni yangilash jarayoni avtomatik ravishda sodir bo'ladi, oxirgi foydalanuvchi tomonidan ishga tushirilganda, platforma foydalanuvchi uchun ikkala echimni birlashtiradi.

Kengaytmalardan foydalanish mumkin bo'lgan holatlar

Boshqa har qanday vosita singari, kengaytma mexanizmi ulardan foydalanish doirasini belgilaydigan bir qator xususiyatlar va cheklovlarga ega:

  • Kengaytmalar boshqariladigan shakllar bilan ishlashi mumkin;
  • Mexanizm mavjud quyi tizimlarni o'zgartirish va qo'shishni qo'llab-quvvatlaydi;
  • 8.3.8 platformasi chiqarilishidan oldin faqat kengaytmadagi mavjud rollarni o'zgartirish mumkin edi, yangilanishdan so'ng ular yangilarini qo'shishga ruxsat berdi, hatto asosiy ma'lumotlar bazasi ob'ektlariga kirishni chekladi;
  • Mavjud mexanizm quyi tizimlarning buyruq interfeysini va asosiy konfiguratsiya bo'limini o'z xohishiga ko'ra o'zgartirish imkonini beradi;
  • Shuningdek, ushbu asboblar to'plami ma'lumotlar bazasi tuzilishiga o'zgartirish kiritmasdan qayta ishlash va hisobotlarni qo'shish imkonini beradi;
  • 8.3.9.718 platforma versiyasida kengaytma va asosiy konfiguratsiyaning mosligini diagnostika qilish mexanizmi sezilarli darajada qayta ishlab chiqilgan.

Yuqoridagilardan ma'lum bo'ladi:

  1. Muntazam shakllar bilan ishlashda kengaytmalarning funksionalligi sezilarli darajada cheklangan;
  2. Asosiy konfiguratsiyani yangilash jarayoni osonlashtirilgan bo'lsa-da, ma'lum bir kengaytmadan (shu jumladan, aylanma yechim sifatida) foydalanish imkoniyati asl tuzilmadagi o'zgarishlar va parallel ravishda ishlatiladigan bir nechta kengaytmalar bilan jiddiy cheklanishi mumkin;
  3. Turli foydalanuvchilar tomonidan qo'llaniladigan tashqi ko'rinish va funksionallikni farqlash zarurati tug'ilganda yoki qo'llab-quvvatlanadigan standart konfiguratsiya o'z-o'zidan yakunlanayotgan hollarda ushbu mexanizmdan foydalanish tavsiya etiladi.

Keling, amaliyotga o'tamiz. Dastlabki baza sifatida biz "Ish haqi va xodimlarni boshqarish" 3.1.3.223 versiyasi konfiguratsiyasidan foydalanamiz, ish 8.3.10.2561 platformasida amalga oshiriladi, ish rejimi fayldir.

Kengaytma yarating

Konfiguratorda Konfiguratsiya->Konfiguratsiya kengaytmalari menyusiga kiring, forma ochiladi (1-rasm).

Bu erda siz yangi kengaytma yaratishingiz mumkin. "Qo'shish" tugmasini bosing. Mana yangi kengaytmaning oynasi (2-rasm)

2-rasm

Uning elementlarini ko'rib chiqing:

  • Ism - boshqa konfiguratsiya elementlaridan farqli o'laroq, u tizim standartlariga muvofiq yaratilmaydi, ya'ni. raqam yoki belgi bilan boshlanishi mumkin, bo'sh joy bo'lishi mumkin;
  • Sinonim - xuddi boshqa metama'lumotlar elementlarida bo'lgani kabi, u ob'ektning ifodasini o'z ichiga oladi;
  • Prefiks - ariza modulidagi hodisalarni qayta ishlovchilarni aniqlash imkonini beradi, chunki platforma umumiy kontekstda ishlaganda asosiy konfiguratsiya forma moduli va kengaytma forma moduli birlashtiriladi (sukut bo'yicha, kengaytma birinchi navbatda qayta ishlanadi, ya'ni prefiks, keyin asosiy ishlov beruvchilar);
  • Uchrashuv.

"Maqsad" maydonining ro'yxati uchta qiymatdan iborat bo'lib, biz ularni bajarish tartibida tavsiflaymiz:

  1. Tuzatish - bu maqsadning kengaytmalari qarzga olingan ob'ektlardagi kichik noaniqliklar va xatolarni tuzatish uchun yaratiladi;
  2. Moslashuv - standart qiymat, ushbu turdagi kengaytmalar standart ob'ektlarni ma'lum bir foydalanuvchi talablariga moslashtirish uchun mo'ljallangan (agar kengaytma dasturning 8.3.9 dan past versiyasida yaratilgan bo'lsa, platformani yangilagandan so'ng u aynan shu maqsadga ega bo'ladi. );
  3. Qo'shimcha - ular standart yechimga mutlaqo yangi funksionallikni olib keladi.

Kengaytma ishga tushirilmoqda

1-rasmdagi oynadagi kengaytma nomini ikki marta bosing, kengaytma oynasini ochadi (3-rasm)


Ko'rib turganingizdek, bu asosiy konfiguratsiya daraxtiga o'xshash daraxt. Va bu erda bitta savol tug'iladi, qanday hollarda ob'ektni qarzga olish kerak?

Faqat shakl kengaytmasida yoki uning moduli kodida foydalaniladigan ob'ektlarni (lug'atlar, hujjatlar, rekvizitlar va boshqalar) qarzga olish kerak va qarz olmasdan kengaytirish operatsiyasida xatolik yuzaga kelishi mumkin.

Ya'ni, bizning ishlanmamiz "Individuals" katalogining "TIN" atributini talab qilsa, agar u forma modulida ishlatilsa, biz uni asosiy ma'lumotlar bazasidan qarzga olishimiz kerak. Bunday holda, kengaytma har safar ishga tushirilganda, ushbu atributning asosiy konfiguratsiya ma'lumotnomasida mavjudligi va manba ma'lumotlar bazasida va kengaytmada ma'lumotlar turiga mos kelishi tekshiriladi.

Agar yangilanishdan so'ng yoki yangi funksiyalarni ishlab chiqishda kengaytma va konfiguratsiya ma'lumotlari turlari o'rtasida nomuvofiqlik yoki boshqa xatolar bo'lsa, tizim bu haqda foydalanuvchini xabardor qiladi (4-rasm).

Pastki o'ng burchakdagi oyna kengaytmani ulashda nostandart vaziyatni ko'rsatadi, ustiga ikki marta bosish batafsil ma'lumotni ochadi. Bunday holda, biz shunchaki TIN atributining qiymat turini qarzga olingan ob'ekt uchun "String" qiymatidan "Boolean" qiymatiga o'zgartirdik, ammo teskari holat tez-tez sodir bo'ladi - standart mahsulotni yangilash o'zgarishlarga olib keladi yoki ma'lumotlar bazasining asosiy atributini yo'q qilish.

Kengaytmani bazaning nusxasida ishlab chiqqandan va sinab ko'rgandan so'ng, uni alohida faylga yuklash mumkin, buning uchun oynada (5-rasm) "Konfiguratsiya" tugmasini bosishingiz kerak, "Faylga saqlash" ni tanlang. "modda. cf kengaytmasiga ega oddiy konfiguratsiya fayllaridan farqli o'laroq, konfiguratsiya qo'shimcha faylida *.cfe niqobi bo'ladi.

Yuqoridagi rasmdan ko'rinib turibdiki, siz yangi funksiyalarni xuddi shu oynadan yoki dasturning asosiy oynasidan yuklashingiz mumkin.

Kengaytmani 1C.Enterprise rejimida ulash uchun foydalanuvchi "Barcha funktsiyalar" rejimini yoqishi va dasturga Administrator huquqlari bilan kirgan bo'lishi kerak.

Takomillashtirishni ulash usuli quyidagicha: Barcha funksiyalar->Standart->Konfiguratsiya kengaytmalarini boshqarish. Ochilish oynasi 6-rasmda ko'rsatilgan

6-rasm

"Qo'shish" tugmachasini bosish bizning yuklashimizni tanlashingiz kerak bo'lgan fayl tanlash dialogini ochadi. Agar ishlov berish tekshirilsa (7-rasm) va kengaytmada xatolik mavjud bo'lsa, funksionallikning ulanishi bekor qilinadi va dastur istisno haqida xabar beradi.

7-rasm

Muvaffaqiyatli qo'shilgandan so'ng bizning funksionalligimiz ishlashi uchun dasturni qayta ishga tushirish kerak.

Ob'ektlarni qarzga olish va modullarni yoqish tartibi

Ishlovchilarni bajarish ketma-ketligini kuzatish uchun biz konfiguratsiyani o'zgartirish va unga yangi ishlov berishni qo'shish imkoniyatini beramiz, uning funksionalligi faqat bitta narsadan iborat bo'ladi - u asosiydan ishga tushirilganligi haqida xabar beradi. konfiguratsiya, 8-rasmdagi kod.

8-rasm

Keling, ushbu ishlov berishni kengaytmaga qo'shamiz.

Buning uchun:

  • Ishlov berish shaklining kontekst menyusini faollashtirish uchun o'ng tugmasini bosing (9-rasm);

9-rasm

  • "Kengaytmaga qo'shish" bandini tanlang;
  • Qayta ishlashning o'zi va uning shaklining dublikati qo'shimcha konfiguratsiya daraxtida paydo bo'ladi;
  • Shaklni ochganimizdan so'ng, xabarni keltirib chiqaradigan buyruq ham borligini aniqlaymiz, faqat unga ishlov beruvchi tayinlanmagan;
  • Buyruqlar amalini qo'shish orqali dialog oynasi (10-rasm) paydo bo'ladi, unda buyruqni bajarish saytining asosiy direktivalari bilan bir qatorda Qo'ng'iroq turi guruhi ham mavjud.

10-rasm

Ushbu protsedura uchun bizda uchta turdagi chaqiruv mavjud;

  • Oldin qo'ng'iroq qilish - kengaytma kodining bajarilishi asosiy konfiguratsiya tugashidan oldin ishga tushiriladi;
  • Keyin qo'ng'iroq qiling - o'zgartirilgan protsedura ikkinchi raqamga aylanadi;
  • Buning o'rniga qo'ng'iroq qiling - asosiy konfiguratsiyadan protsedura umuman bajarilmaydi.

Qo'ng'iroq turini "Qo'ng'iroqdan keyin" holatida qoldiramiz va "Ext1_NotifyAfter(Buyruq)" protsedurasini qo'shamiz (11-rasm).

11-rasm

Bizning qayta ishlashimizni boshlash natijasi ketma-ket ikkita ibora (12-rasm) xabar qilinadi, ya'ni asosiy xabardan keyin qo'shimcha konfiguratsiya xabari ko'rsatiladi. Agar biz "O'rniga" ni tanlaganimizda, birinchi qatorni umuman ko'rmagan bo'lardik.

12-rasm

8.3.9.1818 versiyasidan boshlab, dasturning funksionalligi standart modullarni o'zgartirish, shuningdek, maxsus modullarni qo'shish mexanizmini o'z ichiga oladi. Va bu erda ishlab chiquvchilar juda aniq vazifaga duch kelishdi: qarzga olingan protseduralar va funktsiyalar faqat asosiy konfiguratsiyaga nisbatan emas, balki allaqachon konfiguratsiyaga kiritilgan kengaytmalarga nisbatan qanday tartibda bajarilishi kerakligini qanday aniqlash kerak.

Annotatsiya mexanizmi

Bir nechta kengaytmalar bitta konfiguratsiyaga ulangan vaziyatni tasavvur qiling, ya'ni konfiguratorda ularni tanlash oynasi (13-rasm)

13-rasm

Har bir yangi kengaytmani qo'shganda, tizim ularni bajarish tartibini mustaqil ravishda tuzadi.

Qo'shimcha modullarni bajarish tartibi nafaqat modul qo'shilgan (keyinroq qo'shilgan, keyinroq bajarilgan), balki qayta ko'rib chiqish maqsadiga qarab ham o'rnatiladi ("Bajarish" har doim "Moslashtirish" dan oldin keladi).

Bundan tashqari, qo'shilgan modullarning protseduralarini bajarish ketma-ketligini izohlar yordamida boshqarish mumkin:

  • &Oldin("Prosedur nomi");
  • &After("Protsedura nomi");
  • &O'rniga("Protsedura nomi").

Ko'rib turganingizdek, ularning to'plami oldingi bo'limda ko'rsatilganlarga o'xshaydi va funksionallik o'xshash.

Qarzga olingan modul va donor modul bir xil nomlar maydonida bo'lganligi sababli, bu holda turdagi o'zgaruvchilar va usullar uchun qo'shimcha ta'riflar kerak emas.

Funktsiyalar bilan bog'liq vaziyat protseduralardan biroz farq qiladi. Gap shundaki, odatdagi protsedurani bajarish, xuddi kengaytma kodi bilan tuzilgan bo'lishi mumkin, ya'ni siz protsedura kodidan oldin ba'zi harakatlarni, keyin esa ba'zi algoritmlarni kiritishingiz mumkin, ammo funktsiyalar uchun bu ishlamaydi. Agar asosiy funksiya kengaytma kodidan keyin bajarilsa, almashtiruvchi funksiyaning qaytish qiymati olinmaydi, lekin agar oʻzgartirilgan algoritmdan oldin boʻlsa, asosiy funksiyaning qiymati olinmaydi va &After izohi &Oʻrniga &Oʻrniga ishlaydi.

Ushbu "adolatsizlik" ni bartaraf etish uchun ContinueCall() usuli yaratildi.

Umuman olganda, "O'rniga" izohidan foydalanish biroz noto'g'ri, garchi bu ba'zan kerak bo'lsa ham. Undan foydalanib, biz standart konfiguratsiyalarda sezilarli darajada o'zgartirilishi va yaxshilanishi mumkin bo'lgan funksionallikni cheklaymiz.

Ob'ekt moduliga o'zgartirishlar kiritish

Tadbirga obuna bo'lish mexanizmi ishlab chiquvchilarning ishini sezilarli darajada osonlashtirdi, ammo bitta jiddiy BUT bor edi.

Ammo undan foydalanish uchun siz ko'pincha ma'lumotlar bilan muayyan harakatlarni qayta ishlash protseduralarini saqlaydigan o'zingizning umumiy modulingizni yaratishingiz kerak edi. Hozirgi vaqtda kengaytmalardan foydalanish ushbu funksiyani ko'p jihatdan qayta ko'rib chiqishga imkon berdi.

Aytaylik, ish jarayonida biz "Ishga joylashish" standart hujjatini yozishda uni qayta ishlashni qo'shishimiz kerak edi. Ilgari biz obunalarga o'tamiz va u erdan harakat qilardik, endi biz ushbu hujjatni kengaytmaga qo'shishimiz mumkin:

  • Konfiguratorda "Ishga olish" ni tanlaymiz va uni kontekst menyusidan kengaytmamizga qo'shamiz (darvoqe, bu mexanizmda Alt + Shift + F2 tezkor tugmalari kombinatsiyasi mavjud);
  • Tegishli qo'shimchani tanlagandan so'ng, biz 14-rasmdagi kabi rasmga ega bo'lamiz;

14-rasm

  • Bizni sariq rangda ta'kidlangan "Ob'ekt moduli" elementi qiziqtiradi, avval tegishli belgini faollashtirish orqali uni oching (15-rasm);

15-rasm

  • Biz dastur modulining toza varag'ini olamiz, yuqori panelga, to'g'rirog'i, 16-rasmda ko'rsatilgan elementga e'tibor beramiz, ochiladigan ro'yxatda ushbu ob'ekt uchun qayta ishlanishi mumkin bo'lgan hodisalar mavjud;

16-rasm

  • Tegishli hodisani tanlab, hujjatning raqamini yozishda xabarda ko'rsatishga harakat qilaylik;
  • Biz qo'ng'iroq turini tanlash shaklini olamiz (17-rasm), raqam qachon ko'rsatilishini aniqlang;

17-rasm

  • Jarayon kodi 18-rasmda ko'rsatilgan;

18-rasm

Ba'zi hollarda, "Xavfsiz rejim" katagiga belgi qo'yilganligi sababli, kengaytma xato bilan ulanadi.

Kichik e'lon

Yaqin kelajakda 1C 8.3.11 platformasini chiqarishni rejalashtirmoqda, unda ular o'zlarining qo'shimchalarini qo'shish imkoniyatini e'lon qilishdi:

  • Hujjatlar;
  • kataloglar;
  • almashinuv rejalari;
  • axborot registrlari.

Shuningdek, tafsilotlar va jadval qismlarini qo'shish imkoniyati bo'lishi kerak. Shu bilan birga, ishlab chiquvchilar standart echimlarni o'zgartirish imkoniyatini hisobga oldilar, bu esa kengaytmaning ishlashida muvaffaqiyatsizlikka olib kelishi mumkin.

Kengaytmaga kiritilgan ma'lumotlar yo'qolmaydi va moslik muammosi hal etilmaguncha, kengaytma tomonidan o'zgartirilgan asosiy konfiguratsiya katalogi yozish uchun mavjud bo'lmaydi.

Ushbu maqolada men "konfiguratsiya kengaytmasi" nima ekanligini, kengaytmani qanday qo'shish yoki uni o'chirishni ko'rib chiqishni taklif qilaman. 1C versiyasidan boshlab 8.3.6.1977 yilda platformada yangi mexanizm - konfiguratsiya kengaytmalari joriy etildi. Birinchidan, bir oz nazariya.

1C-dagi kengaytmalar avtomatik ravishda asosiy sotuvchi konfiguratsiyasi bilan birlashtirilgan parallel konfiguratsiyalarga o'xshaydi. Bundan tashqari, kengaytmalarda siz o'zingizning ob'ektlaringizni qo'shishingiz va asosiy konfiguratsiyadan ob'ektlarni olishingiz mumkin.

Kengaytmalar nima uchun?

Avvalo, dasturga o'zgartirishlar kiritishni osonlashtirish uchun kengaytmalar yaratiladi. Ya'ni, agar foydalanuvchilar ba'zi funksiyalarni qo'shishni so'rasa, kengaytmalar paydo bo'lishidan oldin dasturchilar konfiguratsiyani to'liq qo'llab-quvvatlashdan olib tashlashlari va odatiy konfiguratsiyani o'zgartirishlari kerak edi.

To'liq qo'llab-quvvatlashni olib tashlash bir qator noqulayliklarni keltirib chiqaradi:

  • avtomatik yangilash imkoniyati yo'qoladi, bu hech bo'lmaganda vaqtni ko'paytirishga olib keladi;
  • dasturga xizmat ko'rsatadigan yuqori malakali mutaxassis talab qilinadi;
  • agar odatiy konfiguratsiyaning standart ob'ektlariga o'zgartirishlar kiritilgan bo'lsa, yangilash paytida ular yo'qolishi mumkin, ya'ni ularni etkazib beruvchidan standart ob'ektlar bilan almashtirish mumkin.

Kengaytmalardan foydalanganda, o'zgartirishlar kiritilganda, dasturchi standart konfiguratsiyaga tegmaydi. Barcha o'zgarishlar kengaytmalar yordamida amalga oshiriladi, ular (yuqorida yozganimdek) ham konfiguratsiyalardir. Shunday qilib, asosiy konfiguratsiya to'liq qo'llab-quvvatlanadi.

Asosiy konfiguratsiyani yangilagandan so'ng, yangi versiyada ilgari kengaytma tomonidan o'zgartirilgan ob'ekt bilan har qanday o'zgarishlar bo'lsa, o'zgarishlar hali ham kengaytmadan olinadi. Ya'ni, kengaytmalar asosiy konfiguratsiyadan ustun turadi.

Video - 45 daqiqada 1C da kengaytmalar

267 1C video darslarini bepul oling:

1C ga kengaytmani qo'shish misoli

Kengaytma nima ekanligini ko'rsatish uchun uni 1C konfiguratorida yaratishga misol keltirgan ma'qul.

Konfiguratorda "Konfiguratsiya" menyusiga o'ting va "Konfiguratsiya kengaytmalari" bandini tanlang. Kengaytmalar ro'yxati (agar mavjud bo'lsa) bilan oyna ochiladi. "Qo'shish" tugmasini bosing va yangi kengaytma qo'shing. Endi siz kengaytma konfiguratsiyasini ochishingiz mumkin:

Ko'rib turganingizdek, kengaytma konfiguratsiyasi asosiysi bilan bir xil tuzilishga ega. Faqat u dastlab butunlay toza, ob'ektlarsiz.

Men yaqinda o'z qo'lingizni qanday qilish haqida maqola yozdim. Uning misolidan foydalanib, men uni kengaytma yordamida satrga kiritmoqchiman.

Qayta ishlashda menda "Tashkilotlar" katalogiga havolasi bo'lgan maydon bor. Shuning uchun menga ushbu qo'llanma kerak. Ammo biz yangi Tashkilotlar katalogini yaratmaymiz, ayniqsa platforma bunga ruxsat bermaydi. Siz kengaytma konfiguratsiyasida asosiy konfiguratsiyadagi ob'ektlar bilan bir xil nomga ega bo'lgan ob'ektlarga ega bo'lolmaysiz.

Shuning uchun biz katalogni asosiy konfiguratsiyadan olamiz:

Endi biz "Qayta ishlash" ustiga sichqonchaning o'ng tugmachasini bosing va "Tashqi ishlov berishni kiritish, hisobot berish ..." ni tanlaymiz, shuning uchun biz kengaytma konfiguratsiyasiga yangi ishlov berishni qo'shamiz. Agar siz mening qayta ishlashimdan foydalansangiz, uni darhol nomini o'zgartiring, chunki asosiy konfiguratsiya allaqachon bu nom bilan ishlovga ega.

Xo'sh, oxirgi teginish. Menga ishlov berish "Ma'muriyat" menyusida aks ettirilishini xohlayman. Buning uchun biz bir xil nomdagi asosiy konfiguratsiyaning quyi tizimini qarzga olamiz. Qayta ishlashda ushbu quyi tizimga tegishli ekanligini ko'rsatishni unutmang.

Bu men olgan tuzilma:

Keling, nima borligini ko'rib chiqaylik. Biz ma'lumotlar bazasi konfiguratsiyasini yangilaymiz va dasturni 1C: Enterprise rejimida ishga tushiramiz va "Ma'muriyat" menyusiga o'tamiz. Ha, men deyarli unutdim, kengaytma konfiguratsiyasi yopiq bo'lishi kerak, aks holda dastur boshlamaydi:

Maqola yoqdimi? Do'stlaringizga ulashing: