Ako získať typ (typ) dokumentu v žiadosti? 1s 8 typ hodnoty požiadavky.

Žiadosť . Text = "VYBERTE si | StorageUnits.Link |OD | Directory.usStorageUnits AKO používaťStorageUnits // Príklad 1: porovnanie s prázdnou boolovskou hodnotou: | KDE | StorageUnits.AllowSelectionFromReserveZone = False // Príklad 2. ale ak je táto logická hodnota definovaná, potom je lepšie takto: // podmienka pre zápornú logickú hodnotu: | KDE | NIE Úložné jednotky. Povoliť výber z rezervnej zóny // Príklad 3. výber na základe podmienky prázdneho poľa, ktoré má typ “adresár špecifického typu” | KDE | StorageUnits.ActiveSelectionArea = VALUE(Directory.usSelectionArea.EmptyRef) // Príklad 3a. výber na základe podmienky prázdneho poľa typu „dokument špecifického typu“ | KDE | OurInformationRegister.Document = VALUE(Document.OurDocument.EmptyLink) // Príklad 3b. výber na základe podmienky prázdneho poľa typu „dokumenty rôznych typov“ ( kompozitné pole) | KDE | (OurInformationRegister.Document = VALUE(Document.OurDocument1.EmptyLink) | OR OurInformationRegister.Document = VALUE(Document.OurDocument2.EmptyLink) | ALEBO... (atď. – postupne uvádzame podmienky pre všetky možné typy tohto zloženého poľa) ) // Príklad 4. alebo naopak, ak potrebujete vybrať vyplnenú hodnotu typu "string", pomôže podmienka: |KDE | Storage Unit.Name > """" // Príklad 5. ak potrebujete vybrať dokumenty konkrétneho typu so zloženým typom údajov, napríklad v registri „RunningTasks“, zdroj „Task“ má zložený typ, medzi hodnotami ktorého dokument "Výber" je možný | KDE | EXPRESS(Information RegisterExecutedTasks.Task AS Document.Selection) LINK Document.Selection // Príklad 5a. Ďalší podobný príklad, keď potrebujete vybrať dokumenty konkrétneho typu | VÝBER | KEDY VYJADROVAŤ (ag Korešpondencia dokladov. DokumentBU AS doklad. Príjem tovaru a služieb) LINK Dokument. Príjem tovaru a služieb | POTOM ""Prijatie tovaru a služieb"" | KEDY VYJADROVAŤ (ag Korešpondencia dokladov. Dokument BU AS. Predaj tovaru a služieb) LINK Dokument Predaj tovaru a služieb | POTOM ""Predaj tovaru a služieb"" | INÉ """" | KONIEC AKO Zobrazenie dokumentu // Príklad 6. výber podľa podmienky nedefinovanej hodnoty: | KDE | SavedSettings.User = NEDEFINOVANÉ // Príklad 7. výber podľa typu pohybu "Príchod" registra akumulácie, "Výdavky" - podobne): | KDE | RegProductsInRetail.MovementType = VALUE(MovementTypeAccumulation.Incoming) // Príklad 8. Ako naznačiť v požiadavke, že nie je potrebné vykonať požiadavku (napríklad musíte programovo, v závislosti od nejakej podmienky, vrátiť prázdny výsledok požiadavky - Request.Text = StrReplace(Request.Text, "WHERE Doc.Link = &DocumentLink" , "KDE JE KLAMSTVO");). Ak to chcete urobiť, stačí pridať podmienku „Kde je nepravda“. Mimochodom, bez ohľadu na objem údajov požadovaných vo vzorke, takáto požiadavka bude vykonaná okamžite. |KDE JE KLAMSTVO // Príklad 9. Kontrola, či výsledok dotazu obsahuje údaje: Ak nieŽiadosť.Vykonať().Prázdny() Potom // Príklad 10. výber na základe prázdneho dátumu: | KDE | tbStrings.CancellationDate = DATETIME(1; 1; 1)

