Programové pridávanie a zmena prvkov spravovaných formulárov. Programové pridávanie a úprava prvkov spravovaného formulára Úprava prvkov formulára

Článok pokračuje v sérii „Prvé kroky vo vývoji 1C“.

V konfigurácii na platforme 1C:Enterprise sa pri zobrazovaní informácií najčastejšie používajú tabuľky, ktoré zobrazujú rôzne informačné zoznamy. Práca s takýmito zoznamami môže prebiehať ako vo forme zoznamu, tak aj vo forme prvku (spracovanie).

V tomto článku sa zoznámime s týmito možnosťami prispôsobenia zoznamov a pozrieme sa aj na ďalšie funkcie prispôsobenia formulárov zo strany používateľa.

Použiteľnosť

Článok pojednáva o spravovanom rozhraní vo verzii „Verzia 8.2“ konfigurácie vyvinutej na platforme 1C 8.3.4.482.

Ak pracujete s konfiguráciami, ktoré podporujú toto rozhranie, informácie sú pre vás relevantné pre aktuálne verzie platformy.

Ak pracujete v novom rozhraní Taxi, názvy niektorých konfiguračných príkazov, ako aj všeobecná postupnosť akcií, sa môžu mierne líšiť.

Okrem toho súčasná verzia platformy pridala nové možnosti vyhľadávania v zoznamoch.

Nastavenie formulárov a práca so zoznamami

Pre riadené formulárové prvky je možné zmeniť viditeľnosť a niektoré ďalšie vlastnosti. Pre tieto účely v riadenej forme v menu Všetky akcie slúži ako položka Zmeniť formulár.

Po kliknutí na tento príkaz sa zobrazí okno „Nastavenia formulára“.

V okne, ktoré sa zobrazí, môžete pomocou začiarkavacích políčok zmeniť viditeľnosť niektorých detailov. V tomto prípade sa mierka formulára automaticky upraví.

Môžete zmeniť poradie podrobností. Pridajte novú skupinu a umiestnite do nej niektoré detaily (prvky), pričom definujte možnosť ich zoskupenia (horizontálne, vertikálne).

Podrobnosti zahrnuté v skupine budú podľa toho zverejnené. Okrem toho môžete pre prvky nakonfigurovať vlastnosti, ako sú šírka, výška a údaje hlavičky.

Môžete definovať atribúty, ktoré sa aktivujú pri otvorení formulára.

Dôležitou funkciou je možnosť pridávať do formulára nové polia. To je možné prostredníctvom atribútov typu odkazu.

Napríklad mať vo formulári atribút typu odkazu Protistrana, môže pridať Kontaktná osoba, ak sa tento údaj nachádza v adresári „Protistrany“.

V prípade potreby je možné odstrániť ďalšie polia. Polia vytvorené v konfigurátore nie je možné vymazať. Všetky nastavenia vykonané používateľom sa uložia.

Návrat k štandardným nastaveniam v okne Nastavenia formulára v ponuke Všetky akcie mali by ste vybrať položku Nastavte predvolené nastavenia.

Okrem prispôsobenia formulárov v spravovanom rozhraní je možné prispôsobiť zoznamy (prvky adresára, dokumenty).

Vo forme zoznamu v menu Všetky akcie obsahuje špeciálny príkaz Prispôsobte zoznam.

Otvorí sa okno „Nastavenia zoznamu“. V tomto okne môžete vyberať, triediť, definovať podmienené formátovanie a zoskupovanie.

Na obrázku je zobrazený formulár na úpravu výberu.

Výber je možné vykonať pomocou niekoľkých polí. V tomto prípade bude výber štandardne fungovať podľa podmienky AND, môžete použiť aj podmienky OR a NOT.

Ak chcete použiť podmienku OR (NOT), musíte pridať príslušnú skupinu (OR Group, NOT Group) pomocou príkazu Group Conditions.

Na obrázku je zobrazený formulár na definovanie triediacich polí.

Zoskupovanie je možné nakonfigurovať. Na obrázku je vybraté pole na zoskupenie Protistrana.

Nasledujúci obrázok ukazuje, ako sa bude zoskupovanie vykonávať.

Zoznam môžete ľubovoľne zafarbiť alebo použiť ďalšie prvky podmieneného dizajnu (výber písma, špecifické formátovanie) podľa danej podmienky, ako aj vybrať zoznam polí, ktoré sa majú formátovať.

Na obrázku je znázornený výsledok podmieneného návrhu pozadia poľa Sum.
Keď je suma > 100 000.

Treba poznamenať, že je možné prezerať adresáre v režime hierarchie.

Prostredníctvom položky je možné konfigurovať hierarchické prezeranie adresárov Režim zobrazenia v ponuke Všetky akcie. Môžete si vybrať jednu z možností: Hierarchický zoznam, Zoznam, Strom.

Je tiež možné nakonfigurovať vlastné zoskupenie prvkov adresára podľa určitých detailov.

Môžete napríklad zoskupiť položky podľa dodávateľa. Príklad je podobný tomu, kde sme sa zaoberali zoskupovaním dokumentov „Predaj tovaru a služieb“ podľa protistrán.

