Učiniti „upravljane forme“ malo lakšim za upravljanje. Novi mehanizam za postavljanje elemenata u formu Zašto je bio potreban novi mehanizam

Uređivač obrazaca se koristi za kreiranje i uređivanje obrazaca objekata aplikativnog rješenja. Sistem koristi oblike objekata za vizuelni prikaz podataka objekta dok korisnik radi.

Bilo koji oblik predstavlja kombinaciju tri komponente:

  • dijalog forme - prozor koji će biti prikazan na ekranu;
  • modul forme - program na ugrađenom jeziku odgovoran za rad sa kontrolama obrasca i obradu događaja;
  • detalji forme - skup objekata koji pripadaju obrascu, čije podatke koristi u svom radu.

Sam uređivač obrasca omogućava uređivanje dijaloga obrasca, njegovih detalja i poziva uređivač teksta i modula za uređivanje modula obrasca.

Prozor uređivača obrazaca sadrži tri kartice koje omogućavaju uređivanje sve tri komponente obrasca.

Uređivanje dijaloga obrasca

Uređivač obrazaca omogućava programeru da u potpunosti iskoristi širok spektar mogućnosti dijaloga. Navedimo glavne:

Paneli, stranice, bookmarks

Uređivač dijaloga omogućava programeru da postavi posebne kontrole na obrazac koje pomažu da se obrascu da njegov prepoznatljiv stil, učini pristup podacima jednostavnim i jasnim, a takođe stane veliku količinu informacija u ograničeno područje.

Editor vam omogućava da postavite nekoliko panela na obrazac, od kojih svaki može sadržavati nekoliko stranica. Na primjer, obrazac dokumenta može sadržavati ploču s dvije stranice: Proizvodi i Dodatno:

Programer ima mogućnost da podesi način u kojem će se stranice pomicati unutar panela ili koristiti oznake za prebacivanje između stranica. Editor vam omogućava da definišete veliki broj razne opcije za raspored i prikaz oznaka:

Na primjer, oznake se mogu postaviti vodoravno na vrh:

Ili možete rasporediti oznake na lijevoj strani okomito:

Kontrole

Uređivač vam omogućava da postavite veliki broj različitih kontrola na obrazac. Kontrole možete postaviti prevlačenjem ili korištenjem posebnog dijaloga za umetanje kontrola, koji vam omogućava da istovremeno postavite željena svojstva odabrane kontrole:

U slučaju kada obrazac sadrži veliki broj kontrola, programer može koristiti način prikaza kontrola na listi, što vam omogućava brzu navigaciju do željene kontrole:

Editor pruža mogućnost da odredi redosled kojim će korisnik zaobići kontrole obrasca prilikom unosa i uređivanja podataka. Moguće je postaviti automatski redosled prelaska ili ručno postaviti redosled prelaska u posebnoj listi kontrola, ili klikom miša direktno na formu:

Mreža, poravnanje

Form Editor ima velike mogućnosti za kontrolu postavljanja elemenata na obrascu. Konkretno, podržava raspored mreže, gdje su granice i veličine kontrola poravnate sa mrežom rasporeda koja se nalazi na obrascu. Programer ima priliku promijeniti nagib mreže za označavanje i na taj način postići precizniju lokaciju kontrola:

Urednik takođe podržava upotrebu linija za poravnanje, koje služe za olakšavanje poravnanja i relativne pozicije kontrola obrasca. Na primjer, na sljedećoj ilustraciji, linije poravnanja se koriste za pozicioniranje kontrola na stranici Više:

Programer ima mogućnost da postavi potreban broj horizontalnih ili vertikalnih linija poravnanja na stranicu, kao i da koristi nevidljive linije poravnanja. Editor automatski kreira nevidljive linije poravnanja nakon što se dvije ili više kontrola poravnaju duž bilo koje granice. Na primjer, ako dva polja iste veličine ako su poravnati lijevo, nevidljiva linija poravnanja će biti kreirana duž desno poravnatih granica tih polja.

Poravnavanje komandi se takođe može obaviti pomoću posebnih markera koji ukazuju na željeni smer kretanja komandi. Markeri se pojavljuju kada su dvije kontrole u neposrednoj blizini jedna drugoj.

Plave ručke za poravnanje označavaju željeni smjer kretanja kontrole kako bi se poravnala s jednom od granica susjedne kontrole:

Crvene ručke za poravnanje označavaju željeni smjer za pomicanje kontrole kada se preklapa s drugom kontrolom:

Također treba reći da uređivač podržava operacije poravnanja, promjene veličine i reda za grupu kontrola:

Vezi

Uređivač obrasca vam omogućava da prilagodite ponašanje kontrola koje se nalaze u obrascu, tako da se prilikom promjene veličine obrasca pruža prirodna percepcija informacija: jedan dio elemenata ostaje na svom mjestu, drugi dio se pomiče zajedno sa granice forme, a treći dio mijenja svoju veličinu u skladu sa promjenom veličine forme.

