Tarkista arvotyyppi 1s 8.3. Määritettyjen tyyppien käyttö

31.10.2021

Määritetyt tyypit ovat uusi 1C-metatieto-objekti, joka ilmestyi alustan versiossa 8.3. Kohde on luonteeltaan apuväline. Pohditaan, mitä määritellyt tyypit ovat ja mitä tehtäviä tämä objekti voi ratkaista.

Määritellään uusia tietotyyppejä, joiden joukon määrittää sovellusratkaisun kehittäjä. Se koostuu useista kelvollisista tyypeistä. Tämä tietotyyppi voi olla minkä tahansa määritysattribuutin tyyppi, paitsi itse määritetty tyyppi ja objekti.

Hanki 267 videotuntia 1C:llä ilmaiseksi:

asetukset

Tälle objektille ei ole niin monta asetusta:

Nuo. 1C:n nimen ja synonyymin lisäksi määritellyillä tyypeillä on vain joukko objektityyppejä.

Esimerkki määriteltyjen tyyppien käytöstä kohdassa 1C 8.3

Tälle objektille löytyy paljon erilaisia ​​sovelluksia.

Esimerkkejä käytöstä:

  • voit kuvata kokoonpanossa yksityiskohtia, jotka viittaavat tietoihin, jotka määritetään, kun fragmentti upotetaan tiettyyn kokoonpanoon;
  • määritä tietylle tapahtumatilausjoukolle yksi määritetyn tiedon tyyppi, kun tyypit muuttuvat, lähde muuttuu dynaamisesti kaikille tilauksille;
  • käyttää vaihtoehtona ominaisuustyyppien suunnitelmalle

ja paljon enemmän.