1C vám umožňuje výrazne zjednodušiť účtovníctvo alebo jednoducho spravovať akúkoľvek organizáciu, či už je to malý obchod alebo veľký podnik. Program je rozsiahly systém správy databáz. Aby ste sa v tom všetkom nezamotali, musíte byť schopní vykonávať rôzne jednoduché akcie a pochopiť podstatu. Ďalej pochopíte, ako skontrolovať typ hodnoty v žiadosti v 1C, ako aj to, čo vo všeobecnosti sú, ako aj to, ako medzi nimi rozlišovať.

Typy hodnôt

1C: Podnik zahrnul do nových verzií špeciálnu funkciu (platforma 8.2). Pomocou neho môžete pridať akékoľvek špeciálne parametre k ľubovoľným menám alebo prvkom dátového systému. Toto bolo urobené s cieľom zjednodušiť úpravu systému a pridávanie nových prvkov. Táto funkcia sa nazýva „Typ hodnoty“.

V skutočnosti je to jeden zo základných konceptov, ktoré väčšina programovacích jazykov obsahuje. Pomocou neho môžete klasifikovať rôzne údaje. Napríklad: dátumy, čísla, reťazce, odkazy. Toto sú len základné klasifikácie. Môže ich byť oveľa viac. Povedzme, že ak do svojho systému zadáte informácie o mestách, môžete použiť: kontinent, krajinu, región atď.

Vyšetrenie

Konkrétne pole môžete skontrolovať pomocou jazyka dotazu. Alebo skôr jeho funkcie: TYPE VALUE. To znamená, že ak chceme zistiť, aký typ informácií obsahuje bunka, ktorá nás zaujíma, musíme použiť príkaz.

VALUE TYPE(Hodnota) = TYPE(Reťazec)

Vo vyššie uvedenom príklade sme definovali najjednoduchší typ pomocou príkazu. Ďalší príklad overenia požiadavky:

Dokumentácia

Existuje pomerne veľa typov, používatelia si vystačia s pôvodnými alebo si môžu zadať svoje vlastné, aby zlepšili informačnú základňu. Tu sú niektoré z nich.

  • Odkaz na dokument. Používa sa na pohodlné ukladanie odkazov na rôzne objekty v iných častiach systému.
  • DocumentObject - úprava dokumentov.
  • DocumentSelection - triedenie objektov z databázy.

Okrem toho existujú špeciálne výrazy, ktoré charakterizujú akékoľvek údaje:

  • forma;
  • linka;
  • boolean;
  • číslo;
  • dátum;
  • pole;
  • zaškrtávacie políčko;
  • obrázok.

Toto sú len niektoré z nich. Akýkoľvek objekt môže byť len niečo z tohto zoznamu. Boolean je špeciálny parameter, ktorý má dve hodnoty: true alebo false. Existujú aj špeciálne značky, ktoré vám umožňujú upraviť požiadavku: kedy, kde, ako, inak atď. Nastavujú algoritmus správania programu. 1C sa vyznačuje tým, že tieto slová tu, rovnako ako všetko ostatné, možno zadať v ruštine.

Je dôležité pochopiť, že toto všetko budú začiatočníci a laici vnímať ako čínsku gramotnosť. Aby ste pochopili, o čom hovoríme a efektívne využívali 1C, musíte poznať základy programovania. Vo všeobecnosti bude kontrola typu v žiadosti v programe 1C v porovnaní s inými akciami pomerne jednoduchá.

Dotazovací jazyk 1C je jedným z hlavných rozdielov medzi verziami 7.7 a 8. Jedným z najdôležitejších bodov pri učení sa programovania 1C je dotazovací jazyk. V 1C 8.3 sú dotazy najsilnejším a najúčinnejším nástrojom na získavanie údajov. Dotazovací jazyk vám umožňuje získať informácie z databázy pohodlným spôsobom.

Samotná syntax veľmi pripomína klasický T-SQL, až na to, že v 1C pomocou dopytovacieho jazyka môžete prijímať údaje iba pomocou konštrukcie Select. Jazyk podporuje aj zložitejšie konštrukcie, napríklad (požiadavka v požiadavke). Dotazy v 1C 8 je možné písať v azbuke aj latinke.

V tomto článku sa pokúsim hovoriť o hlavných kľúčových slovách v dopytovacom jazyku 1C:

  • vybrať
  • povolený
  • rôzne
  • expresné
  • najprv
  • pre zmenu
  • význam
  • typ hodnoty (a operátor REFERENCE)
  • výber
  • skupina podľa
  • majúce
  • ISNULL
  • Áno NULL
  • prípojky - pravé, ľavé, vnútorné, plné.