Pohodlnou funkciou je viacnásobný výber v zoznamoch a následné vykonávanie skupinových akcií (zaúčtovanie, zrušenie, odškrtnutie zmazania).

Objekty v zozname sa vyberajú podržaním klávesu Shift alebo Ctrl.

Hľadanie určitej hodnoty v zozname má svoje vlastné charakteristiky. Vyhľadávanie funguje v režime výberu. Zostanú len tie riadky, ktoré spĺňajú podmienku vyhľadávania.

Ak chcete vyhľadávať podľa hodnoty v aktuálnom stĺpci, umiestnite kurzor na požadovaný stĺpec a kliknite na tlačidlo Nájsť v príkazovom paneli. Zobrazí sa okno, v ktorom by ste mali tiež kliknúť na tlačidlo Nájsť.

Ak chcete spresniť vyhľadávanie, môžete použiť začiarkavacie políčko Hľadať v nájdených.

Pri vyhľadávaní riadku údajov referenčného typu (napríklad merných jednotiek) by ste mali vybrať príslušnú možnosť vyhľadávania ...(podľa riadku).

To uzatvára zoznamy a spôsoby ich konfigurácie. V ďalšom článku budeme pokračovať v oboznamovaní sa s rozhraním a pozrieme sa na pohodlný nástroj na informovanie používateľa, o ktorom sme doteraz nehovorili. Čo je to za nástroj? :)

1C sú automaticky vytvárané systémom pri použití aplikačného riešenia. Sú základom pre prezentáciu (zobrazovanie) informácií v systéme 1C:Enterprise.

Štruktúra formulára 1C

Formulár B je logickým popisom zloženia formulára. elementov popisuje, ako bude formulár vyzerať. Umiestnenie prvkov formulára vykoná systém automaticky pri jeho zobrazení.

Zobrazená časť formulára (viditeľná pre používateľa) je opísaná ako strom, ktorý obsahuje prvky formulára (pozri obrázok nižšie, pole „Prvky formulára“):

  • skupina vrátane ďalších prvkov,
  • vstupné polia,
  • začiarkavacie políčka,
  • vypínače,
  • tlačidlá,
  • tabuľky, ktoré obsahujú prvky stĺpcov atď.

"Prvky formy 1C"

[zbaliť]

Skupina prvkov formulára môže byť reprezentovaná ako

  1. panel s rámom,
  2. panel so stránkami (záložkami),
  3. samotná stránka,
  4. príkazový panel.

Všetky funkcie formulára sú opísané nasledovne:

  • podrobnosti (údaje, s ktorými formulár pracuje);
  • príkazy (vykonané akcie).

Prispôsobenie vzhľadu spravovaného formulára

Prispôsobenie vzhľadu spravovaného formulára používateľom

Vzhľad spravovaného formulára je možné prispôsobiť na úrovni používateľa. Pre túto funkciu je v akciách formulára príkaz „Viac“ - „Zmeniť formulár“ (spravuje iba tie prvky formulára, ktoré sú definované vo fáze vývoja alebo podľa štandardných pravidiel pre automatické generovanie formulárov).

"Viac" - "Zmeniť tvar"

Príkaz "Viac" - "Zmeniť tvar":

Po kliknutí na „Zmeniť formulár“ sa zobrazí okno nastavení formulára 1C:

[zbaliť]

Okrem toho je v užívateľskom režime možné:


  • zmeniť poradie formulárov, presunúť ich z jedného stĺpca do druhého (ak je pracovná plocha usporiadaná do dvoch stĺpcov), ale nemôžete zmeniť počet stĺpcov na pracovnej ploche;
  • zobrazenie informácií vo forme samostatných okien (pri volaní navigačného príkazu je potrebné podržať kláves Shift).

Ak sa používajú sekcie, potom keď zavoláte príkaz na navigačnom paneli, v pracovnej oblasti sa zobrazí zodpovedajúci zoznam, ktorý nahradí predchádzajúci obsah pracovnej oblasti.

Prispôsobenie vzhľadu spravovaného formulára vývojárom

Rozmiestnenie prvkov môže vývojár ovplyvniť rôznymi nastaveniami. Môže určiť poradie prvkov, určiť ich šírku a výšku a tiež použiť:

  • príkazy samotného formulára;
  • globálne príkazy používané v celej konfigurácii;
  • parametrizovateľné príkazy, ktoré otvoria ďalšie formuláre na základe konkrétnych údajov aktuálneho formulára.

Obrázok (zmena formy 1C vývojárom)

[zbaliť]

