Névjegyzék

Szerezd meg az 1C-szerkezet adatai. Univerzális gyűjteményfa értékek

A szerkezet és a levelezés egyfajta asztal, amelynek két oszlopa van: kulcs és érték. A "Key" oszlop olyan indexelt elemet tárol, amelyekre a keresés történik. Maga a keresési elem az "Érték" mezőben található. Milyen mechanizmust használhat a keresési teljesítmény szempontjából? Egy sor kísérletet végezünk.

Hozzon létre egy referenciakönyvét az árukról, és töltse ki 20 000 elemet. Ezután egy egyszerű eljárással az összes elem adatait a szerkezetbe és a megfelelésbe írjuk. Az első kísérletben linket fogunk írni a szerkezetek megfelelőségének és nevének linkjére. A második intézkedés, mint kulcs, a dohányzókat mindkét osztályra használjuk. A harmadik kulcsszerkezet harmadik részében NemoSive-t választották meg, a megfelelőséghez - numerikus mező.

Az alábbiakban az eljárások felsorolása a megfelelőség és a szerkezet kulcsa értékének keresésére.

A helyzet beérkezésének eljárása (megerősítéshez, kulcs), ha az újrafeldolgozás akkor adja meg a keresést [Key]; Ellenkező esetben az érték \u003d meghatározatlan; DeskTaststruktúra. Tulajdonság (kulcs, értékérték); Az érték visszatérítése; Extrudresszusok

Az első tapasztalat esetében a következő eredményeket kaptuk:

Ahogy látjuk, egy meglehetősen nagy margin a megfelelést nyer. A szerkezet keresési ideje körülbelül 1/4-szer lassabb.

A második kísérlet után radikálisan megváltozott a helyzet:

A "string" típusú paraméterrel való megfelelőség keresési ideje a kulcsban szinte kétszer veszíti el a szerkezetet.

A harmadik kísérlet során a vezetés ismét megragadta a megfelelést.

Több mint hatszorosa a levelezés gyorsabban zaklatott ezzel a feladattal.

Ily módon olyan következtetéseket lehet vonni, amelyek a struktúrák megtekintésének értékeit keresik, a struktúra leginkább megfelel, mivel ez az ilyen típusú adatok csak a karakterláncok számára specializálódtak. Azonban annak lehetőségével, hogy más típusokat használjanak a kulcs, például a "szám" vagy a "link", a legjobb eredmény megjelenítése mérkőzés. Válasz bizalommal, hogy miért nem lehetséges, hogy lehetséges, mivel a mélyebb kísérletek rendszere zárva marad.

Talán sokan közülük feladata az űrlapon lévő egy adott elem jelenlétének ellenőrzése, vagy az elrendezési területen a kívánt paraméteren van. Sajnálatos módon, standard módszerekEnnek a feladatnak köszönhetően a platform nem rendelkezik.

A "struktúra" típusú értékek esetében a "tulajdonság ()" módszer elérhető:

Tesztvizsgálat \u003d új struktúra; Test állomás. Betét ("Testrictiled", "vizsgálati érték"); Vannak felismerőniestlich \u003d tesztállomás ("testreckey"); // Ennek eredményeként a "van egy mintavétel" változója az igazság értékét tartalmazza

Ha megpróbáljuk megtanulni, hogyan lehet megismerni az űrlap vagy paraméter bármely elemét az elrendezési területen (például példaként), akkor a következő hibát okoz:

Által részletes információk A hiba azt mutatja, hogy az elemek gyűjteménye kezelt forma (Változó "Elemek") nem rendelkezik a "tulajdonság ()" módszerrel. Ugyanez vonatkozik az abszolút legtöbb gyűjteményre, amely támogatja a platformot.

Némely kollekciót, mint például a „columnochnogopol”, „Find ()” eljárás „Find ()” áll a használatra, mint az első paraméter, amelyre az állítmány a keresés nevére elem. Módszerek visszaadják a talált elemet, vagy "undefined", ha nincs érték. Így a módszer használatával megtagadhatja az adott tulajdonság jelenlétét olyan gyűjtemények számára, amelyek támogatják a munkát.

De mit tegyen meg, ha a gyűjtemény nem támogatja a fent leírt hasonló módszerekkel való munkát. Ilyen esetekben szükség van egy teljesen más módja az ilyen típusú adatokkal való munkavégzéshez.

Napjainkban a cikk egy olyan univerzális megközelítésről fog beszélni, amely lehetővé teszi az ingatlanok jelenlétét bármilyen típusú 1c: Enterprise 8.x.

Hogyan kell végrehajtani

