Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Sigurnost
  • Dodijelite tip kompozitnom tipu podataka 1s 8.

Dodijelite tip kompozitnom tipu podataka 1s 8.

- klasifikacija vrijednosti (odnosno podataka) prema njihovoj vrsti - nizovi, brojevi, datumi itd. Tip vrijednosti jedan je od osnovnih pojmova u bilo kojem programskom jeziku.

Pretvorba tipa je pretvorba vrijednosti (podataka) iz jedne vrste u drugu, na primjer iz niza u broj ili obrnuto. Uži koncept oblikovanja vrijednosti je pretvorba iz bilo kojeg tipa u niz s pretvorbom u oblik koji će korisniku biti prikladan za čitanje, uključujući lokalizaciju.

Postoje jezici s jakim upisivanjem podataka. To znači da kod kreiranja (definiranja) varijable programer strogo određuje koju vrstu podataka ona može pohraniti. Isto s funkcijama, parametrima procedure itd. U metapodacima 1C vrsta detalja je strogo određena (iako postoji složena vrsta koja vam omogućuje da odredite nekoliko opcija). Ali u programskom kodu na jeziku 1C nema strogog tipkanja, što znači da možete stvoriti numeričku varijablu, a zatim je izjednačiti s nizom. Funkcija može, ovisno o parametrima i uvjetima, vratiti broj, Booleovu vrijednost ili string.

Kako raditi s tipovima podataka u 1C jeziku i kako pretvoriti 1C tipove?

Vrijednost 1C Nedefinirano

Nedefinirano je vrijednost 1C što znači da nema vrijednosti. Koristeći ovu 1C vrijednost, možete "nulirati" varijable, uključujući implicitno pozivanje destruktora, na primjer, COM objekte.
Variable1 = New COMObject("Excel.Application");
Varijabla1 = Nedefinirano;

Slična vrijednost je 1C NULL, koju može vratiti zahtjev prilikom pokušaja dobivanja podataka iz baze, ako ih nije bilo moguće dobiti (točnije, vrijednost u polju NULL znači da je polje u bazi “ nije ispunjeno”).
Odaberite = Query.Run().Select();
Dok Select.Next() Petlja
If Selection.Field1 = NULL Onda
Nastaviti;
završi ako;
EndCycle;

Vrste 1C vrijednosti

Moguće je koristiti sljedeće kao "varijable":

  • Varijable stvorene u tekstu programa (pomoću gore opisanih metoda)
  • Pojedinosti o objektu metapodataka ili obrascu (stvorenom u konfiguratoru, s naznakom točne vrste 1C).

Rekviziti mogu imati kompozitni tip 1C, odnosno više mogućih. Dodjeljivanje vrijednosti 1C od strane korisnika u ovom slučaju može biti proces u dva koraka:

  • Odabir vrste vrijednosti 1C među dostupnima
  • Odabirom vrijednosti 1C.

Prema zadanim postavkama, ovaj atribut ima vrijednost 1C Nedefinirano. Kada je odabrana vrsta 1C, ali vrijednost 1C još nije odabrana, prazna vrijednost ove vrste 1C (0 za broj, prazna veza za referentne vrste 1C, vidi dolje). I na kraju onda – vrijednost 1C. Iz programa se vrijednosti dodjeljuju izravno, bez posrednog odabira tipa 1C.

Moguće je odrediti vrstu 1C vrijednosti na nekoliko načina:
//metoda 1 – usporedba s poznatim tipovima 1C
Varijabla1 = 12;
If TypeValue(Variable1) = Type("Number") Then
//…
InačeAko VrstaVrijednosti(Varijabla1) = Tip("VezaImenika.NazivImenika") Zatim
//…
završi ako;

Pretvorba 1C tipova

Vrijednost 1C jednostavnih tipova 1C može se pretvoriti pomoću operatora - naziv tipa 1C:
//na broj
VrijednostBroja = Broj("22"); //ako je nemoguće pretvoriti 1C tipove, pojavit će se pogreška, pa je bolje koristiti rukovatelj greškama (vidi dolje)