Da bi specificirao ovo ponašanje elemenata obrasca, programer može opisati povezivanja - ovisnost položaja granica kontrola o položaju granica obrasca. Granica kontrole može se zakačiti za granicu ili centar obrasca, ili za granicu ili centar druge kontrole.

Editor podržava širok izbor razne vrste povezivanja i može ih grafički prikazati:

Separatori

Separatori su posebne kontrole koje vam omogućavaju da preraspodijelite prostor obrasca bez promjene njegove veličine. U 1C:Enterprise modu, separator ima mogućnost da ga miš „zgrabi“ i pomjeri unutar obrasca u svojim granicama, uzimajući u obzir mogućnost lokacije drugih kontrola i orijentaciju separatora:

Kada premjestite separator, sve kontrole vezane za separator će promijeniti veličinu ili će se pomicati prema postavljenim sidrima:

ActiveX

Uređivač vam omogućava da postavite ActiveX kontrole na obrazac, koji programer može konfigurirati i potom upravljati pomoću ugrađenog jezika:

Uređivanje modula obrasca

Za uređivanje modula obrasca, konfigurator poziva uređivač teksta i modula. Ovaj uređivač pruža programeru širok izbor opcija za kreiranje i modificiranje teksta modula.

Uređivanje detalja obrasca

Uređivanje detalja obrasca vrši se u listi, što vam omogućava da kreirate nove detalje, promijenite postojeće i izbrišete nepotrebne detalje:

Ako obrazac ima glavni atribut koji određuje ponašanje obrasca koji se razlikuje od standardnog, on je označen podebljanim. Programer može postaviti kursor na željeni atribut i, koristeći naredbu menija, odmah otići na dijalog forme, na kontrolni element koji odgovara odabranom atributu.

Dodatne informacije

Možete se upoznati sa upotrebom uređivača obrazaca u realni mod vrijeme. Da biste to učinili, možete preuzeti demo video "Primjer razvoja trgovinskog mini-sistema", koji prikazuje proces razvoja trgovinskog mini-sistema pomoću ovog uređivača za kreiranje obrazaca dokumenata "Račun o prijemu", "Račun o troškovima" i izvještaj forme "Analiza prodaje" i "Analiza prodaje po periodu."

I objekt prijenosa podataka u strukturiranje koda, kontrolisanom obliku u okruženju 1C 8.2.

Uvod

Počnimo s kratkim opisom koncepta „upravljane forme“ i srodnih koncepata 1C platforme. Poznavaoci platformi možda žele da preskoče ovaj odeljak.

2008. godine postao je dostupan nova verzija platforma 1C: Enterprise 8.2 (u daljem tekstu Upravljana aplikacija), koja u potpunosti mijenja cijeli sloj rada sa sučeljem. Ovo uključuje komandni interfejs, obrasce i sistem prozora. Istovremeno, ne mijenja se samo model razvoja korisnički interfejs u konfiguraciji, ali također predlaže novu arhitekturu za odvajanje funkcionalnosti između klijentske aplikacije i servera.
Upravljana aplikacija podržava sljedeće tipove klijenata:

  • Debeli klijent (normalan i upravljani način pokretanja)
  • Tanki klijent
  • Web klijent
Upravljana aplikacija koristi obrasce izgrađene na njima nova tehnologija. Oni se zovu Upravljani obrasci. Da bi se olakšao prijelaz, prethodni oblici (tzv Regularni oblici) su također podržani, ali njihova funkcionalnost nije razvijena i dostupni su samo u načinu pokretanja debelog klijenta.
Glavne razlike upravljanih formi za programera:
  • Deklarativan, a ne "piksel po piksel" opis strukture. Specifično postavljanje elemenata sistem vrši automatski kada se obrazac prikaže.
  • Sva funkcionalnost obrasca je opisana kao detalji I timovi. Detalji su podaci sa kojima obrazac radi, a komande su radnje koje treba izvršiti.
  • Obrazac se pokreće i na serveru i na klijentu.
  • U kontekstu klijenta, gotovo svi tipovi aplikacija su nedostupni, te je shodno tome nemoguće promijeniti podatke u infobazi.
  • Za svaku varijablu metode ili forme, ona mora biti specificirana direktiva o kompilaciji, definirajući lokaciju izvršenja (klijent ili server) i pristup kontekstu obrasca.
Hajde da navedemo direktive za kompajliranje metoda obrasca:
  • &OnClient
  • &OnServer
  • &Na serveru bez konteksta
  • &OnClientOnServerBithout Context
Ilustrujmo gore navedeno. Snimak ekrana prikazuje primjer upravljanog obrasca i njegovog modula u razvojnom modu. Pronađite deklarativni opis, props, direktive za kompilaciju, itd.

Sve dalje diskusije će biti o desnoj strani ilustracije, o tome kako strukturirati kod modula i koji principi će vam omogućiti da implementirate efikasnu interakciju klijent-server.

Hajde da definišemo problem

Prošlo je nekoliko godina otkako se nova verzija 1C platforme aktivno koristi i mnoga rješenja (konfiguracije) su objavljena i od strane 1C i njegovih brojnih partnera.
Tokom ovog vremena, da li su programeri razvili zajedničko razumijevanje principa klijent-server interakcije prilikom kreiranja obrazaca i da li se pristup implementaciji promijenio? softverski moduli u novim arhitektonskim realnostima?