Azt javaslom, hogy egy univerzális funkciót írjak az ingatlan elérhetőségének bármely típusú értékének meghatározásához, majd folytassa, hogy egy kis példa segítségével használja.

A javasolt megközelítés munkája a "kitöltés ()" módszer és a "szerkezet" típusú változó használatán alapul. Az alábbi lista biztosítja a funkció szoftvert kódját:

// változók: // // 2. Impassia - A kívánt tulajdonságot tartalmazó "karakterlánc" változója // függvényváltó (változó, vírus) Ha a [vírus] \u003d null szerkezete, akkor visszatér; Ellenkező esetben az igazság visszatérése; Vége lett; Ülésszak

Elvileg mindenki egyértelmű a felsorolási megjegyzésekből. Az egyetlen pillanat, hogy mit kell felhívni a figyelmet arra, hogy ha az ingatlan megtalálható, és értéke NULL, akkor a funkció továbbra is azt mondja, hogy nincs ilyen ingatlan. Ilyen esetekben további ellenőrzést kell létrehoznia.

Gyakorlati példa

Példaként tesztkonfiguráció Adjon hozzá egy dokumentumot több részlethez. A megfelelő formanyomtatvány-elemeket hozzáadjuk az űrlaphoz.

Az "Elem Name" mezőben az űrlapelem neve megadódik. A Keresés gombjával az általunk létrehozott funkció korábban létrehozott. A parancs végrehajtása után a program értesíti a felhasználót a keresés sikeréről. A következő lista biztosítja a parancskezelő kódját és az úgynevezett tulajdonságok keresési eljárását.

& Comblete megtalálja a parancsot (csapat), ha a változó-tolerancia (elemek, hiba), akkor figyelmeztetés ("Elem" "+ elem +" "található!"); Ellenkező esetben egy figyelmeztetés ("Elem" "" + elem + "" " Nem található!"); Véget ért; végső ország // univerzális funkció, hogy ellenőrizze a tulajdonságok jelenlétét bármilyen típusú adat értékében // változók: // 1. Változó - változó bármely olyan típusú, amelyre szükség van az ingatlan elérhetőségének ellenőrzéséhez // 2. Impassia - változó típusú "string", amely tartalmazza a kívánt tulajdonságot // & Comble funkció Changesconduktáncia (változó, virification) // inicializálja a kulcsvizsgálat szerkezetét (a "képalkotás" változó értékének értékét) és a null értékét StructurePute \u003d új struktúra; Strukturálás. Betét (képalkotás, null); // töltse ki a létrehozott struktúrát a változó továbbított értékéből Kitöltése (struktúra perverz, változó); // Ha a szerkezet szerkezetének értéke továbbra is érvényes, a kívánt tulajdonság nem található, és fordítva. Ha az [IMPARSIA] struktúrái \u003d , akkor visszatérnek a hazugságok; Ellenkező esetben az igazság visszatérése; Vége lett; Ülésszak

Teszt konfigurációja töltse le a linket.

Összesít

A cikkben leírt megközelítés lehetővé teszi, hogy ellenőrizze a tulajdonság jelenlétét bármilyen típusú gyűjteményekben. Forma elemek, metaadatgyűjtés, elrendezési paraméterek és sok más. A termelékenység negatív hatása nincs. A platform bármely verzióján működik.

P.S. Az Alcom megjegyzéssel programkódot adok a GUID "A.

// univerzális funkció, hogy ellenőrizze a tulajdonságok jelenlétét az adattípusok // változók értékében: // 1. változó - változó bármely olyan típus, amelyre szükség van az ingatlan jelenlétének ellenőrzéséhez // 2. Iblassok - a kívánt tulajdonságot tartalmazó "karakterlánc" változója, amely a kívánt tulajdonságot tartalmazza // és változtassa meg a Changesconductance (változó, vírus) // A kulcsvizsgálat szerkezetét (a "képalkotás változó" értékét és az önkényes GUID értékét "GUID TESZT \u003d Új egyedi Siper; StruktúrákProwDance \u003d új struktúra; strukturáló szerkezet. Töltse ki a létrehozott szerkezetet a filé (strukturálás, változó) továbbított értékéből; // Ha a struktúra szerkezetének értéke nulla balra, majd a kívánt tulajdonság nem található, és éppen ellenkezőleg. Ha a [vírus) szerkezete \u003d GUID-ellenőrzés, akkor hazugságot ad vissza; egyébként az igazság visszatérése; véget ér;

Mi ez a cikk

