Rekvisiidid vormid 1c 8.3. Kontrollitud vormi üksikasjad (1CV8). Andmete edastamine kliendi ja serveri osade vahel hallatava vormi

Ja andmeedastuse objekt koodi struktureerimiseks, \\ t hallatav vorm Keskmises 1c 8.2.

Sissejuhatus

Alustame kerge kirjelduse mõiste "hallatav vorm" ja nendega seotud mõistete mõisted 1c platvormi. Platvormi märgid võivad selle sektsiooni vahele jätta.

2008. aastal sai see kättesaadavaks uus versioon 1C Platformid: Enterprise 8.2 (edaspidi "taotlus"), mis muudab täielikult kogu liidesega töötamise kihti. See hõlmab käsuliidese ja vormide ja vormide ja akende süsteem. Samal ajal ei muuda arengumudelit mitte ainult arengumudelit kasutajaliidese Konfiguratsioonis pakutakse välja ka kliendirakenduse ja serveri funktsionaalsuse funktsionaalsuse uus arhitektuur.
Kontrollitud taotlus toetab järgmisi kliente:

  • Paks klient (tavaline ja hallatav käivitamisrežiim)
  • Slim klient
  • Veebi klient.
Juhtimisrakendus kasutab ehitatud vorme uus tehnoloogia. Neid kutsutakse Kontrollitud vormid. Samade vormide ülemineku hõlbustamiseks (nn, tavalised vormid) on toetatud, kuid nende funktsionaalsust ei ole arenenud ja need on saadaval ainult paksu kliendi käivitamise režiimis.
Arendaja juhtimisvormide peamised erinevused:
  • Deklaratiivne, mitte "pikslite" kirjeldus struktuuri kirjeldus. Elementide spetsiifiline paigutus teostab süsteem automaatselt, kui vorm kuvatakse.
  • Kõik vormi formaalsus kirjeldatakse kujul rekvisiidid ja käsud. Detailid on andmed, millega vorm toimib ja käsud tehakse.
  • Vormi teostatakse serveris ja kliendil.
  • Kliendi kontekstis ei ole peaaegu kõik saadaval rakendatavad tüübidJa vastavalt sellele ei ole võimalik teabebaasi andmeid muuta.
  • Iga meetodi või muutuva vormi puhul tuleb täpsustada koostamise direktiivMääratlemine, töökoht (klient või server) ja juurdepääsu vormi kontekstile.
Me loetleme vormi meetodite koostamise direktiivide:
  • & Svaltette
  • & Serveris
  • & MetrosterebeteText.
  • & SvalieenteservEbereteheteText.
Me illustreerivad ülaltoodud. Screenshot näide hallatava vormi ja selle mooduli arendusrežiimis. Leia deklaratiivne kirjeldus, üksikasjad, koostamise direktiivid jne

Kõik täiendavad põhjendused on illustreerimise paremal küljel, kuidas mooduli koodi struktureerida ja millised põhimõtted võimaldavad rakendada tõhusat kliendiserveri interaktsiooni.

Tähistage probleemi

Juba mitu aastat on möödunud uue versioonina 1c platvormi, erinevaid lahendusi (konfiguratsioone) kui firma 1c ja selle arvukad partnerid aktiivselt kasutatakse ja välja antud.
Selle aja jooksul on arendajad vormide loomisel kliendi-serveri interaktsiooni põhimõtete mõistmine ja kas rakendamise lähenemisviis on muutunud tarkvara moodulid Uues arhitektuuri tegelikkus?

Kaaluge koodistruktuuri (vormi moodul) mitmes vormis ühe tüüpilise konfiguratsiooni ja proovige leida mustreid.
Struktuuri all mõistame koodide osad (enamasti need on kommentaaride plokid), mis on nende meetodite rühmituse ja nende meetodite koostamise direktiivi jaoks eraldatud.
Näide 1:
Sündmuste protsessori sektsiooni meetod - libisemismeetod - Nasserver meetod - täieliku tööprotseduuride ja funktsioonide täieliku osa
Näide 2:
Teenuse protseduurid ja funktsioonid Maksedokumendid Väärtused Sündmuse käitlejad
Näide 3:
Teenuse kord server teenuse protseduuride kliendile. Server protseduurid serveris ilma kontekstijuhtumi käitlejad Caps sündmuste käitlejad
Näide 4:
Üldotstarbelised protseduurid Sündmuste käitlejate menetluse kord "Kontaktandmed"
Tegelikult puudub koodi struktuur või kergelt, see on sarnane vormide puhul 8.1:

  • Mitte-informatiivsed sõnad "Üldine, teenus, abiteenistus".
  • Tugev katse jagada kliendi ja serveri meetodeid.
  • Sageli rühmitatakse meetodid liidese elementide järgi "Töö tabeliosa Kaubad, kontaktandmed.
  • Meetodite ja koodirühmade meelevaldne asukoht. Näiteks sündmuse käitlejad võivad olla ühes vormis ülaosas, teises allpool, neid ei rõhutata kolmandas jne.
  • Ja ärgem unustagem, et see kõik on samasse konfiguratsioonis.
  • Jah, konfiguratsioone, kus sõnad "Üldine teenus, abiteenistus" on alati samadel kohtadel, kuid ...
