Podrobnosti formulára 1s 8.3. Podrobnosti spravovaného formulára (1Cv8). Metódy na konverziu údajov objektu aplikácie na údaje formulára

Podrobnosti formulára

Sada podrobností formulára popisuje zloženie údajov, ktoré sú zobrazené, upravované alebo uložené vo formulári. Samotné detaily formulára zároveň neposkytujú možnosť zobrazenia a úpravy údajov. Prvky formulára (pozri časť „Prvky formulára“ v tejto kapitole) spojené s podrobnosťami formulára sa používajú na zobrazenie a úpravu. Súbor všetkých podrobností formulára sa bude nazývať údaje formulára.

Dôležité! Je potrebné mať na pamäti, že na rozdiel od konvenčných formulárov sú všetky údaje kontrolovaná forma musia byť opísané vo forme podrobností. Nie je dovolené používať premenné modulu formulára ako zdroje údajov pre prvky formulára.

Je možné priradiť Základné detaily formulára, teda atribúty, ktoré budú určovať štandardnú funkčnosť formulára (rozšírenie formulára). Malo by sa pamätať na to, že formulár môže mať iba jeden hlavný atribút.

Rozšírenie formulára– ide o dodatočné vlastnosti, metódy a parametre formulára objektu ManagedForm, charakteristické pre objekt, ktorý je hlavným prvkom formulára.

Počas procesu vývoja formulára môžete explicitne nastaviť možnosť zobrazenia a úpravy konkrétnych podrobností formulára, pokiaľ ide o roly, pomocou vlastností Zobraziť a Upraviť (ďalšie podrobnosti nájdete v časti „Nastavenia formulára na základe rolí“ v časti „Editory kapitola). Dostupnosť konkrétneho atribútu v samotnom formulári je navyše možné konfigurovať pomocou funkčných možností (viac podrobností o funkčných možnostiach nájdete v kapitole „Správa konfiguračného rozhrania“).

Vlastnosť atribútu formulára Uložené údaje je indikáciou, že interaktívna zmena podrobností povedie k pokusu o uzamknutie údajov formulára na úpravu, ako aj automatická inštalácia znak zmenenej formy.

Dátové typy dostupné v spravovanom formulári

Spravovaný formulár sa od bežného formulára líši aj typmi údajov, s ktorými pracuje. Ak normálna forma funguje s väčšinou typov, ktoré poskytuje 1C:Enterprise (vrátane typov DirectoryObject, DocumentObject atď.), potom v riadenej forme možno rozlíšiť nasledujúce kategórie typov:

  • typy, ktoré sa priamo používajú vo formulári, sú typy, ktoré existujú na strane tenkého a webového klienta (napríklad Number, DirectoryLink.Products, GraphicScheme, TabularDocument);
  • typy, ktoré sa skonvertujú na špeciálne typy údajov – typy údajov spravovaných formulárov. Takéto typy sú zobrazené v zozname podrobností formulára v zátvorkách, napríklad (DirectoryObject.Products);
  • dynamický zoznam (ďalšie podrobnosti nájdete v časti „Dynamický zoznam“ v tejto kapitole).

Konverzia aplikačných objektov na údaje formulára

Niektoré typy aplikácií (napríklad DirectoryObject atď.) neexistujú na strane tenkého a webového klienta (ďalšie podrobnosti nájdete v kapitole Koncepcia riadenej aplikácie). Preto na reprezentáciu takýchto typov aplikácií vo formulári platforma zaviedla špeciálne dátové typy určené na prácu v riadených formulároch. Táto funkcia riadenej aplikácie si vyžaduje konverziu objektov aplikácie na údaje formulára (a naopak).