Pri vývoji formulára 1C musíte:

  1. V editore formulárov zahrňte do formulára potrebné detaily a príkazy;
  2. vytvoriť prvky formulára, ktoré ich zobrazia, určiť poradie prvkov, určiť šírku a výšku (ak je to potrebné);
  3. usporiadať prvky do skupín (ak je to potrebné).
  1. V prípade veľkého počtu rolí v konfigurácii (od niekoľkých desiatok) použite nastavenia viditeľnosti založené na rolách v prvkoch formulára (prezeranie a úprava detailov podľa , vlastná viditeľnosť polí formulára podľa roly, používanie príkazov podľa roly). Namiesto toho by sa mali dodržiavať tieto prístupy:
    • keď existujú veľké rozdiely vo vzhľade a funkčnosti formulára v závislosti od prítomnosti určitých rolí pre používateľa – rozvíjať samostatné formy, špecializované na konkrétny súbor užívateľských práv;
    • s malými rozdielmi - vykonávať kontroly povolení v kóde. Treba mať na pamäti, že programová kontrola viditeľnosti môže znížiť rýchlosť otvárania formulára, čo je potrebné vziať do úvahy pri výbere medzi navrhovanými prístupmi.
  2. Použite nastavenia viditeľnosti založené na rolách v rozhraní príkazov konfigurácie, v rozhraní príkazov hlavnej sekcie a v pracovnej oblasti úvodnej stránky. Namiesto toho by ste mali nastaviť povolenia pre časti príkazového rozhrania a objekty zahrnuté v príkazovom rozhraní alebo pracovnom priestore. Vďaka tomu je správanie spravovaného rozhrania pre používateľa predvídateľnejšie a tiež uľahčuje vyšetrovanie chýb.

Podrobnejšie informácie o práci s formulármi nájdete v kurze „Práca s formulármi v 1C:Enterprise 8.3“, http://www.1c.ru/rus/partners/training/uc1/course.jsp?id=161.

A Data Transfer Object na štruktúrovanie kódu, riadená forma v prostredí 1C 8.2.

Úvod

Začnime krátkym popisom konceptu „riadenej formy“ a súvisiacich konceptov platformy 1C. Znalci platforiem možno budú chcieť túto časť preskočiť.

V roku 2008 bola dostupná nová verzia platformy 1C: Enterprise 8.2 (ďalej len Managed Application), ktorá úplne mení celú vrstvu práce s rozhraním. To zahŕňa príkazové rozhranie, formuláre a systém okien. Zároveň sa mení nielen model vývoja používateľského rozhrania v konfigurácii, ale je navrhnutá aj nová architektúra oddelenia funkcionality medzi klientskou aplikáciou a serverom.
Spravovaná aplikácia podporuje nasledujúce typy klientov:

  • Hrubý klient (normálny a spravovaný režim spustenia)
  • Tenký klient
  • Webový klient
Spravovaná aplikácia využíva formuláre postavené na novej technológii. Volajú sa Spravované formuláre. Pre uľahčenie prechodu sú podporované aj predchádzajúce formuláre (tzv. Regular Forms), ale ich funkcionalita nie je vyvinutá a sú dostupné iba v režime spustenia hrubého klienta.
Hlavné rozdiely spravovaných formulárov pre vývojárov:
  • Deklaratívny, nie „pixel po pixeli“ popis štruktúry. Konkrétne umiestnenie prvkov vykoná systém automaticky pri zobrazení formulára.
  • Všetky funkcie formulára sú opísané ako podrobnosti A tímov. Podrobnosti sú údaje, s ktorými formulár pracuje, a príkazy sú akcie, ktoré sa majú vykonať.
  • Formulár beží na serveri aj na klientovi.
  • V kontexte klienta sú takmer všetky typy aplikácií nedostupné, a preto nie je možné meniť údaje v informačnej databáze.
  • Pre každú metódu alebo premennú formulára musí byť špecifikovaná kompilačnej smernice, definovanie miesta vykonávania (klient alebo server) a prístup ku kontextu formulára.
Uveďme si direktívy pre kompiláciu formulárových metód:
  • &OnClient
  • &Na serveri
  • &OnServerBez kontextu
  • &OnClientOnServerWithout Context
Ilustrujme vyššie uvedené. Snímka obrazovky zobrazuje príklad spravovaného formulára a jeho modulu v režime vývoja. Nájdite deklaratívny popis, rekvizity, pokyny na kompiláciu atď.

Všetky ďalšie diskusie budú o pravej strane ilustrácie, o tom, ako štruktúrovať kód modulu a aké princípy vám umožnia implementovať efektívnu interakciu klient-server.

Definujme problém

Od aktívneho používania novej verzie platformy 1C uplynulo niekoľko rokov a spoločnosť 1C a jej mnohí partneri vydali mnohé riešenia (konfigurácie).
Dospeli vývojári počas tejto doby k spoločnému chápaniu princípov interakcie klient-server pri vytváraní formulárov a zmenil sa prístup k implementácii softvérových modulov v novej architektonickej realite?