Miks ma vajan koodistruktuuri?
  • Lihtsustamine.
  • Lihtsustage õppimist.
  • Üldiste / oluliste / edukate põhimõtete fikseerimine.
  • ... Teie valik
Miks ei aita olemasoleva arengustandard 1C-st?
Me vaatame oma ja mitmesuguseid arendajavalimise ... põhimõtteid soovitatakse hallatava vormi kirjutamisel.
  • Minimeerida serverite arvu.
  • Maksimaalne arvutamine serveris.
  • Serveri mitte-tumedad väljakutsed on kiirem kui kontekst.
  • Programm vastavalt kliendi-serveri interaktsioonile.
  • jne.
Need on loosungid, absoluutselt ustavad, kuid kuidas neid rakendada? Kuidas minimeerida kõnede arvu, mida programm tähendab kliendi-serveri režiimis?

Disainimallid või tarkuse põlvkonnad

Kliendi-serveri interaktsiooni kasutatakse mitmesugustes tarkvaratehnoloogiates rohkem kui kümme aastat. Vastus eelmises osas märgitud küsimustele on juba ammu teada ja kokku võetud kahes põhimõtetes.
  • Remote fassaad (edaspidi liides kaugjuurdepääs)
  • Andmete edastamise objekt (Järgmine, andmeedastuse objekt)
Sõna Martin Fowler, selle põhimõtete kirjeldus:
  • iga objekt, mis on potentsiaalselt ette nähtud kaugjuurdepääsu jaoks, peab olema madal detailliidesSee võimaldab maksimaalset vähendada konkreetse menetluse tegemiseks vajalike kõnede arvu. ... Selle asemel, et küsida skoori ja kõiki selle esemeid eraldi, peate lugema ja uuendama kõiki konto üksusi ühe kaebuse kohta. See mõjutab kogu objekti struktuuri. ... Pea meeles: kaugjuurdepääsu liides ei sisalda domeeni loogikat.
  • ... kui ma olin hooliv ema, tahaksin kindlasti öelda oma lapsele: "Ära kunagi kirjuta andmeedastusobjekte!" Enamikul juhtudel ei ole andmeedastusobjektid enam kui täispuhutavad väljade komplekt ... selle vastik koletis väärtus seisneb eranditult võimalusest mitmed infoelemendid ühes kõne üle võrgu - vastuvõtt, mis on jaotatud süsteemide jaoks väga oluline.
Näited 1C platvormi mallide näited
Rakendatud programmi liides Kättesaadav arendaja arengus hallatava vormi sisaldab palju näiteid nende põhimõtete.
Näiteks avatud meetodil (), tüüpiline "rullitud" liidese.
Parameetrid / parameeter \u003d uus struktuur ("parameeter1, parameeter2, parameeter3", väärtus1, väärtus2, väärtus3); Vorm \u003d avatud vorm (nimi, parameetritööd);
Võrdle V8.1 vastuvõetud stiiliga.
Vorm \u003d valikuline (nimi); Vorm. Parameeter1 \u003d väärtus1; Vorm. Parameter2 \u003d väärtus2; Vorm. Avatud ();

Hallatud vormi kontekstis on palju "andmeedastuse objektid". Saate esile tõsta süsteemne ja arendaja määratletud arendaja.
Süsteemid simuleeritakse taotluse objekti kliendil ühe või mitme elemendi vormis. Neid on võimatu luua vormi üksikasjadega sidumisest välja.

  • Produtseerimine
  • Dokumentatsiooni kogumine
  • Propeflight Struktuuri struktuur
  • Patformidevo
Süsteemi andmete edastamise objektide konverteerimine rakendatavate tüüpide ja tagasi viivad meetodite abil:
  • ValiDerwandenforms ()
  • NõudedVassion ()
  • Copydanforms ()
  • Hindarerevisitforms ()
  • Rekvisformadrification ()
Sageli kasutatakse selgesõnalise konversiooni kohandamisel olemasolev lahendus. Meetodeid võib eeldada (kasutage funktsioone) sisendparameetreid, näiteks tabelid, mitte andmete kogumine või meetod on määratletud rakendusobjekti kontekstis ja on muutunud kättesaadavaks otsese kõne kujul.
Näide 1c v8.1:
// kliendil fileede vormi kontekstis, kasutajad (alajagu)
Näide 1c v8.2:
// serveris vormi töötlemise objekti kontekstis \u003d rekvisformading ("objekt"); Töötlemine. Nõude kasutajad (alajaotus); Hiljutiteenused (töötlemine "objekt");

