Priraďte typ zloženému typu údajov 1s 8.

Priraďte typ zloženému typu údajov 1s 8.

- klasifikácia hodnôt (tj údajov) podľa ich typu - reťazce, čísla, dátumy atď. Typ hodnoty je jedným zo základných pojmov v každom programovacom jazyku.

Konverzia typu je prevod hodnoty (údajov) z jedného typu na druhý, napríklad z reťazca na číslo alebo naopak. Užším konceptom formátovania hodnoty je prevod z ľubovoľného typu na reťazec s prevodom do podoby, ktorá bude pre používateľa pohodlná na čítanie, vrátane lokalizácie.

Existujú jazyky so silným zadávaním údajov. To znamená, že pri vytváraní (definovaní) premennej programátor striktne špecifikuje, aký typ dát môže uchovávať. To isté s funkciami, parametrami procedúr atď. V metaúdajoch 1C je typ podrobností presne špecifikovaný (hoci existuje zložený typ, ktorý vám umožňuje zadať niekoľko možností). Ale v programovom kóde v jazyku 1C nie je žiadne prísne písanie, čo znamená, že môžete vytvoriť číselnú premennú a potom ju prirovnať k reťazcu. Funkcia môže v závislosti od parametrov a podmienok vrátiť číslo, booleovskú hodnotu alebo reťazec.

Ako pracovať s dátovými typmi v jazyku 1C a ako konvertovať typy 1C?

Hodnota 1C Nedefinované

Nedefinované je hodnota 1C, čo znamená, že neexistuje žiadna hodnota. Pomocou tejto hodnoty 1C môžete „nulovať“ premenné, vrátane implicitného volania deštruktora, napríklad objektov COM.
Premenná1 = Nový COMObject("Excel.Application");
Premenná1 = Nedefinované;

Podobná hodnota je 1C NULL, ktorá môže byť vrátená požiadavkou pri pokuse o získanie údajov z databázy, ak ich nebolo možné získať (presnejšie hodnota v poli NULL znamená, že pole v databáze je „ nevyplnené“).
Select = Query.Run().Select();
Zatiaľ čo Select.Next() Loop
Ak Selection.Field1 = NULL Potom
Ďalej;
koniec Ak;
EndCycle;

Typy hodnôt 1C

Ako „premenné“ je možné použiť nasledovné:

  • Premenné vytvorené v texte programu (pomocou metód opísaných vyššie)
  • Podrobnosti o objekte alebo formulári metadát (vytvorené v konfigurátore s uvedením presného typu 1C).

Podpery môžu mať kompozit typu 1C, teda viacero možných. Priradenie hodnoty 1C používateľom v tomto prípade môže pozostávať z dvoch krokov:

  • Výber typu hodnoty 1C z dostupných
  • Výber hodnoty 1C.

Štandardne má tento atribút hodnotu 1C Nedefinované. Keď je vybratý typ 1C, ale hodnota 1C ešte nebola zvolená - prázdna hodnota tento typ je 1C (0 pre číslo, prázdny odkaz pre referenčné typy 1C, pozri nižšie). A nakoniec – hodnota 1C. Z programu sú hodnoty priradené priamo, bez prechodného výberu typu 1C.

Typ hodnoty 1C je možné určiť niekoľkými spôsobmi:
//metóda 1 – porovnanie so známymi typmi 1C
Premenná1 = 12;
Ak TypeValue(Variable1) = Type("Number") Then
//…
InakIf TypeValue(Variable1) = Type("DirectoryLink.DirectoryName") Potom
//…
koniec Ak;

Konverzia typov 1C

Hodnotu 1C jednoduchých typov 1C je možné previesť pomocou operátora - názov typu 1C:
//na číslo
HodnotaCislo = Cislo("22"); //ak nie je možné konvertovať typy 1C, objaví sa chyba, preto je lepšie použiť obslužný program chýb (pozri nižšie)

//do riadku
ValueString = String(22);
ValueString = AbbrLP(22);
ValueString = Format(22, "CHG=0");

