1C vám umožňuje výrazne zjednodušiť vedenie účtovníctva alebo jednoducho spravovať akúkoľvek organizáciu, či už ide o 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 sú vo všeobecnosti a 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, prvkom dátového systému. Bolo to urobené s cieľom uľahčiť úpravu systému a pridávanie nových prvkov. Táto funkcia sa nazýva len „Typ hodnoty“.

V skutočnosti ide o jeden zo základných konceptov, ktorý obsahuje väčšina programovacích jazykov. Môže sa použiť na klasifikáciu rôznych údajov. 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ť: pevnina, krajina, okres atď.

Vyšetrenie

Pomocou jazyka dotazu môžete skontrolovať konkrétne pole. Presnejšie povedané, jeho funkcie: VALUE TYPE. To znamená, že ak chceme zistiť, aký druh informácií obsahuje bunka, ktorá nás zaujíma, musíme použiť príkaz.

VALUETYPE(hodnota) = TYPE(reťazec)

Vo vyššie uvedenom príklade sme definovali pomocou príkazu, najjednoduchšia forma. Ďalší príklad overenia žiadosti:

Dokumenty

Samotných typov je pomerne veľa, používatelia si vystačia s oboma pôvodnými a zadajú si svoje, aby sa mohli zlepšiť informačnú základňu. Tu sú niektoré z nich.

  • Odkaz na dokument. Žiada sa o pohodlné skladovanie odkazy 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:

  • formulár;
  • linka;
  • boolovská hodnota
  • číslo;
  • dátum;
  • pole;
  • zaškrtávacie políčko;
  • obrázok.

Toto je len časť z nich. Akýkoľvek objekt môže byť len niečo z tohto zoznamu. boolean - š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 čínske písmeno. Aby ste pochopili, čo je v stávke a efektívne využívali 1C, musíte poznať základy programovania. Vo všeobecnosti bude pomerne ľahké skontrolovať typ v žiadosti v programe 1C v porovnaní s inými akciami.

Pozor! Tu je skúšobná verzia lekcie, ktorej materiály nemusia byť úplné.

Prihláste sa ako študent

Ak chcete získať prístup k obsahu školy, 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, IS NULL, EXPRESS)

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

Jazyk dopytu má celá trieda funkcie a operátory na prácu s typmi atribútov. Poďme sa na ne pozrieť.

Funkcia VALUETYPE

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 nasledovné:

Teraz sa poďme pozrieť na rekvizity. Rozlišovacia črta v adresári Mestá:

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

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

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

Takže prvky adresára rovnakého typu ( Adresár.Mestá) bude možné uložiť do rovnakého atribútu ( Rozlišovacia črta) hodnoty odlišné typy(String, Farby alebo Príchute).

Môžete si to overiť kliknutím na prvky adresára Mestá v režime 1C:Enterprise. Čítate skúšobnú verziu lekcie, nájdete úplné lekcie.

Hodnota funkcie je tu referenčným prvkom Chutia:

Tu je riadok:

A tu vo všeobecnosti prvok adresára Farby:

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

Som zvedavý ako sa bude funkcia správať VALUETYPE na rekvizitách Výrazný prvok, ktorý má zložený dátový typ:

Toto je už veľmi zaujímavé. Venujme sa každému riadku samostatne.

Typ hodnoty funkcie pre prvok Rusko je NULOVÝ. S týmto typom sa stretávame prvýkrát. hodnoty tohto typu slúžia výhradne na zistenie chýbajúcej hodnoty pri práci s databázou.

Je to tak, pretože prvok Rusko je skupina a nie obyčajný prvok adresára Mestá, takže nemá žiadne pole Rozlišovacia črta. A typ chýbajúcej hodnoty, ako sme čítali vyššie, sa vždy rovná NULOVÝ.

Typ hodnoty rozlišovacieho znaku pre Perm je Chutia. Je to tak, pretože hodnota rozlišovacieho znaku zaznamenaného v databáze pre mesto Perm je odkaz na prvok adresára Chutia.

Pre Krasnojarsk je typ prvku rovný Farby, pretože hodnota vybratá v databáze je odkaz na prvok slovníka Farby.

Pre Voronež sa typ funkcie rovná Linka, pretože hodnota zadaná v databáze je normálny reťazec.

India je opäť skupina, takže zmysel chýba. A typ chýbajúcej hodnoty, ako si pamätáme, je NULOVÝ.

A tu je tá vec. Ak prejdete na prvok adresára Mestá s menom Sao Paulo, uvidíte, že pole Rozlišovacia črtaúplne nevyplnené. Je prázdny. ALE všetky prázdne polia zloženého typu majú osobitný význam NEDEFINOVANÉ .

OD NEDEFINOVANÝ aj my sa prvýkrát stretávame. Význam NEDEFINOVANÝ používa sa, keď chcete použiť prázdnu hodnotu, ktorá nepatrí žiadnemu inému typu. Toto je len naša situácia. 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 odkazu chcete získať.

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

Znie to zahmlene, však?

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

Predpokladajme, že chceme vybrať všetky položky adresára Mestá, ktoré majú zložený atribút Rozlišovacia črta má hodnotu typu ČIARA:

Teraz vyberme všetky záznamy, ktoré majú hodnoty atribútov Rozlišovacia črta sú odkazy na referenčné prvky Farby(tabuľka Referencie.Farby):

Ustúpiť

Ako si pamätáte, niektoré prvky adresára Mestá nemajú rekvizity Rozlišovacia črta. Funkcia VALUETYPE lebo takéto prvky dáva NULOVÝ.

Ako je možné vykonať výber takýchto prvkov na požiadanie? Na to existuje špeciálny logický operátor. JE NULL(nezamieňať s funkciou JE NULL o ktorých budeme diskutovať nižšie). Čítate skúšobnú verziu lekcie, nájdete úplné lekcie.