Razmotrimo strukturu koda (modul forme) u nekoliko oblika jednog tipična konfiguracija i pokušajte pronaći obrasce.
Pod strukturom podrazumijevamo dijelove koda (najčešće su to blokovi komentara) koje je programer dodijelio grupnim metodama i direktivama kompilacije za te metode.
Primjer 1:
Sekcija rukovalaca događaja Metoda - na klijentu Metoda - na serveru Metoda - na klijentu Odeljak uslužnih procedura i funkcija Kontrolne funkcije pomoćnog ulaza
Primjer 2:
Servisne procedure i funkcije Dokumenti za plaćanje Vrijednosti Obrađivači događaja
Primjer 3:
Servisne procedure na serveru Servisne procedure na klijentu Servisne procedure na serveru bez konteksta Rukovaoci događaja zaglavlja Rukovaoci događaja naredbe
Primjer 4:
Procedure opće namjene Rukovatelji događaja obrasca Procedure podsistema “kontaktnih informacija”.
U suštini, struktura koda nedostaje, ili blago rečeno, slična je onome što je bilo u Obrascima 8.1:

  • Neinformativne riječi “General, Service, Auxiliary”.
  • Stidljiv pokušava da odvoji klijentske i serverske metode.
  • Metode su često grupisane prema elementima interfejsa „Rad sa tabelarni dio Proizvodi, Kontakt informacije".
  • Proizvoljan raspored metoda i kodnih grupa. Na primjer, Događaji mogu biti na vrhu u jednom obliku, na dnu u drugom, uopće nisu istaknuti u trećem, itd.
  • I ne zaboravimo da je sve ovo u jednoj konfiguraciji.
  • Da, postoje konfiguracije u kojima su riječi "General, Service, Auxiliary" uvijek na istim mjestima, ali...
Zašto vam je potrebna struktura koda?
  • Pojednostavljenje održavanja.
  • Pojednostavite učenje.
  • Zapisivanje općih/važnih/uspjelih principa.
  • ...vaša opcija
Zašto postojeći razvojni standard iz 1C ne pomaže?
Pogledajmo principe objavljene na ITS diskovima i u raznim “Vodičima za programere...” koji se preporučuju prilikom pisanja upravljanog obrasca.
  • Minimizirajte broj poziva servera.
  • Maksimalno računanje na serveru.
  • Nekontekstualni pozivi servera su brži od kontekstualnih.
  • Program koji ima na umu komunikaciju klijent-server.
  • itd.
Ovo su slogani koji su apsolutno tačni, ali kako ih implementirati? Kako minimizirati broj poziva, šta znači programirati u klijent-server modu?

Dizajnerski obrasci ili generacijska mudrost

Interakcija klijent-server se decenijama koristi u raznim softverskim tehnologijama. Odgovor na pitanja iznesena u prethodnom odeljku odavno je poznat i sažet je u dva osnovna principa.
  • Remote Facade(u daljem tekstu Interfejs daljinski pristup)
  • Objekat prenosa podataka(u daljem tekstu objekt prijenosa podataka)
Riječ Martina Fowlera, njegov opis ovih principa:
  • Svaki objekt potencijalno namijenjen za daljinski pristup mora imati interfejs niske granularnosti, što će minimizirati broj poziva potrebnih za izvođenje određene procedure. ... Umjesto da zahtijevate fakturu i sve njene stavke zasebno, trebate pročitati i ažurirati sve stavke računa u jednom zahtjevu. Ovo utiče na celokupnu strukturu objekta... Zapamtite: interfejs za daljinski pristup ne sadrži logiku domene.
  • ...da sam brižna majka, svom djetetu bih definitivno rekla: „Nikad ne piši objekte za prijenos podataka!“ U većini slučajeva, objekti prijenosa podataka nisu ništa drugo do naduven teren set... Vrijednost ovog odvratnog čudovišta leži isključivo u mogućnosti prenose više informacija preko mreže u jednom pozivu- tehnika koja je od velikog značaja za distribuirane sisteme.
Primjeri predložaka na 1C platformi
Interfejs za programiranje aplikacije dostupan programeru prilikom razvoja upravljanog obrasca sadrži mnogo primjera ovih principa.
Na primjer, metoda OpenForm(), tipično "grubo" sučelje.
OpeningParameters = Nova struktura("Parametar1, Parametar2, Parametar3", Vrijednost1, Vrijednost2, Vrijednost3); Form = OpenForm(FormName, OpeningParameters);
Uporedite sa stilom usvojenim u v8.1.
Forma = GetForm(FormName); Form.Parameter1 = Value1; Form.Parameter2 = Value2; Form.Open();

