Hallatavate vormide elementide programmiline lisamine ja muutmine. Hallatud vormi elementide programmiline lisamine ja redigeerimine Vormi elementide redigeerimine

Artikkel jätkab sarja "1C arenduse esimesed sammud".

Platvormi 1C:Enterprise konfiguratsioonis kasutatakse teabe kuvamisel kõige sagedamini tabeleid, mis kuvavad mitmesuguseid teabeloendeid. Selliste loenditega töötamine võib toimuda nii loendi kui ka elemendi kujul (töötlemine).

Selles artiklis tutvume nende loendite kohandamise võimalustega ja vaatame ka muid vormide kasutajapoolse kohandamise funktsioone.

Kohaldatavus

Artiklis käsitletakse hallatavat liidest platvormil 1C 8.3.4.482 välja töötatud konfiguratsiooni versioonis 8.2.

Kui töötate seda liidest toetavate konfiguratsioonidega, on teave teie jaoks asjakohane platvormi praeguste versioonide jaoks.

Kui töötate uues taksoliideses, võivad mõnede konfiguratsioonikäskude nimed ja üldine toimingute jada veidi erineda.

Lisaks on platvormi praegune versioon lisanud uusi otsinguvõimalusi loendites.

Vormide seadistamine ja loenditega töötamine

Hallatava vormi elementide puhul on võimalik muuta nähtavust ja mõningaid muid omadusi. Nendel eesmärkidel kontrollitud kujul menüüs Kõik toimingud toimib kaubana Muuda vormi.

Pärast sellel käsul klõpsamist ilmub aken "Vormi sätted".

Ilmuvas aknas saate teatud üksikasjade nähtavuse muutmiseks kasutada märkeruutusid. Sel juhul skaleeritakse vormi automaatselt.

Saate muuta üksikasjade järjekorda. Lisage uus rühm ja asetage sinna mõned detailid (elemendid), määrates nende rühmitamise valiku (horisontaalne, vertikaalne).

Gruppi kaasatud üksikasjad postitatakse vastavalt. Lisaks saate konfigureerida elementide atribuute, nagu laius, kõrgus ja päiseandmed.

Saate määratleda atribuudid, mis aktiveeritakse vormi avamisel.

Oluline omadus on võimalus lisada vormile uusi välju. See saab võimalikuks viitetüübi atribuutide kaudu.

Näiteks viitetüübi atribuudi olemasolu vormil Vastaspool, saab lisada Kontaktisik, kui see detail on kataloogis "Vastaspooled".

Vajadusel saab täiendavaid välju eemaldada. Konfiguraatoris loodud välju ei saa kustutada. Kõik kasutaja tehtud seadistused salvestatakse.

Tavaseadete juurde naasmiseks menüüs Vormi seaded Kõik toimingud peaksite üksuse valima Määrake vaikesätted.

Lisaks vormide kohandamisele hallatavas liideses on võimalik kohandada loendeid (kataloogielemente, dokumente).

Nimekirja kujul menüüs Kõik toimingud sisaldab spetsiaalset käsku Kohandage loendit.

Avaneb aken "Loendi sätted". Selles aknas saate valida, sortida, määratleda tingimusvormingu ja rühmitamise.

Joonisel on vorm valiku redigeerimiseks.

Valiku saab teha mitme välja järgi. Sel juhul töötab valik vastavalt tingimusele JA. Võite kasutada ka tingimusi VÕI ja EI.

Tingimuse VÕI (EI) kasutamiseks peate vastava rühma lisamiseks kasutama käsku Group Conditions (OR Group, NOT Group).

Joonisel on kujutatud sortimisväljade määratlemise vorm.

Rühmitamist saab konfigureerida. Joonisel on rühmitamise väli valitud Vastaspool.

Järgmine joonis näitab, kuidas rühmitamine toimub.

Saate loendit värvida mis tahes viisil või rakendada muid tingimusliku kujunduse elemente (fondivalik, teatud vormingud) vastavalt antud tingimusele, samuti valida vormindatavate väljade loendi.

Joonisel on välja tausta tingliku kujundamise tulemus Summa.
Kui summa on > 100 000.

Tuleb märkida, et katalooge on võimalik vaadata hierarhiarežiimis.

Kataloogide hierarhilist vaatamist saab konfigureerida üksuse kaudu Vaaterežiim menüüs Kõik toimingud. Saate valida ühe järgmistest valikutest: Hierarhiline loend, Nimekiri, Puu.

Samuti on võimalik konfigureerida oma kataloogielementide rühmitamist teatud detailide järgi.

Näiteks saate rühmitada üksusi tarnija järgi. Näide on sarnane sellega, kus vaatlesime dokumentide “Kaubade ja teenuste müük” rühmitamist osapoolte kaupa.

Mugav funktsioon on mitmekordne valik loendites ja sellele järgnev rühmatoimingute täitmine (postitamine, tühistamine, kustutamise märke tühistamine).

Loendis olevad objektid valitakse klahvi all hoides Shift või Ctrl.