Rovnako ako niekoľko malých trikov jazyka 1C, pomocou ktorých môžete optimálne zostaviť text požiadavky.

Na ladenie dotazov v systéme 1C 8.2 je k dispozícii špeciálny nástroj - konzola dotazov. Popis si môžete pozrieť a stiahnuť pomocou odkazu -.

Pozrime sa na najdôležitejšie a najzaujímavejšie operátory dopytovacieho jazyka 1C.

VYBRAŤ

V dopytovacom jazyku 1C Enterprise 8 každý dopyt začína kľúčovým slovom VYBERTE SI. V jazyku 1C neexistujú žiadne konštrukty UPDATE, DELETE, CREATE TABLE, INSERT; tieto manipulácie sa vykonávajú v objektovej technológii. Jeho účelom je iba čítanie údajov.

Napríklad:

VYBERTE SI
Aktuálny názov adresára
OD
Directory.Nomenclature AS Current Directory

Dotaz vráti tabuľku s názvami položiek.

V blízkosti konštrukcie VYBERTE SI môžete nájsť kľúčové slová PRE ZMENU, POVOLENÝ, RÔZNY, NAJPRV

POVOLENÝ— vyberie z tabuľky len záznamy, na ktoré má aktuálny používateľ práva.

RÔZNY— znamená, že výsledok nebude obsahovať duplicitné riadky.

VÝBER (prípad)

Veľmi často je tento dizajn programátormi podceňovaný. Príklad jeho použitia:

Aktuálny názov adresára,

KEĎ Aktuálny Directory.Service POTOM

"servis"

KONIEC AKO ZOBRAZIŤ Nomenklatúru

Directory.Nomenclature AS Current Directory

Príklad vráti textovú hodnotu v poli „Typ položky“ – „Produkt“ alebo „Služba“.

KDE

Dizajn dotazovacieho jazyka 1C, ktorý vám umožňuje uložiť výber na prijaté údaje. Upozorňujeme, že systém prijíma všetky údaje zo servera a až potom sa vyberie na základe tohto parametra.

VYBERTE SI
Adresár.Názov
OD
Aktuálny adresár.Nomenklatúra AS aktuálny adresár
WHERE CurrentDirectory.Service = TRUE

V príklade vyberieme záznamy, pre ktoré je hodnota atribútu „Service“ nastavená na „True“. V tomto príklade by sme si mohli vystačiť s nasledujúcou podmienkou:

"KDE JE SLUŽBA"

V podstate vyberáme riadky, v ktorých sa výraz za kľúčovým slovom rovná „pravda“.

Vo výrazoch môžete použiť priame podmienky:

WHERE kód = "005215"

Pomocou operátora „VALUE()“ v podmienkach použite prístup k preddefinovaným prvkom a enumeráciám v požiadavke 1C:

WHERE Typ položky = Hodnota (Vyčíslenie. Typy položiek. Produkt)

Časové hodnoty môžu byť špecifikované nasledovne:

WHERE Dátum prijatia > DATETIME(2012,01,01):

Najčastejšie sú podmienky špecifikované ako parametre odovzdané do požiadavky:

Získajte 267 video lekcií na 1C zadarmo:

WHERE NomenclatureGroup= &NomenclatureGroup

Na typ atribútu možno uložiť podmienku, ak ide o zložený typ:

Ak potrebujete obmedziť výber zo zoznamu hodnôt alebo poľa, môžete urobiť nasledovné:

KDE je register zhromažďovania Registrátor B (&Zoznam dokumentov na výber)

Podmienka môže byť aj zložitá a pozostáva z niekoľkých podmienok:

WHERE Dátum prijatia > DATETIME(2012,01,01) AND NomenclatureGroup= &NomenclatureGroup AND NOT Service

GROUP BY

Návrh dotazovacieho jazyka 1C 8.2 použitého na zoskupenie výsledku.

Napríklad:

VYBERTE SI
Príjem tovaru a služieb Tovar.
SUM(Príjem tovaruSlužbyTovar.Množstvo) AS Množstvo,
SUM(Príjem tovaruSlužbyTovar.Suma) AS Suma
OD
Dokument. Prevzatie tovaru a služieb Tovar AKO Prevzatie tovaru a služieb Tovar

