Izgradnja distribuiranih informacionih sistema, pretraga, rutinski zadaci, funkcionalne opcije. Funkcionalne opcije i parametri funkcionalnih opcija 1c 8.3 Funkcionalne opcije podsistema


Objekt 1c "Funkcionalne opcije" - dizajniran da istakne funkcionalnost u aplikativnom rješenju koja se može omogućiti (onemogućiti) tokom implementacije, a da se sama ne mijenja (zajedno sa podsistemima čine interfejs 1C tankog klijenta). Oni su dio mehanizma funkcionalnih opcija.

Funkcija Opcije Mehanizam uključuje dva objekta metapodataka:

  1. Funkcionalna opcija;
  2. Parametri funkcionalnih opcija.

Više

Opcija funkcije je objekt metapodataka koji može direktno utjecati na sastav sučelja aplikacije (ako funkcionalna opcija pohranjuje svoju vrijednost u Boolean atribut). Uz pomoć objekata ovog tipa možete sakriti elemente koji se odnose na nedostupnu funkcionalnost. Na primjer, opcija Računovodstvo valuta može sakriti valute, polje Valuta iz, kolonu Iznos valute iz izvještaja.

Izvor vrijednosti funkcionalne opcije je objekt metapodataka odabran kao svojstvo Storage, na primjer, može biti.

U slučaju pohranjivanja vrijednosti funkcionalne opcije u atribut direktorija ili resurs, potrebne su dodatne informacije koje pokazuju kako točno odabrati vrijednost opcije. Za ovu svrhu je obezbeđen poseban objekat metapodataka − Funkcija Opcije Parametri.

Možemo reći da su parametri funkcionalnih opcija koordinatne osi prostora vrijednosti funkcionalnih opcija. Štaviše, jedan parametar funkcionalnih opcija može istovremeno odrediti vrijednost "svoje" koordinatne ose za više funkcionalnih opcija.

[sakrij]

Funkcionalne opcije mogu uticati na:

  1. na korisnički interfejs:
    • globalno ;
    • rekviziti (uključujući stupce rekvizita u obliku kao npr Tabela vrijednosti ili Stablo vrijednosti);
    • naredbe forme;
  2. o izvještajima koji se implementiraju korištenjem sistema sastavljanja podataka;
  3. na algoritmima napisanim na ugrađenom jeziku - moguće je dobiti vrijednosti funkcionalnih opcija iz ugrađenog jezika i koristiti ih u različitim uvjetima, na primjer, za smanjenje količine proračuna (vidi npr. ).

PAŽNJA! Ako klijentska aplikacija radi sa fajl verzijom infobaze preko web servera, tada će promjena funkcionalne opcije promijeniti korisničko sučelje tek nakon ponovnog pokretanja web servera (ponovnim pokretanjem klijentske aplikacije neće se promijeniti korisnički interfejs).

Svojstva 1C funkcionalnih opcija

  • Skladištenje - polje u kojem trebate odabrati objekt s logičkim tipom. Po pravilu se koriste konstante.
  • prilikom dobijanja - zastavica je odgovorna za mogućnost dobijanja vrednosti funkcionalne opcije u privilegovanom režimu.
  • Kompozicija - lista objekata i atributa objekata, čija se vidljivost uključuje/isključuje kada je funkcionalna opcija isključena/isključena (kontrolisati pomoću obrasca za upravljanje).

Na primjer, u zavisnosti od uslova određene implementacije, možete predvidjeti onemogućavanje obračuna robe po skladištima tako da se prilikom registracije dokumenata prijema robe polje Skladište ne prikazuje u obrascu dokumenta.

Karakteristike korištenja 1C funkcionalnih opcija:

  1. Opcije funkcije mogu imati vrijednosti proizvoljnog tipa (ne nužno Boolean).
  2. Kada dodajete novu konstantu za korištenje funkcionalne opcije, obavezno je uključite u odgovarajući podsistem i dodijelite joj dozvole.
  3. Rad s funkcionalnim opcijama dostupan je iz ugrađenog jezika, zahvaljujući kojem programer može kreirati vlastite algoritme za vrijednosti funkcionalnih opcija.
  4. Naredba komandnog interfejsa će biti isključena iz komandnog interfejsa ako je opcija funkcije onemogućena:
    • atribut, koji je parametar komande;
    • tip parametra komande (ako je tip komandnog parametra složen, tada naredba postaje nedostupna kada su svi tipovi parametara onemogućeni).