Andmeedastusobjektid, mille struktuur on arendaja poolt määratletud, on väike kättesaadavate ja klientide ja serveri tüüpide alamhulk. Kõige sagedamini kasutatakse "jäme" liidese meetodite parameetreid ja tulemusi:

  • Primitiivsed tüübid (string, number, boolean)
  • Struktuur
  • Vastavus
  • Massiiv
  • Lingid rakendatud objektidele (ainulaadne tunnus ja teksti esitlus)
Näide: Meetod võtab vastu tellimuste loendi, et muuta staatuse muutmiseks ja kliendile naaseb vigade kirjeldust.
& Croisterteetekrust Serveri funktsioon on server (tellimused, NewStatus) vead \u003d uus vastavus (); // [ORDER] [Viga kirjeldus] Iga tellimuste tsükli tellimuse käivitamine Translasssage () käivitamine; Proovige dokkida \u003d tellimus. Ettevalmistatud objekt (); .... Muud meetmed, võib-olla mitte ainult tellimusega ... Erand Tühistamisest tehingu tühistamisest (); Vead. Sisesta (tellimus, kirjeldused ()); Pidustused; Endcatcle; Tagasimakseviga; Endfunktsioon // ServerinmarkStaTusacases ()

Koodi struping

Peamised eesmärgid, mis peaksid kajastama mooduli hallatava vormi ja lähenemisviisi lahendus.
  • Kliendi ja serveri koodi selge eraldamine. Me ei unusta täitmise ajal, et need on kaks suhtlemisprotsessi, millest igaüks on oluliselt erinev.
  • Kaugjuurdepääsu liidese selge jaotus, mida serverimeetodeid saab kliendilt helistada ja mida te ei saa? Kaugliidese meetodite nimed algavad "serveri" eesliitega. See võimaldab teil lugeda koodi, et näha serverisse ülekandekontrolli kohe ja lihtsustab kontekstuaalse kiire kasutamist. Tuleb märkida, et ametlik soovitus (selle) teeb ettepaneku suunata näiteks postfikside meetodid, näiteks muudab pileti serverisse (). Kuid te ei saa korrata kõiki serverimeetodeid saab kliendilt helistada ja seetõttu on loogiline kättesaadavus tähtsam ja mitte koostamise koht. Seetõttu tähistab "server" eesliide ainult kliendile kättesaadavad meetodid, näiteks ServersmanshipTatuszazazazazazazazazazzzazazzzazzzz
  • Loetavus. Maitse on, me aktsepteerime protseduuri, kui moodul algab serveri ja kaugjuurdepääsu meetodite moodustumisprotseduuridega.
  • Lisatud. Peab olema kindlasti määratletud koht uue koodi lisamiseks. Oluline punkt, mis on automaatselt loodud meetodi meetodiga, meetodid lisatakse mooduli lõppu. Kuna enamasti on sündmuste käitlejad automaatselt loodud, asub vastav plokk viimase mitte iga käitleja lohistada teise mooduli asukohta.
Allpool on mooduli põhistruktuur, mis rakendab loetletud objekte.
  • Graafiline valik - näitab selgelt peamist täitmisvoogu.
  • Teksti valik on näide malli disainist kiire sisestamise struktuuri uue vormi mooduli jaoks.

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор=""Kuupäev \u003d""/> // <Описание> // // ////////////////////////////////////////////// // // //////////////// // // muutujad mooduli ////////////////// //////// ////////////////////////////////////// // ////////// //// // serveris // ******* sündmused serveris ******* & NASTERER Menetlus (jätmine, standardworking) // Insert sisu käitleja Extrudresses // * ****** liides kaugjuurdepääsu ******* // ******* äriloogika serveri ******* ///////// ///// ///////////////////////////////////////// // /////// ////////// // // Üldised meetodid on kliendi ja serveri //////////////////// // /////// /////////////////////////////////////// // //////// / / kliendi // ******* äriloogika kliendi ******* // ******* võistkonnad ******* // ****** * Sündmused kliendi ******* ////////////////////////// // ////////// //////////////////////////////////// // / Põhiprogrammi operaatorid

Seotud küsimused
Kokkuvõttes tähistame mitmeid juhiseid, et see on kasulik mõelda kliendi-serveri interaktsiooni programmeerimisele.
  • Kaugjuurdepääsu liidese rakendamise võimalused. Asünkroonia, detailide aste ...
  • Vahemällu. 1C vastu ebaõnnestunud arhitektuurilahendus, kehtestades vahemälu ainult üldiste moodulite helistamismeetodite tasemel ja ilma juhtimisvõimalusteta (asjakohasus aeg, nõudluse lähtestamine).
  • Kaudsete serverite kõned. Ära unusta tehnoloogilisi funktsioone, paljud "ohutud" operatsioonid kliendi provotseerida platvormi juurdepääsu server.

Kasutaja viiteraamatute ja dokumentidega 1C koosneb väljade täitmisest kujul.

Detailid 1C on kataloog ja dokumendi väljad, mis kuvatakse vormis, nii et kasutaja neile täitis.

Kaaluge üksikasjalikult üksikasjalikult üksikasju 1C-s.

Mis on 1c üksikasju