Používajú sa nasledujúce typy údajov:

  • Form DataStructure – obsahuje množinu vlastností ľubovoľného typu. Vlastnosti môžu byť iné štruktúry, kolekcie alebo štruktúry s kolekciami. Tento typ je reprezentovaný napríklad vo forme DirectoryObject.
  • FormDataCollection je zoznam napísaných hodnôt, podobne ako pole. K prvku kolekcie sa pristupuje pomocou indexu alebo identifikátora. Prístup podľa ID nemusí byť v niektorých prípadoch k dispozícii. Je to kvôli typu aplikačného objektu, ktorý predstavuje táto kolekcia. Identifikátor môže byť ľubovoľné celé číslo. Tento typ je zastúpený napríklad vo forme tabuľková časť.
  • Form DataStructureWithCollection je objekt, ktorý je reprezentovaný ako štruktúra a kolekcia súčasne. Dá sa s ňou zaobchádzať ako s ktoroukoľvek z týchto entít. Tento typ predstavuje napríklad množinu záznamov vo formulári.
  • Form DataTree – objekt určený na ukladanie hierarchických údajov.

Aplikačný objekt je reprezentovaný jedným alebo viacerými dátovými prvkami formulára. IN všeobecný pohľad Hierarchia a zloženie údajov formulára závisí od zložitosti a prepojenia aplikačných objektov riadeného formulára.

Napríklad dokument obsahujúci tabuľkovú časť bude reprezentovaný objektom typu FormDataStructure (samotný dokument), ktorému je podriadený objekt typu FormDataCollection (tabuľková časť dokumentu).

Dôležité! Pri vývoji konfigurácie je dôležité pamätať na to, že aplikačné objekty sú dostupné iba na serveri, zatiaľ čo dátové objekty formulára je možné použiť na serveri aj na klientovi.

Odovzdávanie údajov medzi klientskou a serverovou časťou spravovaného formulára

V skutočnosti môžeme povedať, že údaje formulára sú jednotnou reprezentáciou údajov z rôznych aplikačných objektov, s ktorými formulár pracuje jednotne a ktoré sú prítomné na serveri aj na klientovi. To znamená, že formulár obsahuje určitú „projekciu“ údajov objektu aplikácie vo forme vlastných dátových typov a v prípade potreby medzi nimi vykonáva konverziu. Ak však vývojár konfigurácie implementuje svoj vlastný algoritmus spracovania údajov, musí konverziu údajov (zo špecializovaných typov na typy aplikácií a naopak) vykonávať nezávisle.

Pri úprave detailov formulára v špecializovanom editore (podrobnejšie v časti „Podrobnosti formulára“ v kapitole „Editory“) je možné ovplyvniť prenos údajov medzi klientom a serverom počas behu formulára. Na to slúži stĺpec editora podrobností. Vždy používajte. Účinok tejto vlastnosti sa líši pre tri typy atribútov:

  • Pre atribúty podriadené dynamickému zoznamu (stĺpec dynamický zoznam):
    • vlastnosť povolená – atribút je vždy načítaný z databázy a zahrnutý do údajov formulára;
    • vlastnosť je zakázaná - atribút sa načíta z databázy a zahrnie sa do údajov formulára iba vtedy, keď je viditeľný v tento moment element formulára spojený s atribútom alebo jeho podriadeným atribútom.
  • Pre rekvizity podriadené kolekcii pohybu:
    • vlastnosť je povolená – pohyby dokladov sa načítajú z databázy a budú prítomné v údajoch formulára;
    • vlastnosť je zakázaná - pohyby dokladov sa nebudú čítať z databázy a nebudú zahrnuté do údajov formulára (ak neexistuje prvok formulára, ktorý odkazuje na pohyby dokladov).
  • Ďalšie podrobnosti formulára:
    • vlastnosť je povolená – atribút bude prítomný v údajoch formulára bez ohľadu na to, či existuje alebo nie je aspoň jeden prvok formulára, ktorý je spojený s atribútom alebo jeho podriadeným atribútom;
    • vlastnosť je zakázaná - atribút bude prítomný v údajoch formulára iba vtedy, ak je k atribútu alebo jeho podriadenému atribútu priradený prvok formulára. Na rozdiel od atribútov dynamického zoznamu tu nezáleží na viditeľnosti prvku spojeného s atribútom.