PAŽNJA! Funkcionalne opcije i njihovi parametri ne utiču na sastav baze podataka: sve tabele i polja su prisutne u bazi podataka, bez obzira na stanje funkcionalnih opcija.

Utjecaj funkcionalnih opcija na detalje i naredbe obrasca:

  1. upravljani tip obrasca<Вид>Objekt ( DirectoryObject, DocumentObject, itd.) će biti onemogućeno ako je odgovarajući objekt onemogućen funkcionalnom opcijom. Raščlanjuju se samo one funkcionalne opcije koje nemaju parametre.
  2. Glavni atribut tipa upravljanog obrasca DynamicListće biti onemogućen ako je konfiguracijski objekt koji je naveden kao glavna tablica dinamičke liste onemogućen funkcionalnom opcijom. Raščlanjuju se samo one funkcionalne opcije koje nemaju parametre.
  3. Atribut forme referentnog tipa je onemogućen ako je konfiguracijski objekt koji formira taj tip onemogućen funkcionalnom opcijom. Atribut forme kompozitnog tipa je onemogućen ako funkcionalne opcije onemogućuju sve tipove komponenti.
  4. Tablica obrasca će biti onemogućena ako prikazuje podatke atributa obrasca koji je onemogućen funkcionalnom opcijom.
  5. U dijalogu za odabir tipa nema tipova (na primjer, za polja za unos pridružena atributima složenog tipa) ako su konfiguracijski objekti koji formiraju ove tipove onemogućeni funkcionalnom opcijom. Informacije o tipovima onemogućenim funkcionalnim opcijama se keširaju na strani klijenta i brišu nakon 20 minuta ili tokom poziva metode UpdateInterface().

PAŽNJA! Za razliku od komandnog sučelja, vrijednosti parametara funkcionalnih opcija postavljaju se samo za određenu instancu obrasca.

Kreiranje parametra funkcionalnih opcija

Parametar funkcionalne opcije kreira se pomoću 1C konfiguracijskog objekta "Parametri funkcionalnih opcija".

[sakrij]

Ovo se može učiniti u prozoru za konfiguraciju dodavanjem novog objekta.

Opcije funkcije Svojstva parametra:

  • Upotreba - postavlja skup objekata čije će vrijednosti odrediti kako treba odabrati vrijednost funkcionalne opcije. Lista dostupnih objekata uključuje rječnike i dimenzije registra informacija. Za svaki parametar funkcionalnih opcija u ovoj listi možete odabrati jedan direktorij (sa cijele liste direktorija) i jednu dimenziju svakog informacionog registra.

PAŽNJA! Ne možete koristiti isti objekt metapodataka u više od jednog parametra opcije funkcije.

Gotovo sva standardna rješenja bazirana na platformi 1C:Enterprise 8.x koriste mehanizam funkcionalnih opcija. Omogućuje vam kontrolu funkcionalnosti konfiguracije u blokovima.

Tako, na primjer, opcija "Koristi interne narudžbe" (pogledajte snimku ekrana s desne strane) omogućava vam da ovaj dokument učinite dostupnim za korištenje u "1C:Enterprise" načinu rada za korisnika, a uključuje i odvojene grane algoritama koji se odnose na ovu funkcionalnost.

Danas ćemo u članku pogledati rad funkcionalnih opcija, njihove postavke i mali primjer njihove upotrebe na test konfiguraciji. Počnimo tako što ćemo pogledati kako rade.

Princip rada

Kao što je gore spomenuto, funkcionalna opcija vam omogućava da omogućite/onemogućite funkcionalnost konfiguracije koja je povezana s njom. Razmotrimo slijed radnji za kreiranje i konfiguriranje ovog konfiguracijskog objekta.

U grani konfiguracije "Općenito->Funkcionalne opcije" možemo kreirati novi objekat ili pogledati svojstva već kreiranih opcija. Kreirajmo funkcionalnu opciju "EnableImportance" u test konfiguraciji. Na samom početku, kada objekat još nije konfigurisan, prozor liste njegovih svojstava će izgledati ovako:

Svojstva "Ime" i "Synonim" imaju standardnu ​​svrhu. Od posebnog interesa su postavke "Skladištenje" i "Kompozicija".