Iga võrdlusraamat ja dokument 1c koosneb väljade komplektist. Selliseid väljad nimetatakse 1C detailideks (1C programmeerija jaoks).

Konfigurvalis, 1c konfigureerimispuudes laiendage ühtegi kataloogi või dokumenti ja näete üksikasjade haru. See on kataloogi üksikasjade (väljade) loetelu.

Vaade sama detailidena 1C Vaadake 1C viiteraamatu vormi.

Iga 1c vara on omadused, mis näitavad, millist väärtust on salvestatud prop. (String, number jne) ja kuidas kasutaja sellega töötab.

Paremklõpsake mis tahes rekvisiitidel 1c ja klõpsake nuppu Properties. Valitud rekvisiidide omaduste loetelu avaneb õiges aknas.

1C detailide peamised omadused:

Standard üksikasjad 1c.

Nagu te märkate, on olemas 1c detailid kujul kataloogi, mis ei ole loetletud konfiguraatoris: grupp, nimi, bik.

Volitusraamatu nimekirja kujul on ka üksikasjad 1c üksikasjad, mis ei ole loetletud: eemaldamismärk.

Need on standard detailid 1c. Mis see on? Igaühel on vaikimisi detailide komplekt 1C. Võrdlusraamatute puhul - näiteks kood ja nimi. Dokumendid See on kuupäev ja number.

Standardseid üksikasju 1c saab vaadelda järgmiselt:

  • Mine 1C objekti redigeerijale (kataloog või dokument), klõpsates sellele kaks korda hiirega
  • Avanevas aknas valige vahekaart Andmete
  • Siin saate konfigureerida standard üksikasju koodi ja viitenime
  • Täieliku loendi vaatamiseks klõpsake nuppu Standard Details 1c.

Üldised andmed 1c.

Alates versioonist 1c 8.2.14 1C uue objekti 1c ilmus - üldteada 1c. Kasutades seda, saate lisada rekvisiidid (välja), mis viibivad kohe mitmesugustes võrdlusraamatutes ja dokumentides.

Kokku detailide omadused 1c:

  • Automaatne kasutamine - lisab kokku 1C rekvisiidid kõigile viiteraamatud ja dokumentidele
  • Kompositsioon - võimaldab teil lisada 1C-de üksikasjad ainult vajalikele viide raamatutele ja dokumentidele (automaatne kasutamine, siis mitte kasutada väärtust).

Kuidas lisada vajalikku 1c

Paremklõpsake soovitud kataloogi harule ja valige Lisa.

Tutvustame nime 1c rekvisiidid, näiteks "sõltuvus" ja sünonüüm kontoris ". Tüüp Lahkuma vaikimisi rida, kuid panna puuk piiramatu pikkus.

Lisame veel ühe rekvisiit 1c samal viisil, lihtsalt vali Boole'i \u200b\u200btüüp, kutsume seda "töötab".

Kuidas tuletada rekvisiidid vormil 1C (paks klient 1c)

Me avaldame sama raamatu vormi filiaali. Vormi avamiseks valige objekti vorm ja vajutage seda kaks korda hiirega.

Tõmmake hiir vormi serva üle ja venitage see (valikuline element).

Konfigureerija paneelil klõpsake nuppu "Andmete paigutus". Võite kasutada menüü / paigutuse menüü.

Näete - meie vormi üksikasju ei ole kasvatatud. Paigaldage märkeruut neile. Ja ka puugid sisestada kirjed ja asetage automaatselt.

Kuidas tuletada rekvisiidid vormil 1C (peene kliendi 1c)

Me avaldame sama raamatu vormi filiaali. Valige elemendi vorm ja vajutage seda kaks korda hiirega.

Vajalikes tabis avas rekvisiitide objekti. Te näete kataloogi varem lisatud detailide loendit.

Nüüd lihtsalt lohistage paremast aknast vasakult paremale rekvisiitidele ja see ilmub vormis.

Rekvisiidid vormid 1c.

Tolstaya kliendis on vormil oma rekvisiidid. Nad on vahekaardil Details.

Neid üksikasju ei salvestata andmebaasis, kuid neid saab kasutada vormis, mis on vajaliku töötamiseks vajalike väljade kujul.

Näiteks lisasite märgi. Kui seda kujul vajutatakse, juhtub midagi. Kontrolli kaubamärgi väärtus ei ole oluline (seda ei ole vaja kirjutada) - seda kasutatakse ainult vormi väljalülitamiseks. Sel juhul, kui andmed, te ei kasuta kataloogi vajalikku vajadust, vaid vormi rekvisiidid.

Perioodilised andmed 1c.

1C versioonis 7.7 olid perioodilised detailid. Nende tähendus on: rekvisiidide väärtus on erinevates kuupäevades erinev. Näiteks väärtus 1. septembril on üks ja 1. oktoobril - teine. Samal nõuta.

1C 8 perioodiliste detailide nr. Seda rakendatakse järgmiselt:

Vormi rekvisiidid