//v deň
ValueDate = Dátum("20120101120000"); //01.01.2012 12:00:00
ValueDate = Dátum(2012, 01, 01, 12, 0, 0);
ValueDate = Dátum(2012, 01, 01);

Konverzia typov 1C - hodnoty komplexných typov 1C

Formátovanie hodnôt 1C

Na určenie presného formátu slúži funkcia Format(), pomocou ktorej je možné určiť požadovanú reprezentáciu.
NumberString = Format(2400, "Nastavenia")

V riadku „Nastavenia“ musíte zadať požadovaný formát 1C. Takéto nastavenia sú označené v špeciálnej zakódovanej forme. Pozrime sa na najčastejšie používané nastavenia:

1C formát dátumov a čísel podľa pravidiel rôznych krajín
Ak potrebujete zobraziť dátum alebo číslo a nechcete sa obťažovať tým, ako by sa mali prezentovať podľa pravidiel požadovanej krajiny, je tu najjednoduchšie nastaveniečo vám umožní toto:
L = krátky názov požadovanej krajiny

Príklad výstupu dátumu podľa pravidiel niektorých krajín:
Format(CurrentDate(), “L=ru”)
> 28.03.2012 14:21:32
Format(CurrentDate(), "L=sk")
> 28.3.2012 14:21:24
Format(CurrentDate(), "L=fr")
> 28/03/2012 14:22:08

Formát dátumu v jazyku 1C
Ak vám predvolené nastavenie nestačí a chceli by ste nezávisle určiť poradie častí dátumu a symbolov na ich oddelenie, musíte použiť nastavenie:
DF = "dmg chms"

V súlade s tým je „dmg“ deň, mesiac a rok a „chms“ sú hodiny, minúty a sekundy. Ktorúkoľvek z týchto častí je možné preskočiť. Objednávka je ľubovoľná. Znaky špecifikované medzi časťami sa použijú ako separačné znaky.

Dátum časti symbol m.b. sa uvádza niekoľkokrát za sebou, od toho závisí typ tejto časti dátumu, napríklad „d“ alebo „dd“ alebo „dddd“.

Vysvetlenie častí dátumu:

  • d – deň
    o malé "d"
    o 1 až 4 krát
  • M – mesiac
    o veľké "M"
    o 1 až 4 krát
  • g – rok
    o malé "g"
    o 1 alebo 2 alebo 4 krát
  • h – hodiny
    o malé „h“ – 12-hodinový formát
    o veľké „H“ - 24-hodinový formát
    o 1 alebo 2 krát
  • m – minúty
    o malé "m"
    o 1 alebo 2 krát
  • s – sekundy
    o malé "s"
    o 1 alebo 2 krát
  • bb – zobrazenie AM/PM pre 12-hodinový formát
  • k – štvrťrok.

Príklad zobrazenia dátumu s uvedením pravidiel:

Formát čísel v jazyku 1C
Na rozdiel od formátovania dátumu, kde je všetko celkom jednoduché, formátovanie čísla má veľa možností. Tu sú tie, ktoré sa používajú najčastejšie.

Prvý „problém“ súvisí s predvoleným zoskupením číslic v číslach po 3 a oddelením skupín medzerou, napríklad:
StrNumber = Reťazec(22300500)
> 22 300 500

To je nepohodlné, keď sa číslo konvertuje na reťazec nie pre krásny a zrozumiteľný výstup pre používateľa, ale pre potreby služby. Toto je možné ovplyvniť pomocou parametra „CHG“, napríklad:

Parameter, ktorý vám umožňuje zaokrúhliť číslo pri výstupe na požadovaný počet číslic za desatinnou čiarkou „NFR“:
Format(3,535353, "BDT=""2""")
> 3,54

Parameter, ktorý vám umožňuje zadať oddeľovací znak medzi celým číslom a zlomkovou časťou „BRD“:
Format(3,535353, "BRD="".""")
> 3.535353

V niektorých prípadoch môže byť užitočné zobraziť namiesto čísla „0“ niečo iné: prázdny reťazec alebo „nevyplnené“. To vám umožní vykonať parameter „CHN“:
Format(0, "CHN=""""")