GROUP BY
Príjem tovaruSlužbyTovar.Tovar

Táto požiadavka zhrnie všetky príjmy podľa množstva a množstva podľa položky.

Okrem kľúčového slova SUM Môžete použiť ďalšie agregačné funkcie: MNOŽSTVO, POČET RÔZNYCH, MAXIMÁLNE, MINIMÁLNE, PRIEMERNÝ.

MAJÚCE

Dizajn, na ktorý sa často zabúda, no je veľmi dôležitý a užitočný. Umožňuje špecifikovať výber formou súhrnnej funkcie, v návrhu to nie je možné KDE.

Príklad použitia HAVING v požiadavke 1C:

VYBERTE SI
Príjem tovaru a služieb Tovar.
SUM(Príjem tovaruSlužbyTovar.Množstvo) AS Množstvo,
SUM(Príjem tovaruSlužbyTovar.Suma) AS Suma
OD
Dokument. Prevzatie tovaru a služieb Tovar AKO Prevzatie tovaru a služieb Tovar

GROUP BY
Príjem tovaru a služieb Tovar.tovar

SUM(Príjem tovaruSlužbyTovar.Množstvo) > 5

Vyberieme teda počet produktov, ktorých prišlo viac ako 5 kusov.

VÝZNAM()

Napríklad:

WHERE banka = hodnota(adresár.banky.prázdny odkaz)

WHERE Typ nomenklatúry = Hodnota (Adresár.Typy nomenklatúry.Produkt)

WHERE Typ položky = Hodnota (Enumeration.Item Types.Service)

TYPE v žiadosti

Typ údajov možno skontrolovať pomocou funkcií TYPE() a VALUETYPE() alebo pomocou logického operátora REFERENCE.

EXPRESNÉ()

Operátor Express v dotazoch 1C sa používa na konverziu dátových typov.

Syntax: EXPRESNÉ(<Выражение>AKO<Тип значения>)

Pomocou neho môžete previesť hodnoty reťazca na dátum alebo referenčné hodnoty na údaje reťazca atď.

V praktických aplikáciách sa operátor Express() veľmi často používa na prevod polí neobmedzenej dĺžky, pretože polia neobmedzenej dĺžky nemožno vyberať, zoskupovať atď. Ak takéto polia nie sú skonvertované, zobrazí sa chyba Nemôžete porovnávať polia neobmedzenej dĺžky a polia nekompatibilných typov.

VYBERTE SI
ContactInformation.Object,
EXPRESS(ContactInfo.View AS ROW(150)) AS View
OD
Register informácií Kontaktné informácie AKO Kontaktné informácie

GROUP BY
EXPRESS(ContactInfo.Representation AS ROW(150)),
ContactInformation.Object

ISNULL (ISNULL)

Celkom užitočná funkcia dopytovacieho jazyka 1C, ktorá kontroluje hodnotu v zázname a či je rovnaká NULOVÝ, To vám umožní nahradiť ho vlastnou hodnotou. Najčastejšie sa používa pri získavaní virtuálnych tabuliek zostatkov a obratov s cieľom skryť sa NULOVÝ a vložte jasnú 0 (nulu).

ISNULL(Predmesačné dane. Benefit AppliedFSS, 0)

Takáto funkcia dopytovacieho jazyka 1C ISNULL vráti nulu, ak neexistuje žiadna hodnota, čím sa zabráni chybe.

PRIPOJTE SA

Existujú 4 typy spojení: LEFT, SPRÁVNY, KOMPLETNÉ, VNÚTORNÉ.

ĽAVÉ a PRAVÉ PRIPOJENIE

Spojenia sa používajú na prepojenie dvoch tabuliek na základe konkrétnej podmienky. Funkcia kedy ĽAVÉ PRIPOJENIE je, že vezmeme prvú špecifikovanú tabuľku celú a podmienečne zviažeme druhú tabuľku. Polia druhej tabuľky, ktoré nebolo možné zviazať podmienkou, sú vyplnené hodnotou NULOVÝ.

Príklad ľavého spojenia v požiadavke 1C:

Vráti celú tabuľku a pole „Banka“ vyplní len na tých miestach, kde je splnená podmienka „Protistrany.Názov = Banky.Názov“. Ak podmienka nie je splnená, pole Banka bude nastavené na NULOVÝ.

RIGHT JOIN v jazyku 1C 8.3úplne podobné ĽAVÉ pripojenie, s výnimkou jedného rozdielu: v PRÁVO PRIPOJENIA"Hlavná" tabuľka je druhá, nie prvá.

ÚPLNÉ PRIPOJENIE

ÚPLNÉ PRIPOJENIE od ľavej a pravej sa líši tým, že zobrazuje všetky záznamy z dvoch tabuliek a spája len tie, ktoré dokáže spojiť podľa podmienky.

Napríklad:

ÚPLNÉ PRIPOJENIE
Adresár.Banky AKO Banky

BY

Jazyk dotazu vráti obe tabuľky úplne iba vtedy, ak je splnená podmienka spojenia záznamov. Na rozdiel od ľavého/pravého spojenia je možné, že NULL sa objaví v dvoch poliach.

VNÚTORNÉ SPOJENIE

VNÚTORNÉ SPOJENIE sa od plnej líši tým, že zobrazuje len tie záznamy, ktoré bolo možné podľa danej podmienky spojiť.

Napríklad:

OD
Adresár Protistrany AS Klienti

VNÚTORNÉ SPOJENIE
Adresár.Banky AKO Banky

BY
Klienti.Názov = Banky.Názov

Tento dotaz vráti iba riadky, v ktorých majú banka a protistrana rovnaký názov.

Záver

Toto je len malá časť syntaxe z dopytovacieho jazyka 1C 8; v budúcnosti sa pokúsim podrobnejšie zvážiť niektoré body, ukázať a oveľa viac!

43
NULL – chýbajúce hodnoty. Nezamieňať s nulovou hodnotou! NULL nie je číslo, nerovná sa medzera, prázdny odkaz alebo nedefinované. NULL je typotvorná hodnota, t.j. existuje typ NULL a jedna hodnota tohto typu. NULOVÝ... 26
Na generovanie a vykonávanie dotazov do databázových tabuliek na platforme 1C sa používa špeciálny objekt programovacieho jazyka Query. Tento objekt je vytvorený volaním konštrukcie New Request. Pohodlná požiadavka... 18
Článok poskytuje užitočné techniky pri práci s dopytmi 1C v.8.2, ako aj informácie, ktoré nie sú o jazyku dopytov také známe. Nesnažím sa poskytnúť úplný popis jazyka dopytu, ale chcem sa pozastaviť iba nad... 13
LIKE - Operátor na kontrolu podobnosti reťazca so vzorom. Analóg LIKE v SQL. Operátor SIMILAR vám umožňuje porovnať hodnotu výrazu zadaného naľavo od neho s reťazcom vzoru zadaným napravo. Význam výrazu...

Pozor! Toto je úvodná verzia lekcie, ktorej materiály môžu byť neúplné.

Prihláste sa na stránku ako študent

Ak chcete získať prístup k školským materiálom, prihláste sa ako študent

Dotazovací jazyk 1C 8.3 pre začínajúcich programátorov: funkcie a operátory pre prácu s typmi (VALUE TYPE, TYPE, REFERENCE, ISNULL, EXPRESS)

Pripomeňme si, že každý atribút (vlastnosť, pole) adresára, dokumentu alebo akéhokoľvek iného aplikačného objektu má svoj vlastný typ. A na tento typ sa môžeme pozrieť v konfigurátore:

V dopytovacom jazyku existuje celá trieda funkcií a operátorov na prácu s typmi detailov. Pozrime sa na ne.

Funkcia VALUE TYPE

Táto funkcia preberá jeden parameter (hodnotu) a vracia jeho typ. Pre rekvizity opísané na obrázku (vyššie) Ochutnajte adresár Jedlo vráti sa nasledovné:

Teraz sa pozrime na rekvizity Výrazná vlastnosť v adresári Mestá:

Vidíte, že táto rekvizita môže byť jedným z niekoľkých typov: Linka, Adresár.Chute, Adresár.Farby. Tento typ detailov sa nazýva COMPOSITE.

