Pojedinosti obrasca 1s 8.3. Pojedinosti o upravljanom obrascu (1Cv8). Metode za pretvaranje podataka aplikacijskih objekata u podatke obrazaca

Detalji obrasca

Skup detalja obrasca opisuje sastav podataka koji se prikazuju, uređuju ili pohranjuju u obrascu. Istodobno, sami detalji obrasca ne pružaju mogućnost prikaza i uređivanja podataka. Elementi obrasca (pogledajte odjeljak "Elementi obrasca" u ovom poglavlju) povezani s detaljima obrasca koriste se za prikaz i uređivanje. Skup svih detalja obrasca zvat će se podaci obrasca.

Važno! Mora se imati na umu da, za razliku od konvencionalnih obrazaca, svi podaci kontrolirani oblik moraju biti opisani u obliku detalja. Nije dopušteno koristiti varijable modula obrasca kao izvora podataka za elemente obrasca.

Moguće je ustupiti Osnovni detalji obrasca, odnosno atribute koji će odrediti standardnu ​​funkcionalnost obrasca (proširenje obrasca). Treba imati na umu da obrazac može imati samo jedan glavni atribut.

Proširenje obrasca– to su dodatna svojstva, metode i parametri forme objekta ManagedForm, karakteristični za objekt koji je glavni element forme.