Poznámka. Malo by sa pamätať na to, že vlastnosť nastavená na nadradenom atribúte ovplyvňuje všetky podriadené atribúty. Napríklad, ak je vlastnosť Použiť vždy vymazaná pre tabuľkovú časť dokumentu, potom systém usúdi, že táto vlastnosť je vymazaná aj pre všetky podriadené podrobnosti (napriek skutočnému stavu vlastnosti).

Metódy na konverziu údajov objektu aplikácie na údaje formulára

Na konverziu objektov aplikácie na údaje formulára a späť existuje súbor globálnych metód:

  • ValueInFormData(),
  • FormDataInValue(),
  • CopyFormData().

Dôležité! Metódy, ktoré pracujú s aplikačnými objektmi, sú dostupné len v serverových procedúrach. Metóda kopírovania hodnôt medzi údajmi formulára je dostupná na serveri a na klientovi, pretože nevyžaduje aplikačné objekty ako parametre.

Pri konverzii údajov formulára na objekt aplikácie musíte zvážiť ich kompatibilitu.

  • ValueInFormData() – konvertuje objekt typu aplikácie na údaje formulára;
  • FormDataInValue() – konvertuje údaje formulára na objekt typu aplikácie;
  • CopyFormData() – skopíruje údaje formulára, ktoré majú kompatibilnú štruktúru. Vráti hodnotu True, ak bola kópia úspešná, alebo False, ak je štruktúra objektu nekompatibilná.

Poznámka. Pri vykonávaní štandardných akcií (otvorenie formulára, vykonanie štandardného príkazu Write a pod.) formulára s hlavnými detailmi sa konverzia vykoná automaticky.

Uveďme príklad, ako použiť transformáciu údajov vo vlastných algoritmoch.

&OnServerProcedure When CreateOnServer(Failure, StandardProcessing)

ObjectProduct = Directories.Products.FindByName("Kávnik").GetObject(); ValueInFormData(ObjectItem, Object);

Koniec procedúry

&OnClient Procedure Write()

WriteOnServer();

Koniec procedúry

&Procedúra na serveri WriteOnServer()

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

Koniec procedúry

Objekt ManagedForm má na serveri dostupné aj metódy:

  • ValueВFormAttribute() – konvertuje objekt typu aplikácie na špecifikovaný atribút formulára.
  • FormAttributeVValue() – konvertuje atribút údajov formulára na objekt typu aplikácie.

Použitie týchto metód je zvyčajne pohodlnejšie, pretože majú napríklad informácie o type podrobností formulára. Okrem toho metóda Form AttributesValue() nastavuje súlad medzi údajmi formulára a objektom, ktorý sa používa pri generovaní správ. Viac sa o tom môžete dočítať v kapitole „Možnosti navigácie služby“.

Uveďme príklad použitia týchto metód.

&Procedúra na serveri RecalculateOnServer()

// Konvertuje atribút Object na objekt aplikácie. Dokument = Form AttributesValue("Object"); // Vykoná prepočet pomocou metódy definovanej v module dokumentu. Document.Recalculate(); // Skonvertuje objekt aplikácie späť na rekvizitu. ValueВFormAttributes(Document, “Object”);

Koniec procedúry

Softvérové ​​rozhranie

FormDataTree

  • FindById
  • GetItems

Popis:

Navrhnuté na modelovanie stromu v údajoch spravovaného formulára.

Tento objekt je možné serializovať do/z XDTO. Zodpovedajúci typu XDTO tento objekt je definovaný v mennom priestore. Názov typu XDTO:

GetItems

Syntax:

GetItems()

Návratová hodnota:

Typ: Formulár DataCollection of Tree Elements.

Popis:

Získa kolekciu prvkov stromu najvyššej úrovne.

Dostupnosť: klient, server, tenký klient, webový klient.

FindById

Syntax:

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

Možnosti:

<Идентификатор>(požadovaný)

Typ: Číslo. Identifikátor prvku stromu.

Návratová hodnota:

Typ:FormDataTreeElement.

Popis:

Získa prvok kolekcie podľa ID.

Dostupnosť: klient, server, tenký klient, webový klient.

FormDataTreeItem

Vlastnosti:

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

  • GetId (GetId)
  • GetParent
  • GetItems
  • Nehnuteľnosť

Popis:

Prvok stromu údajov formulára.

FormDataTreeItemCollection

Prvky kolekcie: DataFormTreeElement

Pre objekt je možné prechádzať zberom pomocou operátora Pre každý... Od... Slučka. Priechod vyberá prvky kolekcie. K prvku kolekcie je možné pristupovať pomocou operátora [...]. Index prvku sa odovzdá ako argument.

  • Vložiť
  • Pridať
  • Index (IndexOf)
  • počítať
  • jasný
  • Získajte
  • Pohybujte sa
  • Odstrániť

Popis:

Kolekcia drevených prvkov.

Dostupnosť: klient, server, tenký klient, webový klient.

Pozri tiež:

  • FormDataTreeElement, metóda GetElements
  • DataFormTree, metóda GetItems

Vlastnosti práce so stromom hodnôt

Aktualizácia stromu

Je tu problém padá platformy pri aktualizácii stromu.

Ak bol niektorý uzol v strome rozšírený a bol vybratý podriadený uzol, potom pri aktualizácii stromu pomocou funkcie ValueInFormData plošina padá.

Riešenie: Pred aktualizáciou musíte vymazať strom.

Napríklad:

&Na serveri Procedúra ClearTree(elements) Pre každý prvok z prvkov Loop ClearTree(element.GetElements()); EndCycle; elementy.Clear(); Koniec procedúry

&Na serveri Postup Vyplniť strom konceptu() dConcepts = srProperties.Build strom konceptu(OnDate, Meta.CurrentIB()); ClearTree(ConceptTree.GetItems()); ValueInFormData(dConcepts, ConceptTree); Koniec procedúry

&Procedúra OnClient OnDateOnChange(Element) Fill ConceptTree(); Koniec procedúry

Práca používateľa s referenčnými knihami a dokumentmi v 1C pozostáva z vypĺňania polí vo formulári.

Podrobnosti 1C sú polia adresára a dokumentu, ktoré sa zobrazujú vo formulári, aby ich používateľ mohol vyplniť.

Pozrime sa bližšie na tému detailov v 1C.

Čo sú podrobnosti 1C

Každý adresár a dokument 1C pozostáva zo sady polí. Takéto polia sa nazývajú detaily 1C (pre programátora 1C).

V konfigurátore v konfiguračnom strome 1C otvorte ľubovoľný adresár alebo dokument a zobrazí sa vám vetva Podrobnosti. Toto je zoznam podrobností adresára (polí).

Pozrite sa, ako vyzerajú rovnaké detaily 1C vo formulári adresára 1C.

Každý atribút 1C má vlastnosti, ktoré označujú, aký typ hodnoty je v atribúte uložený (reťazec, číslo atď.) a ako s ním bude používateľ pracovať.

Kliknite pravým tlačidlom myši na ľubovoľný atribút 1C a kliknite na položku Vlastnosti. V okne vpravo sa otvorí zoznam vlastností vybraného atribútu.

Hlavné vlastnosti detailov 1C:

Štandardné detaily 1C

Ako ste si všimli, vo formulári adresára sú podrobnosti 1C, ktoré nie sú uvedené v konfigurátore: skupina, názov, BIC.

Formulár zoznamu adresárov obsahuje aj podrobnosti 1C, ktoré nie sú v zozname: značka vymazania.