U kontekstu upravljanog obrasca, postoji mnogo “Objekata prijenosa podataka”. Možete odabrati sistemski I definisano programerom.
Sistemski modeliraju objekt aplikacije na klijentu, u obliku jednog ili više elemenata podataka forme. Nemoguće ih je kreirati izvan veze s detaljima obrasca.

  • DataFormsStructure
  • DataFormsCollection
  • DataFormStructureWithCollection
  • DataShapesTree
Konverzija objekata prenosa sistemskih podataka u tipove aplikacije i obrnuto vrši se na sledeće metode:
  • ValueInFormData()
  • FormDataValue()
  • CopyFormData()
  • ValueInFormAttributes()
  • FormAttributesValue()
Često se eksplicitna konverzija koristi prilikom prilagođavanja postojećeg rješenja. Metode mogu očekivati ​​(koristiti značajke) ulazne parametre, kao što je ValueTable umjesto FormDataCollection, ili je metoda definirana u kontekstu objekta aplikacije i postala je nedostupna za direktan poziv iz obrasca.
Primjer 1C v8.1:
// na klijentu u kontekstu obrasca FillUserCache(DepartmentLink)
Primjer 1C v8.2:
// na serveru u kontekstu forme ProcessingObject = Form AttributesValue("Object"); ProcessingObject.FillUserCache(DepartmentRef); ValueVFormAttributes(ProcessingObject, "Object");

Objekti za prijenos podataka, čiju strukturu određuje programer, su mali podskup tipova dostupnih i na klijentu i na serveru. Najčešće se kao parametri i rezultati metoda „ogrubljenog“ sučelja koriste sljedeće:

  • Primitivni tipovi (niz, broj, boolean)
  • Struktura
  • Prepiska
  • Niz
  • Linkovi na objekte aplikacije (jedinstveni identifikator i tekstualni prikaz)
Primjer: metoda prihvaća listu naloga za promjenu statusa i vraća opis grešaka klijentu.
&OnServerWithoutContext Funkcija ServerChangeOrderStatus(Orders, NewStatus) Greške = New Match(); // [narudžba][opis greške] Za svaku narudžbu od narudžbi Cycle StartTransaction();

Pokušajte DocOb = Order.GetObject();

…. druge akcije, moguće ne samo sa nalogom... Izuzetak CancelTransaction();
  • Errors.Insert(Red, ErrorDescription()); EndAttempt;
  • Jasna identifikacija interfejsa udaljenog pristupa, koje metode servera se mogu pozvati sa klijenta, a koje ne?
  • Imena metoda udaljenog interfejsa počinju prefiksom "Server". Ovo vam omogućava da odmah vidite prijenos kontrole na server dok čitate kod i pojednostavljuje korištenje kontekstualne pomoći. Imajte na umu da zvanična preporuka (ITS) predlaže imenovanje metoda sa postfiksima, na primjer, ChangeOrderStatusOnServer(). Međutim, da ponovimo, ne mogu se sve serverske metode pozvati sa klijenta, pa je stoga logička dostupnost važnija, a ne lokacija kompilacije. Stoga, sa prefiksom “Server” označavamo samo metode dostupne klijentu, nazovimo primjer metode ServerChangeOrderStatus().Čitljivost.
  • Stvar ukusa prihvatamo narudžbu kada modul počne sa procedurama kreiranja obrasca na serveru i metodama daljinskog pristupa. Održavanje. Mora postojati jasna lokacija za dodavanje novog koda. Važna tačka
Predlošci metoda automatski kreirani od strane konfiguratora dodaju se na kraj modula. Budući da se obrađivači događaja za elemente obrasca najčešće kreiraju automatski, odgovarajući blok se nalazi zadnji, kako se svaki rukovalac ne bi povukao na drugo mjesto u modulu.

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор="forme."/> // <Описание> // // "Date="

/////////////////////////////////////////////// // /////////////////////////// // VARIJABLE MODULA ///////////////// // ///////////////////////////////////////////// //// ////////// // NA SERVERU //******* DOGAĐAJI NA SERVERU ******* &Na serveru Procedura kada je kreirana na serveru (Failure, StandardProcessing) / /Ubacite sadržaj rukovaoca Kraj procedure //******* INTERFEJS UDALJINSKOG PRISTUPA ****** //******* POSLOVNA LOGIKA NA SERVERU ******* ///////// //////////////////////////////////////// /////// /////////////////// // ZAJEDNIČKE METODE KLIJENTA I SERVERA /////////////// /////// ////////////////////////////////////////// ///// //////// // O KLIJENTU //******* POSLOVNA LOGIKA NA KLIJENTU ******* //********** TIM * ****** //********** KLIJENTSKI DOGAĐAJI ****** ////////////////////////// ///// //////////////////////////////////////////// // / / GLAVNI OPERATORI PROGRAMA
Povezana pitanja
  • Opcije implementacije interfejsa za daljinski pristup. Asinhronija, nivo detalja...
  • Keširanje. 1C je donio neuspješnu arhitektonsku odluku, uvodeći keširanje samo na nivou pozivanja metoda uobičajenih modula i ne pružajući kontrolne mogućnosti (vrijeme relevantnosti, resetiranje na zahtjev).
  • Implicitni pozivi servera. Ne zaboravite na tehnološke karakteristike mnoge „bezopasne“ operacije na klijentu provociraju platformu da kontaktira server.