//do linije
Niz vrijednosti = Niz(22);
Niz vrijednosti = AbbrLP(22);
ValueString = Format(22, "CHG=0");

//na spoju
Datum vrijednosti = Datum ("20120101120000"); //01.01.2012 12:00:00
Datum vrijednosti = Datum (2012, 01, 01, 12, 0, 0);
Datum vrijednosti = Datum (2012, 01, 01);

Pretvorba tipova 1C - vrijednosti složenih tipova 1C

Formatiranje 1C vrijednosti

Za određivanje točnog formata koristi se funkcija Format() kojom je moguće zadati željeni prikaz.
NumberString = Format(2400, "Postavke")

U retku "Postavke" morate navesti potrebni 1C format. Takve postavke su naznačene u posebnom kodiranom obliku. Pogledajmo najčešće korištene postavke:

1C format datuma i brojeva prema pravilima raznih zemalja
Ako trebate prikazati datum ili broj, a ne želite se zamarati time da saznate kako bi oni trebali biti prikazani prema pravilima željene zemlje, postoji jednostavna postavka koja će vam to omogućiti:
L = Skraćeni naziv željene zemlje

Primjer ispisa datuma prema pravilima nekih zemalja:
Format(TrenutniDatum(), “L=ru”)
> 28.03.2012 14:21:32
Format(CurrentDate(), "L=en")
> 28.3.2012 14:21:24
Format(TrenutniDatum(), "L=fr")
> 28/03/2012 14:22:08

Format datuma u 1C jeziku
Ako vam zadana postavka nije dovoljna i želite samostalno odrediti redoslijed dijelova datuma i simbole za njihovo razdvajanje, morate koristiti postavku:
DF = "dmg chms"

Prema tome, "dmg" je dan, mjesec i godina, a "chms" su sati, minute i sekunde. Bilo koji od ovih dijelova moguće je preskočiti. Redoslijed je bilo koji. Znakovi navedeni između dijelova koristit će se kao znakovi za razdvajanje.

Simbol datumskog dijela m.b. je naznačeno nekoliko puta za redom, vrsta ovog dijela datuma ovisi o tome, na primjer "d" ili "dd" ili "dddd".

Objašnjenje dijelova datuma:

  • d – dan
    o malo "d"
    o od 1 do 4 puta
  • M – mjesec
    o veliko "M"
    o od 1 do 4 puta
  • g – godina
    o malo "g"
    o 1 ili 2 ili 4 puta
  • h – sati
    o malo “h” - 12 satni format
    o veliko “H” - 24-satni format
    o 1 ili 2 puta
  • m – minute
    o malo "m"
    o 1 ili 2 puta
  • s – sekunde
    o mala "s"
    o 1 ili 2 puta
  • bb – prikaz AM/PM za 12-satni format
  • k – četvrtina.

Primjer prikaza datuma koji označava pravila:

Format broja u 1C jeziku
Za razliku od formatiranja datuma, gdje je sve vrlo jednostavno, formatiranje broja ima mnogo opcija. Evo onih koji se najčešće koriste.

Prvi "problem" vezan je uz zadano grupiranje znamenki u brojevima prema 3 i odvajanje grupa razmakom, na primjer:
StrBroj = Niz (22300500)
> 22 300 500

Ovo je nezgodno kada se broj pretvara u niz ne radi lijepog i razumljivog izlaza korisniku, već za potrebe usluge. Na to se može utjecati pomoću parametra "CHG", na primjer:

Parametar koji vam omogućuje zaokruživanje broja prilikom ispisa na traženi broj znamenki nakon decimalne točke "NFR":
Format(3,535353, "BDT=""2""")
> 3,54

Parametar koji vam omogućuje da odredite znak razdjelnika za cijeli i razlomački dio "BRD":
Format(3,535353, "BRD=""."")
> 3.535353

U nekim slučajevima može biti korisno moći prikazati nešto drugo umjesto broja "0": prazan niz ili "nije ispunjeno". To vam omogućuje da napravite parametar "CHN":
Format(0, "CHN=""""")

Najbolji članci na temu