Ak sa pokúsime vyplniť hodnotu takéhoto detailu v režime 1C:Enterprise, systém sa nás opýta, aký typ hodnoty bude zadaný:

A až po našom výbere nám umožní zadať hodnotu zvoleného typu.

Takže prvky adresára rovnakého typu ( Adresár.Mestá) bude možné uložiť do rovnakého atribútu ( Výrazná vlastnosť) hodnoty rôznych typov (reťazec, farby alebo príchute).

Môžete sa o tom presvedčiť kliknutím na prvky adresára Mestá v režime 1C:Enterprise. Čítate skúšobnú verziu lekcie, k dispozícii sú celé lekcie.

Hodnotou rozlišovacej funkcie je tu prvok adresára Príchute:

Tu je riadok:

A tu je vo všeobecnosti prvok referenčnej knihy Farby:

Toto sú možnosti, ktoré nám otvára zložený dátový typ!

Som zvedavý ako sa bude funkcia správať HODNOTY TYPU na rekvizitách Výrazný prvok, ktorý má zložený typ údajov:

Toto je už veľmi zaujímavé. Pozrime sa na každý riadok jednotlivo.

Typ hodnoty rozlišovacieho znaku pre prvok Rusko sa rovná NULOVÝ. S týmto typom sa stretávame prvýkrát. Hodnoty tohto typu sa používajú výlučne na určenie chýbajúcej hodnoty pri práci s databázou.

To je pravda, pretože prvok Rusko je skupina a nie obyčajný prvok adresára Mestá, takže nemá žiadne pole Výrazná vlastnosť. A typ chýbajúcej hodnoty, ako sme čítali vyššie, sa vždy rovná NULOVÝ.

Typ hodnoty rozlišovacieho znaku pre Perm sa rovná Príchute. To je pravda, pretože hodnota charakteristického znaku zadaného v databáze pre mesto Perm je odkaz na prvok adresára Príchute.

Pre Krasnojarsk sa typ atribútu rovná Farby, pretože hodnota vybraná v databáze je odkaz na prvok adresára Farby.

Pre Voronež sa typ atribútu rovná Linka, pretože hodnota zadaná v databáze je obyčajný reťazec.

India je opäť skupina, takže to nemá význam. A typ chýbajúcej hodnoty, ako si pamätáme, sa rovná NULOVÝ.

Tu je vec. Ak prejdete na prvok adresára Mestá s menom Sao Paulo, potom uvidíte, že pole Výrazná vlastnosť vôbec nevyplnené. Je to prázdne. A všetky prázdne polia zloženého typu majú osobitný význam NEDEFINOVANÉ .

S NEDEFINOVANÝ tiež sa stretávame prvýkrát. Význam NEDEFINOVANÝ používa sa, keď je potrebné použiť prázdnu hodnotu, ktorá nepatrí žiadnemu inému typu. Toto je presne naša situácia. A typ hodnoty NEDEFINOVANÝ, ako ste už pravdepodobne uhádli, sa rovná NULOVÝ.

Funkcia TYPE

Vyžaduje iba jeden parameter - názov primitívneho typu ( ČIARA, NUMBER, DÁTUM, BOOLEAN), alebo názov tabuľky, ktorej typ prepojenia chcete získať.

Výsledkom tejto konštrukcie bude hodnota typu Typ pre zadaný typ.

Znie to nejasne, však?

Pozrime sa na aplikáciu tohto dizajnu a všetko okamžite padne na svoje miesto.

Predpokladajme, že musíme vybrať všetky položky adresára Mestá, ktoré majú kompozitné rekvizity Výrazná vlastnosť má hodnotu typu ČIARA:

Teraz vyberme všetky záznamy, ktoré majú hodnoty atribútov Výrazná vlastnosť sú odkazy na prvky adresára Farby(tabuľka Adresár.Farby):

Ustúpiť

Ako si pamätáte, niektoré prvky adresára Mestá nemať rekvizity Výrazná vlastnosť. Funkcia HODNOTY TYPU pre takéto prvky vyrába NULOVÝ.

