Konfiqurasiya uzantıları. İnkişaf üçün faydalı məsləhətlər

12.02.2024

Platformanın yeni buraxılışında 8.3.11, konfiqurasiya uzantıları üçün mexanizm çox əhəmiyyətli dərəcədə təkmilləşdirilmişdir, əslində, dəstək üçün qalacaq olanın üstündə yeni bir konfiqurasiya etməyə imkan verir, yəni. asanlıqla yenilənə bilər. Mənim məqaləm 8.3.11 platformasındakı bu inqilabi dəyişikliklər haqqında olacaq.

Fikrimcə, konfiqurasiyanın genişləndirilməsi mexanizmində ən mühüm yenilik konfiqurasiya genişləndirilməsində öz obyektlərinizi - sənədlər, kataloqlar, mübadilə hesabları və məlumat registrləri yaratmaq imkanıdır. Həm də borc götürülmüş sənədlərdən və arayış kitablarından öz cədvəl hissələrinizi və təfərrüatlarınızı yaratmaq imkanı. Nümunələri həyata keçirmək üçün bu yeni imkanları araşdıraq, mən 1C konfiqurasiyasından istifadə edəcəyəm.

Konfiqurasiya uyğunluq rejimində olmalıdır "İstifadə etməyin" uzadılması ilə eynidir.

Bunun üçün biz “İdarə olunan proqram” konfiqurasiyasında aşağıdakı obyektlərlə “Avtomobil uçotu” alt sistemini yaradacağıq.

Kataloqlar: Avtomobil markaları, Avtomobillər, Qarajlar

Sənədlər: Qaraja gəliş, Qarajdan çıxma.

Gəlin "Avtomobil Mühasibatlığı" adlandıracağımız yeni bir uzantı yaradaq, bu genişləndirmənin məqsədi "Əlavə" olacaq.

Avtomobil ikonasını yükləyəcəyimiz yeni uzantıya öz şəklimizi əlavə edək

İndi biz “Avtomobil Mühasibatlığı” adlandıracağımız yeni alt sistem yaradacağıq, bu altsistemdə “Əmr interfeysinə daxil et” bayrağını yoxlayacağıq və “Şəkil” xüsusiyyətində yeni ikonamızı göstərəcəyik.

Gəlin kataloqlar yaradaq: Avtomobil Markaları, Avtomobillər (Avtomobil Brendləri kataloquna tip keçidi ilə Brend atributu olacaq) və Qarajlar.

Konfiqurasiya uzantısında yeni bir kataloq yaratmaq asandır, hər şey adi konfiqurasiyada olduğu kimi edilir: kataloq bölməsi vurğulanır, kontekst menyusu çağırılır, orada "Əlavə et" maddəsini vurmalısınız;

Eyni şəkildə, biz yeni sənədlər yaradacağıq: Avtomobilin gəlişi və avtomobilin utilizasiyası.

Gəlin bütün yeni obyektlərimizi alt sistemə daxil edək.

İndi konfiqurasiyamızı işə salaq və yeni alt sistemə baxaq

İndi genişlənən konfiqurasiyanın kataloquna yeni bir atribut əlavə etməyə çalışaq və bu atributun növü uzantıdan olacaq. Gəlin aşağıdakı tapşırığı yerinə yetirək: qarşı tərəfin kataloquna Avtomobil kataloquna tip linki ilə yeni bir atribut əlavə edin.

Bunun üçün biz Podratçı kataloqunu genişlənməyə götürürük.

Borc götürülmüş kataloq üçün yeni bir atribut əlavə edək ki, onu Car adlandıracağıq.

Və borc götürülmüş formaya genişləndirmə atributları əlavə edin.

İndi konfiqurasiya qovluğumuza keçsək, bu atributu uzantıdan doldura bilərik.

Beləliklə, ümumiləşdirə bilərik: platforma 8.3.11 konfiqurasiya dəyişiklikləri üçün əsaslı şəkildə yeni imkanlar təqdim edir. Əslində, indi konfiqurasiya uzantısı əsas konfiqurasiyanın üstündə qurulmuş tam hüquqlu bir konfiqurasiyadır. Biz 1C platformasının inkişafının monitorinqini davam etdirəcəyik.