Pozrime sa na štruktúru kódu (modul formulára) v niekoľkých formách rovnakej štandardnej konfigurácie a pokúsime sa nájsť vzory.
Štruktúrou rozumieme sekcie kódu (najčastejšie sú to bloky komentárov), ktoré vývojár pridelil skupinovým metódam a kompilačné direktívy pre tieto metódy.
Príklad 1:
Sekcia obsluhy udalostí Metóda - na klientovi Metóda - na serveri Metóda - na klientovi Sekcia servisných procedúr a funkcií Pomocné vstupné riadiace funkcie
Príklad 2:
Servisné postupy a funkcie Platobné doklady Hodnoty Obslužné jednotky udalostí
Príklad 3:
Servisné procedúry na serveri Servisné procedúry na klientovi Servisné procedúry na serveri bez kontextu Obslužné nástroje udalostí hlavičky Príkazové obsluhy udalostí
Príklad 4:
Všeobecné procedúry Obslužné nástroje udalostí formulára Procedúry podsystému „kontaktné informácie“.
V podstate chýba štruktúra kódu, alebo mierne povedané, je podobná tomu, čo bolo vo formulároch 8.1:

  • Neinformatívne slová „všeobecný, servisný, pomocný“.
  • Nesmelé pokusy oddeliť metódy klienta a servera.
  • Metódy sú často zoskupené podľa prvkov rozhrania „Práca s tabuľkovou časťou Produkty, Kontaktné informácie“.
  • Ľubovoľné usporiadanie metód a kódových skupín. Obslužné rutiny udalostí môžu byť napríklad v jednom formulári navrchu, v druhom na spodku, v treťom nie sú vôbec zvýraznené atď.
  • A nezabúdajme, že toto všetko je v rámci jednej konfigurácie.
  • Áno, existujú konfigurácie, v ktorých sú slová „General, Service, Auxiliary“ vždy na rovnakých miestach, ale...
Prečo potrebujete štruktúru kódu?
  • Zjednodušenie údržby.
  • Zjednodušiť učenie.
  • Zaznamenávanie všeobecných/dôležitých/úspešných zásad.
  • ...vaša možnosť
Prečo nepomáha existujúci vývojový štandard od 1C?
Pozrime sa na zásady publikované na diskoch ITS a v rôznych „Príručkách pre vývojárov...“, ktoré sa odporúčajú pri písaní riadeného formulára.
  • Minimalizujte počet volaní servera.
  • Maximálny výpočtový výkon na serveri.
  • Nekontextové volania servera sú rýchlejšie ako kontextové.
  • Program s ohľadom na komunikáciu klient-server.
  • a tak ďalej.
Sú to slogany, ktoré sú absolútne pravdivé, ale ako ich realizovať? Ako minimalizovať počet hovorov, čo to znamená programovať v režime klient-server?

Dizajnové vzory či generačná múdrosť

Interakcia klient-server sa používa v rôznych softvérových technológiách už desaťročia. Odpoveď na otázky načrtnuté v predchádzajúcej časti je už dávno známa a je zhrnutá do dvoch základných princípov.
  • Vzdialená fasáda(ďalej len rozhranie vzdialeného prístupu)
  • Objekt prenosu údajov(ďalej len objekt prenosu údajov)
Slovo Martina Fowlera, jeho opis týchto princípov:
  • Každý objekt potenciálne určený na vzdialený prístup musí mať rozhranie s nízkou granularitou, čo minimalizuje počet hovorov potrebných na vykonanie konkrétneho postupu. ... Namiesto toho, aby ste si vyžiadali faktúru a všetky jej položky samostatne, musíte si prečítať a aktualizovať všetky položky faktúry v jednej požiadavke. To ovplyvňuje celú štruktúru objektu...Pamätajte: rozhranie vzdialeného prístupu neobsahuje doménovú logiku.
  • ...keby som bola starostlivá matka, určite by som svojmu dieťaťu povedala: "Nikdy nepíšte objekty prenosu dát!" Vo väčšine prípadov nie sú objekty prenosu údajov ničím iným nadutý set poľa... Hodnota tohto nechutného monštra spočíva výlučne v možnosti prenášať viacero informácií cez sieť v rámci jedného hovoru- technika, ktorá má veľký význam pre distribuované systémy.
Príklady šablón na platforme 1C
Rozhranie na programovanie aplikácií, ktoré má vývojár k dispozícii pri vývoji riadeného formulára, obsahuje mnoho príkladov týchto princípov.
Napríklad metóda OpenForm(), typické „hrubé“ rozhranie.
OpeningParameters = New Structure("Parameter1, Parameter2, Parameter3", Hodnota1, Hodnota2, Hodnota3); Form = OpenForm(FormName, OpeningParameters);
Porovnajte so štýlom prijatým vo verzii 8.1.
Form = GetForm(FormName); Form.Parameter1 = Hodnota1; Form.Parameter2 = Hodnota2; Form.Open();

V kontexte riadeného formulára existuje veľa „objektov prenosu údajov“. Môžete si vybrať systémový A definované vývojárom.
Systémové modelujú objekt aplikácie na klientovi vo forme jedného alebo viacerých dátových prvkov formulára. Nie je možné ich vytvoriť bez odkazu na podrobnosti formulára.

  • DataFormsStructure
  • DataFormsCollection
  • DataFormStructureWithCollection
  • DataShapesTree
Konverzia objektov prenosu systémových údajov na typy aplikácií a naopak sa vykonáva pomocou nasledujúcich metód:
  • ValueInFormData()
  • FormDataValue()
  • CopyFormData()
  • ValueInFormAttributes()
  • FormAttributesValue()
Pri úprave existujúceho riešenia sa často používa explicitná konverzia. Metódy môžu očakávať (používať funkcie) vstupné parametre, ako napríklad ValueTable a nie FormDataCollection, alebo metóda bola definovaná v kontexte objektu aplikácie a stala sa nedostupnou pre priame volanie z formulára.
Príklad 1C v8.1:
// na klientovi v kontexte formulára FillUserCache(DepartmentLink)
Príklad 1C v8.2:
// na serveri v kontexte formulára ProcessingObject = Form AttributesValue("Object"); ProcessingObject.FillUserCache(DepartmentRef); ValueВFormAttributes(ProcessingObject, "Object");