U polju "Skladištenje" odabire se objekat u konfiguraciji odakle će funkcionalna opcija dobiti svoju vrijednost. Obično se za ovu svrhu koriste konstante booleovog tipa. Po vrijednosti konstante, platforma će odrediti hoće li uključiti odgovarajuću funkcionalnost ili ne.

Opcije konfiguracije povezane s funkcionalnom opcijom konfiguriraju se na kartici Sastav. Gornji snimak ekrana prikazuje izbornu listu objekata uključenih u njen sastav.

Ako je jedan konfiguracijski objekt uključen u nekoliko funkcionalnih opcija, tada će se koristiti u primijenjenom rješenju ako je barem jedna od njih uključena.

Opcija "Privilege mode on get" vam omogućava da onemogućite provjeru prava pristupa prilikom dobivanja vrijednosti funkcionalne opcije, što će pozitivno utjecati na performanse (pretjerane operacije provjere pristupa će biti eliminirane) i smanjiti složenost daljeg razvoja (nema potrebe za konfiguracijom prava za objekt koji pohranjuje vrijednost funkcionalne opcije).

Primjer upotrebe

U našoj test konfiguraciji, napravimo nabrajanje "Važnost", kao i konstantu

"EnableImportance". Kreirani objekti prikazani su na sljedećem snimku ekrana.

Konstanta je namijenjena za pohranjivanje vrijednosti funkcionalne opcije. Nabrajanje će djelovati kao vrijednost referentnog atributa u test dokumentu, čija će dostupnost biti određena funkcionalnom opcijom.


Testni dokument će imati dva uslova:
  • "Komentar" sa tipom "String".
  • "Važnost" s tipom "EnumerationReference.Importance".

Dodajmo atribut dokumenta "Važnost" funkcionalnoj opciji i onda razmotrimo ponašanje platforme u korisničkom modu.

Nakon pokretanja programa u načinu 1C: Enterprise, otvorite probni dokument. Nećemo vidjeti atribut "Važnost" na obrascu, jer još nismo omogućili funkcionalnu opciju.

Da biste omogućili korištenje atributa "Importance", morate postaviti vrijednost konstante "EnableImportance" na TRUE. Tada će se obrazac promijeniti na sljedeći način:

Rad funkcionalnih opcija proteže se na gotovo sve konfiguracijske objekte, s izuzetkom nekih grana "General", koje uglavnom obavljaju uslužne funkcije. Na primjer, ne možete uključiti druge funkcionalne opcije u sastav funkcionalne opcije (a to nema puno smisla).

Pogledajmo nekoliko zanimljivih aspekata kako ovaj konfiguracijski objekt funkcionira:

1. Postavljanje funkcionalnih opcija gotovo da nema efekta na SQL upite koje generira platforma.

Na primjer, prilikom otvaranja dokumenta sa onemogućenom funkcionalnom opcijom, platforma u svakom slučaju prima vrijednost ovog atributa u zahtjevu. Sljedeći snimak ekrana prikazuje SQL upite generirane s uključenom i onemogućenom opcijom.

2. Element forme "Važnost" na obrascu, bez obzira na vrijednost funkcionalne opcije, uvijek ima vrijednosti za svojstva "Vidljivost" i "Pristupačnost" jednake TRUE.

Zaista, kako prilikom kreiranja obrasca na serveru, tako i prilikom otvaranja obrasca, kao i tokom daljeg rada sa njim, svojstva "Vidljivost" i "Pristupačnost" platforma ne postavlja automatski na FALSE. Verovatno 1C:Enterprise 8.x to radi "iza kulisa".

3. Za dobivanje vrijednosti funkcionalne opcije, platforma generiše SQL upit prema DBMS-u u skladu sa objektom skladištenja, tj. na konstantu. U jednom od prethodnih članaka već smo govorili o izgradnji SQL upita za konstante i kako se one pohranjuju u bazi podataka.


U našem primjeru, platforma generiše sljedeći SQL upit:

Što se tiče trenutka dobijanja vrijednosti funkcionalne opcije, platforma se rukovodi sljedećim principom : prvo primanje vrijednosti funkcionalne opcije događa se prilikom pristupa objektu/rekvizitima koji su uključeni u njen sastav. Platforma zatim koristi keširanu vrijednost sve dok se vrijednost objekta koji pohranjuje ovu vrijednost ne promijeni (u našem primjeru, EnableImportance konstante) ili se korisnička sesija ne pokrene ponovo. Vrijednost funkcionalne opcije se kešira unutar jedne sesije.