Ez a cikk folytatja a cikkek ciklusát "az első lépés az 1C-re". Az egyetemes gyűjteményekkel való együttműködés elveivel foglalkozik. Miután elolvasta a cikket, megtanulod:

  • Mi az univerzális gyűjtemények, amikor és milyen esetekben kell használni őket?
  • Mi az összes univerzális gyűjtemény? Milyen technikákat lehet használni mindegyikük munkájához?
  • Mi a tömb, hogyan és mikor kell használni? Milyen módszerekkel rendelkezik?
  • Miért használja a szerkezetet? Mi a különbsége a Massif-től?
  • Milyen esetekben használja az értékek listáját? Hogyan jelenítsük meg az űrlapon?
  • Megfelelés - mi az, és mikor kell használni? Milyen előnyökkel jár a szerkezet tekintetében?
  • Mi az értékek táblázata? Hogyan írja le a struktúráját? A vonalak hozzáadása / törlése? Hogyan vigye el az űrlapot?
  • Értékekfa - az alkalmazottakért? Hogyan töltse ki és kimenet? Hogyan kell dolgozni vele?

Alkalmazhatóság

A cikk tárgyalja az 1C-es platformot: Vállalat 8.3 a sürgős kiadás.

Az univerzális gyűjteményekkel dolgozó 1c-ben

Az értékek egy bizonyos tartály, amelyben bármely elem általában tartalmazhat. Ebben az esetben az adattípusú kemény korlátozások gyakran nem helyezkednek el.

Az Univerzális gyűjteményben értékeket adhat hozzá. A gyűjtemény összes értékét megkerülhetjük. Ezeket a gyűjteményeket elsősorban az algoritmusok feldolgozására használják. Azok. Ez az algoritmus működése során létező dinamikus struktúrák.

Fontos megérteni, hogy a gyűjtemény nem tároljuk az adatbázisban (a típusú adatok tárolására értékek szinte bármilyen típusú adat tárolható).

Különböző típusú univerzális gyűjtemények léteznek: egy tömb, szerkezet, megfelelés, rögzített tömb, értékek, értékek, Asztali részek stb. De minden gyűjteménynek hasonló viselkedése van.

A gyűjtemény bármely funkció funkciójának eredményeképpen hozható létre (a függvény az univerzális gyűjtemény értékét adja vissza).

Új gyűjteményt kaphat manuálisan a konstruktorral, és létrehozhat egy példányt az osztály.

Például: Masszív \u003d új tömbünk;

Számos univerzális gyűjtemény tervezői paraméterezve vannak.

Tehát a tervezőben megadhatja a megfelelő mérésekben lévő elemek számát. Azok. azonnal kijelentheti a többdimenziót .

A megfelelő tervező leírása a szintaxis asszisztensben található.

Így a konstruktor paramétereinek használatával azonnal beállíthatja az objektum kívánt viselkedését.

De a paraméterek opcionálisak, a fejlesztő nem tudja megadni őket, és továbbra is meghatározza a tömb viselkedését, amennyire szükségesnek tűnik.

Szinte minden univerzális gyűjtemény segítségével lehet létrehozni egy kivitelező (kivétel táblázatos részek működnek konfigurációs objektumok).

Univerzális gyűjteményekhez vannak ilyenek Általános koncepciókIndexként és számként. A gyűjtemény minden eleme index. Ebben az esetben az index karcolással kezdődik.

Annak érdekében, hogy az elemre utaljon NashimassivHasználhatja a fellebbezést az indexhez, mert ez az index négyzet alakú zárójelben van feltüntetve.

Például, Nashimassiv. MEGJEGYZÉS, Ebben az esetben a rendszer egy tömbelemet ad vissza egy 3-as indexhez, és annak érdekében, hogy ez a tömb negyedik eleme.

Bizonyos gyűjtemények esetében is van a vonalszám fogalma is. A sorszám egy egységgel kezdődik. Például a táblázat részére van egy tulajdonság, mint a vonalszám. Fontos, hogy szem előtt tartsuk, hogy ha ismerjük a vonalszámot, és szeretnénk kapcsolatba lépni az indexhez, akkor indexként egy egységenkénti kisebb vonalszámot kell használnia.

A vonalszám fogalma messze van az összes gyűjteménytől, de elsősorban azok, amelyek a felhasználói felületen megjeleníthetők.

Minden gyűjtemény esetében a gyűjtés elemeinek megkerülése. A bypass kétféleképpen lehetséges: ciklus és ciklus mindegyikére.

A legtöbb univerzális gyűjtemény esetében a módszerek alkalmazhatók: Mennyiség, index, hozzáadása, beillesztés, törlés és keresés.