Loendist väärtuse otsimisel on oma omadused. Otsing töötab valikurežiimis. Alles jäävad ainult need read, mis vastavad otsingutingimusele.

Praeguses veerus väärtuse järgi otsimiseks asetage kursor soovitud veerule ja klõpsake nuppu Otsi käsupaneelil. Ilmub aken, kus peaksite klõpsama ka nuppu Otsi.

Otsingu täpsemaks muutmiseks võite kasutada märkeruutu Otsing leitud.

Viitetüüpi andmerea (näiteks mõõtühikute) otsimisel tuleks valida sobiv otsinguvõimalus ...(rea järgi).

See lõpeb loendite ja nende konfigureerimise viisidega. Järgmises artiklis jätkame liidesega tutvumist ja vaatame mugavat vahendit kasutaja teavitamiseks, millest me pole varem rääkinud. Mis instrument see selline on? :)

1C loob süsteem rakenduslahenduse kasutamisel automaatselt. Need on 1C:Enterprise süsteemis teabe esitamise (kuvamise) aluseks.

Vormi 1C struktuur

Vorm B on vormi koostise loogiline kirjeldus. elemendid kirjeldavad, kuidas vorm välja näeb. Vormielementide paigutuse teostab süsteem selle kuvamisel automaatselt.

Vormi kuvatavat (kasutajale nähtavat) osa kirjeldatakse puuna, mis sisaldab vormielemente (vt allolevat joonist, väli „Vormielemendid”):

  • rühm, mis sisaldab muid elemente,
  • sisestusväljad,
  • märkeruudud,
  • lülitid,
  • nupud,
  • tabelid, mis sisaldavad veeruelemente jne.

"Vormi 1C elemendid"

[kokku kukkuda]

Vormielementide rühma saab esitada kui

  1. raamiga paneel,
  2. lehtedega paneel (järjehoidjad),
  3. leht ise,
  4. käsupaneel.

Vormi kõiki funktsioone kirjeldatakse järgmiselt:

  • üksikasjad (andmed, millega vorm töötab);
  • käsud (sooritatud toimingud).

Hallatud vormi välimuse kohandamine

Hallatava vormi välimuse kohandamine kasutaja poolt

Hallatava vormi välimust saab kohandada kasutaja tasemel. Selle funktsiooni jaoks on vormitoimingutes käsk "Veel" - "Muuda vormi" (haldab ainult neid vormielemente, mis on määratletud arendusetapis või vormi automaatse genereerimise standardreeglite järgi).

"Veel" - "Muuda kuju"

Käsk "Veel" - "Muuda kuju":

Pärast "Muuda vormi" klõpsamist kuvatakse vormi 1C sätete aken:

[kokku kukkuda]

Lisaks on kasutajarežiimis võimalik:


  • muutke vormide järjekorda, teisaldage need ühest veerust teise (kui töölaud on korraldatud kahes veerus), kuid te ei saa töölaual veergude arvu muuta;
  • kuvage teave eraldi akende kujul (navigeerimiskäsu kutsumisel peate hoidma all tõstuklahvi).

Kui kasutatakse jaotisi, siis navigeerimispaneelil käsu kutsumisel kuvatakse tööalal vastav loend, mis asendab tööala varasema sisu.

Hallatava vormi välimuse kohandamine arendaja poolt

Arendaja saab elementide paigutust erinevate seadistustega mõjutada. See võib määrata elementide järjekorra, määrata nende laiuse ja kõrguse ning kasutada ka:

  • vormi enda käsud;
  • kogu konfiguratsioonis kasutatavad globaalsed käsud;
  • parameetritega seadistatavad käsud, mis avavad praeguse vormi konkreetsete andmete põhjal muid vorme.

Joonis (kuju 1C muutmine arendaja poolt)

[kokku kukkuda]

Vormi 1C väljatöötamisel peate:

  1. Vormiredaktoris lisage vormile vajalikud üksikasjad ja käsud;
  2. luua neid kuvavaid vormielemente, määrata elementide järjekord, määrata laius ja kõrgus (vajadusel);
  3. paiguta elemendid rühmadesse (vajadusel).
  1. Kui konfiguratsioonis on palju rolle (alates mitmekümnest), kasutage vormielementides rollipõhiseid nähtavuse sätteid (üksikasjade vaatamine ja redigeerimine , vormiväljade kohandatud nähtavus rolli järgi, käskude kasutamine rollide järgi). Selle asemel tuleks järgida järgmisi lähenemisviise:
    • kui vormi välimuses ja funktsionaalsuses on suuri erinevusi sõltuvalt kasutaja teatud rollide olemasolust – töötada välja eraldi vormid, mis on spetsialiseerunud kindlatele kasutajaõigustele;
    • väikeste erinevustega - teostage koodis lubade kontrollimine. Tuleb meeles pidada, et programmiline nähtavuse juhtimine võib vähendada vormi avamise kiirust, mida tuleb väljapakutud lähenemisviiside vahel valimisel arvestada.
  2. Kasutage rollipõhiseid nähtavuse sätteid konfiguratsioonikäsu liideses, põhijaotise käsuliideses ja avalehe tööalal. Selle asemel peaksite määrama õigused käsuliidese osadele ja käsuliideses või tööruumis sisalduvatele objektidele. See muudab hallatava liidese käitumise kasutaja jaoks etteaimatavamaks ja hõlbustab ka vigade uurimist.