Sve navedeno je eksperimentalno potvrđeno. Sve što sam koristio za eksperimente nalazi se u test konfiguraciji (link na kraju članka), s izuzetkom .

Zaključak

Funkcionalne opcije su sastavni dio gotovo svakog rješenja za cirkulaciju zasnovanog na platformi 1C:Enterprise 8.x. Zahvaljujući ovom mehanizmu možete kreirati konfiguracije sa blok konstrukcijom funkcionalnosti, koje se lako mogu omogućiti/onemogućiti prilikom konfigurisanja programa. U isto vrijeme, mogućnosti mehanizma mogu se proširiti korištenjem parametara funkcionalnih opcija, ali to je tema za drugi članak.

Za iskustvo s platformom vrlo je rijetko koristiti funkcionalne opcije, jer kupac tačno zna šta mu treba. A stvaranje nekakvih univerzalnih mehanizama za koje ćete morati dodatno platiti, plus ne činjenica da će se koristiti, vrlo je rijetko kada se finaliziraju standardna rješenja ili se implementiraju u određenom poduzeću.

Preuzimanja:

Funkcionalne opcije i Parametar opcije funkcije- ovo su objekti konfiguracije 1C 8.3 (8.2), koji zajedno predstavljaju mehanizam funkcionalnih opcija. Mehanizam funkcionalnih opcija je funkcija koja vam omogućava da definirate skup funkcionalnosti koji su potrebni korisnicima.

Jednostavno rečeno, mehanizam funkcionalnih opcija je prekidač za uključivanje/isključivanje za različite funkcionalnosti u konfiguraciji.

Zašto biste trebali onemogućiti funkcionalnost?

Nabavite 267 1C video lekcija besplatno:

Često dodatna funkcionalnost može otežati rad zaposlenika. Banalni primjer korištenja funkcionalnih opcija u 1C je da baza podataka vodi evidenciju za jednu organizaciju ili skladište, zašto onda obavezati korisnika da ove podatke unosi u sve dokumente?

Šta kontrolišu funkcionalne opcije?

Prije svega, korištenje funkcionalnih opcija najprikladnije se ogleda u sučelju: detalji obrasca, obrasci naredbi, zajednički interfejs - sve se to može povezati s funkcionalnim opcijama. Ovisno o vrijednosti funkcionalnih opcija, možete ograničiti izlaz podataka u izvještaju zasnovanom na .

Funkcionalne opcije su uobičajeni konfiguracijski objekti. Oni su dio mehanizma funkcionalnih opcija i omogućavaju vam da odaberete funkcionalnost u aplikacijskom rješenju koja se može omogućiti/onemogućiti tokom implementacije bez promjene samog aplikativnog rješenja.

Na primjer, u zavisnosti od uslova konkretne implementacije, potrebno je predvidjeti onemogućavanje obračuna robe po skladištima. Tako da prilikom registracije dokumenata za prijem robe, polje Stock nije prikazano u obliku dokumenta.

Da biste to učinili, u konfiguraciji se može definirati funkcionalna opcija Računovodstvo skladišta, pohranjeno u konstanti tipa boolean.

S ovom funkcionalnom opcijom možete pridružiti različite konfiguracijske objekte ili njihove atribute. Na primjer, možete povezati rekvizite s ovom funkcionalnom opcijom Stock dokument Prijem robe.

Zatim, tokom implementacije, možete omogućiti ili onemogućiti ovu funkcionalnu opciju u određenoj bazi podataka u načinu rada 1C:Enterprise.

Platforma će automatski uključiti i isključiti prikaz svih relevantnih elemenata interfejsa (polja, komande, kolone liste, elementi izveštaja). U našem slučaju, polje će biti skriveno ili prikazano Stock u svim oblicima dokumenata Dobar recept.

30.03.2017

Funkcionalne opcije 1C 8.3 (Mehanizam, upotreba)