A mennyiség olyan függvény, amely visszaadja a gyűjtemény elemeinek számát. A ciklus előtt használható -ÉrtAz ábrán bemutatva.

Az index módszer nem minden gyűjteményben létezik, de csak az elemek azon elemeire vonatkozhatnak. Például hozhatod Tables Satiments.

Asztalok- Ez egy bizonyos sorok gyűjteménye, a vonalakban különböző oszlopokat tartalmazhatnak különböző típusok értékek.

Minden vonal független entitás. Linket kaphat hozzá, ezen a vonalon keresztül elérheti a hangszórók értékeit ebben a sorban.

Az index módszer lehetővé teszi, hogy meghatározza, hogy mely indexet megfelel ennek a string (vagyis a jelenlegi helyzetben a sort a táblázatban). Az indexértékek karcolással kezdődnek.

Az új értékek hozzáadása ehhez a gyűjteményhez gyakorlatilag bármely univerzális gyűjteményből származik. Az ábra bemutatja, hogyan töltse ki a tömb értékét 0-tól 10-ig két módon.

Annak érdekében, hogy egy elemet hozzáadjon egy tömbhöz, használhatjuk a módszert Hozzáad, Adja meg a zárójelben hozzáadott értéket. Az érték hozzáadódik a lista végéhez, azaz A tömb folyamatosan növekszik az utolsó pozíció miatt.

Egy másik módszer, amely lehetővé teszi, hogy értékeket adjon hozzá a gyűjteményhez - módszerhez Betét. Ez különbözik a módszertől Hozzáadmit adhat meg, melyik helyet kell behelyeznie a hozzáadott elem beillesztéséhez.

Szintaxis: Betét (,)

Az első paraméter azt jelzi, hogy az új érték be van helyezve. Azok. Például meg tudjuk adni, hogy minden értéket be kell illeszteni a lista elejére (a második módszer a fenti ábrán).

Elemek eltávolítása a gyűjteményből, a módszert használják Töröl. A Törlés módban az index jelzi, melyik elemet töröljük.

Szintaxis: Távolítsa el ()
Példa a használatra: Nashmassiv. Törlés (5);

Meg kell jegyezni, hogy azoknál a gyűjtemények esetében, ahol a vonalak független entitást képviselnek (például Asztalok), Az index módszert is használhatjuk a karakterlánc törléséhez.

Szinte minden gyűjteménynek értéke az érték értéke - Megtalálni. A módszert a meg akarjuk találni kívánt értékre továbbítják. Bizonyos gyűjteményekben korlátozhatsz.

Például Zaviewy asztalimegadhatja ezeket a sorokat, azokat az oszlopokat, amelyekben keresni kívánt.

Ha az érték megtalálható, ez a módszer egy indexet vagy egy adott karakterláncot ad vissza. Ha az érték nincs megtalálva, a típus értéke visszakerül. Határozatlan. Alkalmazzák a tömböt Indexvagy érték Határozatlan.

Példa a használatra: Single-Earth \u003d Nashimassiv.Night (8);

Az univerzális gyűjtemények nagyon gyorsan tisztíthatók, vagyis Törölje az összes elemet. Ez a módszert használja Egyértelmű ()amely eltávolítja a tömb elemeit, a karakterláncokat Asztalokvagy más gyűjteményes adatok.

További módszerek a tömbhöz

Módszer Vászon Visszaadja az elemek számát mínusz. Azok. Ha ciklust használunk -Ért, A módszer helyett azonnal használhatjuk a módszert A határ().

Különösen a masszív számának változója másként meghatározható:

Mennyiség masszív \u003d nashimassiv.v.vgrai ();
Ezután a ciklus leírásakor ezt a változót nem szabad elvégezni.

Az eljárás telepítése lehetővé teszi, hogy egy értéket hozzon létre egy tömbbe az indexben.

Szintaxis: Létrehozni (,)

Példa: Nashmassiv.shorestall (2.8);

Alternatív lehetőség: Nashmassiv \u003d 8;

Használhatja a tömb módszert KapAnnak érdekében, hogy az index értékét olvassa el, anélkül, hogy a szögletes zárójelek használatára utalna.

Szintaxis: Kap()

Példa: Single-inxisted \u003d nashimassiv. Öntsük (2);

Alternatív lehetőség: Egyszemélyes \u003d letiltott;

Univerzális gyűjtési struktúra

A szerkezet, valamint egy tömb, korlátlan számú elem lehet, de az elem tartalma eltér a tömbtől.

A szerkezet egy gyűjtemény, amelynek minden értéke egy párból áll. A pár első elemét hívják Kulcs. A pár második eleme - Érték.