Toto sú štandardné detaily 1C. Čo to je? Každý má predvolenú sadu podrobností 1C. V prípade adresárov je to napríklad kód a názov. V prípade dokladov je to dátum a číslo.

Štandardné detaily 1C je možné zobraziť nasledovne:

  • Prejdite do editora objektu 1C (adresára alebo dokumentu) tak, že naň dvakrát kliknete myšou
  • V editore, ktorý sa otvorí, vyberte kartu Údaje
  • Tu môžete nakonfigurovať štandardné podrobnosti Kód a Názov adresára
  • Kliknutím na tlačidlo 1C Standard Details zobrazíte úplný zoznam.

Všeobecné podrobnosti 1C

Počnúc verziou 1C 8.2.14 sa v 1C – Všeobecné podrobnosti 1C objavil nový objekt 1C. Pomocou nej môžete pridať vlastnosť (pole), ktorá bude prítomná v mnohých adresároch a dokumentoch naraz.

Vlastnosti všeobecných atribútov 1C:

  • Automatické použitie – pridáva všeobecné podrobnosti 1C do všetkých adresárov a dokumentov naraz
  • Zloženie – umožňuje pridávať všeobecné detaily 1C len do potrebných adresárov a dokumentov (automatické používanie je potom nastavené na Nepoužívať).

Ako pridať podrobnosti 1C

Kliknite pravým tlačidlom myši na vetvu 1C Details požadovaného adresára a vyberte Pridať.

Musíme zadať názov atribútu 1C, napríklad „Adresa kancelárie“ a synonymum „Adresa kancelárie“. Ponechajte predvolený typ String, ale začiarknite políčko Neobmedzená dĺžka.

Rovnakým spôsobom pridáme ďalší atribút 1C, len vyberieme booleovský typ a nazveme ho „Works on Weekends“.

Ako zobraziť podrobnosti vo formulári 1C (hrubý klient 1C)

Rozbaľme vetvu Formuláre toho istého adresára. Ak chcete otvoriť formulár, vyberte formulár prvku a dvakrát naň kliknite myšou.

Potiahnite okraj tvaru myšou a roztiahnite ho (voliteľné).

Na paneli konfigurátora kliknite na tlačidlo „Umiestnenie údajov“. Môžete tiež použiť ponuku Formulár / Umiestnenie údajov.

Vidíte, že naše údaje sa vo formulári nezobrazujú. Skontrolujte ich. A tiež začiarkavacie políčka Vložiť štítky a Umiestniť automaticky.

Ako zobraziť podrobnosti vo formulári 1C (tenký klient 1C)

Rozbaľme vetvu Formuláre toho istého adresára. Vyberte tvar prvku a dvakrát naň kliknite myšou.

Na karte Podrobnosti rozbaľte riadok Objekt. Zobrazí sa zoznam podrobností, ktoré boli predtým pridané do adresára.

Teraz stačí pretiahnuť požadovaný atribút z pravého okna do ľavého a zobrazí sa vo formulári.

Podrobnosti formulára 1C

V hrubom klientovi má formulár svoje detaily. Nachádzajú sa na karte Podrobnosti.

Tieto údaje sa neukladajú do databázy, ale možno ich použiť vo formulári pre polia, ktoré sú potrebné na prácu s formulárom.

Do formulára ste napríklad pridali začiarknutie. Keď naň kliknete, vo formulári sa niečo stane. Na význame zaškrtávacieho políčka pre vás nezáleží (netreba si ho zapisovať) - slúži len na prepínanie formulára pri práci s ním. V tomto prípade nepoužívate ako údaj atribút adresár, ale atribút formulára.

Pravidelné podrobnosti 1C

Vo verzii 1C 7.7 boli pravidelné podrobnosti. Ich význam je tento: význam rekvizít je v rôznych dátumoch odlišný. Napríklad 1. septembra je hodnota jedna a 1. októbra iná. Rovnaké rekvizity.