Objekty prenosu údajov, ktorých štruktúru určuje vývojár, sú malou podmnožinou typov dostupných na klientovi aj na serveri. Ako parametre a výsledky metód „zhrubnutého“ rozhrania sa najčastejšie používajú nasledovné:

  • Primitívne typy (reťazec, číslo, boolean)
  • Štruktúra
  • Korešpondencia
  • Pole
  • Odkazy na objekty aplikácie (jedinečný identifikátor a textová reprezentácia)
Príklad: metóda prijme zoznam príkazov na zmenu stavu a vráti klientovi popis chýb.
Funkcia &OnServerWithoutContext ServerChangeOrderStatus(Orders, NewStatus) Errors = New Match(); // [objednávka][popis chyby] Pre každú objednávku z objednávok cyklus StartTransaction(); Skúste DocOb = Order.GetObject(); …. iné akcie, možné nielen s objednávkou... Výnimka CancelTransaction(); Errors.Insert(Order, ErrorDescription()); EndPokus; EndCycle; Return Error; EndFunction // ServerChangeOrderStatus()

Štruktúrovanie kódu

Hlavné ciele, ktoré by mal modul riadeného formulára odrážať a pristupovať k riešeniu.
  • Jasné oddelenie kódu klienta a servera. Nezabúdajme, že v čase realizácie ide o dva interagujúce procesy, z ktorých každý má výrazne odlišnú dostupnú funkcionalitu.
  • Jasná identifikácia rozhrania vzdialeného prístupu, ktoré serverové metódy možno volať z klienta a ktoré nie? Názvy metód vzdialeného rozhrania začínajú predponou „Server“. To vám umožňuje okamžite vidieť prenos kontroly na server počas čítania kódu a zjednodušuje používanie kontextovej pomoci. Všimnite si, že oficiálne odporúčanie (ITS) navrhuje metódy pomenovania s postfixami, napríklad ChangeOrderStatusOnServer(). Opakujeme však, že nie všetky serverové metódy je možné volať z klienta, a preto je dôležitejšia logická dostupnosť, než umiestnenie kompilácie. Preto predponou „Server“ označíme len metódy dostupné klientovi, zavolajme napríklad metódu ServerChangeOrderStatus().
  • Čitateľnosť. Vec vkusu, akceptujeme objednávku, keď modul začne s procedúrami vytvárania formulára na serveri a metódami vzdialeného prístupu.
  • Udržiavateľnosť. Musí existovať jasné miesto na pridanie nového kódu. Dôležitým bodom je, že šablóny metód automaticky vytvorené konfigurátorom sú pridané na koniec modulu. Keďže obslužné rutiny udalostí pre prvky formulára sa najčastejšie vytvárajú automaticky, príslušný blok je umiestnený ako posledný, aby sa každý obslužný program neťahal na iné miesto v module.
Nižšie je uvedená základná štruktúra modulu, ktorý implementuje uvedené ciele.
  • Grafická možnosť – jasne zobrazuje hlavný tok vykonávania.
  • Možnosť text je príkladom návrhu šablóny na rýchle vloženie štruktúry do nového modulu formulára.

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор=""Dátum =""/> // <Описание> // // ///////////////////////////////////////////////// ///////////////////////////// PREMENNÉ MODULU //////////////////// ////////////////////////////////////////////////// ////////// // NA SERVERI //******* UDALOSTI NA SERVERI ******* &Na serveri Postup pri vytvorení na serveri (zlyhanie, štandardné spracovanie) / /Vložiť obsah obsluhy Koniec procedúry //******* ROZHRANIE NA VZDIALENÝ PRÍSTUP ******* //******* OBCHODNÁ LOGIKA NA SERVERI ******* ///////// ///////////////////////////////////////// /////// ///////////////////// BEŽNÉ METÓDY KLIENTA A SERVERA /////////////// /////// /////////////////////////////////////////// ///// //////// // NA KLIENTOVI //******* OBCHODNÁ LOGIKA NA KLIENTOVI ******* //******* TÍM * ****** //******* KLIENTSKÉ AKCIE ******* /////////////////////////// ///// ///////////////////////////////////////////// // / / HLAVNÍ OPERÁTORI PROGRAMU

Súvisiace otázky
Na záver si načrtneme niekoľko oblastí, na ktoré je užitočné myslieť pri programovaní interakcie klient-server.
  • Možnosti implementácie rozhrania vzdialeného prístupu. Asynchrónnosť, úroveň detailov...
  • Ukladanie do vyrovnávacej pamäte. 1C urobil neúspešné architektonické rozhodnutie, ktoré zaviedlo ukladanie do vyrovnávacej pamäte iba na úrovni metód volania bežných modulov a neposkytovalo možnosti riadenia (čas relevantnosti, resetovanie na požiadanie).
  • Implicitné volania servera. Nezabudnite na technologické vlastnosti, veľa „neškodných“ operácií na klientovi vyprovokuje platformu, aby kontaktovala server.