Kulcs- Ez egy szigorúan stringtípus, amely leírja az értéket. Például, KulcsA "kód" megfelelhet a 113 értéknek; Kulcs"Név" érték "Vasya". Az adattípus-korlátozás értéke nincs átfedve.

A szerkezet nagyon kényelmes, ha egy bizonyos paraméterek listáját szeretnénk létrehozni. Ha ez Szerkezethívott Kiönt, majd forduljon két értékéhez, mi lesz a következők: Outstaffing. Kód és kiemelkedő.

Az ilyen fellebbezés sokkal kényelmesebb, mint ha az összes paramétert a tömbben határozzák meg, és az indexre fordultak.

A szerkezet megkönnyíti a programkódot (érthető). A szerkezetet gyakran használják, sokkal gyakrabban, mint egy tömb.

Használható olyan paraméterek leírására, amelyek gyakran elég léteznek nagyszámú Minden algoritmusban.

Ezenkívül a szerkezetet akkor alkalmazzák, ha az eljárás és a függvény nagyszámú továbbított paramétert tartalmaz.

Ezután sokkal kényelmesebb az összes paraméter rögzítéséhez a szerkezetben, és ez az és továbbítja azt. Azok. A "Csomagolás" eljárások és funkciók paraméterei bekövetkeznek.

Külön-külön, meg kell jegyezni, hogy Kulcsa szerkezetben nem feltétlenül semmilyen karakterlánc. Bizonyos korlátozásokat végzett.

Kulcsazonosítónak kell lennie. Ez azt jelenti, hogy Kulcsnem lehet hiányosságok, és nem indulhat el a számokkal.

Megengedhető Kulcs Betűvel vagy aláhúzással. Ilyen módon Kulcsmeg kell felelnie az azonosítók létrehozásának követelményeinek.

MEGJEGYZÉS, Minél hímzettebb eltér a tömbtől. A szerkezetben van egy módszer BetétA tömbben két beillesztési módszer létezik: Betét(bizonyos helyzetben) és Hozzáad(A lista végén). A tömbben az összes elem megrendelhető.

A szerkezet egyfajta rendezetlen készlet. Ezért a szerkezet csak a beillesztési módszer.

Az érték nincs behelyezve egy adott pozícióba, hanem a megadott készletre. A szerkezethez az index fellebbezést elfogadhatatlan más univerzális gyűjtemények számára.

A strukturális elemeket a megnevezett kulcs is említi. Azonban a ciklus mindegyik munkához és a szerkezethez, de nem támaszkodhat a szerkezet sorrendjére.

A szerkezetet ugyanúgy hozták létre, mint más univerzális gyűjtemények az új tervező segítségével, meghatározva az adattípus-struktúrát.

Mint egy tömb, a szerkezeti konstruktornak paraméterei lehetnek. Azok. Lehetőség van a szerkezet felépítésére a konstruktor segítségével.

Ellentétben a tömböt, ahol egyszerűen megadhatja az elemek számát minden dimenzióhoz, a szerkezetben a tartalom beállítása lehetséges.

Például: Kiemelkedő \u003d új struktúra ("kód, név", 133, "Vasya");

A vessző fölött először a kulcsok nevét felsorolja, majd ennek megfelelően ugyanabban a paraméterek sorrendjében.

Az új érték szerkezetének hozzáadásához van egy módszer Betétamely beilleszt egy új párot (kulcs és érték).

Például: Outstaffing. Megtartani ("tagság", 3);

A szerkezethez egy másik módszert jellemeznek, amelyet gyakran használnak. Ez egy módszer Ingatlan.

Ezzel a módszerrel megértheti, és van-e olyan elem, amely ebben a szerkezetben van, amelyben a kulcsnak van ilyen neve.

Ha van ilyen elem, a rendszer visszaadja az igazság értékét, különben - hazugság.

Például, kifejezés Outstaffing. Szoftver ("Tagság") Ez megegyezik az igazság értékével. Ezt a módszert gyakran használják a szerkezet elemzése során.

Ami az egyetemes gyűjteményeket illeti, megengedhető, hogy a struktúra tulajdonságait index szerint vonja be. De a szerkezet indexe egy karakterlánc.

Például: Értesítés (kiemelkedő ["Tagview"]);

Azonban ne felejtsük el, hogy a szerkezet nem rendezett objektumkészlet, ezért a 0, 1, 2 indexhez való fellebbezés elfogadhatatlan.

Univerzális gyűjtemények listája

Slipistaez bármilyen típusú elemek lineáris listája.

Minden elem több értékből áll. Vázlatosan az értékek listáját négy oszlopos listaként lehet ábrázolni.