Vormi üksikasjade kogum kirjeldab kuvatavate andmete koostist redigeeritakse või salvestatakse kujul. Samal ajal ei anna vormi üksikasjad ise andmeid andmete kuvamiseks ja muutmiseks. Vormi elemendid (vt selle peatüki "vormi" elementide osa), mis on seotud vormi üksikasjadega, mida kuvatakse ja redigeerida. Kõikide vormide üksikasjade kombinatsioon kutsutakse kujul.

Oluline! Tuleb meeles pidada, et erinevalt tavapärastest vormidest tuleb kõiki hallatava vormi andmeid kirjeldada detailide kujul. See ei ole lubatud kasutada muutujaid mooduli vormi andmeallikana kujul elemente.

On võimalus määrata Vormi peamised rekvisosed, s.t. rekvisiidis vajalikud, mis määravad vormi standardse formaalsuse (vormi laiendamine). Tuleb meeles pidada, et vormi peamised rekvisiidid võivad olla ainult üks.

Vormi laiendamine - Need on täiendavad omadused, meetodid ja parameetrid objekti kujul objekti objekti iseloomulik objekti, mis on peamine element vormi.

Vormi väljatöötamisel on võimalik selgelt määrata vormi spetsiifiliste üksikasjade vaatamise ja redigeerimise võimalus rollide kontekstis, kasutades eelvaate ja redigeerimise omadusi (siin, vaadake "Roll-Tuning vorm" Pea "toimetajate" osa). Lisaks saab kõige vormi konkreetsete detailide kättesaadavust konfigureerida funktsionaalsete valikute abil (rohkem funktsionaalseid võimalusi saab vaadelda peatükis "konfiguratsiooniliidese juhtimine").

Kinnisvaravorm Salvestatud andmed See on märk sellest, et rekvisioonide interaktiivne muutus toob kaasa katse blokeerida nende vormide redigeerimiseks ning modifitseeritud vormi automaatse seadistamise korral.

Haldatud kujul kättesaadavad andmetüübid

Haldatud vorm erineb tavalisest vormist ja nende andmete liigid, millega ta toimib. Kui tavaline vorm töötab enamiku tüüpidega, mis pakub 1c: ettevõte (sealhulgas võrdlusraamatud tüübi, dokumendiobjekti jne), siis võib hallatava kujul eristada järgmisi tüübi kategooriaid:

  • vormis otseselt kasutatavad tüübid on need tüübid, mis eksisteerivad trahvi ja veebi kliendi küljel (näiteks number, kataloog. Reloars, Graphicksham, puit);
  • tüübid, mis konverteeritakse spetsiaalseteks andmetüübiks - kontrollitava vormi andmetüübid. Sellised tüübid kuvatakse vormi detailide loendis Sulgudes (viide broneerimisel);
  • dünaamiline nimekiri (lisateabe saamiseks vaadake selle grupi "dünaamilist nimekirja").

Teisenda rakendusobjektid andmete moodustamiseks

Mõned rakendused tüübid (näiteks kataloogi viide jne) ei eksisteeri õhukeste ja veebi klientide küljel (üksikasju vt peatükki "Mõiste hallatava taotluse"). Seetõttu kantakse selliste rakenduste kujul selliste taotluste kujul, kantakse spetsiaalsed andmed, mis on kavandatud hallatavates vormides töötama. Hallatava rakenduse selles tunnuses põhjustab vajadust täita rakendusobjektide konverteerimise vormi andmetele (ja tagasi).

Kasutatakse järgmisi andmeliike:

  • Procenterance - sisaldab suvalise tüüpi omadusi. Omadused võivad olla ka teised struktuurid, kogud või struktuurid kogudega. Selline tüüp tundub olevat näiteks kataloogi kujul.
  • Dokumentatsiooni kogumine on massiivi sarnane trükitud väärtuste loend. Juurdepääs kogumisseadmele viiakse läbi indeks või identifikaatoriga. Juurdepääs identifikaatoriga võib mõnel juhul puududa. See on tingitud rakendatud objekti tüübist, mida esindab see kollektsioon. Identifikaator võib olla mis tahes täisarv. See tüüp tundub olevat näiteks tabelina kujul.
  • Struktuuri test on objekt, mis on esindatud struktuuri ja kogumisena samal ajal. Te võite temaga ühendust võtta kui mõni neist üksustest. See tüüp tundub olevat näiteks dokumentide vormis.
  • Patformandevo - objekt, mis on ette nähtud hierarhiliste andmete säilitamiseks.

Taotluse objekti esindab kas üks või mitu vormi andmete elementi. Üldiselt sõltub nende vormide hierarhia ja koosseis kontrollitud vormi rakendusobjektide keerukusest ja seos.

Näiteks esindab tabeli osa sisaldavat dokumenti struktuuri tüübi (tegelikult dokumendi) objekti objektiga, mille suhtes kohaldatakse objekti informatiivse moodustamise tüübi (dokumendi tabeli osa) objektiks.