Kitablarımın köməyi ilə 1C-də konfiqurasiyanın əsaslarını öyrənin və 1C: Enterprise-də proqramlaşdırmağı öyrənin:

  • Problem kitabının köməyi ilə biliklərinizi möhkəmləndirin;
  • Həm təcrübəsiz tərtibatçılar, həm də təcrübəli proqramçılar üçün idarə olunan 1C proqramında inkişaf etmək üçün əla bələdçi.

    1. Çox əlçatan və başa düşülən təqdimat dili
    2. Kitab e-poçt vasitəsilə PDF formatında göndərilir. İstənilən cihazda açıla bilər!
    3. İdarə olunan 1C tətbiqinin ideologiyasını anlayın
    4. İdarə olunan tətbiqi necə inkişaf etdirməyi öyrənin;
    5. İdarə olunan 1C formalarını inkişaf etdirməyi öyrənin;
    6. İdarə olunan formaların əsas və zəruri elementləri ilə işləyə biləcəksiniz
    7. İdarə olunan proqram altında proqramlaşdırma aydın olacaq

    15% endirim üçün promo kodu - 48PVXHeYu


    Əgər bu dərs sizə hər hansı problemi həll etməyə kömək edibsə, onu bəyənmisinizsə və ya faydalı hesab edirsinizsə, o zaman istədiyiniz məbləği ianə etməklə layihəmə dəstək ola bilərsiniz:

    Əl ilə ödəyə bilərsiniz:

    Yandex.Money - 410012882996301
    Web Money - R955262494655

    Qruplarıma qoşulun.

    Uzatma istifadəçi sessiyasında mövcud konfiqurasiya üçün bir növ sarğıdır. Hələlik, yalnız bu “sarğı” idarə olunan formalar, rollar və alt sistemlər kimi konfiqurasiya obyektlərini əhatə edə bilər. Həm də hesabat, emal və ya alt sistem kimi öz obyektləriniz var.

    Düymə idarəedicisinin kataloq elementi şəklində dəyişdirilməsi nümunəsinə baxaq.

    Əsas konfiqurasiyada düymə işləyicisi kodu:

    İşləyicini özümüzlə əvəz edək. Bunun üçün qovluq formasını genişləndirməmizə götürək:
    Əsas konfiqurasiya ağacında formanı tapın və kontekst menyusunda "Uzantıya əlavə et" əmrini seçin. Genişlənmələri idarə et dialoqu açılacaq. Gəlin ona yeni uzantı əlavə edək və onu seçək.
    Borc alınmış forma ilə yeni genişləndirmə ağacı açılacaq.


    Forma əsas konfiqurasiyadakı kimidir, lakin modul mətni yoxdur. Düyməmiz üçün yeni işləyici yaradaq:

    Test üçün konfiqurasiyanı işə salırıq, əmri yerinə yetiririk və aşağıdakı nəticəni görürük:

    Komandamız ardıcıl olaraq genişləndirmə işləyicisini və əsas konfiqurasiya işləyicisini çağırdı. Gözlədiyimiz kimi deyil. Əsas konfiqurasiyadan işləyiciyə zəng etmək lazım deyil. Metod əlavə edərək prosedurumuzun kodunu düzəldək SetExecutionEventHandlers

    İstədiyiniz nəticə:

    İşləyicilərin icrasından SONRA bir hadisəyə müdaxilə etmək istəyirsinizsə, onda bir üsul var SetExecutionAfterEventHandlers

    Nəticədə:

    Başqa bir uzantı əlavə etsək, əvvəlcə 2-ci genişləndirmənin işləyicisi, sonra 1-ci, sonra əsas çağırılacaq.

    İdarəetmə dialoqu konfiqurator rejimində Konfiqurasiya->Konfiqurasiya genişləndirmələri menyusu vasitəsilə çağırıla bilər. Müəssisə rejimində Bütün funksiyalar -> Standart -> Konfiqurasiya genişləndirmələrini idarə et.

    8.3.6.1977 versiyasında həyata keçirilmişdir.

    Tətbiq həllərinin konkret istifadəçiyə uyğunlaşdırılması üçün prinsipial olaraq yeni mexanizm - genişləndirmə mexanizmi tətbiq etdik.

    Genişləndirmələr nə üçün yaxşıdır?

    Genişləndirmələr tipik konfiqurasiyaları dəyişdirmək üçün mövcud olandan fərqli strategiya təklif edir. Bu yeni strategiyadan istifadə konkret tətbiqin və ya konkret müştərinin ehtiyaclarına uyğunlaşdırmaq istədiyiniz standart həllərin dəstəyini xeyli asanlaşdıracaq.

    İndi bu proses necə görünür? Standart konfiqurasiya var. Təchizatçı tərəfindən tam dəstəklənir. Bu o deməkdir ki, onu dəyişdirmək olmaz. Dövri olaraq, satıcı bu konfiqurasiyanın yeni (təkmilləşdirilmiş) versiyalarını buraxır. Belə bir vəziyyətdə konfiqurasiyanın köhnə versiyasını yeni versiyaya yeniləmək tamamilə avtomatikdir. Bu rahatdır və müştəridən heç bir xüsusi bacarıq və ya bilik tələb etmir.

    Ancaq çox vaxt müştəri "özləri üçün" standart konfiqurasiyada bir şey əlavə etmək və ya nəyisə dəyişdirmək istəyir. Bunun üçün dəstək rejimi dəyişdirilir, konfiqurasiya tam dəstəkdən çıxarılır. Tətbiq tərəfdaşı və ya müştərinin öz İT mütəxəssisləri ona lazımi dəyişiklikləri edir. Bu andan etibarən standart konfiqurasiyanın təchizatçı tərəfindən buraxılmış yeni versiyaya tam avtomatik yenilənməsi qeyri-mümkün olur.

    İndi konfiqurasiyanın yenilənməsi bir mütəxəssisin iştirakını tələb edir. Üstəlik, müştərinin istəyi ilə edilən dəyişikliklər əhəmiyyətli olsaydı, konfiqurasiya yeniləməsini həyata keçirən mütəxəssis əhəmiyyətli vaxt tələb edə bilər. Və tez-tez həm tipik konfiqurasiyanın özü, həm də edilən dəyişikliklər haqqında çox yaxşı bilik tələb oluna bilər.

    Genişləndirmələrin təklif etdiyi strategiya aşağıdakı kimidir. Standart konfiqurasiyanı dəyişdirmək istəyirsinizsə, konfiqurasiyanın özünə toxunmursunuz. Siz uzantıda bütün dəyişiklikləri edirsiniz, bu da əslində konfiqurasiyadır.

    1C: Müəssisə rejimində siz sadəcə olaraq genişləndirmənizi standart konfiqurasiyaya qoşursunuz. Platforma avtomatik olaraq 1C:Müəssisə rejimində genişləndirmənizi standart konfiqurasiya ilə birləşdirir. Nəticədə müştəri öz istəyinə uyğun olaraq dəyişdirilmiş standart həll yolu ilə işləyir.

    Satıcı istinad konfiqurasiyasının yeni versiyasını buraxdıqda, istinad konfiqurasiyasının dəstək rejimi dəyişmədiyi üçün avtomatik yeniləmə baş verir. O, təchizatçı tərəfindən tam dəstəkləndi. Yenilənmiş proqram həllini işə saldığınız zaman platforma yenidən avtomatik olaraq dəyişdirilmiş standart konfiqurasiyanı genişləndirmənizlə birləşdirəcək. Və müştəri öz istəyinə uyğun olaraq dəyişdirilmiş standart həll ilə işləməyə davam edəcək.

    Uzatmalardan nə vaxt istifadə etməlisiniz?

    Uzatma mexanizmi çox yönlü olduğuna görə cazibədardır. Buna görə də, hansı vəzifələri həll etmək üçün nəzərdə tutulduğu barədə düzgün təsəvvürə sahib olmaq vacibdir.

    Birincisi, tətbiq həlli məlumat mübadiləsi rejimində işləyərkən genişləndirmələr əvəzolunmazdır. Məsələn, xidmət modelində. Abunəçilərdən biri bir neçə əlavə hesabata sahib olmaq istəyir. Digər abunəçilər dəyişməz standart konfiqurasiya ilə işləmək istəyirlər.

    Sonra bu abunəçi üçün onun bütün istəklərini həyata keçirə biləcəyiniz bir uzantı hazırlaya bilərsiniz. Abunəçi bu uzantıya qoşulacaq və dəyişdirilmiş konfiqurasiya ilə işləyəcək. Digər abunəçilər üçün isə heç bir dəyişiklik olmayacaq. Çünki bütün genişləndirmələr cari ayırıcı dəyərlərinə əsasən birləşdirilir və işə salınır.

    Başqa bir vəziyyət, standart konfiqurasiyanın həyata keçirilməsi zamanı müəyyən bir müştəri üçün dəyişdirilməsidir. Və ya müştərinin İT mütəxəssislərinin özləri üçün həyata keçirdikləri standart konfiqurasiyaya dəyişikliklər. Bütün bu təkmilləşdirmələr genişləndirmədə aparılırsa, standart konfiqurasiya tam dəstəklənəcək və bu, onun sonrakı texniki xidmətini xeyli asanlaşdıracaq.

    Kütləvi istehsal olunan tətbiq həlləri yaratmaq üçün genişləndirmələrdən istifadə etmək istəyi var, lakin bu edilməməlidir. Birincisi, uzantılar bu cür tapşırıqlar üçün nəzərdə tutulmadığı üçün. İkincisi, ona görə ki, digər platforma mexanizmləri, məsələn, çatdırılma və dəstək mexanizmləri, genişləndirmələr haqqında heç nə bilmir.

    Genişlənmələrin yaranma tarixinə bir az nəzər salsanız, əlbəttə ki, biz əvvəllər görmüşük və indi də görürük ki, konfiqurasiyalar daha mürəkkəbləşir. Biz görürük ki, müxtəlif inkişaf səviyyələrində əlavə dəstəyə ehtiyac var: kitabxana, modul və sənaye və s. Biz bütün bu vəzifələri təhlil etdik və belə nəticəyə gəldik ki, hazırda ən yüksək prioritet konfiqurasiyaların tətbiqlər zamanı istifadəçilərin istəklərinə uyğunlaşdırılmasıdır.

    Məhz bu tapşırıq üçün biz genişləndirmə mexanizmini yaratdıq. Təbii ki, burada sadalanan digər inkişaf sahələrinin fərqli xüsusiyyətlərini görə bilərsiniz. Lakin onlar onun əsas məqsədi deyil və sizi çaşdırmamalıdır.

    İndi uzantılardan istifadə edərək nəyi dəyişə bilərsiniz?

    Hələlik görülməsi nəzərdə tutulan o qədər də iş görülməyib. Mexanizm, əlbəttə ki, inkişaf edəcək. Lakin artıq görülən işlər həyata keçirmə zamanı bir çox hallarda faydalı ola bilər. İndi:

    • Dəyişdirilə bilər idarə olunan formalar, standart konfiqurasiyada mövcud;
    • Yenilərini əlavə edə bilərsiniz alt sistemlər. Siz standart konfiqurasiyada mövcud olan alt sistemlərin tərkibini dəyişə bilərsiniz;
    • Dəyişdirilə bilər rollar standart konfiqurasiya, onlara uzantıda yaradılmış obyektlərin əlavə edilməsi;
    • Dəyişdirilə bilər komanda interfeysi tipik konfiqurasiya (əsas bölmə, alt sistemlər);
    • Yenilərini əlavə edə bilərsiniz hesabat veriremal.

    Gələcəkdə biz genişləndirmələrin funksionallığını tədricən artırmağı planlaşdırırıq və kiçik dəyişikliklərlə tətbiqlərdə hansı funksionallığın ən çox tələb olunduğu barədə rəyinizi öyrənməkdən şad olarıq.

    Uzatma necə işləyir?

    Uzatma adi konfiqurasiyaya çox bənzəyir. O, həm də cisimlər ağacı kimi təmsil olunur. Uzatma ilə işləmək üçün adi konfiqurasiya ilə eyni iş üsulları istifadə olunur.

    Uzatmanın vacib bir xüsusiyyəti varlığıdır borc alınmış obyektlər. Kontekst menyusu əmrindən istifadə edərək istənilən standart konfiqurasiya obyektini götürə bilərsiniz:

    Borc alınan obyektlər həmişə lazım deyil. Bir restoranda nahar ilə bənzətmə aparsaq, bunu "gündəlik" nümunə ilə izah etmək daha yaxşıdır.

    Birinci vəziyyət borc götürülmüş obyektlərin lazım olduğu zamandır.

    Siz eyni restoranda nahar etməyə öyrəşmisiniz. Siz həmişə biftek və çay sifariş edirsiniz. Məsələn, bu restoranda çox yaxşı olduqları üçün. Və ya başqa səbəbdən. Fərqi yoxdur. Yeganə vacib olan odur ki, siz onları yeyəcəksiniz, başqa heç nə yoxdur.

    Sonra restoran tipik bir məlumat bazasıdır. Siz uzantısınız. Restoran menyusu genişləndirilə bilən standart konfiqurasiyadır. Biftek və çay borc götürülmüş obyektlərdir. Onları borc aldınız (menyuda olduqlarını xatırladınız).

    Uzatma konfiqurasiyaya necə qoşulur və işləyir? Bir restorana gəlirsən və menyu istəyirsən. Menyuda görürsən ki, biftek və çay var. Yəni, götürülmüş obyektlər ilə standart konfiqurasiya obyektləri arasında yazışma qurursunuz. Təbii ki, adla uyğunlaşırsınız :). Sənə tikə, çay gətirirlər, sən yeyirsən. Yəni uzantı bağlanır və işləyir.

    Bir həftə sonra gəlirsən, amma restoranın menyusu dəyişib (standart konfiqurasiya yenilənib). Bununla belə, steyk və çay hələ də menyudadır. Onlar tam olaraq sizə lazım olanlardır. Onları sizə gətirirlər, siz onları yeyirsiniz. Yəni genişləndirmə yenilənmiş standart konfiqurasiya ilə işləməyə davam edir.

    Bir həftə sonra restorana gəlirsən ki, steyk və çay menyudan yoxa çıxıb. Ayağa qalxıb ayrılırsınız (uzatma bağlantısı xətası mesajı). Çünki sən bunu istəyirdin. Və başqa yeməklər (obyektlər) haqqında heç bir fikriniz yoxdur. Tərtibatçı sizə ilbizləri və ya lobsterləri necə düzgün yemək lazım olduğunu öyrətməyib.

    Borc alınmış əşyalar olmadan edə biləcəyiniz başqa bir vəziyyət.

    Siz restorana gedirsiniz, lakin konkret yeməklərin olması sizi maraqlandırmır. Çünki onsuz da onları yeməyəcəksiniz. Siz yalnız onların şəklini çəkmək istəyirsiniz. Və hər hansı bir yeməyi necə fotoşəkil çəkməyi bilirsiniz. Sonra sadəcə konfiqurasiyaya qoşulursunuz və deyirsiniz: menyuda olan bütün qəlyanaltıları gətirin (metadatadan sənədlər toplusunu alırsınız). Mən onları yönləndirəcəm (fotoşəkillər çəkin).

    Bunu tərtibatçıların quru dilində təsvir etsək, obyektləri borc almağınız lazım olduğu ortaya çıxır:

    • Vizual dizayn üçün lazım olduqda. Məsələn, formanı genişləndirirsiniz və kimi forma rekvizitləri əlavə edirsiniz DirectoryCurrencies.Link. Sonra, əlbəttə ki, istinad kitabı götürməlisiniz Valyutalar, belə ki, standart konfiqurasiyaya qoşulduqda, belə bir kataloqun hələ də orada olduğuna əmin ola bilərsiniz.
    • Kodun işləməsi üçün lazım olduqda. Məsələn, genişləndirmə kodunda siz kataloq atributuna daxil olursunuz Nomenklatura - İdxalçı. Sonra bu atribut da borc alınmalıdır ki, qoşulduqda standart konfiqurasiyada belə bir atributun hələ də kataloqda mövcud olduğuna əmin ola bilərsiniz. Nomenklatura.

    Uzatmanın qoşulması

    Siz konfiquratorda bir uzantı yaradırsınız. O, sazlandıqdan və sınaqdan keçirildikdən sonra genişlənməni *.cfe faylında saxlamaqla ondan imtina edə bilərsiniz.

    Siz bu faylı müştəriyə göndərə bilərsiniz. Müştəri müstəqil olaraq standart funksiyadan istifadə edərək onu 1C: Müəssisə rejimində öz məlumat bazasına yükləyəcək Konfiqurasiya uzantılarının idarə edilməsi.

    Genişlənmələrlə işləmək daxili dildən mümkündür, ona görə də proqram həllində siz uzantıları yükləyən öz emalınızı yarada bilərsiniz. Hər kəsin genişləndirmələrlə oynamasının qarşısını almaq üçün yeni hüquq əlavə etdik - Konfiqurasiya uzantılarının idarə edilməsi.

    Fayldan uzantı yüklədikdə, o, məlumat bazasında saxlanılır. Üstəlik, bu sessiyada istifadə olunan cari ayırıcı dəyərlər kontekstində saxlanılır.

    Uzadmanın işləməsi üçün sessiya yenidən başlamalıdır. Sessiyanın başlanğıcında, tədbir çağırılmadan dərhal əvvəl SettingSessionParameters, infobazada saxlanılan və bu sessiya üçün cari ayırıcı dəyərlərinə uyğun gələn bütün genişləndirmələr birləşdiriləcək.

    Nəticədə, məlumat mübadiləsi rejimində işləyərkən, genişləndirmə yalnız bu xüsusi abunəçinin istifadəçilərinə tətbiq ediləcək. Məlumatların ayrılması istifadə edilmədikdə, genişləndirmə məlumat bazasının bütün istifadəçiləri üçün işləyəcəkdir.

    Bir uzantı birləşdirərkən, dediyimiz kimi, standart konfiqurasiyada borc götürülmüş obyektlərin mövcudluğu yoxlanılır. Obyektlər adla uyğunlaşdırılır.

    Bundan əlavə, daha incə nəzarət mümkündür. Siz yalnız obyektlərin mövcudluğu faktını deyil, həm də onların fərdi xüsusiyyətlərinin vəziyyətini idarə edə bilərsiniz. Yəni, bir restoran və biftek haqqında düşünürsünüzsə, sizin üçün vacib olan təkcə bir növ bişmiş steykin olması deyil, məhz burada onun nadir, “nadir” bişirilməsidir.

    Genişlənməyə qayıdaraq, standart olaraq borc götürülmüş obyektlərin xüsusiyyətlərinə nəzarət etmir. Ancaq lazım gələrsə, bəzi xüsusiyyətləri idarə edilə bilən edə bilərsiniz. Məsələn, alqoritminiz üçün təkcə kataloqun olmaması vacibdir Nomenklatura, həm də kodunun növü var Xətt.

    Sonra, əgər tipik konfiqurasiyada təchizatçı bu kataloqun kod tipini dəyişirsə Nömrə, uzantınız qoşulma zamanı bunu aşkar edəcək və xəta barədə məlumat verəcək.

    Maraqlı məqam standart konfiqurasiya obyektlərinin adının dəyişdirilməsi ilə bağlıdır. Məsələn, bir restorana gəldiniz və əvəzinə Steyk yazılıb Steyk. Yəni, konfiqurasiyaya qoşulduqda, uzantı içərisində bir kataloq tapmır Nomenklatura, çünki satıcı onun adını dəyişib Mallar.

    İndi bu vəziyyət sizin üçün problem deyil. Və bunun əvəzinə bütün genişləndirmə kodunu "kürəkləməyə" ehtiyac yoxdur Nomenklatura yaz Mallar. Bu da işləyir. Buna görə də, yalnız borc götürülmüş obyektin adını dəyişdirməlisiniz Mallar, və platforma qalan dəyişiklikləri genişləndirmənin özündə edəcək. Və ya minimal köməyinizlə.

    Uzatma əməliyyatı

    Müxtəlif obyektlərin genişləndirilməsi xüsusiyyətləri, uzantıların özlərinin işləmə xüsusiyyətləri haqqında kifayət qədər uzun müddət danışa bilərsiniz. Ancaq biz nəzərdən keçirilən məqalənin əhatə dairəsi ilə məhdudlaşırıq, buna görə də yalnız əsas və ən açıq nöqtələrə toxunacağıq.

    Uzatmaların əsas "gözəlliyi", əlbəttə ki, orada olmayan standart konfiqurasiyaya bir şey əlavə edə bilməyinizdə deyil. Və fakt budur ki, uzantıda siz artıq standart konfiqurasiyada olanı dəyişə bilərsiniz. Yəni borc götürülmüş obyektlərin xüsusiyyətlərini dəyişə bilərsiniz.

    Konfiqurasiya və genişləndirmə birlikdə işləyərkən istifadə olunan əsas anlayışı aşağıdakı kimi təsvir etmək olar. Onların kəsişmədiyi yerlərdə uzantı konfiqurasiyanı tamamlayır. Onların "kəsişdiyi" yerlərdə genişlənmə tətbiq olunur.

    Bunu nümunə kimi idarə olunan formalardan istifadə etməklə daha ətraflı görmək olar. Siz əsas konfiqurasiyadan formanı götürə və məhdudiyyətsiz genişləndirmədə redaktə edə bilərsiniz. Formanın vizual hissəsi və onun modulu üçün iki müxtəlif birləşmə strategiyasından istifadə olunur.

    Formanın vizual hissəsi borc alınarkən uzantıda sabitlənir. Və 1C: Müəssisə rejimində, hər bir forma elementi üçün bu vəziyyətə nisbətən dəyişikliklər standart konfiqurasiyada və genişləndirmədə təhlil edilir.

    Dəyişikliklər olmadıqda və ya onlar yalnız standart konfiqurasiyada olsaydı, standart konfiqurasiyadan olan dəyər tətbiq edilir. Digər hallarda, uzantıdakı dəyər istifadə olunur.

    Beləliklə, genişləndirmədə forma yeni bir əmr əlavə etsəniz, onu formanın digər əmrləri ilə birlikdə görəcəksiniz. Mövcud qrupun başlığını dəyişdirmisinizsə, standart konfiqurasiyada bu qrupun başlığı təchizatçı tərəfindən dəyişdirilsə belə, başlığınızı görəcəksiniz.

    Forma modulları fərqli yanaşmadan istifadə edir. Borclanmış forma üçün genişləndirmə bütün hadisələr üçün öz işləyiciləri ilə öz modulunu yaradır. 1C: Müəssisə rejimində hər iki forma modulu (standart konfiqurasiyadan və genişlənmədən) bir kontekstdə birləşdirilir. Bu səbəbdən, hər bir genişləndirmənin öz prefiksi var və bu, forma modulunda bütün hadisə işləyicilərinə əlavə olunur. Beləliklə, standart konfiqurasiyadan olan işləyicilərlə heç bir təsadüf olmasın. Bundan sonra hadisə və əmr işləyiciləri ardıcıl və sinxron olaraq çağırılır. Əvvəlcə uzantıdan idarəedici. Sonra standart konfiqurasiyadan. Siz bu ardıcıllığı dəyişə və ya standart konfiqurasiyadan işləyicinin icrasını tamamilə qadağan edə bilərsiniz.

    Ümumiyyətlə, 1C: Müəssisə rejimində konfiqurasiya və genişləndirmənin birgə işləməsinə gəldikdə, onlar ümumi ad məkanında mövcuddur. Bu, təkcə fərdi modullara deyil, həm də metadata ağaclarının özlərinə aiddir. Buna görə də, 1C: Müəssisə rejimində bu obyektin standart konfiqurasiya üçün "doğma" olub-olmadığını və ya genişlənmədən gəlib-gəlmədiyini müəyyən etmək üçün heç bir yol yoxdur.

    Genişlənmədə istifadə edə biləcəyiniz digər obyektlərə gəldikdə, onlar üçün hər şey daha sadə görünür.

    Genişlənmədə siz öz alt sistemlərinizi yarada bilərsiniz. Borclanmış obyektlərdən istifadə edərək, mövcud alt sistemləri genişləndirə bilərsiniz: onlara artıq standart konfiqurasiyada olan və ya genişləndirmədə yaratdığınız obyektləri və alt sistemləri əlavə edin. Siz mövcud alt sistemdən nəyisə silə bilməzsiniz.

    Rolları yalnız genişləndirmədə yaradılmış obyektləri onlara əlavə etməklə genişləndirə bilərsiniz. Siz həmçinin mövcud roldan heç nə silə bilməzsiniz. Eyni şey komanda interfeysinə də aiddir.

    Genişlənmə demək olar ki, konfiqurasiyadır

    Əvvəldə dedik ki, uzantı adi konfiqurasiyaya bənzəyir. Buna görə də, yekunda, uzantıların digər platforma mexanizmləri ilə nə dərəcədə inteqrasiya olunduğu barədə bir neçə söz demək istərdim.

    Genişlənmə (adi konfiqurasiya kimi) əsas konfiqurasiyaya və verilənlər bazası konfiqurasiyasına malikdir. Konfiqurasiyaları müqayisə etmək və birləşdirmək mexanizmi adi konfiqurasiyalarla eyni şəkildə uzantılarla işləyir.

    Siz genişlənməni fayla yükləyə bilərsiniz (baxmayaraq ki, başqa uzantı *.cfe ilə) və fayldan yükləyə bilərsiniz. Genişləndirmələr XML-də yüklənə/yüklənə bilər.

    İnterfeys mətnlərinin qlobal axtarışı, dəyişdirilməsi və redaktəsi mexanizmləri də genişləndirmələrlə işləyir.

    Genişlənmələrlə işləmək üçün yeni komanda xətti parametrləri, həmçinin jurnalda yeni hadisələr var.

    Daxili dildə genişləndirmələrlə işləmək üçün əsas obyektdir ExtensionManagerConfiguration.

    İstifadəçilər tez-tez standart həlləri öz ehtiyaclarına uyğun dəyişmək istəyirlər. Xarici emal və ya hesabatlardan istifadə edərək problemi həll etmək həmişə mümkün olmur və buna görə də standart həllərdə dəyişiklik etməlisiniz.

    Standart konfiqurasiyalar üçün yeniləmələr vaxtaşırı buraxılır. Yeniləmələrin avtomatik həyata keçirilməsi üçün konfiqurasiya dəyişikliklər olmadan dəstəklənməlidir. Dəyişikliklərə icazə versəniz, avtomatik yeniləmələr mövcud olmayacaq. Və yeniləməni əl ilə həyata keçirmək üçün mütəxəssislərlə əlaqə saxlamalısınız. Dəyişdirilmiş konfiqurasiyaların yenilənməsi edilən dəyişikliklərin sayından asılı olaraq uzun müddət çəkə bilər.

    Platformanın 8.3.6 versiyasından başlayaraq dəyişikliklər etmək üçün yeni bir üsul ortaya çıxdı - "Konfiqurasiya uzantıları". Bu üsuldan istifadə edərkən konfiqurasiya dəyişmir, bu da avtomatik yeniləmə qabiliyyətini saxlamağa imkan verir. Konfiqurasiya uzantıları konfiqurator rejimində yaradılır və redaktə edilir. Genişlənmələrə baxmaq və redaktə etmək üçün pəncərəni açmaq üçün əsas menyuya keçməlisiniz: Konfiqurasiya-> Konfiqurasiya Genişləndirilməsi.


    Genişləndirmə mexanizmi yenidir, ona görə də dəyişikliklərin əlavə edilməsi bütün metadata obyektləri üçün mümkün deyil.
    Əlavə etmək üçün nümunə.

    Genişləndirmələr üçün aşağıdakı hərəkətlər mövcuddur:
    Yeni hesabatların əlavə edilməsi və işlənməsi;
    İdarə olunan formaları redaktə etmək və əlavə etmək;
    Normal formaların əlavə edilməsi;
    Komanda interfeysinin dəyişdirilməsi mövcuddur;
    Rolları redaktə etmək;
    Alt sistemlərin əlavə edilməsi və onların tərkibinin dəyişdirilməsi;

    Obyektin modifikasiya üçün əlçatan olması üçün o, genişləndirməyə əlavə edilməlidir. Bunu etmək üçün, metadata ağacında bir obyekt seçin və sağ klikləyin və "Uzantıya əlavə et" seçin. Bundan sonra, genişləndirmə ağacında "İkiqat" elementi yaradılır. Məsələn, "Nomenklatura" kataloqunu əlavə edərkən eyni kataloq uzantıda görünür. Beləliklə, eyni obyektin iki versiyası var. Bir versiya əsas konfiqurasiyada, digəri isə genişləndirmədədir. İstifadəçi 1C: Enterprise-də bu obyektlə işləyərkən proqram əsas konfiqurasiyadan olan versiyanı və genişlənmədən olan versiyanı adına görə müqayisə edir və sonra genişləndirmədən əsas konfiqurasiyadan obyektə dəyişiklikləri tətbiq edir. Obyektlər uyğunlaşdırıla bilmirsə, səhv mesajı görünür.

    Artırmaların yüklənməsi və yüklənməsi

    Genişləndirmələr fayla (*.cfe) yüklənə bilər. Yükləmə konfiquratorda və müəssisədə mümkündür. Konfiqurator rejimində yuxarıda göstərildiyi kimi genişləndirmə redaktə pəncərəsi açılır. Müəssisə rejimində əsas menyu vasitəsilə açılan genişlənmələri yükləmək, boşaltmaq və silmək üçün xüsusi emaldan istifadə olunur:
    Bütün funksiyalar->Standart->Konfiqurasiya uzantılarını idarə et.


    Məqalədə ləğvetmə prosedurları və funksiyaları haqqında ətraflı oxuya bilərsiniz
    .

    Məqalədə konfiqurasiyaya uzantı əlavə etmək haqqında daha çox oxuya bilərsiniz