Első oszlop - Mark. Boolean adattípussal rendelkezik, és lehetővé teszi a felhasználó számára, vagy elhelyezi a jelölőnégyzeteket, vagy lőni őket.

Egy másik oszlop olyan kép, amely valahogy vizuálisan ábrázolhatja ezt az elemet, azaz Tegye be ezt a vonalat bármilyen képet.

A harmadik oszlop önmagában tárolt érték, azaz. Ez bármilyen típusú adat, és különböző vonalakban más lehet.

A negyedik oszlop képviselet, vagyis Ez az érték bizonyos karakterlánc leírása. A nézet megjelenik, ha ezt az elemet megtekinti. Ugyanakkor, ha nincs megadva a reprezentáció, akkor a rendszer megpróbálja előadást kapni az ebben a helyzetben lévő elemre.

Slipista- Ez az az objektum, amellyel a felhasználó vizuálisan dolgozik. Azok. Slipistamegjeleníthető.

A felhasználó bármilyen tevékenységet végezhet vele. Kívül, Slipistafüggetlenül a módszerek használatával, azaz Nézze meg a képernyőt az algoritmus valamelyik ágában (a kiszolgáló kód kivételével), hogy a felhasználó kiválasztja valamilyen vonalat, vagy jelölje be a jelölőnégyzeteket.

megtalálja Slipistaa Saintax asszisztensben. Konstruktőr Hízelgésnem paraméterezve (nem adhat meg bizonyos alapértelmezett értékeket).

Vannak olyan módszerek, mint:

  • Betét (,);
  • Add ();
  • Szám();
  • Index().

Különleges módszerek is vannak, például, Kirakodás (). Ez létrehoz egy tömböt, amely másolja az értéklistát. Például:

Massivelements \u003d Listattzen. Videóinformációk ();

Van egy fordított módszer is:
List Pipovets.alipputs (masszív elemek);

Keresési módszerek:
Talált tartalom (); Keresse meg a pontot ().

Van egy másolási módszer:
Másolás Scripture \u003d Listipovence .copy ();
Ez a módszer Úgy tervezték, hogy valamilyen módosítást készítsen egy másolattal.

Vannak módszerek:
Válogató ();
Sortpopserts ().

Mód Válassza ki az elemet (,)és Keverékek ()hívjon egy modális párbeszédpanelt, amely leállítja az algoritmus végrehajtását, amíg a felhasználó bezárja ezt az ablakot.

Ezeknek a módszereknek a konfigurációs tulajdonságok használatához A módosítási mód értékre kell állítani Használat.

A szabályozott alkalmazásmodulból hívott kód példája:

A kód megjelenítése felhasználói mód (Modal párbeszédpanel).

Lent Slipistaa formanyomtatvány részleteit megfizethető adattípusként használják. Hozzon létre egy új kellékeket a képződményhez, meghatározzuk a típusát SlipistaÉs megjeleníti az űrlapon.

Hozzon létre egy új csapatot WindowPodarks, Átviszünk az űrlapra, és meghatározzuk a cselekvési kezelőt.

Felhasználói módban, amikor egy gombnyomásra kattint, töltse ki az ajándékokat, megjelenik a kitöltött lista.

Szükség esetén módosíthatja a listát: egyes elemek hozzáadása, néhány - Törlés.

Univerzális gyűjtemény megfelelés

Ez a gyűjtemény nagyon hasonlít Szerkezet. Továbbá, mint a szerkezet, a levelezés olyan értékek, amelyek kulcsfontosságúak és a jelentésből állnak.

A fő különbség az, hogy bármilyen típusú adat jelölhető, mint az érték. Tekintettel erre különösen, az index szerint a megfelelőségi értékre kell hivatkozni, a kulcs értékét az index értéke határozza meg.

Kulcsként lehet a karakterlánctól eltérő adattípus. A levelezéssel való munkavégzés tulajdonságai és módszerei gyakorlatilag ugyanazok, mint a szerkezet.

Megfelelőségi konstruktor, ellentétben a szerkezetgel, nem tartalmazza a paraméterek megadásának képességét.

Példa a használatra:

A megfelelés kényelmesen használható, ha két struktúrát kell társítania. Például a táblázatos rész minden vonalát egy karakterláncot kell leképeznie az érték táblázatból.
Ebben az esetben a táblázat egy sorát megfelelő kulcsként használják, és a megfelelő értéket meg kell adni.

Az elemek beillesztése a gyűjteményhez, a módszeren kívül Betét (,) Van egy másik módja annak, hogy beillessze az értéket - ez egy hagyományos hozzárendelési szolgáltató használata.