Oluline! Konfiguratsiooni arendamise ajal on oluline meeles pidada, et rakenduse objektid on saadaval ainult serveris, samas kui vormiandmete objektid saab kasutada serveris ja kliendil.

Andmete edastamine kliendi ja serveri osade vahel hallatava vormi

Tegelikult võib öelda, et vormi andmed on nende erinevate rakendusobjektide ühtne esitlus, millega vorm töötab ühtlaselt ja mis on olemas ka serveris ja kliendil. See tähendab, et vorm sisaldab mõningaid rakendusobjektide andmete andmeid oma andmete tüübid ja teostab nende vahelist ümberkujundamist. Siiski, kui konfiguratsiooni arendaja rakendab oma andmetöötlus algoritmi, andmete ümberkujundamine (spetsialiseeritud tüüpi rakendatud ja tagasi) see tuleb teostada iseseisvalt.

Kui muudate üksikasjad vormi spetsialiseerunud toimetaja (üksikasju vt "Üksikasjad" osa peatüki "toimetus") on võimalik mõjutada andmevahetust kliendi ja serveri ajal vormis tööd. See toimib nõutava redaktori veergu. Kasutage alati. Selle vara tegevus varieerub kolme tüüpi üksikasju:

  • Dünaamilise loendi allutatud rekvisiidide jaoks (dünaamiline nimekiri veerg):
    • kinnisvara on lubatud - rekvisiidid loetakse andmebaasist alati ja see kuulub nendesse vormidesse;
    • omadused on välja lülitatud - rekvisiidid loetakse andmebaasist ja see kuulub nendesse vormidesse ainult siis, kui kujul on nähtav element, mis on seotud rekvisioonide või selle alluvusega.
  • Rektorite puhul, allutatud liikumiste kogumine:
    • kinnisvara on lubatud - dokumendi liikumine loetakse andmebaasist ja esitatakse kujul kujul;
    • kinnisvara on välja lülitatud - dokumendi liikumist ei loeta andmebaasist ja ei kuulu vormi andmetesse (kui dokumendi liikumisele ei viidatud kuju elementi).
  • Ülejäänud vormi üksikasjad:
    • vara on võimaldanud - rekvisiite need esinevad need vormid, sõltumata sellest, kas vähemalt üks element kuju, mida seostatakse nõutava või selle allüksused requisites;
    • omadused on välja lülitatud - rekvisiidid esinevad nendes kujul ainult siis, kui on olemas element kujul, mis on seotud rekvisioonide või selle alluva nõutava vormi. Erinevalt dünaamilise nimekirja üksikasjadest ei mängi see rekvisostega seotud elemendi nähtavuse rolli.

Märge. Tuleb meeles pidada, et vaneminformatsioonis paigaldatud vara kehtib kõigi alluvate üksikasjade jaoks. Näiteks kui kasutada vara alati tabelist eemaldada dokumendi osa, süsteem on veendunud, et see vara on eemaldatud kõik alluvate üksikasjad (vaatamata tegelikule seisundile vara).

Meetodid nende vormide jaoks nende vormide andmete muutmiseks

Konverteerida rakendatud esemeid vormi andmete ja selja on komplekt globaalsete meetodite:

  • Tähendusrendanephors (),
  • NõudaVassion (),
  • Copydanforms ().

Oluline! Rakendusobjektidega töötavad meetodid on saadaval ainult serverimenetlustes. Vormide andmete kopeerimise meetod on saadaval serveris ja kliendil, kuna see ei nõua rakendusobjekte parameetritena.

Rakendatava vormi andmete muutmise käigus tuleks arvesse võtta nende kokkusobivust.

  • Tähendusrendatinforms () - teisendab taotluse tüübi objekti moodustamiseks andmeid;
  • Väites () - teisendab vormi andmed rakenduskava objektile;
  • Copydanforms () - nende kuju kopeerimine ühilduva struktuuriga. Tagastab tõe väärtuse, kui kopeerimine on valmistatud või vale, kui objektide struktuur on kokkusobimatu.

Märge. Standardite toimingute tegemisel (vormi avamine, täitke standardne käsk, et salvestada jne) põhiteadete vormid viiakse läbi ümberkujundamine automaatselt.

Andke meile näide, kuidas kasutada oma algoritme andmete ümberkujundamist.

& Nasterseri menetluse protseduur (ebaõnnestumine, standard töötlemine)