Jos olet aloittamassa 1C-ohjelmoinnin oppimista, suosittelemme meidän ilmainen kurssi(Älä unohda

- Aloimme keskustella siitä, mitä 1C-arvotyypit ovat ja 1C-tyyppien muuntamista.

Tänään puhumme yksityiskohtaisemmin 1C-määritysobjektien tyypeistä (1C-dokumenttityyppi, 1C-hakemistotyyppi jne.)

Koska ohjelmakoodissa työskentelemme arvojen kanssa, meidän on ajoittain tiedettävä niiden tyyppi. Tyyppi 1C ilmoitetaan aina yksityiskohtien metatiedoissa - hakemistoissa ja asiakirjoissa.

1C-tyyppien kanssa työskentelemistä käytetään usein:

  • Ehdot ohjelmassa
    Eri toiminnot riippuen 1C-arvon tyypistä "Jos ... Sitten ..." -rakenteessa
  • Rajoitukset työskennellessä käyttöliittymässä
    Kielletään tai sallitaan käyttäjän syöttää tietyntyyppisten 1C:n arvoja lomakkeen kenttään.
  • Todellisen toiminnon/toimenpideparametrin määrittäminen
    Jos funktion/menettelyn parametri voi olla mitä tahansa 1C-tyyppiä, sinun on määritettävä se, jotta saat arvon oikein.

Tyyppi 1C voidaan hankkia:

  • Määritä todellisen arvon 1C tyyppi
  • Arvoobjekteilla on ominaisuuksia, jotka osoittavat sallitun 1C-tyypin (esimerkiksi 1C-tyypit sallitaan taulukon sarakkeessa, lomakkeen kentässä, metatiedoissa) tai menetelmiä, jotka palauttavat nämä 1C-tyypit
  • Metatiedoista - saat 1C-tyypin sellaisena kuin se on määritetty konfiguraattorin metatiedoissa.

Tyypit 1C voidaan jakaa kolmeen tyyppiin:

  • Perustyypit 1C
  • 1C-tietokantojen tyypit (viite, objektit)
  • Tyypit 1C.

1C-tyypin määritelmä ja 1C-tyyppien vertailu

Voit selvittää arvon 1C tyypin funktiolla TypeValue (Variable)

Ymmärtääksemme, minkä 1C-tyypin tämä funktio palautti, meidän on määritettävä tarvitsemamme tyyppi ("TypeName")

Esimerkiksi tyypin 1C muuttujan määritelmä (vertailu):
Jos TyyppiArvo(Muuttuja) = Tyyppi("TyypinNimi") Sitten

Mitä tyyppejä minun pitäisi kirjoittaa Tyyppinimeksi?

Perustyypit

1C:n perustyypit - numero, merkkijono, päivämäärä, looginen arvo.

Esimerkiksi:
Znch = 12;
Jos TyyppiArvo(Arvo) = Tyyppi("Numero") Sitten
ElseIf Arvo = Type("String") Sitten
ElseIf Arvo = Tyyppi("Päiväys") Sitten
ElseIf Arvo = Tyyppi("Boolean") Sitten
loppu Jos;

Tietokantatyypit

1C tallentaa tiedot tietokantaan, mutta ei muodossa yksittäisiä ennätyksiä, mutta esineiden muodossa.

Useimmat tallennetut objektit (mukaan lukien: hakemistot, asiakirjat, luettelot, liiketoimintaprosessit, tehtävät) ovat käytettävissä Objectina (muokkausta ja kirjoittamista varten) ja linkkinä (lukemista varten). Katso lisätietoja kohdasta "Linkit ja objektit".

Esimerkiksi:
Arvo = Directories.Organizations.EmptyLink();
Jos TyyppiArvo(Arvo) = Tyyppi("Hakemiston linkki.Organisaatiot") Sitten
OtherIf Arvo = Type("HakemistoObject.Organization") Sitten
Muussa tapauksessaIf TyyppiArvo(Arvo) = Tyyppi("Asiakirjan linkki.Tavaroiden vastaanotto") Sitten
OtherIf Arvo = Tyyppi("Asiakirjan kohde.Tavaroiden vastaanotto") Sitten
loppu Jos;

Rekisterit voidaan esittää eri tyyppejä. Rekisterityypin nimi on yhdistelmä:
RegisterRegisterTypeAccessType.RegisterName

1C-rekisterien tyypit:

  • Tiedot
  • Säästöjä
  • Kirjanpito
  • Laskeminen.

Rekisteröintioikeuksia on useita. Useimmiten käytetty:

  • SetRecords
  • Lista
  • Näyte
  • Ennätys
  • RecordKey.

Yhteensä, esimerkki:
Jos TyyppiArvo(Arvo) = Tyyppi("InformationRegisterList.RegisterName") Sitten
OtherIf Arvo = Type("AccumulationRegisterRecordSet.RegisterName") Sitten
loppu Jos;

1C-kielen avulla voit työskennellä monien ohjelmassa dynaamisesti luotujen objektien kanssa, esimerkiksi taulukon, arvoluettelon, arvotaulukon, rakenteen...

Tällaiset 1C-tyypit on merkitty niiden nimellä (yksi sana, ilman välilyöntejä). Esimerkiksi:
Jos TyyppiArvo(Arvo) = Tyyppi("Matriisi") Sitten
ElseIf Arvo = Tyyppi("Arvojen luettelo") Sitten
loppu Jos;

1C-viitetyypin arvon määrittäminen

Työskentely kaikkien tietokantaobjektien (hakemistot, asiakirjat...) kanssa tapahtuu linkkien kautta. Jos esimerkiksi haluamme tehdä viittauksen dokumenttiin, sen 1C-tyyppi on "DirectoryLink.DirectoryName".

Esimerkiksi:
Arvo = Directories.Organizations.EmptyLink();
Jos Directories.TypeAllLinks().Contains(TypeValue(Arvo)) Sitten
//Tämä on hakuteos
ElseIf Documents.TypeAllLinks().Contains(TypeValue(Arvo)) Sitten
//tämä on dokumentti
loppu Jos;

Pyynnössä 1C-tyyppi voidaan tarkistaa kahdella tavalla.

Ensimmäinen on samanlainen kuin kuvattu, mutta 1C-tyypin nimi ei osoita "Linkki" tai "Object", eli "DirectoryLink.Organizations" sijaan kirjoitamme "Directory.Organizations"

Esimerkiksi:

Kuitti saatavilla olevat tyypit 1C

Monilla objekteilla on property.ValueType, joka sisältää luettelon 1C-tyypeistä:

  • Kenttä lihava asiakaslomake
    Form Elements.FieldName.ValueType
  • Lomakkeen kenttä laiha asiakas(poikkeus: nimeltään AvailableTypes)
    Elements.FieldName.AvailableTypes
  • Arvotaulukon sarake, arvopuu
  • Lomakkeen tiedot
  • Valintaelementti

Kuinka käsitellä tätä 1C-tyyppien luetteloa kentässä.ValueType - katso "Tyyppien kuvaus" osiossa "1C Language".

Työskentely 1C-yksityiskohtatyyppien kanssa kokoonpanon metatiedoissa

Kun lisäät ja muokkaat tietoja konfiguraattorissa, ohjelmoija määrittää 1C-yksityiskohtien tyypin. 1C-kielellä olevasta ohjelmakoodista saat (selvittää) 1C-tietojen tyypit.

Perusmenetelmät:

  • 1C-objektille kutsu Metadata()-metodi, joka palauttaa tietyn objektin metatiedot ja käsittelee sitten tietoluetteloa (ja taulukko-osion tietoja).
    Documents.Receipt of Goods.EmptyLink().Metadata().Details
  • Käytä globaalia muuttujaa "Metadata", joka palauttaa kaikki kokoonpanon metatiedot ja käytä sitten tietyn objektin tietoja
    Metadata.Documents.Receipt of Goods.Details

Attribuutilla on property.Type, joka sisältää luettelon 1C-tyypeistä, jotka on asetettu konfiguraattorissa tälle attribuutille.

Kuinka käsitellä tätä 1C-tyyppien luetteloa - katso "Tyyppien kuvaus" osiossa "1C Language".

Määritä 1C-tyyppinen suodatin

Monille objekteille on mahdollista määrittää 1C-arvotyyppien suodatin, jota voidaan käyttää, esimerkiksi:

  • Arvoluettelo (.AvailableValues)
  • Hallitun asiakaslomakkeen kenttä (.AvailableTypes)

Jos suodatin ei ole muokattavissa, on mahdollista määrittää suodatin objektimenetelmässä. Esimerkiksi arvojen taulukon (puun) sarakkeessa on.ValueType, emmekä voi muuttaa sitä, mutta kun lisätään sarake käyttämällä.Add()-menetelmää, toisella parametrilla voidaan määrittää luettelo käytettävissä olevista 1C:stä. tyypit.

1C-tyyppien luettelon määrittämiseksi suodattimelle käytetään 1C-tyyppien luetteloa sen kanssa työskentelemisestä, katso "Tyyppien kuvaus" osiossa "1C Language".

Jatkamme tutustumista 1C:Enterprisen uuteen toiminnallisuuteen, joka alkoi sarjan edellisessä artikkelissa. Kun olet tutkinut tämän artikkelin materiaalit, opit:

  • Mitä määritellään tyypit ja miten niitä käytetään?
  • Mihin Ensisijaiset roolit -määritysominaisuutta käytetään?
  • Miten apuohjelman avulla luodaan asiakastapahtumakäsittelijöitä lomakkeelle?
  • Miten ja miksi määritysten lataamista XML-tiedostoihin käytetään?

Sovellettavuus

Artikkelissa käsitellään 1C:Enterprise-alustan versiota 8.3.4.437, mutta sen materiaalit voivat olla hyödyllisiä myös niille, jotka työskentelevät vanhempien julkaisujen parissa.

Kuinka helpottaa kehitystä 1C:Enterprise 8.3:ssa

Harkitsemme edelleen 1C:Enterprise 8 -alustan innovaatioita konfiguroinnin helpottamiseksi.

Määritellyt tyypit

Alustassa 8.3 on lisätty uusi objekti konfiguraatiohaaraan "Yleinen" - Määritetyt tyypit.

Tämä on erityinen konfigurointiobjekti, joka on suunniteltu määrittämään tietotyyppi, joka kuvaa usein käytettyä kokonaisuutta tai joka todennäköisesti muuttuu, kun sovellusratkaisu otetaan käyttöön.

Harkitse esimerkiksi yhdistelmätyyppiä, joka sisältää linkin hakemistoihin "vastapuolet" ja "yksityishenkilöt".

Ja tätä tyyppiä, jossain kehitetyssä kokoonpanossa, käytetään usein yhteystietoja kuvaavan tietorekisterin ulottuvuutena, yksityiskohtana asiakirjassa "Kassakuittimääräys" jne.

Tällaisen kokoonpanon toteutuksen aikana tämän tyyppinen koostumus voi muuttua - siihen voidaan lisätä uusia objekteja ja myös päinvastoin - tarpeettomat tyypit voidaan sulkea pois.

Jos uuden "määritellyn tyyppimme" sijaan käytämme yhdistelmätyyppiä joka paikassa, jossa tällaista kokonaisuutta käytetään, meidän on muutettava tyyppien koostumusta kaikkialla. Se on pitkä, vaikea, työläs, ja jotkut rekvisiitta on mahdollista unohtaa.

Jos käytät määritettyä tyyppiä, sovellusratkaisun viimeistelyprosessin aikana vain tämän tyypin määritelmää (ja tällaisia ​​kenttiä käsittelevää ohjelmakoodia) on muutettava.

Kaikki tiedot, joille määritetty tyyppi on määritetty tyypiksi, muuttuvat automaattisesti.

Tässä on toinen esimerkki määritellyn tyypin käyttämisestä.

Joitakin yksityiskohtia varten kokoonpanossa on kirjoitusstandardi. Esimerkiksi määritämme suuren luvuksi, jonka pituus on 15, tarkkuudella 3, ja summan pituudeksi 15, jonka tarkkuus on 2.

Oletetaan, että yrityksen piti pitää kirjaa kalliista tavaroista korkea tarkkuus heidän painonsa.

Tämän vuoksi meidän piti lisätä yksityiskohtien tarkkuutta, jotta määrä voidaan ottaa huomioon neljän desimaalin tarkkuudella. Nämä muutokset on tehtävä samanaikaisesti kaikkiin asiakirjatietoihin ja rekisteriresursseihin.

Tämä ei ole vaikea tehtävä, mutta se on erittäin työvoimavaltaista ja vaatii kehittäjältä suurta huolellisuutta ja sinnikkyyttä.

Kun luot uuden määritetyn tyypin, sinun tarvitsee vain määrittää sen tyyppi. Sitten kun luot dokumentin tietoja ja rekisteriresursseja, voit valita linkin luotuun määritettyyn tyyppiin.

Tämän lähestymistavan avulla voimme taata saman tietotyypin (sama pituus, tarkkuus, sama koostumus yhdistelmätyyppisille kentille jne.) kaikissa paikoissa, joissa sitä käytetään.

Sitten, jos sinun täytyy muuttaa kaikkien tietojen tietotyyppiä, sinun ei tarvitse korjata manuaalisesti jokaista attribuuttia erikseen, riittää, että teet muutoksia vastaavaan määritettyyn tyyppiin.

Määritetty tyyppi voidaan luoda yhdistelmätyypiksi. Tämän konfigurointiobjektin käytölle on kuitenkin rajoituksia. Siten määritettävä tyyppi ei voi olla osa ominaistyyppien suunnitelman arvotyyppiä, eikä se voi myöskään olla osa toisen attribuutin yhdistelmätietotyyppiä.

Huomaa, että alustaversiossa 8.3.5 määriteltyjen tyyppien käyttömahdollisuuksia lisättiin laajentamalla niiden tyyppien joukkoa, jotka voivat olla osa määritettyä tyyppiä.

Ei muutoksia siihen asti nykyiset versiot alusta 8.3.10/8.3.11 ei toiminut määritetyn tyypin kanssa.

Määritysominaisuus "Ensisijaiset roolit"

Alustassa 8.2 juurimäärityselementillä oli "Primary Role" -ominaisuus, jossa kehittäjä määritti roolin, jota käytetään, jos tietokanta käyttäjiä ei ole luotu.

Alustassa 8.3 tuli mahdolliseksi määrittää useita rooleja, joita käytetään pääsyoikeuksien määrittämiseen, kun käyttäjäluettelo on tyhjä. Tämän vuoksi kiinteistö nimettiin uudelleen "Päärooleiksi".

Suurenna klikkaamalla kuvaa.

Lomakeasiakkaan tapahtumakäsittelijöiden luominen

Kun määritetään hallittu sovellus Kehittäjän on tarkkailtava huolellisesti ohjelmakoodin suorituskontekstia käyttäen asianmukaisia ​​esikäsittelyohjeita.

Koska asiakaskoneessa on saatavilla rajoitettu joukko tietotyyppejä ja menetelmiä, kehittäjän on usein luotava asiakasproseduuri, josta ohjauksen siirtäminen palvelimelle.

Alustassa 8.3 ilmestyi apulainen asiakaslomaketapahtumien käsittelijöiden luomiseen.

Suurenna klikkaamalla kuvaa.

Nyt kehittäjän ei tarvitse luoda manuaalisesti palvelinmetodia ja määrittää sen kutsua asiakasproseduurin sisällä, vaan hän voi keskittyä kokonaan järjestelmän sovelluslogiikan toteuttamiseen.

Ladataan asetuksia tiedostoihin

Toinen 8.3-alustan innovaatio on kyky ladata koko kokoonpano levylle tietyn rakenteen tiedostojoukon muodossa.

Kokoonpano ladataan aina kokonaisuudessaan ilman mahdollisuutta suodattaa ladattuja objekteja.

Voit ladata kokoonpanon tiedostoihin valitsemalla valikosta Configuration – Upload configuration to files ja valitsemalla avautuvasta valintaikkunasta hakemiston, johon tiedostot tallennetaan.

Määritysobjektit ladataan XML-tiedostoina. Moduulit ja tekstiasettelut tallennetaan nimellä TXT-tiedostoja. Asetuksen kuvat tallennetaan kuvatiedostoina (BMP, PNG jne.). Ohjetiedot ladataan HTML-tiedostoihin.

Suurenna klikkaamalla kuvaa.

Kuten näet, tuloksena olevissa tiedostoissa on yleisesti käytetty yleisiä muotoja. Muokkaa niitä on suuri määrä erilaisia ​​ohjelmistotuotteita.

Voit myös käyttää kolmannen osapuolen versionhallintajärjestelmiä. Niiden avulla voit tallentaa useita versioita samasta asiakirjasta ja palata tarvittaessa useampaan versioon aikaisemmat versiot määrittää, kuka ja milloin teki tämän tai tuon muutoksen.

Muokatut tiedostot voidaan ladata takaisin konfiguraatioon valikkokohdalla Konfigurointi – Lataa konfiguraatio tiedostoista.

Työskentely uuden lataus/lataustoiminnon kanssa on myös käytettävissä parametrien avulla komentorivi LoadConfigFromFiles ja DumpConfigToFiles. Esimerkiksi näin:

“c:\Ohjelmatiedostot (x86)\1cv8\8.3.4.437\bin\1cv8.exe” SUUNNITELIJA /F “X:\Platform8Demo” /N “Järjestelmänvalvoja” /DumpConfigToFiles “X:\1\”

Aiemmin alustassa 8.2 oli konfiguraatiotiedostojen lataamis-/latausmekanismi, joka mahdollisti joidenkin konfigurointiobjektien ominaisuuksien (moduulit, asettelut ja viitetiedot) valikoivan lataamisen/latauksen.

Huomattiin, että oletusarvoisesti "Lataa konfiguraatiotiedostot"- ja "Lataa konfiguraatiotiedostot" -komennot jätetään konfiguraattorin ulkopuolelle alustassa 8.3.

Räätälöimällä päävalikkoa voit kuitenkin näyttää nämä komennot valikossa ja käyttää niitä.

Uusi mekanismi konfiguraatioiden lataamiseksi tiedostoihin lataa aina koko konfigurointidatan kykyä määrittää lähetettävät objektit, mikä varmistaa kokoonpanon eheyden.

Tavalliset lomakkeet ja käyttöliittymät ladataan binäärimuodossa (sisäinen), eikä niitä voi muokata. Palveluntarjoajan määritystä ei myöskään ole tarkoitettu muokattavaksi.

Loput objektit ladataan tiedostoihin universaaleja muotoja. Pohjimmiltaan mekanismi keskittyy hallittuun sovellukseen.

Uusi mekanismi tarjoaa kehittäjälle mahdollisuuden käsitellä määritykset automaattisesti käynnistämällä konfiguraattorin erätilassa.

Myös nyt konfiguraatiota voidaan muokata ulkoisella ohjelmisto esimerkiksi XML-muodon käytön ansiosta.

Purkamisen yhteydessä suoritetaan lisäkonfiguraatiokäsittely: jumiutuneet linkit poistetaan, käyttämättömiä tietoja ei myöskään pureta (esim. olemattoman kielen ohje).

Ja konfiguraatiota ladattaessa sen eheys tarkistetaan, ei ole sallittua ladata tiedostoja, joissa on ei-ainutlaatuisia tunnisteita, metatieto-objekteja, vääriä tietotyyppien nimiä jne.

Huomaa, että versiosta 8.3.7 lähtien on ilmestynyt uusi latausmuoto, jota kutsutaan "hierarkkiseksi". Vanha muoto tuli tunnetuksi "lineaariseksi". Muotovalinta on saatavilla tiedoston latausikkunassa:

Versiosta 8.3.11 alkaen "hierarkkisesta" muodosta tuli ainoa valittavissa oleva interaktiivisen latauksen aikana:

Jos käytät tätä toimintoa, suosittelemme:

  • Ensinnäkin käytä "hierarkkista" latausmuotoa;
  • toiseksi, käytä alustaa, joka on vähintään versio 8.3.8+, koska siitä lähtien XML-tiedostojen latausnopeus on kasvanut merkittävästi.

Versiossa 8.3.10 alettiin tukea asetusten osittaista lataamista XML-tiedostoihin. Tämän seurauksena tuli mahdolliseksi käyttää konfiguraatioiden lataamista XML-muodossa yhdessä Gitin kanssa.

Tietotyypit 1C:Enterprise 8.x:ssä

Ennen kuin sukeltaamme upotettuihin kielirakenteisiin, meidän tulee tutustua perustietotyyppeihin. Onneksi,:

1C-alustaa opiskelemaan aloittavat hämmentyvät joskus tietotyyppien määrittelystä ja kaikenlaisista esiin tulevista kieliviiveistä. Tämä ensimmäinen artikkeli on johdatteleva ja omistettu primitiivisille 1C-tietotyypeille, niitä ei ole niin paljon.

Määrä. 1C:n luvut tarkoittavat sekä kokonaisluku- että liukulukuarvoja. Numerotyypin arvon enimmäispituus voi olla 32 merkkiä desimaalipilkku mukaan lukien. On myös syytä ottaa huomioon, että 32-numeroinen raja koskee numeroita, jotka kirjoitetaan tietokantaan. On mahdollista ilmoittaa muuttuja ja antaa sille arvo, joka on yli 32 merkkiä. Muistiin tallennetuille numeerisille arvoille, tämä rajoitus Se ei toimi. Kun se on ilmoitettu "Number"-tyypin muuttujaksi, sen arvo on 0.

Linja. Kuten mikä tahansa muu ohjelmointikieli, 1C toteuttaa kaikki tarvittavat toiminnot merkkijonojen käsittelyyn. Arvot tämän tyyppistä esitetty Unicodessa. Merkkijonotyyppisten muuttujien pituutta ei ole rajoitettu.

Päivämäärä. Itse päivämäärän lisäksi tämän tyyppiset arvot sisältävät myös ajan. Aika viittaa tunteihin, minuutteihin ja sekunteihin. Välittömästi alustuksen jälkeen muuttuva tyyppi"Päivämäärä":lle annetaan arvo (päivämäärä) "1. tammikuuta 0001 00 tuntia 00 minuuttia 00 sekuntia." Tämä aiheuttaa joskus ärsytystä, mutta ajan myötä siihen tottuu.

Boolen. On selvää, että tämän tyyppisillä muuttujilla voi olla vain kaksi arvoa: True, False.

Määrittämätön. "Undefined" -tyypin arvoja käytetään tapauksissa, joissa sinun on määritettävä tyhjä arvo, joka ei kuulu mihinkään muuhun tietotyyppiin. Sinun on esimerkiksi ilmoitettava muuttuja, jota sitten käytetään jossain. Voit määrittää sille arvon, kuten 0 tai "" (eli tyhjän merkkijonon), mutta näin tekemällä asetamme sille välittömästi sopivan tyypin (numeron tai merkkijonon). Mutta entä jos jonkin näistä tyypeistä asentaminen saattaa häiritä myöhemmin? Tällaisissa tapauksissa voit käyttää "undefined" -tyyppistä arvoa. On myös syytä huomata, että monet sisäänrakennetun kielen toiminnot palauttavat tämän tyyppisen arvon, jos suoritus epäonnistuu. Kun kuvailet toimintojasi, on suositeltavaa noudattaa samaa sääntöä.

Tyhjä. Nullin yleinen merkitys on melkein sama kuin "määrittämättömän". Tämän tyyppisiä arvoja käytetään ilmaisemaan puuttuva arvo tietokannasta. Useimmiten voit saada tämän tyyppisiä arvoja käyttämällä kyselykieltä. Esimerkiksi kysely, joka käyttää taulukkoliitoksia. Oletetaan, että yhdellä taulukoista ei ole arvoa, joka täyttää ehdon. Tässä tapauksessa puuttuva arvo korvataan arvolla, jonka tyyppi on Null.

On mahdollista kohdata Null-tyyppinen arvo paitsi kyselyiden kanssa työskenneltäessä. Esimerkiksi Null-tyypin arvot hyväksyvät attribuutit, joita objekti ei käytä. Kuvitellaan, että meillä on hierarkkinen hakemisto"määrä"-attribuutilla. Kun luot tätä attribuuttia, sen "Käytä"-ominaisuuden arvoksi määritettiin "Elementille". Jos yrität käyttää tätä attribuuttia "ryhmä"-tyyppiselle hakemistoelementille, sen arvo on Null.

Tyyppi. Tätä tyyppiä käytetään käytettävissä olevien tyyppien määrittämiseen. Kuulostaako vähän hämmentävältä? Ok, yritän selittää esimerkillä. Kuvittele, että sinulla on tehtävä vertailla kahden muuttujan tyyppejä. Koodissa se näyttäisi suunnilleen tältä:

Muuttuja1 = 123; //Koska määritimme numeron, muuttujan tyyppi on "number".
Muuttuja2 = "merkkijono"; //Tässä määritimme merkkijonon, mikä tarkoittaa, että muuttujan tyyppi on merkkijono.

Nyt sinun on oltava 100 % varma, että muuttuja1 on numeerinen. Tässä "Type"-tyyppi (kuulostaa hauskalta) on hyödyllinen, samoin kuin pari aputoimintoa. Toistaiseksi en mene yksityiskohtiin. Katso vain ja yritä ymmärtää alla oleva esimerkki:

If (TyyppiArvo(Muuttuja1) = Tyyppi("Number")) Sitten

Report("Muuttuja1 on numeerinen!");

Muuten

Report("Muuttuja1 EI ole numeerinen:()");

loppu Jos;

Tässä pienessä koodinpätkässä saan ensin muuttujan tyypin TypeValue()-funktion avulla. Tämä toiminto ottaa parametriksi arvon, jonka tyypin haluat saada. Meidän tapauksessamme se on "Muuttuja1". Sitten minun täytyy saada arvo tyyppiä "Type", joka luonnehtii tyyppiä "Number". Tätä tarkoitusta varten sisäänrakennettu kieli tarjoaa "Type()"-toiminnon. Se vaatii vain yhden argumentin - tyypin nimen merkkijonoesityksen. Koska meidän on verrattava "Numero" -tyyppiin, funktion parametri on "Number".

Kiitos Igor Antonoville hänen avustaan ​​tämän artikkelin kirjoittamisessa.

Tämä artikkeli jatkaa artikkelisarjaa "Ensimmäiset askeleet 1C:n kehityksessä". Siinä puhutaan primitiivisistä tietotyypeistä ja yleisimmistä toiminnoista niiden kanssa työskennellessä. Materiaalin lukemisen jälkeen opit:

  • Mitkä tietotyypit ovat primitiivisiä?
  • Kuinka voit työskennellä merkkijonojen kanssa ja mitä ominaisuuksia tulisi ottaa huomioon?
  • Mitä hienouksia numeeristen lausekkeiden kanssa työskentelyssä on?
  • Kuinka kuvailla päivämäärää tietyllä arvolla? Kuinka asettaa tyhjä päivämäärä?
  • Miten tyyppimuunnos toimii?
  • Null ja Undefined – mitä ne ovat ja mitä eroja niillä on?
  • Kuinka määrittää, minkä tyyppinen objekti/muuttuja on?

Sovellettavuus

Artikkeli on kirjoitettu 1C-alustan versiolle 8.3.4.496, joten tiedot koskevat myös nykyinen versio alustat. On kuitenkin huomattava, että versioon 8.3.6.1977 lisättiin uusia toimintoja merkkijonojen käsittelyyn. Siksi, kun toistat artikkelin vaiheet, älä ylläty, jos Syntax Assistantin vastaavassa osiossa näet joitain toimintoja, joita ei näy kuvakaappauksessamme. Suosittelemme myös tutustumaan alustaan ​​8.3.10 lisättyyn uuteen StringWithNumber()-menetelmään.

Primitiiviset tietotyypit ja jotkin niiden toiminnot

Seuraavat primitiiviset tietotyypit erotellaan:

Merkkijonovakiot

Primitiivinen tietotyyppi Linja(merkkijonovakio) koostuu useista merkeistä. Linja on aina lainausmerkein ympäröity. Esimerkki merkkijonovakiosta:

Message.Text = "Tyhjiä tietoja on";

Nuo. attribuutille on määritetty rivi "Tyhjiä tietoja". Teksti esine Viesti. Kaikki lainausmerkeillä ympäröity katsotaan merkkijonoksi.

Merkkijono voi koostua mistä tahansa merkistä. Merkkijonot voivat olla monirivisiä. Tässä tapauksessa jokainen uusi rivi on määritettävä lainausmerkeissä. Esimerkiksi:

Teksti = "Virheelliset tiedot täytetty"
"Asiakirjan lähettäminen on mahdotonta";

Puolipiste sijoitetaan vain viimeisen rivin loppuun.

On toinenkin tapa - kehystää koko teksti vain yhdellä lainausmerkillä, mutta jokaisella uusi rivi pitäisi alkaa pystyraidalla.

Tätä syntaksia käytetään useimmiten tyypillisiä kokoonpanoja. Erityisesti kyselykielellä. Esimerkiksi:

Pyyntö.Teksti =
"VALITA
| Employees.Name AS työntekijä,
| Employees.Birthdate AS DateBirth
|FROM
| Hakemisto. Työntekijät MITEN työntekijät
| MISSÄ
| EI Työntekijät Tämä on ryhmä”;

On huomattava, että summaustoiminto on määritelty merkkijonoille. Tämä ei ole aritmeettinen operaatio, sitä kutsutaan ketjutusoperaatioksi.

Nuo. sinun on yhdistettävä esimerkiksi kaksi riviä ja lisäysmerkki "+" rivien väliin:

Text = "Tiedot on täytetty väärin" + "Asiakirjaa ei voi lähettää";

Siten rivit yhdistetään. Yhdistelmätoiminto on tietysti sovellettavissa useampaan merkkijonoon. Muut toiminnot (vähennys-, kerto- ja jakolasku) eivät ole sallittuja merkkijonoille.

Jos merkkijonon sana täytyy laittaa lainausmerkkeihin, niin merkkijonon sisällä oleva lainausmerkki on määritettävä kaksoislainausmerkillä. Esimerkiksi:

Text = "Virhe moduulissa "Yleinen moduuli"";

SISÄÄN tässä esimerkissä Ensimmäinen lainaus avaa merkkijonon. Toinen ja kolmas lainausmerkki vierekkäin tarkoittavat lainausmerkkiä.

Ja lopussa on kolme lainausmerkkiä: aivan viimeinen lainausmerkki sulkee rivin, kaksi edellistä osoittavat lainausmerkkiä.

Erilaiset merkkijonojen muunnostoiminnot ovat mahdollisia merkkijonoille, joiden avulla voidaan tunnistaa muutama ensimmäinen vasen merkki, tunnistaa useita oikeanpuoleisimpia merkkejä, etsiä alimerkkijono merkkijonosta jne.

Kaikki nämä toiminnot ovat käytettävissä missä tahansa kokoonpanossa.

Syntaksiavustajassa ne ovat osiossa Sisäänrakennetun kielen yleinen kuvausSisäänrakennetut toiminnotToiminnot String-tyyppisten arvojen kanssa työskentelemiseen.

Funktioita on melko paljon ja ne yleensä riittävät toimimaan merkkijonovakioiden kanssa.

Katsotaanpa esimerkkiä ongelman ratkaisemisesta merkkijonofunktioiden avulla.

Tehtävä:

Toimintoa on kehitettävä. Satunnainen merkkijono välitetään parametrina funktiolle. Rivin merkit voivat olla myös numeroita.

Numerosarja (yksi tai useampi), jotka on erotettu muista merkeistä välilyönnillä, muodostaa positiivisen kokonaisluvun.

Esimerkiksi rivi "72 ABC 6AP 31 54f -22" sisältää kaksi kokonaislukua positiivisia lukuja: 72 ja 31. Välilyöntejä lukuun ottamatta muita ei-merkittäviä merkkejä (kuten sarkain, rivinvaihto) ei käytetä. Funktion on palautettava positiivisten kokonaislukujen määrä.

Sen on sijaittava hallitussa sovellusmoduulissa. On varmistettava, että sitä kutsutaan järjestelmän käynnistyksen yhteydessä. Määritä merkkijono muuttujan avulla.

Avataan siis hallittu sovellusmoduuli ja valitaan määrityspaneelin valintakentän luettelosta Moduuli vakiokäsittelijä AtSystemStart().

Käsittelijän sisällä määritämme muuttujan Linja, Esimerkiksi:

Rivi = "72 ABC 6AP 31 54f -22";

Määrä = Kokonaislukumäärä(merkkijono);

Lähetetään viesti kokonaislukujen määrästä:

Report("Rivi sisältää " + Numero + " kokonaislukuja");

Tässä tapauksessa muuttuja Määrä muunnetaan implisiittisesti tyypiksi Merkkijonovakio. Sitten ketjutus suoritetaan kolmelle merkkijonolle ja viesti lähetetään.

Määritetään funktion alku ja loppu (eli malli). Kokonaislukujen määrä (merkkijono).

Katsotaanpa nyt yhtä niistä mahdollisia vaihtoehtoja ominaisuuden kehittäminen Kokonaislukujen määrä (merkkijono). Samalla tutustumme joihinkin sisäänrakennetuihin toimintoihin, jotka on suunniteltu toimimaan merkkijonojen kanssa.

Ensinnäkin sinun tulee tutustua toimintoon Symbolikoodi. Tämä toiminto saa sen merkin koodin, joka sijaitsee välitetyssä merkkijonossa määritetyn numeron kohdalla.

Syntaksi:

Merkkikoodi(,)

Vaihtoehdot:

(edellytetään)

(valinnainen) – tämä on sen merkin numero rivillä, jonka koodin haluat saada. Merkkien numerointi rivillä alkaa 1:stä.

Palautusarvo:
Lähetetyn merkin koodi. Koodi palautetaan Unicode-koodauksen mukaisesti.

Huomaa, että parametri Oletusarvo on 1.

Merkkijono voi koostua myös yhdestä merkistä. Siten on mahdollista määrittää koodi 0 ja koodi 9, ja kaikkien muiden numeroiden koodit ovat, kuten tiedetään, niiden välissä.

Määritetään vastaavat muuttujat ja niiden arvot:

Koodi0 = Merkkikoodi("0");
Koodi9 = Merkkikoodi("9");

Ongelman ratkaisemiseksi valitsemme seuraavan kaavan:

  1. Jos rivillä on alku- tai loppuvälilyöntejä missä tahansa määrässä, niistä päästään eroon erikoistoiminto. Seuraavaksi olemme kiinnostuneita hahmoryhmistä sisäisten tilojen välillä. Jos ryhmä koostuu vain numeroista, se on kokonaisluku. On olemassa erityinen toiminto, jonka avulla voidaan määrittää ensimmäisen tilan sijainti.
  2. Kun sinulla on ensimmäisen välilyönnin sijainti, voit käyttää toista toimintoa saadaksesi merkkiryhmän (alimerkkijono) välilyönnin vasemmalle puolelle.
  3. Analysoidaan merkkejä, jotka muodostavat ryhmän ja määritetään, onko se kokonaisluku. Tunnistetut kokonaisluvut lasketaan yhteen erityisessä muuttujassa.
  4. Lyhennetään aloitusriviä valitsemalla toisella funktiolla kaikki välilyönnin oikealla puolella olevat merkit. Tämä välilyönti ei voi olla vain yksi, vaan koko sarja välilyöntejä peräkkäin, joten käytä jäljellä olevalla rivillä erikoistoimintoa poistaaksesi kaikki vasemmanpuoleiset välilyönnit (peräkkäin) ja palataksesi kohtaan 2. Toistamme astuu pisteestä 2 pisteeseen 4, kunnes saavutetaan ehto, että rivillä ei ole välilyöntejä. Tässä tapauksessa lyhennetty merkkijono muodostaa viimeisen jäsennetyn merkkiryhmän.

Katsotaanpa nyt toimintoja, joita tarvitsemme ongelman ratkaisemiseksi.

AbbrLP
Syntaksi: AbbrLP()
Vaihtoehdot: (edellytetään).
Leikkaa välilyönnit (merkityt merkit) ensimmäisen vasemmalla puolella merkityksellinen symboli rivillä ja näkyvät rivin viimeisen merkitsevän merkin oikealla puolella.

löytö
Syntaksi: Etsi(,)
Vaihtoehdot: (edellytetään), (edellytetään).
Palauttaa löydetyn osamerkkijonon ensimmäisen merkin sijainnin.
Merkkijonon merkkien numerointi alkaa 1:stä. Jos merkkijono ei sisällä määritettyä osamerkkijonoa, palautetaan 0. Tässä tapauksessa käytämme välilyöntiä (“”).

Leijona
Syntaksi: Lev(,)
Vaihtoehdot: (edellytetään), (edellytetään).
Valitsee merkkijonon ensimmäiset vasemmat merkit. Tämän funktion avulla määritämme analysoitavia merkkiryhmiä (vasemmalta ensimmäiseen välilyöntiin).

VoimaPituus
Syntaksi: StrLength()
Vaihtoehdot: (edellytetään).
Hakee merkkijonon merkkien määrän. Käytämme sitä merkkijonon pituuden määrittämiseen.
Toiminto Symbolikoodi, jota käytämme kokonaislukujen merkkiryhmien tunnistamiseen, kuvattiin aiemmin.

Oikein
Syntaksi: Oikea(,)
Vaihtoehdot: (edellytetään), (edellytetään).
Valitsee merkkijonon oikeanpuoleisimmat merkit. Tällä funktiolla valitsemme vielä käsittelemättömän osan merkkijonosta.

AbbrL
Syntaksi: Lyhenne()
Vaihtoehdot: (edellytetään).
Leikkaa välilyönnit (ei-merkittävät merkit) merkkijonon ensimmäisen merkitsevän merkin vasemmalle puolelle. Käytämme tätä toimintoa mahdollisten välilyöntien poistamiseen muun merkkijonon vasemmalta puolelta.

Alla on mahdollinen algoritmi funktiolle kommenteilla.

Numeeriset lausekkeet

Moduulien muuttujat ja tietokantaobjektien tiedot voivat olla numeerisia.
Numerolle on asetettu numeroraja. Numeeristen tietojen osalta kokonaislukuosan pituus ei saa ylittää 32 merkkiä.

Murto-osan tarkkuus ei saa ylittää 10 numeroa. Kun muuttuja on ilmoitettu ja osoitettu sille numeerinen arvo, sen bittisyvyyttä ei tallenneta minnekään. Muuttujille on kuitenkin myös rajoituksia.

Syntaksiapu kertoo, että numeron suurin sallittu bittisyvyys on 38 merkkiä. Tällainen rajoitus ei estä taloudellisten ongelmien ratkaisemista, ts. Mikä tahansa rahallinen arvo voidaan kuvata näillä numeroilla.

Jos kuitenkin joudut silti kuvaamaan suuria määriä joidenkin matemaattisten ongelmien ratkaisemiseksi, ohjelmointiteoriassa on algoritmeja, joiden avulla voit kuvata numeroita millä tahansa ulottuvuudella olemassa olevien rajoitusten perusteella.

Numeroihin sovellettavat toiminnot:

  • tavallinen aritmeettiset operaatiot(-, +, *, /). Kerto- ja jakolasku ovat etusijalla yhteen- ja vähennyslaskuihin nähden. Suluilla on korkein prioriteetti. On myös unaarioperaattoreita + ja -, joiden ensisijaisuus tulee välittömästi sulkeiden jälkeen;
  • toiminto "jaoston loppuosa" (%). Esimerkiksi 12%5=2;
  • matemaattiset funktiot, joita voidaan käyttää luvuille (trigonometriset funktiot, eksponentio, neliöjuuri, pyöristys tiettyyn paikkaarvoon, luvun kokonaislukuosan valinta)

Jos puhumme numeeristen arvojen tarkkuudesta, tietokannan yksityiskohtien suhteen on luonnollisia rajoituksia.

Mutta mitä tulee muuttujiin, tässä on erityispiirre. Itse asiassa voit käyttää muuttujia hyvinkin suuret numerot, mutta arvot, joiden kokonaislukuosa on enintään 32 merkkiä, tallennetaan tietokantaan.

Boolen arvot

Mitä tulee Boolen tietotyypiin, siinä on vain kaksi arvoa, True ja False, jotka voidaan saada eri tavoin.

Voit esimerkiksi käyttää vertailutoimintoja numeroiden tai päivämäärien välillä. Tuloksena saadaan tietty Boolen arvo, jota käytetään jatkossa useimmiten ehdollisissa lauseissa ja silmukkaoperaattoreissa.

Literaalit tyyppiä Date

On kaksi tapaa kuvailla päivämäärää. Yksi niistä käyttää kirjaimellista. Literaali kirjoitetaan lainausmerkein.

Ensin kirjoitetaan vuosi, sitten kuukausi ja sitten päivä.

Tarvittaessa voit myös määrittää ajan, koska 1C:Enterprise 8 -järjestelmässä mikä tahansa päivämäärä sisältää sekä päivämäärän että kellonajan. Esimerkiksi:

DocumentDate = '20140315121020';

Jos aikaa ei ole määritetty, se on oletuksena nolla. Voit käyttää mitä tahansa erotinta päivämäärän kuvauksessa. Esimerkiksi:

DocumentDate = '2014.03.15';

Toinen tapa määrittää päivämäärä on käyttää globaalia kontekstifunktiota Päivämäärä(). Tässä tapauksessa välitetään sama asia kuin parametrit tälle funktiolle: vuosi, kuukausi, päivä erotettuna pilkuilla.

Voit myös määrittää ajan. Jos et määritä sitä, se on oletuksena päivän alussa.

1C:Enterprise 8 -järjestelmässä tyhjä päivämäärä on kalenterin alku. Tallennusvaihtoehdot:

EmptyDate = '00010101';
EmptyDate = Päivämäärä(1,1,1);

Molemmat merkinnät palauttavat saman tuloksen, ja tämä päivämäärä katsotaan tyhjäksi.

Toiminnan mukavuus Päivämäärä() Asia on siinä, että emme voi siirtää siihen tiettyjä arvoja, vaan joitain muuttujia. Toisin sanoen joskus rakennamme päivämäärän keräämällä erilaisia ​​muuttujia.

Lisäystoiminto koskee päivämäärää. Lisäystoiminto lisää päivämäärään määritetyn määrän sekunteja.

Primitiiviset tietotyyppimuunnokset

Osoituskäskyssä, jossa useita muuttujia summataan (esim. Muuttuja = A + B + C), primitiivisten tietotyyppien muuntaminen on mahdollista. Tietotyyppimuunnos suoritetaan ensimmäisen tietotyypin arvolle.

Siten, jos ensimmäinen tietotyyppi on merkkijono, järjestelmä yrittää tehdä koko lausekkeesta merkkijonon. Jos ensimmäinen tietotyyppi on numero, järjestelmä yrittää saada numeerisen tietotyypin.

Ja niin, merkkijono + numero = merkkijono. Joskus merkkijonoon voidaan lisätä numero, jos merkkijonosta voidaan poimia jokin numeerinen arvo (esim. 123 + “456”).

Loogiselle tietotyypille sovelletaan seuraavia lausekkeita:

Tosi JA 1 = Tosi;
Tosi JA 0 = Epätosi.

Mikä tahansa nollaa suurempi luku muunnetaan todeksi, 0 muunnetaan epätosiksi.

Päivämäärä voidaan lisätä numeroon, kuten aiemmin mainittiin. Päivämäärät voidaan myös lisätä Boolen tietotyyppiin.

Tässä tapauksessa True muunnetaan arvoksi 1 ja False arvoksi 0.

Operaattoreiden tyyppimuunnosten lisäksi eksplisiittinen tyyppimuunnos on mahdollista asianmukaisilla funktioilla: Merkkijono(), Numero(), Päivämäärä(), Boolen().

TO Linja mikä tahansa tietotyyppi muunnetaan.

Numero voidaan saada merkkijonosta tai Boolen arvosta. Boolen muunnos: tosi arvoksi 1, epätosi 0:ksi.

Voit suoratoistaa merkkijonon päivämäärään, jos se sisältää päivämääräarvon. Esimerkiksi Date(“20140315”). Kuten aiemmin todettiin, on mahdollista muuntaa sijainnin mukaan:

Päivämäärä(,).

Voit muuntaa luvun ja itse Boolen arvon Boolen arvoiksi.

Näitä toimintoja voidaan käyttää ohjelmakoodissa suorittamaan eksplisiittinen tyyppimuunnos.

Primitiiviset tietotyypit Number, String, Date ja Boolean voivat toimia tietokantakenttinä.

Nolla- ja määrittelemättömät arvot

NULL on kirjaimellinen. Sitä käytetään yleensä tietokantakyselyissä, kun kaksi tai useampi taulukko on yhdistetty.

Toisen taulukon puuttuvat tietueet täytetään NULL-arvolla. Nuo. se on eräänlainen puuttuva arvo.

Jatkossa saatua tulosta käsiteltäessä tämä on otettava huomioon, koska NULL ei ole nolla, vaan vastaava tietotyyppi.

Jotta arvo voidaan käsitellä, NULL täytyy heittää johonkin tavalliseen tietotyyppiin, joka voidaan tulostaa tai käyttää aritmeettisissa operaatioissa.

NULL-tyyppinen arvo voidaan saada myös sisäänrakennetulla kielellä. Voit määrittää muuttujan ja antaa sille saman NULL-arvon. Tällaista määritystä ei kuitenkaan käytetä melkein koskaan ohjelmakoodissa.

Nuo. NULL on todella tietotyyppi, joka saadaan kyselyjen kanssa työskennellessä. Kyselykielen NULL-arvoa on käsiteltävä erityisellä tavalla.

Nimittäin A=NULL-vertailu ei toimi kyselytasolla, on käytettävä erikoisfunktioita. Sisäänrakennetussa kielessä vertailu NULL-arvoon käsitellään kuitenkin oikein.

Tietotyyppi Undefined on jonkin määritteen ei-tyhjä arvo.

Jos hakemistoattribuutilla on esimerkiksi tietotyyppinä linkki johonkin toiseen hakemistoon, tämän attribuutin tyhjä arvo ei ole yhtä suuri kuin Undefined.

Tämä tyyppi (Undefined) näkyy ensinnäkin, jos meillä on tietty muuttuja ja sitä ei ole alustettu (tietotyyppiä ei ole määritelty).

Toinen esimerkki: Monet sisäänrakennetut kielifunktiot palauttavat Undefined-tietotyypin, jos toimintoa ei voida suorittaa.

Esimerkiksi hakemistoelementin etsiminen nimen perusteella, jos jossain hakemistossa ei ole tällaista elementin nimeä. Menetelmä FindByName palauttaa arvon Määrittämätön.

Jossa Määrittämätön On avainsana, se on korostettu punaisella. Tämä on myös kirjaimellinen, kirjoittamista varten Määrittämätön ei tarvitse käyttää lainausmerkkejä, pilkkuja, sulkeita jne.

Jos asiakirjoista on luettelo ja tämä luettelo on tyhjä (siten siinä ei ole rivejä), nykyinen rivi ottaa arvon Määrittämätön.

Jos tietokannassa on yhdistelmätietotyyppinen attribuutti, tämän attribuutin tyhjä arvo on yhtä suuri kuin Määrittämätön.

Mutta jos tietotyyppi ei ole yhdistetty, tyhjä arvo vastaa tämän tyypin tyhjää arvoa (päivämäärälle tämä on ensimmäisen vuoden ensimmäisen kuukauden ensimmäisen päivän ensimmäisen tunnin ensimmäinen sekunti).

NULL ja Undefined ovat molemmat tietotyyppejä ja arvoja näissä tyypeissä ja yksi ja ainoa. NULL:lle se on arvo NULL, Undefinedille se on Undefined.

Tietotyyppi Tyyppi

Tämän tietotyypin pääasiallinen käyttötarkoitus on verrata tietyn muuttujan tai tietokantamääritteen arvoa tiettyyn tyyppiin.

Nuo. Algoritmissa sinun on ymmärrettävä, minkä tyyppinen tietty objekti on.

Erityisesti tällä tietotyypillä ei ole literaalia. Emme voi kirjoittaa sitä muodossa NULL tai Undefined, mutta voimme saada tämän tyypin arvon käyttämällä kahta funktiota Tyyppi Ja TypeValue.

Jotta saadaan jonkin objektin tyyppi (se voi olla muuttuja, tietokanta-attribuutti tai lomakeattribuutti), käytetään funktiota TypeValue.

Tämä funktio välitetään objektille, jolle haluat saada tietotyypin.

Tämä funktio palauttaa tyypin tyypin palautusarvokseen.

Jatkossa sitä pitäisi verrata mihin tahansa kiinnostukseen. Esimerkiksi:

Jos TypeValue(Element) = Type ("DirectoryLink.Nomenclature") Sitten
Report("Tämä on tuote");
loppu Jos;

Lopuksi tehdään yhteenveto kaikesta käsitellystä materiaalista.

Tarkastelimme sisäänrakennetun 1C-kielen perusrakenteita, opimme käyttämään muuttujia ja operaattoreita sekä selvittelimme miksi ja miten proseduureja ja toimintoja käytetään. Huomaa, että periaatteessa kaikki ohjelmakoodimme tähän asti oli omavaraista - kirjoitimme kaiken itse alusta alkaen ja käytimme joitain konfiguraatioobjekteja tai sisäänrakennettua kieltä minimiin.

Tutustumme näihin esineisiin tarkemmin seuraavassa artikkelissa, joten pysy kuulolla! ;)