Promijenite ili onemogućite način kompatibilnosti. Proširenja konfiguracije - kako dodati funkcionalnost standardnoj konfiguraciji bez uklanjanja podrške (video od 20 minuta) Koja su proširenja potrebna za

U ovom članku predlažem da razmotrimo što je "konfiguracijsko proširenje", kako dodati proširenje ili ga onemogućiti. Počevši od verzije 1C 8.3.6.1977 u platformu je uveden novi mehanizam - konfiguracijske ekstenzije. Prvo, malo teorije.

U 1C, ekstenzije su nešto poput paralelnih konfiguracija koje se automatski kombiniraju s konfiguracijom glavnog dobavljača. Štoviše, u ekstenzije možete dodati i vlastite objekte i posuditi objekte glavne konfiguracije.

Čemu služe ekstenzije?

Prije svega, ekstenzije se kreiraju kako bi se olakšalo unošenje promjena u program. Odnosno, ako korisnici traže da dodaju bilo koju funkcionalnost, tada su prije pojave ekstenzija, programeri morali ukloniti konfiguraciju iz pune podrške i promijeniti tipična konfiguracija.

Uklanjanje iz pune podrške podrazumijeva niz neugodnosti:

  • prilika je izgubljena automatsko ažuriranje, što dovodi do barem povećanja vremena za;
  • potreban je visoko kvalifikovan specijalista koji servisira program;
  • ako su napravljene promjene u standardnim objektima standardne konfiguracije, tada tokom ažuriranja mogu nestati, odnosno mogu se ponovo zamijeniti standardnim objektima od dobavljača.

Kada koristite ekstenzije, prilikom unošenja izmjena, programator neće dirati standardnu ​​konfiguraciju. Sve promjene će se vršiti korištenjem ekstenzija, koje su (kao što sam gore napisao) ujedno i konfiguracije. Na ovaj način će glavna konfiguracija ostati u potpunosti podržana.

Nakon ažuriranja glavne konfiguracije, ako u novom izdanju postoje bilo kakve promjene na objektu koji je prethodno promijenjen od strane ekstenzije, tada će promjene i dalje biti preuzete iz ekstenzije. To jest, ekstenzije imaju veći prioritet od glavne konfiguracije.

Video - proširenja u 1C za 45 minuta

Nabavite 267 video lekcija na 1C besplatno:

Primjer dodavanja ekstenzije u 1C

Da biste pokazali što je proširenje, bolje je dati primjer njegovog kreiranja u 1C konfiguratoru.

U konfiguratoru idite na meni “Konfiguracija” i odaberite “Proširenja konfiguracije”. Otvoriće se prozor sa listom ekstenzija (ako ih ima). Kliknite na dugme "Dodaj" i dodajte novu ekstenziju. Sada možete otvoriti konfiguraciju ekstenzije:

Kao što vidite, konfiguracija proširenja ima potpuno istu strukturu kao i glavna. Samo što je u početku potpuno čisto, bez predmeta.

Nedavno sam napisao članak o tome kako ga sami napraviti. Koristeći njen primjer, želim ga učiniti ugrađenim pomoću ekstenzije.

U obradi imam polje sa vezom do direktorija “Organizacije”. Zato mi treba ovaj vodič. Ali nećemo kreirati novi direktorij “Organizacije”, pogotovo zato što platforma to ne dozvoljava. Nemoguće je da konfiguracija proširenja sadrži objekte istog imena kao objekti u glavnoj konfiguraciji.

Stoga ćemo referentnu knjigu posuditi iz glavne konfiguracije:

Sada kliknite desnim tasterom miša na „Obrada“ i izaberite „Umetni eksterna obrada, report..." Dakle, dodajmo novu obradu u konfiguraciju ekstenzije. Ako koristite moju obradu, odmah je preimenujte, jer glavna konfiguracija već ima obradu sa istim imenom.

Pa, završni dodir. Želim da se moja obrada odrazi u meniju Administracija. Da bismo to učinili, posudit ćemo istoimeni podsistem iz glavne konfiguracije. Ne zaboravite u obradi naznačiti da pripada ovom podsistemu.

Ovo je struktura koju sam smislio:

Hajde da vidimo šta imamo. Ažuriramo konfiguraciju baze podataka i pokrećemo program u 1C: Enterprise modu i idemo na meni "Administracija". Da, skoro sam zaboravio, konfiguracija ekstenzije mora biti zatvorena, inače se program neće pokrenuti:

Objavljeno je novo izdanje platforme 8.3.11, koje vam omogućava da dodajete i mijenjate objekte metapodataka putem ekstenzije. Možemo li zaista sada implementirati bilo kakva poboljšanja bez uklanjanja konfiguracije iz podrške? Vrijedi li klijentu obećavati zlatne planine bez ikakvih posljedica?