Formuláre, ktoré existujú v 1C:Enterprise, sú navrhnuté pre používateľa na interaktívnu interakciu s údajmi informačnej databázy. Na zabezpečenie tejto funkcie je formulár „vyplnený“ potrebnou funkcionalitou.


Funkčnosť formulára je určená zložením jeho detailov a príkazov. Podrobnosti formulára sú údaje, s ktorými formulár pracuje. Príkazy formulára sú akcie, ktoré môže formulár vykonávať s údajmi. Avšak to, že príkaz je vo formulári, vám neumožňuje použiť jeho funkcie. Rovnako ani samotné detaily neposkytujú možnosť zobrazenia a úpravy údajov.
Na použitie príkazov, zobrazenie a úpravu údajov uložených v detailoch sa používajú formulárové prvky spojené s príslušnými príkazmi a podrobnosťami.
Bez toho, aby sme zachádzali do podrobností, vzťah medzi príkazmi, detailmi a prvkami formulára môže byť znázornený diagramom.

Vzťah medzi príkazmi, detailmi a prvkami formulára

Je možné zaznamenať nasledujúce kľúčové vlastnosti formulárov.
Po prvé, nový formulár nie je detailne vykreslený vývojárom, ale je zostavený automaticky systémom. Vývojár je v konfiguračnom režime:

  • definuje kompozíciu formy vo forme stromu prvkov
  • popisuje správanie formulára nastavením hodnôt jeho vlastností a/alebo implementáciou procedúr v zabudovanom jazyku.

Pri vytváraní rozhrania pre konkrétneho používateľa systém používa tento deklaratívny popis na vytvorenie formulára a umiestnenie jeho prvkov.
Po druhé, pri vytváraní formulára sa používa nový model riadenia prístupnosti a viditeľnosti prvkov formulára. Toto zohľadňuje:

  • nastavenia práv podľa používateľských rolí
  • závislosť tvarových prvkov od funkčných možností
  • prispôsobenie formulára vykonané vývojárom vo fáze konfigurácie aplikačného riešenia
  • prispôsobenie formulára vykonávané používateľom vo fáze prevádzky aplikačného riešenia.

Predvolená funkčnosť

V 1C:Enterprise nemusíte vytvárať formuláre na prezentáciu a spracovanie dátových objektov. V tomto prípade pri vykonávaní príkazov na otvorenie formulárov systém automaticky vytvorí požadovaný formulár za behu. Vygenerovaný formulár bude mať predvolenú funkčnosť a prezentáciu. Čo určuje prezentáciu a funkčnosť formulára?
Štandardnú prezentáciu a funkčnosť formulára určuje objekt rozhrania Managed Form (napríklad možnosť zatvorenia formulára) a rozšírenie formulára (napríklad možnosť zapisovania údajov formulára do informačnej databázy).
Rozšírenie formulára sú dodatočné vlastnosti, metódy, parametre a príkazy, ktoré sa objavia na objekte Form, keď je mu priradený hlavný atribút.

POZOR!
Ako hlavný možno vybrať iba jeden atribút
z podrobností formulára.

Je dôležité pochopiť, že:

  • poskytovaná dodatočná funkcionalita je zahrnutá v objekte spravovaného formulára, to znamená, že sa stáva jeho neoddeliteľnou súčasťou
  • zloženie ďalších funkcií je určené typom hlavného atribútu formulára, to znamená typom údajov, na ktoré je formulár určený.

Na prvkoch formulára môžu byť aj rozšírenia. Rovnako ako pri samotnom formulári, zloženie rozšírenia, teda ďalšie vlastnosti, metódy atď., prvku formulára je určené typom atribútu, ku ktorému je prvok priradený.
Ak je potrebné implementovať neštandardnú prezentáciu údajov alebo neštandardnú funkcionalitu, vývojár môže samostatne vytvoriť formulár v konfigurátore. Editor formulárov sa používa na vytváranie formulárov. Pomocou tohto editora vývojár vytvorí potrebnú sadu podrobností a príkazov pre formulár, ako aj prvky formulára, s ktorými sú zobrazené.

Príkazy formulára

Aby sme sa zoznámili s príkazmi formulára, vytvorte ďalší formulár pre doklad Spotreba tovaru. Z kontextovej ponuky uzla Formuláre tohto dokumentu vyberte Pridať.

Pridanie podformulára


V dôsledku toho sa otvorí okno návrhára formulára. V okne návrhára vyberte typ formulára – Formulár dokumentu, zaškrtnite políčko Assign form as main a nastavte názov MainForm. Kliknite na tlačidlo Dokončiť.

Okno návrhu formulára

1C8: Okno návrhára formulára

Výsledkom práce dizajnéra je vytvorenie formulára dokumentu, ktorý je priradený ako hlavný, to znamená, že sa štandardne používa na prácu s dokumentom. Keď dizajnér dokončí vytvorený formulár, otvorí sa okno editora formulára.

Editor formulárov s automaticky vytvoreným formulárom dokumentu


POZNÁMKA
V editore formulárov sú hlavné podrobnosti formulára zvýraznené tučným písmom.