Početi bitan imajte na umu da mehanizam opcija funkcija NE ograničava pristup podacima, ali samo kontrolira vidljivost (prikaz) podataka na obrascu. Za ograničavanje pristupa objektima u platformi koristi se mehanizam uloga.
Stoga počinjemo naše razmatranje mehanizma funkcionalnih opcija s opisom problema. U našoj mini konfiguraciji postoji jedan direktorij "Skladišta". Pretpostavimo da svi korisnici imaju pristup ovom direktoriju.
Opet! Mehanizam funkcionalnih opcija kontroliše prikaz podataka na obrascu, a ne ograničava pristup objektu metapodataka (direktorij, dokument, unosi u registar....) Potrebno je napraviti postavku "Koristi više skladišta" (Da, da... To je u UT 11.X, tamo se radi za organizacije). Ako koristimo više skladišta, tada je u interfejsu dostupan direktorijum skladišta, ako ne, onda komanda koja otvara jedno skladište (pretpostavljamo da postoji samo jedno u ovom slučaju i ne komplikujemo zadatak).

Objekti metapodataka konfiguracije

Da bismo izvršili ovaj zadatak, potrebno nam je:
  • Dvije funkcionalne opcije "Use MultipleWarehouses" i "Do Not Use MultipleWarehouses". Prvi je odgovoran za dostupnost imenika, a drugi za dostupnost opće komande za pozivanje algoritma za "otvaranje" skladišta
  • Konstante istog imena sa tipom "Boolean" za pohranjivanje vrijednosti funkcionalnih opcija
  • Imenik "Skladišta"
  • Generalna komanda "Otvoreno glavno skladište". Ne zaboravite navesti grupu naredbi za to, inače nemojte primjenjivati ​​konfiguraciju (doći će do greške)
I dodajte jedan podsistem u koji uključujemo sve postojeće objekte

Funkcionalne opcije Podešavanje

Prva opcija je "Koristi više skladišta". Vrijednost je pohranjena u konstanti istog imena, uključen je direktorij "Skladišta". Dakle, kada je vrijednost konstante "True" direktorij je dostupan u interfejsu, kada je netačan, direktorij neće biti prikazan ni u interfejsu (Sadržaj podsistema, oblici objekata, itd.)




Druga funkcija "Don't UseMultipleWarehouses" je postavljena kada prva "Use MultipleWarehouses" NIJE postavljena.
One. ako ne koristimo više skladišta (UseMultipleWarehouses = FALSE i pretraga "Skladišta" nije dostupna), tada se prikazuje naredba "Otvori glavno skladište", čiju dostupnost kontroliše opcija "Ne koristi više skladišta" (Do notUseMultipleWarehouses = TAČNO)

Provjera ponašanja sistema

Opcija broj 1. UseMultipleWarehouses = Tačno, NeUseMultipleWarehouses = Netačno. U sučelju je dostupan direktorij "Skladišta".


Opcija broj 2. UseMultipleWarehouses = False, NeUseMultipleWarehouses = Tačno. Referentna knjiga "Skladišta" NIJE dostupna u interfejsu, već je dostupna opšta komanda "Otvori glavno skladište"

Izbor urednika
Formula i algoritam za izračunavanje specifične težine u postocima Postoji skup (cijeli), koji uključuje nekoliko komponenti (kompozitni ...

Stočarstvo je grana poljoprivrede koja je specijalizirana za uzgoj domaćih životinja. Osnovna svrha industrije je...

Tržišni udio kompanije Kako izračunati tržišni udio kompanije u praksi? Ovo pitanje često postavljaju trgovci početnici. Kako god,...

Prvi mod (val) Prvi val (1785-1835) formirao je tehnološki modus zasnovan na novim tehnologijama u tekstilu...
§jedan. Opći podaci Podsjetimo: rečenice su podijeljene u dva dijela, čija se gramatička osnova sastoji od dva glavna člana - ...
Velika sovjetska enciklopedija daje sljedeću definiciju koncepta dijalekta (od grčkog diblektos - razgovor, dijalekt, dijalekt) - ovo je ...
ROBERT BURNS (1759-1796) "Izvanredan čovjek" ili - "izvrstan pjesnik Škotske", - tzv. Walter Scott Robert Burns, ...
Pravilan izbor riječi u usmenom i pismenom govoru u različitim situacijama zahtijeva veliki oprez i mnogo znanja. Jedna rec apsolutno...
Mlađi i stariji detektiv razlikuju se po složenosti zagonetki. Za one koji prvi put igraju igrice u ovoj seriji, obezbeđeno je...