Prije svega, morate biti svjesni ograničenja koja ekstenzije imaju.

Ograničenje kreiranih objekata

On ovog trenutka možete kreirati:

  • Imenici
  • Dokumentacija
  • Informacijski registri
  • Planovi razmjene

Možete dodati detalje na:

  • Imenici
  • Dokumentacija

Šta ćemo završiti? Ne mogu se dodati sve vrste metapodataka. Najčešći i najpopularniji, ali ipak ne svi. Dodatno, nove dimenzije i resursi se ne mogu dodati u registre informacija. Možete kreirati samo potpuno novi registar.

Funkcionalnost ekstenzija ovisi o načinu kompatibilnosti konfiguracije na koju se ekstenzija primjenjuje.

Način kompatibilnosti 8.3.8- možete samo promijeniti forme objekata i njihovih modula, dodati vlastite izvještaje i obradu.

Način kompatibilnosti 8.3.10- možete mijenjati opće module, objektne i menadžerske module, uloge, koristiti direktive “Prije”, “Nakon”, “Umjesto” za bilo koje module.

Način kompatibilnosti "Ne koristiti"- možete koristiti sve funkcionalnosti ekstenzija, uključujući dodavanje novih objekata.

U ovom trenutku, standardni UT 11.3 ima način kompatibilnosti 8.3.8. U UT 11.4, način kompatibilnosti je 8.3.10, to jest, na primjer, za UT većina funkcionalnosti proširenja nije dostupna, uključujući kreiranje metapodataka objekata.

Čini se da ovo postavlja pitanje: zašto jednostavno ne poništite podršku za root, postavite način kompatibilnosti na "Ne koristiti" i tiho koristiti ekstenzije? Prilikom promjene načina kompatibilnosti može se promijeniti ponašanje obrazaca i rezultata upita, tj. ponašanje sistema u celini. Izričito se preporučuje da ne mijenjate način kompatibilnosti bez prethodnog testiranja. Ali očito je da je moguće u potpunosti testirati (ili barem djelimično testirati korištene dokumente) cjelokupno aplikativno rješenje. Stoga ne biste trebali koristiti ovu opciju.

Prilikom povezivanja ekstenzije sa standardnom konfiguracijom i pozajmljivanja standardnih objekata, proširenje kontrolira način kompatibilnosti glavne konfiguracije i tipove posuđenih objekata i njihove detalje. Ako se praćena svojstva ne poklapaju, proširenje je onemogućeno i ne radi dok se ne otkloni uzrok. Odnosno, sa velikim ažuriranjem, postoji velika vjerovatnoća da se promijeni barem jedno od kontroliranih svojstava i da ekstenzija izgubi funkcionalnost.


Osim toga, ako su izmjene značajne, zamijenjene mnoge procedure i funkcije standardne konfiguracije, bit će potrebno pažljivo ih pratiti i, ako je potrebno, uskladiti sa standardnom konfiguracijom, uz očuvanje prethodno napravljenih promjena.


U gore navedenim slučajevima i dalje će vam trebati pomoć programera i, eventualno, značajno vrijeme za izmjene (ali još manje nego kada ažurirate konfiguraciju koja je uklonjena iz podrške).

zaključci

  • Novo izdanje platforme pružilo je nove mogućnosti za korištenje ekstenzija, postalo je moguće dodati objekte metapodataka, ali unatoč tome, funkcionalnost ima određena ograničenja.
  • Način kompatibilnosti konfiguracije na koju se ekstenzija primjenjuje uvelike ograničava mogućnosti proširenja; ne preporučuje se promjena načina kompatibilnosti.
  • Velika ažuriranja i dalje zahtijevaju pažnju programera, jer postoji velika vjerovatnoća promjene kontroliranih svojstava.

Tema "uredno" modifikacije standarda konfiguracije su uvijek ažurirane.

Uz pomoć ekstenzija postaje moguće izvršiti izmjene bez napuštanja konfiguracije Bez promjena(to je bez skidanja brave).

Kao primjer mi proširimo standardnu ​​funkcionalnost“1C: Računovodstvo 8” – dodaćemo provjere kompletnosti detalja dokumenta. Kao rezultat, sistem će izdati dijagnostiku ako su detalji popunjeni "netačnim" vrijednostima.

Bukvalno za 15 minuta Naučit ćete tehnike koje možete koristiti za rješavanje različitih problema.

Štaviše, u drugom videu ćemo prikazati univerzalni mehanizam, na osnovu ekstenzija. I razvio takav mehanizam jednom, može se povezati na bilo koju standardnu ​​konfiguraciju.