Ak otvoríte dokument Spotreba tovaru v režime 1C:Enterprise, my uvidíme, že formulár, ktorý sme vytvorili, slúži na prácu s dokumentom.

Formulár na úpravu dokladu „Spotreba tovaru“


Prvky, ktoré poskytujú prístup k príkazom, sa nachádzajú na paneloch príkazov. V našom prípade systém vygeneroval príkazový panel formulára a príkazový panel tabuľky produktov. Môžete vybrať ktorýkoľvek z dostupných príkazov z ponuky Všetky akcie na príslušnom paneli príkazov. Pre urýchlenie prístupu k príkazom sú niektoré z nich (najdôležitejšie alebo často používané) prezentované ako tlačidlá priamo na paneloch príkazov.
Čo „riadi“ systém pri formovaní zloženia jednotných tímov? Ktoré tímy by mali byť v dresoch? Na zodpovedanie týchto otázok si treba zapamätať hlavný účel formulára – interaktívne spracovanie údajov. Formulár preto musí obsahovať príkazy, ktoré používateľovi poskytujú možnosť spracovania údajov formulára a možnosť prístupu k údajom spojeným so spracúvanými údajmi.

Na spracovanie údajov formulára - štandardné príkazy formulára s

Formulár musí obsahovať príkazy na spracovanie údajov a na správu formulára. Tieto možnosti poskytujú štandardné príkazy lokálneho formulára. V editore formulárov sú zobrazené na karte Štandardné príkazy príkazový editor.

Štandardné príkazy formulára v editore a rozhraní

1C8: Štandardné príkazy formulára v editore a rozhraní

Tieto príkazy poskytuje formulár a jeho rozšírenie. Zloženie príkazov poskytovaných formulárom je štandardné a nezávisí od údajov formulára - sú to príkazy:

  • Odkaz
  • Zmeniť formulár...
  • Zavrieť
  • Uložiť nastavenia...
  • Obnoviť nastavenia...

Zloženie príkazov poskytovaných rozšírením závisí od typu hlavného atribútu formulára. V našom prípade je hlavný atribút formulára priradený atribútu Object s dátovým typom DocumentObject.ProductConsumption (pozri obrázok vyššie) Rozšírenie zodpovedajúce tomuto dátovému typu poskytovalo príkazy:

  • Potiahnite a zatvorte
  • Zapíšte si
  • Znovu prečítať
  • Kopírovať
  • Označiť na vymazanie
  • Zrušte označenie vymazania
  • Odstrániť
  • Správanie
  • Zrušenie.

POZOR!
Je potrebné rozlišovať medzi štandardnými príkazmi konfiguračného objektu a príkazmi štandardného formulára. Prvé sa používajú v globálnom príkazovom rozhraní a sú poskytované konfiguračným objektom. Posledné sú použité vo formulári a poskytuje ich samotný formulár, jeho rozšírenie a rozšírenia formulárových prvkov typu Tabuľka.

Na uľahčenie vývoja algoritmov správy formulárov štandardné príkazy formulárov zahŕňajú nasledujúce príkazy:

  • nie,
  • Zrušiť,
  • prerušiť,
  • preskočiť,
  • Opakujte.

Ak sa takýto príkaz pridá do formulára, potom, keď ho používateľ vyberie, vykonajú sa tieto akcie:

  • pre formulár otvorený v modálnom režime sa formulár zatvorí a vráti sa hodnota typu DialogReturnCode zodpovedajúca vybranému príkazu
  • Pre formulár otvorený v nemodálnom režime sa zatvorí iba formulár.

Ak prvky formulára obsahujú tabuľky, potom sa k štandardným lokálnym príkazom formulára pridajú príkazy na spracovanie údajov zobrazených v týchto prvkoch. Pri dokumente Spotreba produktu Je tu tabuľková časť, ktorá je vo formulárových údajoch reprezentovaná atribútom Produkty. Na zobrazenie zoznamu produktov vo formulári slúži element Produkty typu Tabuľka. Medzi štandardné lokálne príkazy formulára patria príkazy na spracovanie tabuľkových údajov - uzol Produkty v editore príkazov.

Štandardné tabuľkové príkazy v editore a rozhraní


Na prácu s prepojenými údajmi - globálne parametrizované príkazy

Pri spracovaní údajov formulára možno budete musieť zobraziť údaje súvisiace so spracúvanými údajmi. Môže to byť napríklad súbor záznamov v registri vzájomných vyrovnaní s protistranami, podriadených spracovávanému dokumentu, alebo cenník za predávaný tovar a pod. Môže byť tiež potrebné vykonať nejaké spracovanie súvisiacich údajov. , napríklad zadať platobný doklad na základe predajného dokladu alebo vytlačiť čiarové kódy predaného tovaru a pod.

Prístup k prepojeným údajom zabezpečujú globálne parametrizovateľné navigačné príkazy a spracovanie prepojených údajov zabezpečujú globálne parametrizovateľné akčné príkazy. V editore formulárov sú zobrazené na karte Globálne príkazy editora príkazov.

Globálne parametrizovateľné príkazy v editore a rozhraní