Täpsemat teavet vormidega töötamise kohta leiate kursusest „Vormidega töötamine versioonis 1C:Enterprise 8.3“, http://www.1c.ru/rus/partners/training/uc1/course.jsp?id=161.

Ja andmeedastusobjekt koodi struktureerimiseks, kontrollitud kujul 1C 8.2 keskkonnas.

Sissejuhatus

Alustame 1C platvormi mõiste “hallatud vorm” ja sellega seotud mõistete lühikirjeldusega. Platvormi asjatundjad võivad selle jaotise vahele jätta.

2008. aastal sai kättesaadavaks 1C platvormi uus versioon: Enterprise 8.2 (edaspidi hallatud rakendus), mis muudab täielikult kogu liidesega töötamise kihti. See hõlmab käsuliidest, vorme ja aknasüsteemi. Samas ei muutu mitte ainult konfiguratsioonis kasutajaliidese arendamise mudel, vaid pakutakse välja ka uus arhitektuur kliendirakenduse ja serveri funktsionaalsuse eraldamiseks.
Hallatav rakendus toetab järgmist tüüpi kliente:

  • Paks klient (tavaline ja hallatud käivitusrežiim)
  • Õhuke klient
  • Veebi klient
Hallatav rakendus kasutab uuel tehnoloogial üles ehitatud vorme. Neid kutsutakse Hallatud vormid. Ülemineku hõlbustamiseks on toetatud ka varasemad vormid (nn Tavalised vormid), kuid nende funktsionaalsust ei arendata ja need on saadaval ainult paksu kliendi käivitamise režiimis.
Hallatavate vormide peamised erinevused arendaja jaoks:
  • Deklaratiivne, mitte "piksli haaval" struktuuri kirjeldus. Elementide konkreetse paigutuse teostab süsteem vormi kuvamisel automaatselt.
  • Vormi kõiki funktsioone kirjeldatakse kui üksikasjad Ja meeskonnad. Üksikasjad on andmed, millega vorm töötab, ja käsud on sooritatavad toimingud.
  • Vorm töötab nii serveris kui ka kliendis.
  • Kliendikontekstis pole peaaegu kõik rakendusetüübid saadaval ja vastavalt sellele ei saa infobaasis andmeid muuta.
  • Iga meetodi või vormimuutuja puhul tuleb see täpsustada koostamise käskkiri, määratledes täitmiskoha (klient või server) ja juurdepääsu vormi kontekstile.
Loetleme vormimeetodite koostamise juhised:
  • &OnClient
  • &Serveris
  • &Serveris ilma kontekstita
  • &OnClientOnServerIlma kontekstita
Illustreerime ülaltoodut. Ekraanipildil on näide hallatavast vormist ja selle moodulist arendusrežiimis. Leia deklaratiivne kirjeldus, rekvisiidid, koostamise juhised jne.

Kõik edasised arutelud puudutavad illustratsiooni paremat külge, kuidas mooduli koodi üles ehitada ja millised põhimõtted võimaldavad teil rakendada tõhusat kliendi-serveri suhtlust.

Määratleme probleemi

1C platvormi uue versiooni aktiivsest kasutamisest on möödunud mitu aastat ja nii 1C kui ka tema paljud partnerid on välja andnud palju lahendusi (konfiguratsioone).
Kas selle aja jooksul on arendajatel kujunenud ühtne arusaam klient-serveri interaktsiooni põhimõtetest vormide loomisel ning kas lähenemine tarkvaramoodulite juurutamisel on uues arhitektuurireaalsuses muutunud?

Vaatame koodistruktuuri (vormimoodulit) sama standardkonfiguratsiooni mitmel kujul ja proovime leida mustreid.
Struktuuri all peame silmas koodilõike (enamasti on need kommentaariplokid), mille arendaja on eraldanud meetodite rühmitamiseks ja nende meetodite kompileerimisjuhised.
Näide 1:
Sündmuste töötlejate jaotis Meetod - kliendil Meetod - serveris Meetod - kliendil Teenindusprotseduuride ja -funktsioonide jaotis Lisasisendi juhtimisfunktsioonid
Näide 2:
Teenindusprotseduurid ja funktsioonid Maksedokumendid Väärtused Sündmuste töötlejad
Näide 3:
Teenindusprotseduurid serveris Teenindusprotseduurid kliendis Teenindusprotseduurid serveris ilma kontekstita Päise sündmuste töötlejad Käskude sündmuste töötlejad
Näide 4:
Üldotstarbelised protseduurid Vormi sündmuste käitlejad Kontaktteabe allsüsteemi protseduurid
Sisuliselt puudub koodi struktuur või on see pehmelt öeldes sarnane vormidega 8.1:

  • Mitteinformatiivsed sõnad “General, Service, Auxiliary”.
  • Arglikud katsed eraldada kliendi ja serveri meetodeid.
  • Meetodid on sageli rühmitatud liidese elementide järgi “Töö tabeliosaga Tooted, kontaktteave”.
  • Meetodite ja koodirühmade meelevaldne paigutus. Näiteks sündmuste käitlejad võivad olla ühel kujul ülaosas, teisel kujul allosas, kolmandas ei ole üldse esile tõstetud jne.
  • Ja ärgem unustagem, et see kõik on ühes konfiguratsioonis.
  • Jah, on konfiguratsioone, kus sõnad "General, Service, Auxiliary" on alati samades kohtades, kuid...