Dreams of sopstveni neprolazni može postati stvarnost :)

Pa da počnemo:

Video 1. Tehnike rada s ekstenzijama - na primjeru "1C: Računovodstvo 8"

Nakon proučavanja videa, naučit ćete:

  • Kreirajte i povežite se proširenja konfiguracije
  • Ispuni otklanjanje grešaka ekstenzije
  • Poboljšajte standardne obrasce obrada/dokumenti koristeći ekstenzije
  • Presretanje događaja standardne konfiguracijske forme
  • Pohranite podatke nije u tabelama sigurnosti informacija (skladištenje postavki)
  • Koristite tretmane kao repozitorijum algoritama

Takođe ćemo pogledati optimizacija sastav objekata proširenja i ograničenja proširenja u trenutnim izdanjima platforme.

Video 2. Stvaranje univerzalnih mehanizama korištenjem ekstenzija

U ovom videu ćemo pokazati:

  • Povezivanje ekstenzije u korisničkom načinu rada ( bez konfiguratora)
  • Primjer univerzalna verifikacija punjenje
  • Značajke implementacije ekstenzija - kreiranje obrazaca sa proizvoljnim odabirima i pohranjivanje podataka u ekstenzije

Kolege, pozdrav svima.

Pre neki dan je objavljen test Enterprise Accounting sa onemogućenim režimom kompatibilnosti za platformu 8.3.6.
To znači da ova verzija koristi novi mehanizam koji prikazuje forme na nov način.
O tome možete pročitati u kroz Zrcalno staklo.

Pored standardnih, trebali biste i konvertirati vlastita proširenja na novu platformu.
Tokom procesa prevođenja, napravio sam malu kontrolnu listu ili podsjetnik za sebe o tome šta treba da se uradi.

dopis:


1. Prenesite proširenje na novu platformu

Da biste to učinili, promijenite način kompatibilnosti proširenja u način kompatibilnosti konfiguracije.
Verzija Enterprise Accounting ima sljedeća svojstva:

U proširenju možete postaviti potpuno ista svojstva ili poništiti sve potvrdne okvire.
Nema potvrdnih okvira znači da ekstenzija neće provjeriti ova svojstva prilikom povezivanja.
Zatim ako se ova svojstva promijene u glavnoj konfiguraciji, ekstenzija će i dalje raditi:


2. Popravite probleme sa vezom

Da bismo to učinili, pokrećemo konfiguraciju u poslovnom modu i vidimo hoće li se pokrenuti ili ne.
Greške zbog kojih ekstenzija nije mogla biti povezana mogu se vidjeti u dnevniku
(Administracija - Podrška i održavanje - Dnevnik)
Zanimaju nas događaji - “Session. Greška pri primjeni konfiguracijskog proširenja":

Najčešće se problem povezivanja rješava uklanjanjem nepotrebnih detalja ili objekata.

Glavna poteškoća je što ekstenzija ne prikazuje sve greške odjednom (usput, ovaj problem je riješen u 8.3.9).
Stoga je potrebno pokrenuti konfiguracije uzastopno nakon ispravljanja svake greške.
Da biste olakšali pokretanje dnevnika, dodajte ga u svoje favorite:



3. Ažurirajte obrasce u ekstenziju

Da biste to učinili, u svakom promijenjenom obrascu kliknite na “Ažuriraj proširenje obrasca”
Koristeći ovu naredbu, ponovo učitavamo glavni konfiguracijski obrazac u ekstenziju.

U principu će raditi i bez toga, ali to je neophodno kako bi u proširenju obrazac izgledao isto kao u glavnoj konfiguraciji.
U verziji 3.0.44, skoro svi obrasci su pretrpeli izmene, pa bi bilo lepo da se ove promene uključe u ekstenziju.


4. Formu prilagođavamo pravilima novog motora.

Preporučujem da pročitate članak - Preporuke za prilagođavanje obrazaca 8.3.7.
Ispituje karakteristike novog motora i daje konkretne preporuke kako osigurati da je sve u redu na novoj platformi.

Smislio sam sljedeću proceduru:

  • Uklanjamo sve ukrase, koji su korišteni za uvlačenje.
    Umjesto njih sada se koriste grupe.
  • Da vidimo da li sve izgleda dobro.
    Ako nešto krene po zlu, pogledajte članak.
    Ako je sve u redu, idemo dalje.
  • Provjeravamo svojstva nove platforme“Kombinirano”, “AutomaximumWidth” i “AutomaximumHeight”.
    Samo pogledajte da su ova svojstva postavljena na zadane vrijednosti platforme i da se obrazac zbog toga ne pomiče.