Tijekom procesa razvoja obrasca, možete eksplicitno postaviti mogućnost pregleda i uređivanja određenih detalja obrasca, u smislu uloga, pomoću svojstava Pregled i uređivanje (za više detalja pogledajte odjeljak "Postavke obrasca temeljene na ulogama" u "Uređivači ” poglavlje). Osim toga, dostupnost pojedinog atributa u samom obrascu može se konfigurirati pomoću funkcionalnih opcija (više detalja o funkcionalnim opcijama možete pronaći u poglavlju “Upravljanje konfiguracijskim sučeljem”).

Svojstvo atributa forme Spremljeni podaci je pokazatelj da će interaktivno mijenjanje detalja rezultirati pokušajem zaključavanja podataka obrasca za uređivanje, kao i automatska instalacija znak modificiranog oblika.

Tipovi podataka dostupni u upravljanom obliku

Upravljani obrazac također se razlikuje od običnog obrasca po vrstama podataka s kojima radi. Ako normalni obrazac radi s većinom tipova koje nudi 1C:Enterprise (uključujući tipove DirectoryObject, DocumentObject itd.), tada se u upravljanom obrascu mogu razlikovati sljedeće kategorije tipova:

  • tipovi koji se izravno koriste u obrascu su oni tipovi koji postoje na strani tankog i web klijenta (na primjer, Number, DirectoryLink.Products, GraphicScheme, TabularDocument);
  • tipovi koji će se pretvoriti u posebne tipove podataka—tipovi podataka upravljanog obrasca. Takvi tipovi prikazani su na popisu detalja obrazaca u zagradama, na primjer (DirectoryObject.Products);
  • dinamički popis (za više detalja pogledajte odjeljak "Dinamički popis" u ovom poglavlju).

Pretvaranje objekata aplikacije u podatke obrasca

Neki tipovi aplikacija (kao što je DirectoryObject, itd.) ne postoje na strani tankog i web klijenta (pogledajte poglavlje Koncept upravljane aplikacije za više detalja). Stoga, za predstavljanje takvih tipova aplikacija u obrascu, platforma je uvela posebne tipove podataka dizajnirane za rad u upravljanim obrascima. Ova značajka upravljane aplikacije čini nužnim pretvoriti objekte aplikacije u podatke obrasca (i obrnuto).

Koriste se sljedeće vrste podataka:

  • Form DataStructure – sadrži skup svojstava proizvoljnog tipa. Svojstva mogu biti druge strukture, zbirke ili strukture s zbirkama. Ovaj tip je predstavljen, na primjer, u obliku DirectoryObject.
  • FormDataCollection je popis unesenih vrijednosti, sličan nizu. Elementu zbirke se pristupa pomoću indeksa ili identifikatora. Pristup putem ID-a možda neće biti dostupan u nekim slučajevima. To je zbog tipa aplikacijskog objekta koji je predstavljen ovom zbirkom. Identifikator može biti bilo koji cijeli broj. Ova vrsta je zastupljena, na primjer, u obliku tablični dio.
  • Form DataStructureWithCollection je objekt koji je predstavljen kao struktura i zbirka u isto vrijeme. Može se tretirati kao bilo koji od ovih entiteta. Ovaj tip predstavlja, na primjer, skup zapisa u obrascu.
  • Form DataTree – objekt dizajniran za pohranu hijerarhijskih podataka.

Objekt aplikacije predstavljen je jednim ili više podatkovnih elemenata obrasca. U opći pogled Hijerarhija i sastav podataka obrasca ovise o složenosti i međusobnoj povezanosti aplikacijskih objekata upravljanog obrasca.

Na primjer, dokument koji sadrži tabularni dio bit će predstavljen objektom tipa FormDataStructure (samim dokumentom), kojemu je podređen objekt tipa FormDataCollection (tabularni dio dokumenta).

Važno! Kada razvijate konfiguraciju, važno je zapamtiti da su aplikacijski objekti dostupni samo na poslužitelju, dok se podatkovni objekti obrazaca mogu koristiti i na poslužitelju i na klijentu.

Prijenos podataka između klijentskog i poslužiteljskog dijela upravljanog obrasca

Zapravo, možemo reći da su podaci obrasca objedinjeni prikaz podataka iz različitih aplikacijskih objekata s kojima forma jednoobrazno radi i koji su prisutni i na poslužitelju i na klijentu. To jest, obrazac sadrži neku "projekciju" podataka o objektu aplikacije u obliku vlastitih tipova podataka i po potrebi vrši pretvorbu između njih. Međutim, ako programer konfiguracije implementira vlastiti algoritam za obradu podataka, tada mora samostalno izvršiti konverziju podataka (iz specijaliziranih tipova u tipove aplikacija i obrnuto).

Prilikom uređivanja detalja obrasca u specijaliziranom editoru (za više detalja pogledajte odjeljak “Detalji obrasca” u poglavlju “Urednici”), moguće je utjecati na prijenos podataka između klijenta i poslužitelja dok obrazac radi. Za to se koristi stupac uređivača detalja. Uvijek koristiti. Učinak ovog svojstva razlikuje se za tri vrste atributa:

  • Za atribute podređene dinamičkom popisu (stupac dinamički popis):
    • svojstvo omogućeno – atribut se uvijek čita iz baze podataka i uključuje u podatke obrasca;
    • svojstvo je onemogućeno - atribut se čita iz baze podataka i uključuje u podatke obrasca samo kada je vidljiv u ovaj trenutak element obrasca povezan s atributom ili njegovim podređenim atributom.
  • Za rekvizite podređene zbirci pokreta:
    • svojstvo je omogućeno – pokreti dokumenta čitaju se iz baze podataka i bit će prisutni u podacima obrasca;
    • svojstvo je onemogućeno - kretanje dokumenta neće se čitati iz baze podataka i neće biti uključeno u podatke obrasca (ako ne postoji element obrasca koji upućuje na kretanje dokumenta).
  • Ostali detalji obrasca:
    • svojstvo je omogućeno – atribut će biti prisutan u podacima obrasca, bez obzira na to postoji li barem jedan element obrasca koji je pridružen atributu ili njegovom podređenom atributu;
    • svojstvo je onemogućeno - atribut će biti prisutan u podacima obrasca samo ako postoji element obrasca povezan s atributom ili njegovim podređenim atributom. Za razliku od atributa dinamičkog popisa, vidljivost elementa povezanog s atributom ovdje nije važna.

Bilješka. Treba upamtiti da svojstvo postavljeno na nadređenom atributu utječe na sve podređene atribute. Na primjer, ako je svojstvo Upotreba uvijek izbrisano za tablični dio dokumenta, tada sustav smatra da je to svojstvo također izbrisano za sve podređene detalje (unatoč stvarnom stanju svojstva).

Metode za pretvaranje podataka aplikacijskih objekata u podatke obrazaca

Za pretvaranje aplikacijskih objekata u podatke obrazaca i natrag, postoji skup globalnih metoda:

  • ValueInFormData(),
  • FormDataInValue(),
  • Kopiraj podatke obrasca().

Važno! Metode koje rade s objektima aplikacije dostupne su samo u procedurama poslužitelja. Metoda za kopiranje vrijednosti između podataka obrazaca dostupna je na poslužitelju i na klijentu, budući da ne zahtijeva objekte aplikacije kao parametre.

Kada pretvarate podatke obrasca u objekt aplikacije, morate uzeti u obzir njihovu kompatibilnost.

  • ValueInFormData() – pretvara objekt tipa aplikacije u podatke obrasca;
  • FormDataInValue() – pretvara podatke obrasca u objekt tipa aplikacije;
  • CopyFormData() – kopira podatke obrasca koji imaju kompatibilnu strukturu. Vraća True ako je kopija bila uspješna ili False ako je struktura objekta nekompatibilna.

Bilješka. Prilikom izvođenja standardnih radnji (otvaranje obrasca, izvršavanje standardne naredbe Write, itd.) obrasca s glavnim detaljima, pretvorba se izvodi automatski.

Dajmo primjer kako koristiti transformaciju podataka u vlastitim algoritmima.

&Postupak na poslužitelju prilikom stvaranja na poslužitelju (pogreška, standardna obrada)

ObjectProduct = Directories.Products.FindByName("Coffeepot").GetObject(); ValueInFormData(ObjectItem, Object);

Kraj postupka

&OnClient procedura Write()

Napiši na poslužitelj();

Kraj postupka

&OnServer postupak WriteOnServer()

ObjectProduct = FormDataValue(Object, Type("DirectoryObject.Products")); ObjectItem.Write();

Kraj postupka

Objekt ManagedForm također ima metode dostupne na poslužitelju:

  • ValueÂFormAttribute() – pretvara objekt tipa aplikacije u navedeni atribut obrasca.
  • FormAttributeVValue() – pretvara atribut podataka obrasca u objekt aplikacijskog tipa.

Korištenje ovih metoda obično je praktičnije jer imaju, na primjer, informacije o vrsti pojedinosti obrasca. Dodatno, metoda Form AttributesValue() postavlja korespondenciju između podataka obrasca i objekta koji se koristi prilikom generiranja poruka. Više o tome možete pročitati u poglavlju „Mogućnosti navigacije uslugama“.

Navedimo primjer korištenja ovih metoda.

&OnServer postupak RecalculateOnServer()

// Pretvara atribut Object u objekt aplikacije. Dokument = Form AttributesValue("Object"); // Izvodi ponovni izračun pomoću metode definirane u modulu dokumenta. Dokument.Ponovo izračunaj(); // Pretvara objekt aplikacije natrag u prop. ValueFormAttributes(Document, “Object”);

Kraj postupka

Softversko sučelje

FormDataTree

  • FindById
  • GetItems

Opis:

Dizajnirano za modeliranje stabla u podacima upravljanog oblika.

Ovaj objekt se može serijalizirati u/iz XDTO. Tip XDTO odgovara ovaj objekt je definiran u imenskom prostoru. Naziv tipa XDTO:

GetItems

Sintaksa:

GetItems()

Povratna vrijednost:

Vrsta: zbirka podataka obrasca elemenata stabla.

Opis:

Dobiva kolekciju elemenata stabla najviše razine.

Dostupnost: klijent, poslužitelj, tanak klijent, web klijent.

FindById

Sintaksa:

FindById(<Идентификатор>)

Mogućnosti:

<Идентификатор>(potreban)

Tip: Broj. Identifikator elementa stabla.

Povratna vrijednost:

Upišite: FormDataTreeElement.

Opis:

Dobiva element zbirke prema ID-u.

Dostupnost: klijent, poslužitelj, tanki klijent, web klijent.

FormDataTreeItem

Svojstva:

<Имя свойства> (<Имя свойства>)

  • GetId (GetId)
  • GetParent
  • GetItems
  • Vlasništvo

Opis:

Element stabla podataka obrasca.

FormDataTreeItemCollection

Elementi zbirke: DataFormTreeElement

Za objekt je moguće preći zbirku korištenjem operatora Za svaki... Od... Petlja. Traversal odabire elemente zbirke. Moguće je pristupiti elementu zbirke koristeći [...] operator. Indeks elementa prosljeđuje se kao argument.

  • Umetnuti
  • Dodati
  • Indeks (IndexOf)
  • Računati
  • Čisto
  • Dobiti
  • Potez
  • Izbrisati

Opis:

Kolekcija drvenih elemenata.

Dostupnost: klijent, poslužitelj, tanki klijent, web klijent.

Vidi također:

  • FormDataTreeElement, metoda GetElements
  • DataFormTree, metoda GetItems

Značajke rada sa stablom vrijednosti

Ažuriranje stabla

Imamo problem Slapovi platforme prilikom ažuriranja stabla.

Ako je bilo koji čvor u stablu proširen i odabran je podređeni čvor, tada prilikom ažuriranja stabla s funkcijom ValueInFormData platforma pada.

Rješenje: morate očistiti stablo prije ažuriranja.

Na primjer:

&Na poslužiteljskoj proceduri ClearTree(elements) Za svaki element iz petlje elemenata ClearTree(element.GetElements()); EndCycle; elementi.Očisti(); Kraj postupka

&Na poslužiteljskoj proceduri Fill Concept Tree() dConcepts = srProperties.Build Concept Tree(OnDate, Meta.CurrentIB()); ClearTree(ConceptTree.GetItems()); ValueInFormData(dConcepts, ConceptTree); Kraj postupka

&OnClient Procedure OnDateOnChange(Element) Fill ConceptTree(); Kraj postupka

Rad korisnika s referentnim knjigama i dokumentima u 1C sastoji se od ispunjavanja polja na obrascu.

1C detalji su polja imenika i dokumenata koja se prikazuju na obrascu kako bi ih korisnik ispunio.

Pogledajmo pobliže temu detalja u 1C.

Što su 1C detalji

Svaki imenik i 1C dokument sastoji se od niza polja. Takva se polja nazivaju 1C detalji (za 1C programera).

U konfiguratoru, u konfiguracijskom stablu 1C, otvorite bilo koji imenik ili dokument i vidjet ćete granu Detalji. Ovo je popis detalja imenika (polja).

Pogledajte kako isti detalji 1C izgledaju na obrascu imenika 1C.

Svaki 1C atribut ima svojstva koja pokazuju koja je vrsta vrijednosti pohranjena u atributu (string, broj itd.) i kako će korisnik raditi s njim.

Desnom tipkom miša kliknite bilo koji 1C atribut i kliknite Svojstva. U prozoru s desne strane otvorit će se popis svojstava odabranog atributa.

Glavna svojstva 1C detalja:

Standardni 1C detalji

Kao što ste primijetili, na obrascu imenika postoje detalji 1C koji nisu navedeni u konfiguratoru: grupa, ime, BIC.

Obrazac popisa imenika također sadrži 1C detalje koji nisu na popisu: oznaka brisanja.

Ovo su standardni detalji 1C. Što je? Svatko ima zadani skup 1C detalja. Za imenike to je, na primjer, šifra i naziv. Za dokumente ovo je datum i broj.

Standardni 1C detalji mogu se vidjeti na sljedeći način:

  • Idite na uređivač 1C objekta (imenik ili dokument) dvostrukim klikom miša na njega
  • U uređivaču koji se otvori odaberite karticu Podaci
  • Ovdje možete konfigurirati standardne detalje Kod i Naziv imenika
  • Kliknite gumb 1C Standard Details da biste vidjeli cijeli popis.

Opći detalji 1C

Počevši od verzije 1C 8.2.14, novi 1C objekt se pojavio u 1C - General 1C Details. Koristeći ga, možete dodati svojstvo (polje) koje će biti prisutno u mnogim imenicima i dokumentima odjednom.

Svojstva općih 1C atributa:

  • Automatsko korištenje – dodaje opće pojedinosti 1C svim imenicima i dokumentima odjednom
  • Sastav - omogućuje dodavanje općih pojedinosti 1C samo u potrebne imenike i dokumente (automatsko korištenje tada je postavljeno na Ne koristi).

Kako dodati detalje 1C

Desnom tipkom miša kliknite granu 1C Detalji željenog imenika i odaberite Dodaj.

Moramo unijeti naziv atributa 1C, na primjer "Adresa ureda" i sinonim "Adresa ureda". Ostavite zadanu vrstu kao String, ali označite potvrdni okvir Neograničena duljina.

Dodajmo još jedan 1C atribut na isti način, samo što ćemo odabrati Booleov tip i nazvati ga "Radi vikendom".

Kako prikazati detalje na 1C obrascu (1C debeli klijent)

Proširimo granu Forms istog imenika. Za otvaranje obrasca odaberite element obrasca i dvokliknite na njega mišem.

Povucite rub oblika mišem i razvucite ga (opcionalno).

Na ploči konfiguratora kliknite gumb "Postavljanje podataka". Također možete koristiti izbornik Form / Data Placement.

Vidite da naši podaci nisu prikazani na obrascu. Provjerite ih. Također i potvrdne okvire Umetni oznake i Postavi automatski.

Kako prikazati detalje na obrascu 1C (1C tanki klijent)

Proširimo granu Forms istog imenika. Odaberite oblik elementa i dvaput kliknite na njega mišem.

Na kartici Detalji proširite liniju Objekt. Vidjet ćete popis pojedinosti koje su prethodno dodane u imenik.

Sada samo povucite traženi atribut iz desnog prozora u lijevi i on će se pojaviti na obrascu.

Detalji obrasca 1C

U debelom klijentu obrazac ima svoje detalje. Nalaze se na kartici Detalji.

Ovi detalji se ne spremaju u bazu podataka, ali se mogu koristiti na obrascu za polja koja su potrebna za rad s obrascem.

Na primjer, dodali ste kvačicu na obrazac. Kada ga kliknete, nešto se događa na obrascu. Značenje potvrdnog okvira vam nije bitno (ne morate ga zapisivati) - koristi se samo za prebacivanje obrasca kada radite s njim. U ovom slučaju ne koristite atribut imenika kao podatke, već atribut obrasca.

Periodički detalji 1C

U 1C verziji 7.7 postojali su periodični detalji. Njihovo značenje je sljedeće: značenje rekvizita je različito na različite datume. Na primjer, vrijednost 1. rujna je jedna, a 1. listopada druga. Isti rekviziti.

U 1C 8 nema periodičnih detalja. Ovo se provodi na sljedeći način:

Detalji obrasca osiguravaju njegovu povezanost s podacima. U ovom slučaju, jedan (i samo jedan) od detalja može se označiti kao glavni; to ne mora nužno biti tip podataka na koji crtamo obrazac. Ali ponašanje obrasca ovisit će o tipu podataka glavnog atributa. Osim promjene ponašanja obrasca, mijenja se i kontekst modula obrasca. Zajedno s metodama i svojstvima forme, u njoj postaju dostupne metode i svojstva objekta, koji je vrijednost glavnog atributa. Važno je da obrasci tipa Free Form nemaju osnovne podatke. U ovom slučaju, ponašanje obrasca određeno je samo korisničkim postavkama. Razmotrimo pitanja o osnovnim detaljima.

Pitanje 10.05 ispita 1C: Platforma Professional. Za što se koristi glavni atribut obrasca?

  1. Definira izvor podataka za obrazac kao cjelinu
  2. Definira standardne mogućnosti platforme za rad s obrascem s podacima tipa navedenog u glavnom atributu
  3. Za pružanje mogućnosti programskog pristupa detaljima objekta iz lokalnog konteksta obrasca
  4. Omogućuje vizualizaciju pojedinosti objekta u dijaloškom okviru obrasca
  5. 2 i 3 su točni
  6. 1 i 2 su točni

Točan odgovor je broj šest, vidi gore.


Pitanje 10.06 ispita 1C: Platforma Professional. Za što su potrebni detalji obrasca?
  1. Za opisivanje sadržaja podataka koji se prikazuju, uređuju ili pohranjuju u obrascu
  2. Za prikaz i uređivanje podataka u obrascu
  3. 1 i 2 su točni

Točan odgovor je treći – oboje.

Pitanje 10.07 ispita 1C: Platforma Professional. Za dodjelu osnovnih atributa proizvoljnom kontroliranom obliku...

  1. Morate označiti potvrdni okvir "Osnovni detalji" u svojstvima atributa forme
  2. potrebno je ispuniti svojstvo obrasca “Podaci” odabirom traženog atributa obrasca

Točan odgovor je drugi:

Pitanje 10.08 ispita 1C: Platforma Professional. Što god proizvoljno regularni oblik dodijeliti osnovne podatke...
  1. obrazac treba učiniti glavnim, glavni detalji se određuju automatski
  2. Morate označiti potvrdni okvir "Osnovni detalji" u svojstvima atributa forme
  3. potrebno je otići u izbornik "Uredi", "Osnovni detalji" i odabrati željenu vrijednost
  4. potrebno je ispuniti svojstvo obrasca “Podaci” odabirom traženog atributa obrasca

Četvrti točan odgovor je:

Glavni detalji istaknuti su masnim slovima:

Pitanje 10.09 ispita 1C: Platforma Professional. Ako postoji jedan glavni atribut obrasca, je li moguće dodati još jedan glavni atribut?
  1. Ovo je nemoguće
  2. To je moguće dodjeljivanjem odgovarajuće vrijednosti svojstvu atributa forme
  3. Moguće je samo programski, prilikom pristupa objektu "Obrazac".
  4. To je moguće dodavanjem druge vrijednosti odgovarajućem svojstvu obrasca

Točan odgovor je prvi, postoji striktno jedan glavni uvjet, jer veza s objektom mora biti nedvosmislena.

Pitanje 10.113 ispita 1C: Platforma Professional. Koji je od detalja obrasca prikazan na slici glavni?

  1. Popis tečajeva valuta
  2. DirectoryObject
  3. Obrasci imenika nemaju osnovne podatke
  4. Obrasci imenika imaju sve osnovne podatke
Drugi točan odgovor je onaj podebljan.