Tu je príklad jeho použitia:

Výborne. Ale všimli ste si, že tu nie je žiadny prvok Sao Paulo, typ hodnoty rekvizít Rozlišovacia črta ktorý bol tiež vydaný NULOVÝ. Prečo sa to stalo?

A ide o to, že situácia pre skupiny (Rusko, India, Brazília), pre ktoré sa vypĺňajú podrobnosti Rozlišovacia črta 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 atribútu možné, ale jednoducho sa nevyplní a ako si pamätáme, rovná sa špeciálnemu hodnotu NEDEFINOVANÝ.

Ak chcete vybrať všetky záznamy, ktoré majú rekvizity Rozlišovacia črta prítomný, ale nevyplnený, mal by sa použiť iný konštrukt:

Ale porovnanie s UNDETERMINATED na definovanie prázdnych (nevyplnených) rekvizít bude fungovať len pre zložené typy.

Mimochodom, o logický operátor Formulár negácie IS NULL je nasledujúci:

Booleovský operátor REFERENCIA

Vyberme si napríklad z adresára Mestá len tie záznamy, ktoré majú hodnotu zloženého atribútu Rozlišovacia črta sú odkazom na referenčný prvok Chutia:

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

Funkcia ISNULL

Funkcia je určená na nahradenie hodnoty NULOVÝ na inú hodnotu.

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

Ako rekvizity Rozlišovacia črta pre skupiny adresárov Mestá:

Funkcia JE NULL nám pomôže vypísať inú hodnotu, ak sa táto hodnota rovná NULOVÝ. Čítate skúšobnú verziu lekcie, nájdete úplné lekcie. Nech v tomto prípade bude riadok "Takýto atribút neexistuje!":

Ukazuje sa, že ak prvý parameter funkcie JE NULL 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. Skvelým príkladom takéhoto poľa je majetok Rozlišovacia črta 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 Rozlišovacia črta takéto platné typy sú ČIARA, Referencie.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í Rozlišovacia črta písať Referencie.Farby:

Výsledkom je, že všetky hodnoty prvkov, ktoré mali typ Referencie.Farby, zostal naplnený a ukázalo sa, že bol zredukovaný na špecifikovaný 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, nájdete úplné lekcie. Ale typ, na ktorý je odliatok vyrobený, musí byť uvedený v zozname typov pre toto zložené pole, inak systém vygeneruje chybu.

Urobte si test

Spustiť test

1. Vyberte najsprávnejšie tvrdenie

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

3. Na určenie typu hodnoty atribútu je vhodná funkcia

4. Dôležité sú nevyplnené atribúty zloženého typu

Domov pre začínajúcich vývojárov Naučte sa programovať

Ako skontrolovať typ hodnoty dokumentu, adresára?

Po prvé, v zabudovanom jazyku je implementovaných niekoľko typov na prácu s jedným aplikačným objektom.

Napríklad úlohy, ktoré sa v 1C:Enterprise 7.7 riešili podľa typu Dokument riešené hneď niekoľkými typmi. Sú rozdelené podľa účelu.

Typ DocumentObject slúži na zapisovanie a mazanie jednotlivých dokumentov.

Typ Výber dokumentu sa používa na iteráciu dokumentov uložených v databáze.

Existujú aj iné typy údajov určené na prácu s dokumentom. Pri písaní modulov sa používajú tie typy, ktoré sú potrebné na riešenie konkrétnych problémov.

Po druhé, v zabudovanom jazyku neexistujú dva koncepty - Typ a vyhliadka. Každý konfiguračný objekt má svoju vlastnú množinu typov používaných v zabudovanom jazyku na prácu s aplikačným objektom, ktorý popisuje. To znamená, že pri použití konfigurácie nebude existovať taký typ ako Odkaz na dokument a budú konkrétne typy, napr. DocumentReference.Invoice, DocumentObject.Invoice, DocumentReference.Invoice, atď.

Okrem toho sa na manipuláciu s typmi nepoužívajú názvy reťazcov, ale špeciálny typ Typ. Zadajte hodnotu Typ možno získať funkciou Typ() A, ktoré berie názov typu ako parameter.

Ak chcete skontrolovať typ hodnoty premennej, musíte pomocou funkcie určiť jej typ ValueType() a použite funkciu Typ() získať typ podľa názvu.

Napríklad:

Definované typy sú novým objektom metadát 1C, ktorý sa objavil vo verzii platformy 8.3. Objekt má pomocný charakter. Uvažujme, aké sú definované typy a úlohy, ktoré môže tento objekt riešiť.

Definované sú nové dátové typy, ktorých množinu definuje vývojár aplikačného riešenia. Pozostáva z niekoľkých platných typov. Takýmto dátovým typom môže byť typ ľubovoľného konfiguračného atribútu, okrem definovaného typu a objektu " ".

Získajte 267 1C video lekcií zadarmo:

Nastavenie

Pre tento objekt nie je toľko nastavení:

Tie. okrem názvu a synonyma v 1C majú definované typy iba množinu typov objektov.

Príklad použitia definovaných typov v 1C 8.3

Existuje mnoho aplikácií pre tento objekt.

Príklady použitia:

  • v konfiguračných atribútoch môžete popísať údaje, ktoré sa určia pri vložení fragmentu do špecifickej konfigurácie;
  • priradiť jeden typ definovaných údajov k určitej množine odberov udalostí, pri zmene množiny typov pre všetky odbery sa bude dynamicky meniť zdroj;
  • použiť ako alternatívu k plánu typov charakteristík

a oveľa viac.

Ak sa začínate učiť programovanie 1C, odporúčame naše voľný kurz(nezabudni