Miks on vaja koodistruktuuri?
  • Hoolduse lihtsustamine.
  • Õppimise lihtsustamine.
  • Üldiste/oluliste/edukate põhimõtete fikseerimine.
  • ...teie valik
Miks 1C olemasolev arendusstandard ei aita?
Vaatame ITS-ketastel ja erinevates “Arendaja juhendites...” avaldatud põhimõtteid, mida soovitatakse hallatava vormi kirjutamisel.
  • Minimeerige serverikõnede arv.
  • Maksimaalne arvutite arv serveris.
  • Mittekontekstuaalsed serverikõned on kontekstipõhisest kiiremad.
  • Programm kliendi-serveri suhtlust silmas pidades.
  • ja nii edasi.
Need on loosungid, mis on täiesti tõesed, aga kuidas neid ellu viia? Kuidas minimeerida kõnede arvu, mida tähendab programmeerimine klient-server režiimis?

Disainimustrid või põlvkonnatarkus

Kliendi-serveri suhtlust on erinevates tarkvaratehnoloogiates kasutatud aastakümneid. Vastus eelmises osas välja toodud küsimustele on ammu teada ja see on kokku võetud kahes põhiprintsiibis.
  • Kaugfassaad(edaspidi kaugjuurdepääsu liides)
  • Andmeedastusobjekt(edaspidi andmeedastusobjekt)
Sõna Martin Fowlerilt, tema kirjeldus nendest põhimõtetest:
  • Igal objektil, mis on potentsiaalselt ette nähtud kaugjuurdepääsuks, peab olema madala granulaarsusega liides, mis vähendab konkreetse protseduuri tegemiseks vajalike kõnede arvu. ... Selle asemel, et arvet ja kõiki selle kirjeid eraldi taotleda, tuleb kõik arvekirjed ühe päringuga läbi lugeda ja uuendada. See mõjutab kogu objekti struktuuri...Pidage meeles: kaugjuurdepääsu liides ei sisalda domeeniloogikat.
  • ...kui ma oleksin hooliv ema, ütleksin kindlasti oma lapsele: “Ära kunagi kirjuta andmeedastusobjekte!” Enamasti pole andmeedastusobjektid midagi muud kui ülespuhutud väli komplekt... Selle vastiku koletise väärtus seisneb ainuüksi võimaluses ühe kõnega edastada mitut teavet võrgu kaudu- tehnika, mis on hajutatud süsteemide jaoks väga oluline.
1C platvormi mallide näited
Rakenduse programmeerimisliides, mis on arendajale hallatava vormi väljatöötamisel saadaval, sisaldab nende põhimõtete kohta palju näiteid.
Näiteks OpenForm() meetod, tüüpiline "jäme" liides.
OpeningParameters = New Structure("Parameeter1, Parameeter2, Parameeter3", Väärtus1, Väärtus2, Väärtus3); Vorm = Avavorm(vorminimi, avamisparameetrid);
Võrrelge versioonis 8.1 vastu võetud stiiliga.
Vorm = GetForm(Vorminimi); Vorm.Parameeter1 = Väärtus1; Vorm.Parameeter2 = Väärtus2; Vorm.Open();

Hallatava vormi kontekstis on palju andmeedastusobjekte. Saate valida süsteemne Ja arendaja määratletud.
Süsteemsed mudelid modelleerivad kliendil rakendusobjekti ühe või mitme vormiandmeelemendi kujul. Neid on võimatu luua ilma vormi üksikasjadele viitamata.

  • DataFormsStructure
  • DataFormsCollection
  • DataFormStructureWithCollection
  • DataShapesTree
Süsteemi andmeedastusobjektide teisendamine rakendustüüpideks ja vastupidi toimub järgmiste meetoditega:
  • ValueInFormData()
  • FormDataValue()
  • CopyFormData()
  • ValueInFormAttributes()
  • FormAttributesValue()
Sageli kasutatakse olemasoleva lahenduse kohandamisel selgesõnalist teisendamist. Meetodid võivad eeldada (kasutada funktsioone) sisendparameetreid, näiteks ValueTable, mitte FormDataCollection, või meetod on määratletud rakenduse objekti kontekstis ja see on muutunud vormilt otsekutsumiseks kättesaamatuks.
Näide 1C v8.1:
// kliendil vormi FillUserCache(DepartmentLink) kontekstis
Näide 1C v8.2:
// serveris vormi kontekstis ProcessingObject = Form AttributesValue("Object"); ProcessingObject.FillUserCache(DepartmentRef); ValueВFormAttributes(ProcessingObject, "Object");