Például: A levelezés problémái \u003d új megfelelés;
Megfelelés \u003d 999;

Azok. Ha a gyűjtemény eleme nem volt jelen, akkor hozzáadódik a hozzárendelési nyilatkozat használatával, és ha jelen van, frissül.

Ez a különbség a szerkezetből.

Univerzális gyűjtemény táblázat értékei

Asztalokez egy tetszőleges számú sor, és tetszőleges számú oszlop. A kereszteződésnél bármilyen típusú adat értéke tárolható. Szükség esetén az oszlop beírható, azaz meghatározza, hogy melyik oszlopban milyen típusú adat tárolódik.

Elhagyhatja az inepritis hangszórókat, majd egy oszlopban különböző típusú különböző típusú értékek tárolhatók.

Különbség Asztalokkétdimenziós tömbből:

  • ez az objektum, amellyel a felhasználó működhet (az értékek táblázata megjeleníthető, a felhasználó kitöltheti azt a jövőben, a megadott adatok olvashatók);
  • a gyors keresés indexek építése;
  • klónozás, töltés a teljes oszlop bizonyos értékében, minden oszlopot kirakodni egy tömbbe.

Asztalokbizonyos tárolópufferként használják. Asztalokvisszatér, és számos rendszer módszer paraméterként fogadja el. Az értékek táblázatához lekérdezés felépíthető.

Így, Asztalokegy sor sorból és egy sor oszlopból áll. Mindkét vonal és oszlop gyűjtemény.

Azok. A gyűjtemény belsejében Asztalokkét gyűjtemény van. Lásd a Szintaxis asszisztenst és talál Tables Satiments.

Támogatott adattípusok: maga Asztalokamely vonalakból áll. Minden vonalat az adattípus képviseli Strfotablesamely saját tulajdonságai és módszerei vannak. Elérhető Gyűjtemény Colos Tablesszintén rendelkezik bizonyos tulajdonságokkal is.

Fontos pillanat! Az eljárás, amely formálja Tables Satiments, Meg kell birkózni és nálál.

Mielőtt elkezdené dolgozni ElőterjesztésMeg kell határozni, hogy mely oszlopok vannak benne (azaz hozzák létre őket). Szintaxis:

Add ()
(választható)
Típus: Sor.
(választható)
Típus: Leírás
(választható)
Típus: Sor.
(választható)
Típus: Szám.

Például:

Az eljárás felhívásához használjuk a parancsot.

A leírásban Asztalokmint a gyűjtemény elemei, ez az Riptablitsy.

Ellentétben az oszlopokkal, amelyek csak tulajdonságokból (név, típus, cím, szélesség), a Railbreadlessnessvannak mindkét tulajdonság (az oszlop nevével) és a módszerek (megkaphatja az értéket, hogy a tulajdonosokkal dolgozzon).

Hozzáadni Új karakterlánc A táblázatnak a módszert kell használnia Add ()bármelyik Betét (). A második esetben meg kell adnia, hogy melyik pozíciót kell beállítani a kívánt karakterláncot.

Az oszlop értékének hozzárendeléséhez a ponton keresztül az oszlop nevével vagy az index (négyzet alakú zárójelekkel).

Töltéshez Asztaloka következő módszerek használhatók:

Egyértelmű () - Az összes vonal eltávolítása Asztalok.

Kitölteni (,) - Lehetővé teszi az összes oszlop vagy kiválasztott oszlopok kitöltését egy értékkel.
Zagocolonka (,) - betölti az oszlopot a tömbből.
Kirakodás () - Az oszlopot a tömbben töltse ki.

Az utolsó két módszer kényelmes, ha az oszlopot át kell adnia az egyik értékről a másikra.

Másolás (,) - lehetővé teszi a meglévő táblázat Újat készíteni Tables SatimentsUgyanakkor határozza meg, hogy ne minden sor és minden hangszóró, de csak néhány közülük. Visszatérési érték - Asztalok.

A szerkezetet másolhatja Asztalok. Ennek megfelelő módszere van. Gyűjtemények másolása (). Üres leszünk Tables Satiments a szükséges struktúrával.

BAN BEN Zaviewy asztalivan egy módszer Eredmény (). Megadhatja az oszlopot, amelyben a numerikus értékeket fel kell tüntetni. Az eredménytábla korábban bemutatott kódjával kapcsolatban kiszámíthatja az értéket: Tz.itog ("összeg").

BAN BEN Zaviewy asztalilehetőség van arra, hogy csoportosítsa (összeomlik) numerikus értékeket bizonyos oszlopok azonos értékével a módszerrel Összeomlás (,).