Tieto príkazy poskytuje globálne príkazové rozhranie aplikačného riešenia. Zloženie príkazov dostupných vo formulári závisí od typu parametra parametrizovaného príkazu (pozri. "Svévoľné príkazy"). Tieto globálne parametrizované príkazy sú dostupné vo forme, pre ktorú v kontexte formulára môžete získať hodnoty parametrov požadovaného typu.
V editore príkazov je zdroj parametra príkazu uvedený v zátvorkách za príkazom. Napríklad pre príkaz na otvorenie zoznamu predajných registrov je parametrom prepojenie na upravovaný doklad.
Ak existuje niekoľko zdrojov pre príkaz vo formulári, potom je príkaz reprezentovaný ako uzol stromu a zoznam zdrojov je reprezentovaný ako prvky tohto uzla. Takýto príkaz môže byť zahrnutý do príkazov formulára s ktorýmkoľvek zdrojom (alebo niekoľkými inštanciami toho istého príkazu s rôznymi zdrojmi).
Práca s funkcionalitou aplikácie – globálne nezávislé príkazy Pri spracovaní údajov formulára môže byť potrebné použiť funkčnosť aplikácie, ktorá priamo nesúvisí so spracúvanými údajmi.
Napríklad pri spracovávaní údajov dokladov musíme vykonať vyhľadávanie v údajoch alebo zadať nový typ ceny. Globálne nezávislé tímy vám pomôžu vykonávať tieto operácie. V editore formulárov sú zobrazené na karte Globálne príkazy editora príkazov.

Globálne nezávislé príkazy v editore a rozhraní


Globálne nezávislé príkazy poskytuje globálne príkazové rozhranie. V editore príkazov sú globálne nezávislé príkazy zoskupené do sekcií globálneho príkazového rozhrania. Príkaz bude dostupný zo všetkých sekcií globálneho príkazového rozhrania, v ktorom je zahrnutý.

Metódy formovania zloženia tímu

Po oboznámení sa so zdrojmi formulárových príkazov sa pozrime, aké možnosti nám systém poskytuje pri vytváraní kompozície formulárových príkazov.

POZNÁMKA
Existuje ďalší zdroj príkazov pre formulár - vývojár, ktorý môže vytvárať ľubovoľné lokálne príkazy pre formulár. O týchto príkazoch si povieme o niečo neskôr (pozri „Ak chýbajú štandardné príkazy“).

V najbežnejšom prípade existujú tri možnosti:

  • automatické – skladbu príkazov formulára určuje systém úplne automaticky
  • kombinované – zloženie príkazov formulára určuje automaticky systém a vývojár pomocou editora formulára ho opraví
  • manuál – zloženie príkazov formulára je určené výlučne vývojárom.

Automatická možnosť je najrýchlejšia a najmenej nákladná z pohľadu vývoja aplikačného riešenia – systém robí všetko samostatne. Kombinovaná možnosť je pravdepodobne najčastejšie používaná. Pri tomto prístupe vývojár zasahuje do chodu systému až vtedy, keď súbor príkazov generovaných systémom neposkytuje požadovanú funkcionalitu na spracovanie údajov formulára. V drvivej väčšine prípadov je zásah vyjadrený jednoduchým rozšírením zloženia jednotných tímov. Manuálna možnosť poskytuje maximálne možnosti na správu zloženia príkazov formulára a ich umiestnenia. Vyžaduje si to však, aby vývojár vykonal značné množstvo starostlivej práce.

Platforma obsahuje veľké množstvo mechanizmov, ktoré uľahčujú proces implementácie a poskytujú väčšie možnosti prispôsobenia aplikačného riešenia. To, čo sa v iných systémoch musí urobiť pridaním alebo prepísaním programového kódu, v 1C:Enterprise 8 možno vykonať niekoľkými kliknutiami myšou. Niekedy dokonca priamo v užívateľskom režime. Bez úpravy samotného riešenia aplikácie, bez zmeny jej programového kódu.

Aplikačné riešenie spravidla obsahuje všetky roly potrebné pre plnú prevádzku. Na konkrétnu implementáciu však môžu existovať špeciálne požiadavky. Realizátor môže vytvoriť nové roly, aby splnil tieto potreby. Najpohodlnejší spôsob, ako to urobiť, je skopírovať a zmeniť roly, ktoré už existujú v aplikačnom riešení.

Nastavenie panela sekcií

Zloženie panela sekcií môžete zmeniť v konfigurátore v režime 1C:Enterprise.

Nastavenie domovskej stránky

Zloženie formulárov umiestnených na úvodnej stránke je možné zmeniť v Konfigurátore s podrobnosťami podľa roly, alebo individuálne pre jedného alebo viacerých používateľov v režime 1C:Enterprise.

Nastavenie príkazového rozhrania hlavnej sekcie

Zloženie tímov zobrazených v hlavnej časti môžete meniť v Konfigurátore s podrobnosťami podľa roly.

Nastavenie príkazových rozhraní oddielov

Zloženie príkazov zobrazených v konkrétnej časti aplikačného riešenia je možné meniť v Konfigurátore s detailom podľa roly. Zároveň je možné konfigurovať všetky sekcie naraz (editor "Všetky podsystémy") a každú sekciu samostatne (editor príkazového rozhrania).

Nastavenie formulárov