Na regularnim obrascima lokacija elemenata se crta potpuno ručno. Da bi se olakšao ovaj proces, platforma nudi nekoliko mehanizama:

- poravnanje elemenata- omogućava automatsko centriranje, ili "pritiskanje" kontrola jedne druge na smjernice, ili usklađivanje veličina kontrola:

- net- kroz Opcije možete konfigurirati prikaz mreže za precizno ručno poravnavanje elemenata:

Tačan odgovor je drugi. Ovo je panel za poravnavanje i ujednačavanje veličina elemenata.

Pitanje 10.79 ispita 1C: Platforma Professional.

  1. Ništa se neće promijeniti
  2. Element "Inscription1" će biti pomaknut horizontalno i njegova desna ivica će biti poravnata sa desnom ivicom elementa "Inscription2"
  3. Element "Inscription2" će biti pomaknut horizontalno i njegova desna ivica će biti poravnata sa desnom ivicom elementa "Inscription1"
  4. Oba elementa će se pomeriti na liniju poravnanja desne ivice obrasca

Tačan odgovor je drugi. Oznake će biti poravnate udesno.

Pitanje 10.82 ispita 1C: Platforma Professional. Šta se dešava kada kliknete na dugme komandne trake označeno na slici?

  1. Svi natpisi će biti iste veličine horizontalno
  2. Ništa se neće promijeniti
  3. Oznake će se pomaknuti. Vertikalna osa simetrije svakog kontrolnog elementa će se poklapati sa vertikalnom osom simetrije forme, tj. centriranje svake kontrole horizontalno
  4. Oznake će se pomicati vodoravno. Kontrole se neće pomicati jedna u odnosu na drugu unutar grupe, tj. centriranje, takoreći, jednog elementa kao celine
  5. Oznake će se pomjeriti okomito. Kontrole se neće pomicati jedna u odnosu na drugu unutar grupe, tj. centriranje, takoreći, jednog elementa kao celine

Tačan odgovor je četvrti. Sve odabrane kontrole će biti centrirane oko njihove zajedničke središnje linije.

Pitanje 10.83 ispita 1C: Platforma Professional. Šta se dešava kada kliknete na dugme komandne trake označeno na slici?

  1. Svi natpisi će biti iste veličine okomito. Kontrolni element "Inscription1" će biti uzet kao uzorak.
  2. Ništa se neće promijeniti
  3. Svi natpisi će biti iste veličine okomito. Kontrolni element "Inscription3" će biti uzet kao uzorak.
  4. Svaka etiketa će biti centrirana okomito
  5. Postojat će ravnomjerna distribucija natpisa u vertikalnom smjeru. Kontrole "Inscription1" i "Inscription3" će ostati na mjestu, a element "Inscription2" će se pomjeriti u željenom smjeru. Prilikom pomicanja elementa, pričvršćivanje na mrežu rasporeda se ne uzima u obzir
  6. Postojat će ravnomjerna distribucija natpisa u vertikalnom smjeru. Kontrole "Inscription1" i "Inscription3" će ostati na mjestu, a element "Inscription2" će se pomjeriti u željenom smjeru. Kada premjestite element, on će zakačiti na mrežu za označavanje ako je postavljen način za njegovu upotrebu

Tačan odgovor je prvi. Visina elemenata će biti standardizovana

Pitanje 10.86 ispita 1C: Platforma Professional. Šta se dešava ako kliknete na dugme na komandnoj traci poništeno na slici?

  1. Svi natpisi će biti iste veličine okomito i horizontalno. Kontrolni element "Inscription1" će biti uzet kao uzorak.
  2. Svi natpisi će biti iste veličine okomito i horizontalno. Kontrolni element "Inscription3" će biti uzet kao uzorak.
  3. Ništa se neće promijeniti
  4. Oznake će se automatski poravnati
  5. Sve etikete će imati prozirnu pozadinu.

Tačan odgovor je broj četiri, samo dugme se zove "Poravnaj automatski"

Pitanje 10.90 ispita 1C: Platform Professional. Onemogućite način poravnanja koristeći linije poravnanja u prethodno kreiranom obliku:

  1. To je zabranjeno
  2. Može. Da biste to učinili, u paleti svojstava obrasca morate onemogućiti svojstvo "Koristi linije poravnanja".
  3. Može. Da biste to učinili, odabirom stavke glavnog izbornika "Alati-Opcije", na kartici "Obrazac", morate onemogućiti svojstvo "Koristi linije poravnanja"
  4. Može. Da biste to učinili, u paleti svojstava obrasca morate onemogućiti svojstvo "Koristi linije poravnanja" ili odabirom stavke glavnog menija "Alati-Opcije" na kartici "Obrazac" onemogućiti svojstvo "Koristi linije poravnanja"

Tačan odgovor je drugi. Linije poravnanja (označene strelicom) su onemogućene odgovarajućim svojstvom obrasca:

Pitanje 10.92 ispita 1C: Platforma Professional. Prilikom poravnavanja elemenata obrasca može se prikazati mreža izgleda:

  1. Neprekidne linije
  2. Checkerboard dots
  3. Tačke koje se nalaze na raskrsnici linija za označavanje
  4. Odgovori 1 i 2 su tačni
  5. Odgovori 2 i 3 su tačni
  6. Odgovori 1, 2 i 3 su tačni

Tačan odgovor je peti. Lokacija tačaka je kontrolisana opcijom Checkerboard u sistemskim parametrima (pogledajte snimak ekrana u postu).

Pitanje 10.95 ispita 1C: Platform Professional.

  1. Poseban marker za poravnanje koji pokazuje pomak kontrola. Odabrani kontrolni element se nudi da se pomjeri ulijevo
  2. Poseban marker za poravnanje koji pokazuje pomak kontrola. Odabrani kontrolni element se nudi da se pomjeri prema dolje
  3. Poseban marker za poravnanje koji pokazuje preklapanje kontrola. Odabrani kontrolni element se nudi da se pomjeri ulijevo
  4. Poseban marker za poravnanje koji pokazuje preklapanje kontrola. Odabrani kontrolni element se nudi da se pomjeri prema dolje

Tačan odgovor je prvi. Donja margina je pomjerena udesno u odnosu na gornju, pa se predlaže da se pomakne ulijevo.

Pitanje 10.96 ispita 1C: Platforma Professional. Mogu li koristiti linije poravnanja za promjenu veličine i premještanje kontrola obrasca?

  1. To je zabranjeno
  2. Da, ako su kontrole priključene na ove linije
  3. Moguće je ako su kontrole pričvršćene za ove linije, ali samo ih pomjerite
  4. Moguće je ako su kontrole vezane za ove linije, ali samo promijenite veličinu
  5. Možeš, uvek

Tačan odgovor je drugi. Elementi pričvršćeni za istu vijugavu liniju mogu se pomicati zajedno.

Pitanje 10.97 ispita 1C: Platforma Professional. Na slici crveni krug označava:

  1. Poseban marker za poravnanje koji pokazuje pomak kontrola. Odabrani kontrolni element se nudi za pomicanje ulijevo i gore
  2. Poseban marker za poravnanje koji pokazuje pomak kontrola. Odabrani kontrolni element se može pomicati udesno i dolje
  3. Poseban marker za poravnanje koji pokazuje preklapanje kontrola. Odabrani kontrolni element se nudi za pomicanje ulijevo i gore
  4. Poseban marker za poravnanje koji pokazuje preklapanje kontrola. Odabrani kontrolni element se može pomicati udesno i dolje

Tačan odgovor je četvrti. Tamo gdje strelice pokazuju, morate se pomaknuti tamo.

Pitanje 10.98 ispita 1C: Platform Professional. Na slici crveni krug označava:


Pitanje 10.110 ispita 1C: Platform Professional. Kako mogu koristiti dugme komandne trake prikazano na slici da poravnam sve tri oznake udesno?

  1. Prvo odaberite kontrolu “Natpis1” tako što ćete kliknuti na nju lijevom tipkom miša i istovremeno pritisnuti tipku. Zatim pritisnite naznačeno dugme
  2. Samo kliknite na naznačeno dugme
  3. Koristeći ovo dugme ne možete poravnati oznake, jer pripadaju različitim panelima
Tačan odgovor je treći. Poravnanje radi unutar jednog panela.

Pitanje 10.115 ispita 1C: Platforma Professional. Za prikaz mreže izgleda u postojećem obliku, dovoljno je:

  1. U paleti svojstava obrasca postavite svojstvo "Koristi mrežu".
  2. Odabirom stavke glavnog menija "Alati-Opcije", na kartici "Obrazac" postavite zastavicu "Koristi mrežu"
  3. Odabirom stavke glavnog menija "Alati-Opcije", na kartici "Obrazac" postavite zastavicu "Prikaz mreže"
  4. Odabirom stavke glavnog menija "Alati-Opcije", na kartici "Obrazac" postavite zastavicu "Prikaz mreže", a zatim u paleti svojstava obrasca postavite svojstvo "Koristi mrežu"
  5. Odabirom stavke glavnog menija "Tools-Options", na kartici "Form" postavite zastavice "Display Grid" i "Use Grid"

Tačan odgovor je četvrti za obrazac možete odrediti opciju za prikaz ili ne.

Implementirano u verziji 8.3.7.1759.

Da bi bilo jasno o čemu govorimo u ovom članku, potrebno je napraviti malo objašnjenje.

Karakteristika upravljanih formi je da programer ne oblikuje direktno izgled obrasca. Programer samo kreira opis obrasca koristeći neka logička pravila. Na osnovu ovih pravila, platforma samostalno generiše vizuelni prikaz forme. Štaviše, ova vizuelna reprezentacija zavisi od veličine prozora u kojem je forma prikazana. Isti oblik prikazan u uskom prozoru ili u prozoru proširenom na cijeli ekran imat će drugačiji vizualni izgled.