Objektid \u003d viited. Taskamised. Lihtne (kohvimain "). Saate (); Tähendusrendaaniformsed (objekti objekt, objekt);

Ekstruderessees

& Custom Process Record ()

Salvestage server ();

Ekstruderessees

& Nasserver Menetlus Kirjutage Aserver ()

Objektiivovar \u003d repreformatsioonid (objekt, tüüp (viide broneerimine. Pöörde ")); Objekti projekt ();

Ekstruderessees

Samuti on objektihalduril serveris saadaval olevad meetodid:

  • Sign-Sequentrentlyrevisitforms () - täidab rakendatud tüüpi objekti konverteerimist määratud vormi rekvisiididele.
  • RekvisitFormavdiction () - teisendab vormi andmete rekvisiidid rakenduste tüübi objektiks.

Nende meetodite kasutamine on tavaliselt mugavam, nagu neil on näiteks teave vormi rekvisiitide tüübi kohta. Lisaks teostab vajalikud suhted () meetod () vormi andmete ja objekti kirjavahetuse seadistamise, mida kasutatakse sõnumite moodustamisel. Selle kohta saate selle kohta rohkem lugeda peatükis "Navigeerimise teenuse omadused".

Me anname näide nende meetodite kasutamisest.

& Nasserver Menetlus arvutada server ()

// teisendab rekvisobjekti rakenduse objekti. Dokument \u003d rekvistraftforms ("objekt"); // täidab dokumendi moodulis määratletud meetodi ümberarvutamist. Dokument. Tehke (); // teisendab rakendatud objekti tagasi rekvisioonidele. Hiljutiteenused (dokument "objekt");

Ekstruderessees

Programmi liides

Patformandevo (formdatatree)

  • Findbyid Findbyid
  • Valikud (gettetemid)

Kirjeldus:

Mõeldud selleks, et muuta puude kontrollitava kujul puu.

Seda objekti saab Serileerida XDTO-st. Sellele objektile vastav XDTo tüüp on määratletud nimeruumis. XDTO tüüpi nimi:

Valikud (gettetemid)

Süntaks:

Valikuline ()

Tagasi väärtus:

Tüüp: Power kogud elektrohenidev.

Kirjeldus:

Saab kogumik elemente tipptasemel puu.

Tarneaeg: Klient, server, Slim klient, veebi klient.

Findbyid Findbyid

Süntaks:

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

Parameetrid:

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

Tüüp: number. Puuelemendi identifikaator.

Tagasi väärtus:

Tüüp: Paramelferererv.

Kirjeldus:

Saab kogumise element identifikaatoriga.

Tarneaeg: Klient, server, Slim klient, veebi klient.

EATATATREITEM (FORMDATTREITEM)

Omadused:

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

  • GetID Gotid
  • Getparent)
  • Valikud (gettetemid)
  • Kinnisvara (vara)

Kirjeldus:

Puudeandmete kujutis.

Eatatatreeitemcollection (formdatatreeitemcollection)

Kollektsiooni elemendid: söömataAnerev

Sest rajatise jaoks on saadaval iga bypassi kogumine operaatori poolt iga ... tsükli järgi. Kui valitakse kogumise elemendid. Operaatori kogumismenetlusele on võimalik pöörduda [...]. Elemendi indeks edastatakse argumendina.

  • Sisestage)
  • Lisa (lisa)
  • Indeks (indeksof)
  • Kogus (arv)
  • Selge (selge)
  • Saada (saada)
  • Vahetus
  • Kustutama

Kirjeldus:

Puidust elementide kogumine.

Tarneaeg: Klient, server, Slim klient, veebi klient.

Vaata ka:

  • Esmane element, valikuline meetod
  • Patformandevo, Operation meetod

Puu väärtustega töötavad funktsioonid

Puu värskendus

On probleem sügis Puude uuendamisel platvormid.

Kui mõni sõlme on puu paigutatud ja orja sõlme on valitud, siis puude funktsiooni värskendamisel ValiDerwandenforms Platvorm langeb.

Lahendus: Enne värskendust peate puu puhastada.

Näiteks:

& Nasserver protseduuri puhastaja (elemendid) iga elemendi kohta Cleatheelder tsüklielementidest (element. Valamismenetlused ()); Endcatcle; Elemendid. Töötamine (); Ekstruderessees

Ja maapealne protseduur lõpetamise () mõõtmine \u003d klassid \u003d gradatsioon Selgeolek (puidust. Focus elemendid ()); Tähendusrendaaniformsed (ripponsium, puidust); Ekstruderessees

Ja kaebuste esitamise kord (element) filee (); Ekstruderessees

Vorme 1c: Ettevõte on mõeldud andmebaasis sisalduva teabe kuvamiseks ja muutmiseks. Vormid võivad kuuluda konkreetsetesse konfiguratsioonobjektidesse või eksisteerivad nendest eraldi ja kasutavad kõik rakendatud otsus tervikuna.

Näiteks viide raamat Nomenklatuur Sellel võib olla mitu vormi, mida kasutatakse teatud eesmärkidel - kataloogielemendi redigeerimine, kuvamise ekraan jne.

Koos sellega võib esineda ühiseid vorme, mis ei kuulu konkreetsetele konfiguratsioonobjektidele - ühised vormid.

Põhivormid

Iga konfiguratsiooniobjekti saab kasutada mõningate standardsete toimingute tegemiseks. Näiteks mis tahes võrdlusraamatu puhul peate näitama oma esemete loendit, kuvatakse võrdlusraamatu eraldi elemente, kuvage kataloogi grupp, valige kataloogi elemendid ja elementide rühmad. Iga dokumendi puhul on selliste meetmete loetelu palju vähem: dokumentide loendi vaatamine dokumentide loendist valik ja eraldi dokumenti.

Tagamaks, et sellised standardmeetmed täidetakse andmete objektidega, igaühe jaoks on olemas asjakohased meetmete täitmisel kasutatavad põhilised vormid. Peamiseks saab määrata ühele selle objektile alluvad vormid. Näiteks kataloogis Nomenklatuurjärgmised põhivormid võivad esineda:

Ja dokument Kaupade ja teenuste sissepääspõhivormide koosseis on erinev:

Seega, kui kasutaja soovib kontrollraamatu nimekirja näha Nomenklatuur või dokumendi nimekiri Kaupade ja teenuste sissepääsSüsteem avab nende objektide loendivormina määratud vormi.

Automaatne loodud vormid

1C süsteemi oluline omadus: Enterprise 8 on autoga genereeritud vormide mehhanism. See mehhanism vabastab arendaja vajadusest luua kõik võimalikud vormid iga konfiguratsioonobjekti jaoks. Arendaja on piisav uue konfiguratsioonobjekti lisamiseks ja süsteem ise tekitab vajalikud vormid, et kuvada selles objektis sisalduv teave kasutaja operatsiooni soovitud hetkedele.

Seega peab arendaja looma oma rakenduste esemeid ainult siis, kui neil peaks olema süsteemi poolt automaatselt genereeritud vormidest erinevused (teine \u200b\u200bdisain või konkreetne käitumine).

Kommunikatsioonivorm andmetega

Ühe või teise konfiguratsioonobjekti vormi kuulumine ei määra kujul kuvatavat andmekogumist. Asjaolu, et vorm kuulub näiteks kataloogi NomenklatuurVõimaldab määrata selle ühe põhivormide jaoks selle võrdlusraamatu jaoks, kuid ei määra kindlaks, millised andmed selle vormi kuvatakse ja milline on selle käitumine.

Andmete vormi seostamiseks kasutatakse vormi üksikasju, milles on määratletud vormi poolt kuvatavate andmete loend. Kõik vormid ise on sama käitumine, olenemata sellest, milliseid andmeid nad näitavad. Kuid üks vormi üksikasju saab nimetada selle peamiseks (see on esile tõstetud julgetes) ja sel juhul täiendab vormi ja selle omaduste standardkäitumist sõltuvalt sellest, millist tüüpi on peamised rekvisiidid Vorm:

Näiteks kui dokumendi määratakse vormi põhitekstidena Kaupade ja teenuste sissepääsVormi sulgemisel taotlete süsteemi salvestamise ja selle dokumendi läbiviimise kinnitust. Kui vormi määramise peamised üksikasjad, ütleme, võrdlusraamat Nomenklatuur, siis ei esine sellist vormi sulgemise taotlust vormi sulgemisel.

Vormi struktuur

Vormide peamine omadus on see, et arendaja ei ole üksikasjalikult joonistatud "pikslitel". Konfiguratsiooni vorm on vormi koostise loogiline vorm. Ja elementide spetsiifiline paigutamine teostab süsteem automaatselt, kui vorm kuvatakse.

Vormi kuvatav osa (nähtav kasutajale) kirjeldatakse vormi elementide puudena.

Elemendid võivad olla sisendväljad, märkeruudud, lülitid, nupud jne Lisaks sellele võib element olla rühm, mis sisaldab teisi elemente. Rühma võib esitada paneeli raami, paneeli lehekülgedega (järjehoidjad), tegeliku lehekülje, käsupaneeli. Lisaks võib element olla tabel, mis sisaldab ka elemente (veerud). Elementide struktuur kirjeldab, kuidas vorm näeb välja.

Kõik vormi formaalsus kirjeldatakse detailide ja käskude kujul. Detailid on andmed, millega vorm toimib ja käsud tehakse. Seega arendaja vormi redaktor peab sisaldama vajalikke üksikasju ja käske vormis, luua oma vormi elemendid ja vajadusel koostada elemendid rühmades.

Selle loogilise kirjelduse põhjal genereerib süsteem automaatselt vormi ilmumise vormi ilmumise. Sellisel juhul võetakse süsteem arvesse kuvatavate andmete erinevaid omadusi (näiteks tüüp), et muuta vormi elemendid kasutaja jaoks võimalikult mugavaks.

Arendaja võib mõjutada elementide asukohta erinevate seadmetega. See võib määrata elementide järjekord, täpsustada soovitud laiuse ja kõrguse. Siiski on see ainult mõned lisateave, mis aitab süsteemi kuvamisel.

Vormides saab arendaja kasutada mitte ainult vormi käske, vaid ka kogu konfiguratsiooni käskude liideses kasutatavaid ülemaailmseid käske. Lisaks on võimalik luua parameetri käske, mis avavad muid vorme, võttes arvesse praeguse vormi konkreetseid andmeid. Näiteks võib see olla kõne jääkide aruanne varude kohta, mis valitakse nüüd tarbitava arve vormis.