V 1C 8 nie sú žiadne pravidelné podrobnosti. Toto sa implementuje takto:

Podrobnosti formulára zabezpečujú jeho spojenie s údajmi. V tomto prípade môže byť jeden (a iba jeden) z detailov označený ako hlavný; nemusí to byť nevyhnutne typ údajov, na ktorý formulár kreslíme. Správanie formulára však bude závisieť od typu údajov hlavného atribútu. Okrem zmeny správania formulára sa mení aj kontext modulu formulára. Spolu s metódami a vlastnosťami formulára sa v ňom sprístupňujú aj metódy a vlastnosti objektu, ktorý je hodnotou hlavného atribútu. Je dôležité, aby formuláre typu Free Form nemali základné detaily. V tomto prípade je správanie formulára určené iba nastaveniami používateľa. Zvážme otázky týkajúce sa základných detailov.

Otázka 10.05 skúšky 1C: Platform Professional. Na čo sa používa hlavný atribút formulára?

  1. Definuje zdroj údajov pre formulár ako celok
  2. Definuje štandardné možnosti platformy pre prácu s formulárom s údajmi typu uvedeného v hlavnom atribúte
  3. Poskytnúť možnosť programového prístupu k detailom objektu z kontextu lokálneho formulára
  4. Poskytuje vizualizáciu detailov objektu v dialógovom okne formulára
  5. 2 a 3 sú správne
  6. 1 a 2 sú správne

Správna odpoveď je číslo šesť, pozri vyššie.


Otázka 10.06 skúšky 1C: Platform Professional. Na čo sú potrebné podrobnosti formulára?
  1. Na popis obsahu údajov, ktoré sú zobrazené, upravované alebo uložené vo formulári
  2. Na zobrazenie a úpravu údajov vo formulári
  3. 1 a 2 sú správne

Správna odpoveď je tretia – obe.

Otázka 10.07 skúšky 1C: Platform Professional. Ak chcete priradiť základné atribúty ľubovoľnému riadenému formuláru...

  1. Vo vlastnostiach atribútov formulára musíte zaškrtnúť políčko "Základné podrobnosti".
  2. musíte vyplniť vlastnosť „Údaje“ formulára výberom požadovaného atribútu formulára

Správna odpoveď je druhá:

Otázka 10.08 skúšky 1C: Platform Professional. Čokoľvek je ľubovoľné pravidelná forma priradiť základné detaily...
  1. formulár musí byť hlavný, hlavné podrobnosti sa určujú automaticky
  2. Vo vlastnostiach atribútov formulára musíte zaškrtnúť políčko "Základné podrobnosti".
  3. musíte prejsť do ponuky "Upraviť", "Základné podrobnosti" a vybrať požadovanú hodnotu
  4. musíte vyplniť vlastnosť „Údaje“ formulára výberom požadovaného atribútu formulára

Štvrtá správna odpoveď je:

Hlavné detaily sú zvýraznené tučným písmom:

Otázka 10.09 skúšky 1C: Platform Professional. Ak existuje jeden hlavný atribút formulára, je možné pridať ďalší hlavný atribút?
  1. Toto je nemožné
  2. Je to možné priradením príslušnej hodnoty vlastnosti atribútu formulára
  3. Je to možné len programovo, pri prístupe k objektu "Formulár".
  4. To je možné pridaním ďalšej hodnoty do zodpovedajúcej vlastnosti formulára

Správna odpoveď je prvá, je tu striktne jedna hlavná požiadavka, pretože spojenie s objektom musí byť jednoznačné.

Otázka 10.113 skúšky 1C: Platform Professional. Ktorý z detailov formulára na obrázku je hlavný?

  1. Zoznam kurzov mien
  2. DirectoryObject
  3. Adresárové formuláre nemajú základné detaily
  4. Adresáre majú všetky základné detaily
Druhá správna odpoveď je vyznačená tučným písmom.