Dakle, naziva se onaj dio platforme koji formira vizualni prikaz forme mehanizam za postavljanje elemenata u formu.

Zašto je bio potreban novi mehanizam?

Prvo, prethodni mehanizam je, nažalost, imao nedostataka. Najznačajniji od njih je bio da su mnoge promjene svojstava elemenata obrasca koje se izvode na klijentu zahtijevale poziv serveru. I svaki pristup serveru dovodi do usporavanja.

Drugo, procijenili smo iskustvo korištenja upravljanih obrazaca i otkrili niz kritičnih potreba koje je trebalo riješiti.

I treće, željeli smo da u novi mehanizam ugradimo mogućnosti za budući razvoj.

Velike promjene

Rad prethodnog mehanizma može se shematski predstaviti na sljedeći način:

Programer kreira stablo elemenata forme u konfiguratoru i postavlja svojstva elemenata. U trenutku kada aplikacijsko rješenje treba da pokaže obrazac korisniku, događa se sljedeće. Prvo, na serveru se kreira platforma opis vizuelne forme. Zatim se ovaj opis prenosi klijentu. I na klijenta vizualizator formira sliku koju će korisnik vidjeti.

Glavna radnja koja je izvršena na serveru prilikom kreiranja opisa vizuelne forme je izračunavanje dužine linija. Ovo se odnosi na sve vrste naslova, natpisa i tako dalje. Poznavajući dužine linija, već možete izračunati raspored elemenata u obrascu.

Pošto je ova operacija obavljena na serveru, postojala su dva negativna aspekta. Prvo, za proračun smo koristili ne fontove koji će se koristiti na klijentu, već one instalirane na serveru. I mogu se razlikovati, posebno kada su u pitanju različite platforme (Windows, Linux). Ili čak i potrebni fontovi možda uopće nisu instalirani na serveru. Drugo, da bismo izračunali dužine, koristili smo mehanizam za rasterizaciju fontova koji se nalazi na serveru. I možda neće raditi baš kao mehanizam za prikazivanje tekstualnih nizova koji postoji na klijentu u internet pretraživaču, na primjer. Kao rezultat toga, obrasci bi se mogli pojaviti ili sa „skraćenim“ tekstovima ili, obrnuto, sa preširokim natpisima.

Drugi problem je bio što nije bilo prilagođavanja veličini prozora u kojem bi se obrazac prikazao klijentu. Zapravo, na serveru je opis obrasca kreiran na osnovu minimalne moguće veličine prozora, a dalji uspjeh njegovog prikaza zavisio je od toga koliko dobro „može“ da se rastegne.

U novom mehanizmu smo generisanje opisa vizuelne forme, koji se prethodno u potpunosti obavljao na serveru, podelili na dva dela, server i klijent:

Serverski dio je znatno manji. Ne vrši nikakve proračune. Na serveru se kreira samo „prazan” opis koji ne sadrži tačne dužine tekstualnih polja, a elementi prilagodljivosti u njemu nisu dozvoljeni. Server upravlja vidljivošću elemenata, ali samo onom koja je određena funkcionalnim opcijama i onom koju postavlja korisnik. Ali ovdje je nemoguće učiniti drugačije, jer su same funkcionalne opcije dostupne samo na serveru. A interaktivna promjena postavki od strane korisnika će u svakom slučaju dovesti do poziva servera.

Rezultat je svojevrsni „poluproizvod“ vizuelnog prikaza forme, koji se prenosi na klijenta.

Potrebne modifikacije opisa vizuelne forme vrše se na klijentu. Izračunavaju se dužine linija, izračunavaju se elementi odziva koji se odnose na veličinu ekrana klijenta i razrađuje se vidljivost. Nakon toga, kao i ranije, počinje sa radom vizualizator koji kreira konačnu formu koju klijent vidi.

Zbog činjenice da se proračun dužine nizova vrši na klijentu, uspjeli smo se riješiti nepotrebnih i neurednih „praznina“ između elemenata. A određivanje vidljivosti na klijentu bez pristupa serveru omogućilo je ubrzanje rada obrazaca. Zato što je uključivanje/isključivanje vidljivosti elemenata obrasca jedna od najčešćih operacija.

Neke nove karakteristike

Responzivni elementi interfejsa

Novi mehanizam za postavljanje elemenata na obrazac ne samo da poboljšava mogućnosti koje su ranije bile dostupne, već i dodaje nove mogućnosti. Na primjer, prilagođava izgled obrasca veličini klijentskog prikaza. Postoji nekoliko načina da to učinite.

Prvo se vrši automatsko premotavanje linija, podešavanje visine naslova i ukrasa. Kako to funkcionira možete vidjeti na slici:

Ako u obliku postoje dugi redovi koji se mogu rastaviti u pojedinačne riječi, onda se takvi redovi po potrebi premotaju. Shodno tome, visina forme se povećava jer se njen donji dio „pomiče“ prema dolje.