Az eredménytábla korábban bemutatott kódjával kapcsolatban kiszámíthatja az értéket: TZ. Kapcsoló ("Drinned", "SUMP").

Tables Satimentsmegmutathatja a felhasználói képernyőn, hogy bármilyen művelet végezhető vele. De ellentétben Hízelgésnak,-nek szoftverkód Lehetetlen egyszerűen hívni az asztalt a képernyőn.

Megjeleníteni Tables Satimentsa képernyőn hozzon létre egy űrlap kellékeket, és hozzárendeljen egy adattípust Asztalok.

Ezt követően megjelennek a kapott táblázatot.

A formanyomtatvány moduljában a korábban komponens algoritmus végén (az egyezmények létrehozására vonatkozó eljárásban) hozzá kell adni:
Értelmezendánfők (TK, táblázat);

Univerzális gyűjteményfa értékek

univerzális gyűjtemény, amely nagyon hasonlít Tables Satiments. Az asztaltól való különbség az, hogy a fa húrok alárendeltek egymásnak, vagyis Egy bizonyos hierarchia kialakítható.

A képernyőn is tükröződhet. Az értékek fája kifejezetten a sorok és oszlopok gyűjteményéből áll. A fában olyan két tulajdonság van, mint a húrok és oszlopok.

Mivel a vonalak alárendeltek egymásnak, az anyavállalat minden egyes soron megadható, valamint a stroke-t alárendelt.

Hozzon létre megfelelő fa-parancsot és feldolgozási eljárását.

Teremt amelyben egy szülővonal és két alárendelt.

Hozza létre az űrlap szükséges Drenn(Adattípus - Ware).

E tájékoztatáshoz hozzon létre oszlopokat Év- és hónap.

Mozgassa a megfelelő elemet Drennformában.

A végén Eljárások WoodersServer () Hozzáadom:

Értelmezendánforok (durva, Drend);

Ellenőrizze, mi történt a felhasználói módban.

Használja a gombot HozzáadÚj vonalakat adhat hozzá. Hierarchiát is alkothatnak.

Ahhoz, hogy az értékek összes elemét körülvesszük, újra kell használni a rekurziót, azaz Kihívja az eljárást. Például az értékek fafeldolgozása így nézhet ki:

Ehhez az első ismerősünket az univerzális gyűjteményekkel töltjük ki.

A következő cikkben azt vizsgáljuk, hogy melyik fontos mechanizmus segítségével a fejlesztő egyszerűsítheti a könyvtárra való hivatkozást a programkódból.

Szerkezet az 1C 8.3 és a 8.2 programozási nyelvben - egy "kulcs" és "érték" pár. A "Key" mezőnek van egy karakterlánc, az "érték" bármilyen adattípust tartalmazhat. Általában a paraméterek sorozatainak tárolására és továbbítására használják.

Az 1C programozási nyelv szerkezete kétféleképpen hozható létre az új design használatával.

Az első út:

Struktúra \u003d új struktúra;
Szerkezet. Tartás ("Keyaparameter1", "az 1. paraméter értékei");
Szerkezet. A tartás ("Keyaparameter2", "No. 2. paraméter értékei);

A második út:

Structure \u003d új struktúra ( "keyAparameter1, keyAparameter2", "értékei paraméter No. 1", "Az értékek a paraméter No. 2");

Mindkét módszer létrehoz egy struktúrát, amely a screenshotban látható a hibakeresésről:

Szerezd meg a 267 videó oktatóanyagot 1c-re ingyen:

A változás

A struktúrát a "Paste ()" módszer segítségével hozzáadhatja vagy módosíthatja.

Szerkezet. Tartás ("Wniscu név", értelmetlen);

Ha módosítani szeretné a régi kulcs értékét, írja be a nevét. Ha hozzá van adva Új kulcsAdjon hozzá egy egyedi nevet az összes szerkezeti gombhoz képest.

A gyűjtőelem törléséhez használnia kell a törlési módot, ha a kulcsnév átvitele:

Szerkezet. Engedélyezés ("Wniscu név");

Lehetőség van a gyűjtemény összes objektumának tisztítására is:

Szerkezet. Kérjük, ();

A szerkezet megkerülése

Ahhoz, hogy átmegy a szerkezet gyűjteménye, meg kell használni a design "minden billentyűzet a ciklusszerkezetből".

Például:

A ciklus szerkezetéből minden billentyűzet esetében
...... // Process, például módosítsa az értékeket
Endcycle;

Minden ciklus látható, hogy a következő mezők állnak rendelkezésre:



Tetszett a cikket? Oszd meg