Andmeedastusobjektid, mille struktuuri määrab arendaja, on väike alamhulk nii kliendis kui ka serveris saadaolevatest tüüpidest. Kõige sagedamini kasutatakse "jämestatud" liidese meetodite parameetrite ja tulemustena järgmist:

  • Primitiivsed tüübid (string, arv, tõeväärtus)
  • Struktuur
  • Kirjavahetus
  • Massiiv
  • Lingid rakendusobjektidele (ainulaadne identifikaator ja tekstiesitus)
Näide: meetod aktsepteerib oleku muutmise korralduste loendit ja tagastab kliendile vigade kirjelduse.
&OnServerWithoutContext Funktsioon ServerChangeOrderStatus(Orders, NewStatus) Errors = Uus vaste(); // [tellimus][vea kirjeldus] Iga tellimuse alusel tellimustest Cycle StartTransaction(); Proovi DocOb = Order.GetObject(); …. muud toimingud, mis on võimalikud mitte ainult tellimusega... Erand CancelTransaction(); Vead.Insert(Tellimus, Veakirjeldus()); EndAttempt; EndCycle; Tagastamise viga; EndFunction // ServerChangeOrderStatus()

Koodi struktureerimine

Peamised eesmärgid, mida hallatava vormi moodul peaks kajastama, ja lähenemisviisid lahendusele.
  • Kliendi ja serveri koodi selge eraldamine.Ärgem unustagem, et täitmise ajal on tegemist kahe vastastikku toimiva protsessiga, millest igaühel on märkimisväärselt erinev saadaolev funktsionaalsus.
  • Kaugjuurdepääsu liidese selge tuvastamine, milliseid serverimeetodeid saab kliendilt välja kutsuda ja milliseid mitte? Kaugliidese meetodite nimed algavad eesliitega "Server". See võimaldab koodi lugemise ajal kohe näha juhtimise üleandmist serverile ja lihtsustab kontekstuaalse abi kasutamist. Pange tähele, et ametlik soovitus (ITS) soovitab nimetada postparandustega meetodeid, näiteks ChangeOrderStatusOnServer(). Kordame aga, et kõiki serverimeetodeid ei saa kliendilt välja kutsuda ja seetõttu on loogiline ligipääsetavus olulisem, mitte kompileerimiskoht. Seetõttu märgime eesliitega "Server" ainult kliendile saadaolevad meetodid, kutsume näidismeetodit ServerChangeOrderStatus().
  • Loetavus. Maitse asi, tellimuse võtame vastu siis, kui moodul algab serveris vormi loomise protseduuride ja kaugjuurdepääsu meetoditega.
  • Hooldatavus. Uue koodi lisamiseks peab olema selge koht. Oluline punkt on see, et konfiguraatori poolt automaatselt loodud meetodimallid lisatakse mooduli lõppu. Kuna vormielementide sündmusekäsitlejad luuakse enamasti automaatselt, siis asub vastav plokk viimasena, et mitte iga töötlejat moodulis teise kohta lohistada.
Allpool on toodud mooduli põhistruktuur, mis rakendab loetletud eesmärke.
  • Graafiline valik – näitab selgelt peamist täitmise voogu.
  • Tekstivalik on malli kujunduse näide struktuuri kiireks lisamiseks uude vormimoodulisse.

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор=""Kuupäev=""/> // <Описание> // // /////////////////////////////////////////////////// ////////////////////////////////////////////////// MOODULI MUUTUJA //////////////////////////////////////////////////// ////////// // SERVERIS //******* SÜNDMUSED SERVERIS ******** &Serveri protseduuril serveris loomisel (tõrge, standardtöötlus) / /Sisestage töötleja sisu Protseduuri lõpp //******* KAUGJUURDE LIIDES ******* //******** ÄRILOOGIKA SERVERIS ******* /////////////////////////////////////////////////// /////// /////////////////////// KLIENDI JA SERVERI ÜHISED MEETODID //////////////// /////// //////////////////////////////////////////// ///// //////// // KLIENDIL //******* ÄRILOOGIKA KLIENDIL ****** //******** MEESKOND * ****** //******** KLIENDI SÜNDMUSED ******* /////////////////////////// ///// ////////////////////////////////////////////// // / / PÕHIPROGRAMMI OPERAATORID

Seotud küsimused
Kokkuvõtteks toome välja mitmed valdkonnad, millele on kasulik mõelda kliendi ja serveri interaktsiooni programmeerimisel.
  • Kaugjuurdepääsu liidese rakendamise valikud. Asünkroonsus, detailsus...
  • Vahemällu salvestamine. 1C tegi ebaõnnestunud arhitektuurse otsuse, võttes vahemällu kasutusele ainult tavaliste moodulite kutsumismeetodite tasemel ega pakkunud juhtimisvõimalusi (asjakohasuse aeg, lähtestamine nõudmisel).
  • Kaudsed serverikõned. Ärge unustage tehnoloogilisi funktsioone; paljud kliendi "kahjutud" toimingud provotseerivad platvormi serveriga ühendust võtma.

Teenuses 1C:Enterprise olevad vormid on loodud kasutajale teabebaasiandmetega interaktiivseks suhtlemiseks. Selle funktsiooni pakkumiseks täidetakse vorm vajalike funktsioonidega.


Vormi funktsionaalsuse määrab selle detailide ja käskude koostis. Vormi üksikasjad on andmed, millega vorm töötab. Vormikäsud on toimingud, mida vorm saab andmetega teha. Kuid see, et käsk on vormil, ei võimalda teil selle funktsioone kasutada. Samuti ei võimalda detailid ise andmeid kuvada ja redigeerida.
Käskude kasutamiseks, detailides salvestatud andmete kuvamiseks ja redigeerimiseks kasutatakse vastavate käskude ja detailidega seotud vormielemente.
Detailidesse laskumata saab käskude, detailide ja vormielementide seoseid kujutada diagrammiga.

Käskude, detailide ja vormielementide vaheline seos

Märkida võib järgmisi vormide põhiomadusi.
Esiteks, uut vormi ei koosta arendaja üksikasjalikult, vaid süsteem koostab selle automaatselt. Arendaja on konfiguratsioonirežiimis:

  • määrab vormi koostise elementide puu kujul
  • kirjeldab vormi käitumist, määrates selle omaduste väärtused ja/või rakendades manustatud keeles protseduure.

Konkreetsele kasutajale liidese loomisel kasutab süsteem seda deklaratiivset kirjeldust vormi loomiseks ja selle elementide paigutamiseks.
Teiseks, vormi loomisel kasutatakse uut mudelit vormielementide ligipääsetavuse ja nähtavuse haldamiseks. See võtab arvesse:

  • õiguste seaded kasutajarollide kaupa
  • vormielementide sõltuvus funktsionaalsetest valikutest
  • vormi kohandamine, mille arendaja teostab rakenduslahenduse konfigureerimise etapis
  • vormi kohandamine, mida kasutaja teostab rakenduslahenduse tööetapis.

Vaikefunktsioonid

Teenuses 1C:Enterprise ei pea te andmeobjektide esitamiseks ja töötlemiseks vorme looma. Sellisel juhul loob süsteem vormide avamise käskude täitmisel automaatselt vajaliku vormi lennult. Loodud vormil on vaikefunktsioonid ja esitlus. Mis määrab vormi esitusviisi ja funktsionaalsuse?
Vormi standardesitluse ja funktsionaalsuse määravad ära hallatava vormi liidese objekt (näiteks vormi sulgemise võimalus) ja vormilaiend (näiteks vormiandmete infobaasi kirjutamise võimalus).
Vormilaiend on täiendavad atribuudid, meetodid, parameetrid ja käsud, mis kuvatakse objektil Form, kui sellele on määratud põhiatribuut.

TÄHELEPANU!
Peamiseks saab valida ainult ühe atribuudi
vormi üksikasjadest.

Oluline on mõista, et:

  • pakutav lisafunktsionaalsus sisaldub objektis Managed Form ehk muutub selle lahutamatuks osaks
  • lisafunktsioonide koostise määrab põhivormi atribuudi tüüp, see tähendab, millist tüüpi andmeid vorm redigeerimiseks on ette nähtud.

Laiendused võivad esineda ka vormielementidel. Nagu vormi enda puhul, määrab ka vormielemendi laienduse koostis, st täiendavad omadused, meetodid jne, atribuudi tüüp, millega element on seotud.
Kui on vaja rakendada mittestandardset andmeesitlust või mittestandardset funktsionaalsust, saab arendaja konfiguraatoris iseseisvalt vormi luua. Vormide loomiseks kasutatakse vormiredaktorit. Seda redaktorit kasutades loob arendaja vormi jaoks vajaliku detailide ja käskude komplekti ning vormielemendid, millega neid kuvatakse.

Vormi käsud

Vormi käskudega tutvumiseks loome Kauba tarbimisdokumendi jaoks veel ühe vormi. Valige selle dokumendi vormide sõlme kontekstimenüüst Lisa.

Alamvormi lisamine


Selle tulemusena avaneb vormikujundaja aken. Valige kujundaja aknas vormi tüüp – Document Form, märkige ruut Assign form as main ja määrake nimeks MainForm. Klõpsake nuppu Lõpeta.

Vormi kujundamise aken

1C8: vormi kujundaja aken

Kujundaja töö tulemusena luuakse dokumendi vorm, mis on määratud peamiseks, st seda kasutatakse vaikimisi dokumendiga töötamiseks. Pärast seda, kui kujundaja on loodud vormi täitnud, avaneb vormiredaktori aken.

Vormiredaktor automaatselt loodud dokumendivormiga


MÄRGE
Vormiredaktoris on peamised vormi üksikasjad paksus kirjas esile tõstetud.

Kui avate kaubatarbimise dokumendi režiimis 1C:Enterprise, siis me näeme, et meie loodud vormi kasutatakse dokumendiga töötamiseks.

Dokumendi “Kauba tarbimine” muutmise vorm


Käskudele juurdepääsu võimaldavad elemendid asuvad käsupaneelides. Meie puhul genereeris süsteem vormikäskude paneeli ja tootetabeli käsupaneeli. Saate valida mis tahes saadaolevatest käskudest vastava käsupaneeli menüüst Kõik toimingud. Käsklustele juurdepääsu kiirendamiseks esitatakse mõned neist (kõige olulisemad või sagedamini kasutatavad) nuppudena otse käsupaneelidel.
Mis “juhib” süsteemi vormimeeskondade koosseisude moodustamisel? Millised meeskonnad peaksid olema vormis? Nendele küsimustele vastamiseks tuleb meeles pidada vormi peamist eesmärki – interaktiivne andmetöötlus. Seetõttu peab vorm sisaldama käske, mis annavad kasutajale võimaluse vormi andmeid töödelda ja ligipääsu töödeldavate andmetega seotud andmetele.

Vormiandmete töötlemiseks - standardsed vormikäsud s

Vorm peab sisaldama käske andmete töötlemiseks ja vormi haldamiseks. Neid võimalusi pakuvad standardsed kohaliku vormi käsud. Vormiredaktoris kuvatakse need vahekaardil Tavalised käsud käsuredaktor.

Standardvormi käsud redaktoris ja liideses

1C8: Standardvormi käsud redaktoris ja liideses

Neid käske pakuvad vorm ja vormilaiend. Vormi pakutavate käskude koostis on standardne ega sõltu vormiandmetest – need on käsud:

  • Viide
  • Muuda vormi...
  • Sulge
  • Salvesta sätted...
  • Taasta seaded...

Laienduse pakutavate käskude koostis sõltub põhivormi atribuudi tüübist. Meie puhul määratakse vormi põhiatribuut Object atribuudile andmetüübiga DocumentObject.ProductConsumption (vt ülaltoodud joonist Sellele andmetüübile vastav laiendus andis käsud):

  • Pühkige ja sulgege
  • Kirjuta üles
  • Lugege uuesti
  • Kopeeri
  • Märgi kustutamiseks
  • Tühista kustutamise märge
  • Kustuta
  • Käitumine
  • Tühistamine.

TÄHELEPANU!
On vaja eristada standardse konfiguratsiooni objektikäske ja standardvormi käske. Esimesi kasutatakse globaalses käsuliideses ja neid pakub konfiguratsiooniobjekt. Viimaseid kasutatakse vormis ja neid pakuvad vorm ise, selle laiend ja tabeli tüüpi vormielementide laiendid.

Vormihaldusalgoritmide väljatöötamise hõlbustamiseks sisaldavad standardvormikäsud järgmisi käske:

  • ei,
  • Tühista,
  • katkestada,
  • Vahele jätma,
  • Korda.

Kui selline käsk vormile lisatakse, siis kui kasutaja selle valib, tehakse järgmised toimingud:

  • Modaalrežiimis avatud vormi puhul vorm suletakse ja tagastatakse valitud käsule vastav väärtus DialogReturnCode.
  • Moodustas režiimis avatud vormi puhul suletakse ainult vorm.

Kui vormielemendid sisaldavad tabeleid, lisatakse standardsetele kohalikele vormikäskudele käsud, et töödelda neis elementides kuvatavaid andmeid. Dokumendi juures Toote tarbimine Seal on tabeliosa, mida vormiandmetes esindab atribuut Tooted. Toodete loendi kuvamiseks vormil kasutage tabelitüübi elementi Tooted. Vormi standardsed kohalikud käsud sisaldavad käske tabeliandmete töötlemiseks - käsuredaktoris sõlme Tooted.

Standardsed tabelikäsud redaktoris ja liideses


Lingitud andmetega töötamiseks - globaalsed parameetritega käsud

Vormiandmete töötlemisel võib tekkida vajadus vaadata töödeldavate andmetega seotud andmeid. See võib olla näiteks kirjete kogum vastastikuste arvelduste registris, mis on allutatud töödeldavale dokumendile või müüdud kaupade hinnaloend vms. Samuti võib osutuda vajalikuks mõningane seotud andmete töötlemine , näiteks sisestage müügidokumendi alusel maksedokument või printige vöötkoodid müüdud kaubad vms.

Juurdepääs lingitud andmetele tagatakse globaalsete parameetritega seadistatavate navigeerimiskäskude abil ja lingitud andmete töötlemine toimub globaalsete parameetritega toimingukäskude abil. Vormiredaktoris kuvatakse need käsuredaktori globaalsete käskude vahekaardil.

Globaalsed parameetrite määratavad käsud redaktoris ja liideses


Neid käske pakub rakenduslahenduse globaalne käsuliides. Vormis saadaolevate käskude koostis sõltub parameetritega käsu parameetri tüübist (vt. "Suvalised käsud"). Need globaalsed parameetritega käsud on saadaval kujul, mille jaoks vormi kontekstis on võimalik saada vajalikku tüüpi parameetriväärtusi.
Käsuredaktoris näidatakse käsu parameetri allikas käsu järel sulgudes. Näiteks müügiregistri loendi avamise käsu puhul on parameeter redigeeritava dokumendi link.
Kui vormil on käsul mitu allikat, siis käsk esitatakse puusõlmena ja allikate loend on esitatud selle sõlme elementidena. Sellise käsu saab lisada vormikäskudesse mis tahes allikaga (või sama käsu mitu eksemplari erinevate allikatega).
Rakenduse funktsionaalsusega töötamiseks – globaalsed sõltumatud käsud Vormiandmete töötlemisel võib osutuda vajalikuks kasutada rakenduse funktsionaalsust, mis ei ole otseselt töödeldavate andmetega seotud.
Näiteks dokumendiandmete töötlemisel peame andmetes tegema otsingu või sisestama uue hinnatüübi. Globaalsed sõltumatud meeskonnad aitavad teil neid toiminguid teha. Vormiredaktoris kuvatakse need käsuredaktori globaalsete käskude vahekaardil.

Globaalsed sõltumatud käsud redaktoris ja liideses


Globaalseid sõltumatuid käske pakub globaalne käsuliides. Käsuredaktoris on globaalsed sõltumatud käsud rühmitatud globaalse käsuliidese osadesse. Käsk on saadaval kõigis globaalse käsuliidese jaotistes, kuhu see on lisatud.

Meetodid meeskonna koosseisu moodustamiseks

Olles tutvunud vormikäskude allikatega, vaatame, milliseid võimalusi süsteem meile vormikäskude koosseisu loomiseks pakub.

MÄRGE
Vormi jaoks on veel üks käskude allikas – arendaja, kes saab vormi jaoks luua suvalisi kohalikke käske. Nendest käskudest räägime veidi hiljem (vt "Kui standardkäsud puuduvad").

Kõige üldisemal juhul on kolm võimalust:

  • automaatne – vormikäskude koostise määrab süsteem täiesti automaatselt
  • kombineeritud – vormikäskude koostise määrab süsteem automaatselt ja arendaja vormiredaktorit kasutades parandab seda
  • manuaal – vormikäskude koostise määrab täielikult arendaja.

Automaatne valik on rakenduslahenduse väljatöötamise seisukohast kiireim ja odavam – süsteem teeb kõike iseseisvalt. Kombinatsioonivõimalus on ilmselt kõige sagedamini kasutatav. Sellise lähenemise korral sekkub arendaja süsteemi töösse ainult siis, kui süsteemi poolt genereeritud käskude komplekt ei paku vormiandmete töötlemiseks vajalikku funktsionaalsust. Valdav enamus juhtudel väljendub sekkumine vormimeeskondade koosseisu lihtsas laiendamises. Manuaalne valik annab maksimaalsed võimalused vormikäskude koostise ja nende paigutuse haldamiseks. See nõuab aga arendajalt märkimisväärset vaevarikast tööd.

Platvorm sisaldab suurt hulka mehhanisme, mis hõlbustavad juurutamisprotsessi ja pakuvad suuremaid võimalusi rakenduslahenduse kohandamiseks. Mida teistes süsteemides tuleb teha programmikoodi lisamise või ümberkirjutamisega, 1C:Enterprise 8-s saab teha mõne hiireklõpsuga. Mõnikord isegi otse kasutajarežiimis. Rakenduslahendust ennast muutmata, selle programmikoodi muutmata.

Rakenduslahendus sisaldab reeglina kõiki täielikuks tööks vajalikke rolle. Konkreetse rakenduse jaoks võivad siiski olla erinõuded. Rakendaja saab nende vajaduste rahuldamiseks luua uusi rolle. Kõige mugavam on seda teha rakenduslahenduses juba olemasolevate rollide kopeerimine ja muutmine.

Sektsioonipaneeli seadistamine

Sektsioonipaneeli koostist saate muuta konfiguraatoris režiimis 1C:Enterprise.

Avalehe seadistamine

Alglehel asuvate vormide koostist saab muuta konfiguraatoris üksikasjadega rollide kaupa või režiimis 1C:Enterprise ühe või mitme kasutaja jaoks eraldi.

Põhisektsiooni käsuliidese seadistamine

Saate muuta konfiguraatori põhijaotises kuvatavate meeskondade koosseisu koos üksikasjadega rollide kaupa.

Sektsioonide käsuliideste seadistamine

Rakenduslahenduse konkreetses jaotises kuvatavate käskude koostist saab konfiguraatoris rollide kaupa üksikasjalikult muuta. Samal ajal on võimalik seadistada nii kõiki sektsioone korraga (redaktor "Kõik alamsüsteemid") kui ka iga sektsiooni eraldi (käsuliidese redaktor).

Vormide seadistamine