Kao rezultat toga, obrazac će izgledati normalno čak i na uskim ekranima. Štaviše, ovaj mehanizam radi dinamički, što znači da možete komprimirati obrazac u realnom vremenu, a dugi redovi će se premotati zajedno s njim. Automatsko prelamanje radi za naslove elemenata, naslove grupa, tekstualne ukrase i tekst u dugmadima koji izgledaju kao.

Hyperlink Drugi element prilagodljivosti je promjena orijentacije grupa. Grupe i forma u cjelini imaju novu opciju orijentacije - “ Horizontalno ako je moguće

" U ovoj opciji, ako klijentski ekran dozvoljava horizontalno pozicioniranje elemenata, oni se postavljaju horizontalno. Ako ne, onda se nalaze okomito.

Treći element prilagodljivosti je automatsko određivanje broja kolona prekidača ili prekidača. Ranije, osim ako nije bilo posebnih instrukcija, broj kolona je bio postavljen na maksimum i prikazivao se u jednom redu. Sada, u istoj situaciji, analizira se širina forme i podesi broj kolona tako da prekidač/prekidač izgleda dobro na ekranu.

Horizontalno i vertikalno poravnanje Ranije je ova mogućnost bila odsutna, a za implementaciju nestandardnog poravnanja bilo je potrebno izmisliti razne "trikove". Sada se forma i grupa mogu odrediti kako njeni elementi trebaju biti poravnati okomito i horizontalno. Na primjer, na slici ispod, grupa dugmadi prikazuje tri moguće opcije poravnanja:, lijevo I Centar:

Na ovoj slici dugmad su postavljena u regularnu grupu koja se proteže horizontalno. Postavljanje dugmadi unutar grupe kontroliše svojstvo grupe HorizontalPositionSubordinates.

Eksterna kontrola poravnanja

Na primjer, imate obrazac koji sadrži polja Subdivision, grupe Adresa I Telefon. Prethodni mehanizam je poravnao polja ovih grupa kao što je prikazano na lijevoj slici. Polja na obrascu su bila međusobno poravnata, a polja u svakoj grupi bila su međusobno poravnata.

Sada imate priliku da postavite poravnanje od kraja do kraja za grupe, zbog čega će, na primjer, sva polja obrasca biti jednako poravnata. Ova opcija je prikazana na desnoj slici.

Štaviše, možete upravljati poravnanjem od kraja do kraja za svaku grupu posebno. Stoga možete, na primjer, onemogućiti poravnanje od kraja do kraja za grupu Telefon, i tada će obrazac izgledati kao na desnoj slici.

Poravnavanje elemenata i naslova

Još jedna nova karakteristika koja se pojavila je mogućnost kontrole relativnog položaja elemenata i naslova. Kako u svim oblicima tako iu pojedinačnim grupama. Na primjer, možete "rastegnuti" naslove i elemente na različite rubove obrasca, ili obrnuto, "povući" ih jedno prema drugom, poravnavajući naslove s desne strane i elemente s lijeve strane.

Ograničavanje maksimalne širine elemenata

Ranije, ako ste rekli elementu da se rastegne, element bi se protezao koliko je mogao. Na primjer, cijeli ekran. Za neke elemente ovo je bilo dobro (poput HTML polja), ali za druge elemente možda neće biti tako dobro. Na primjer, za numerička polja. Zato što su numerički podaci, ili dugmad koja kontrolišu polje, završili negde daleko desno.

Sada elementi imaju Boolean svojstva, pomoću kojih možete postaviti način automatskog rastezanja po širini ili visini. U ovom načinu rada platforma samostalno određuje do kojih granica polje može biti rastegnuto. Ako je automatski način rada onemogućen, platforma će se ponašati isto kao i prije. Ako navedete određenu širinu/visinu polja, to će se koristiti. A ako navedete vrijednost 0, tada će se element rastegnuti što je više moguće.

Kontrola razmaka između elemenata

Također je moguće kontrolisati horizontalni i vertikalni razmak između elemenata. Na primjer, na sljedećoj slici, lijeva grupa je povećala vertikalni razmak, dok je desna grupa smanjila vertikalni razmak.

Onemogućite rastezanje obrasca

Implementirali smo još jedan, novi način rada forme, koji onemogućava vertikalno rastezanje njenih elemenata. Ovaj način će biti koristan za obrasce koji sadrže mali broj elemenata.

Onemogućite pomicanje po stranicama

Za obrasce koji sadrže veliki broj elemenata, također smo malo promijenili ponašanje. Sada se vertikalno pomicanje ne pojavljuje na stranicama. Vertikalno pomicanje sada može biti na samom obrascu ili unutar elemenata obrasca, kao što su tabela, dokument proračunske tablice i tako dalje. I stranica obrasca će uvijek biti u punoj visini. Ovo bi trebalo olakšati korisničko iskustvo, jer veliki broj skrolera na obrascu često može biti zbunjujući i zbunjujući.

Nastavi

U ovom preglednom članku naveli smo samo glavne karakteristike koje pruža novi mehanizam za postavljanje elemenata u obrazac. Ali ništa manje važno, po našem mišljenju, nije da ovaj mehanizam sadrži značajnu rezervu za budući razvoj.

Postavke