Ako môžete vybrať takéto prvky v dotaze? Na tento účel je k dispozícii špeciálny logický operátor JE NULL(nezamieňať s funkciou ISNULL, na ktoré sa pozrieme nižšie). Čítate skúšobnú verziu lekcie, k dispozícii sú celé lekcie.

Tu je príklad jeho použitia:

Skvelé. Ale všimli ste si, že tu nie je žiadny prvok typu Sao Paulo, rekvizity Výrazná vlastnosť ktorý aj vydal NULOVÝ. Prečo sa to stalo?

Ide však o to, že situácia pre skupiny (Rusko, India, Brazília), pre ktoré sa vypĺňajú podrobnosti Výrazná vlastnosť v zásade nemožné, keďže ho vôbec nemajú, sa líši od situácie pre prvok Sao Paulo, pre ktorý je vyplnenie rekvizít možné, ale jednoducho sa nevyplní a rovná sa, ako si pamätáme, osobitnú hodnotu NEDEFINOVANÝ.

Ak chcete vybrať všetky záznamy, ktoré majú požadované Výrazná vlastnosť prítomný, ale nevyplnený, mala by sa použiť iná konštrukcia:

Ale porovnanie s UNDEFINED na určenie prázdnych (nevyplnených) atribútov bude fungovať len pre zložené typy.

Mimochodom, logický operátor IS NULL má formu negácie, ktorá vyzerá takto:

Logický operátor LINK

Vyberme si napríklad z adresára Mestá len tie záznamy, ktoré majú hodnotu zloženého atribútu Výrazná vlastnosť sú odkazom na prvok adresára Príchute:

Ako si pamätáte, rovnaký problém by sme mohli vyriešiť pomocou HODNOTY TYPU A TYP:

Funkcia ISNULL

Funkcia je navrhnutá tak, aby nahradila hodnotu NULOVÝ na iný význam.

Pamätáme si ten význam NULOVÝ vráti, ak požadovaný atribút (pole, vlastnosť) neexistuje.

Napríklad rekvizity Výrazná vlastnosť pre skupiny adresárov Mestá:

Funkcia ISNULL pomôže nám vypísať inú hodnotu, ak sa táto hodnota rovná NULOVÝ. Čítate skúšobnú verziu lekcie, k dispozícii sú celé lekcie. Nech je v tomto prípade riadok „Takáto rekvizita neexistuje!“:

Ukazuje sa, že ak prvý parameter funkcie ISNULL nerovná sa NULOVÝ, potom sa vráti. Ak je NULL, vráti sa druhý parameter.

Funkcia EXPRESS

Táto funkcia je len pre polia, ktoré majú zložený typ. Výborným príkladom takéhoto poľa je nehnuteľnosť Výrazná vlastnosť pre prvky adresára Mestá.

Ako si pamätáme, zložené polia môžu byť jedným z niekoľkých typov špecifikovaných v konfigurátore.

Pre pole Výrazná vlastnosť takéto platné typy sú ČIARA, Adresár.Farby A Adresár.Chute.

Niekedy je potrebné preniesť hodnoty zloženého poľa na konkrétny typ.

Uveďme zoznam všetkých hodnôt polí Výrazná vlastnosť písať Referencie.Farby:

Výsledkom je, že všetky hodnoty prvkov, ktoré boli typu Directory.Colors, zostali naplnené a boli prevedené na určený typ. Všetky hodnoty iných typov ( ČIARA, Adresár.Chute) sú teraz rovnaké NULOVÝ. Toto je zvláštnosť pretypovania pomocou funkcie EXPRESNÉ.

Typ môžete pretypovať buď na primitívny typ ( BOOLEAN, NUMBER, ČIARA, DÁTUM) alebo na referenčný typ. Čítate skúšobnú verziu lekcie, k dispozícii sú celé lekcie. Ale typ, na ktorý sa robí odliatok, musí byť uvedený v zozname typov pre toto zložené pole, inak systém vyhodí chybu.

Urobte si test

Spustiť test

1. Vyberte najsprávnejšie tvrdenie

2. Podrobnosti, ktoré môžu nadobúdať hodnoty jedného z niekoľkých typov, sa nazývajú

3. Na určenie typu hodnoty atribútu použite funkciu

4. Dôležité sú prázdne detaily zloženého typu

Páčil sa vám článok? Zdielať s priateľmi: