Tipovi podataka koje 1s objekt može prihvatiti. Korištenje definiranih tipova. Generičke zbirke vrijednosti

Vrste podataka u 1C:Enterprise 8.x

Prije nego što zaronimo u jezične konstrukcije 1C:Enterprise, moramo se upoznati s osnovnim tipovima podataka. Srećom,:

Početnici koji proučavaju 1C platformu ponekad imaju zabunu oko definicije tipova podataka i svih vrsta jezičnih nijansi koje se pojavljuju. Ovaj prvi članak je uvodni i posvećen je primitivnim 1C tipovima podataka, nema ih toliko.

Broj. Brojevi u 1C znače i cijele brojeve i vrijednosti s pomičnim zarezom. Maksimalna duljina bita za vrijednost vrste broja može biti 32 znamenke, uključujući decimalnu točku. Također treba uzeti u obzir da se ograničenje od 32 znamenke odnosi na brojeve koji će se upisivati ​​u bazu podataka. Moguće je deklarirati varijablu i dodijeliti joj vrijednost veću od 32 znaka. Za brojčane vrijednosti koji su pohranjeni u memoriji, ovo se ograničenje ne primjenjuje. Kada se deklarira kao varijabla tipa "Broj", njezina će vrijednost biti 0.

Crta. Kao iu bilo kojem drugom programskom jeziku, 1C implementira sve potrebne funkcije za manipuliranje nizovima. Vrijednosti ove vrste predstavljene su u Unicodeu. Duljina varijabli tipa string nije ograničena.

Datum. Osim samog datuma, vrijednosti ove vrste sadrže i vrijeme. Vrijeme se odnosi na sate, minute i sekunde. Odmah nakon inicijalizacije varijable tipa "Datum" bit će joj dodijeljena vrijednost (datum) "01. siječnja 0001 00 sati 00 minuta 00 sekundi". To je ponekad neugodno, ali s vremenom se naviknete.

Booleov. Jasno je da varijable ovog tipa mogu imati samo dvije vrijednosti: True, False.

Nedefiniran. Vrijednosti tipa "undefined" koriste se u slučajevima kada želite navesti praznu vrijednost koja ne pripada nijednom drugom tipu podataka. Na primjer, trebate deklarirati varijablu, koja će se zatim negdje koristiti. Možete mu dodijeliti vrijednost poput 0 ili "" (tj. prazan niz), ali na taj način odmah postavljate odgovarajući tip za njega (broj ili niz). Ali što ako kasnija instalacija jedne od ovih vrsta može smetati? U takvim slučajevima možete koristiti vrijednost tipa "undefined". Također je vrijedno napomenuti da mnoge funkcije ugrađenog jezika, u slučaju neuspješnog izvođenja, kao rezultat vraćaju vrijednost ove vrste. Kada opisujete svoje funkcije, preporuča se voditi istim pravilom.

Null. Općenito značenje Null-a gotovo je isto kao i "nedefinirano". Vrijednosti ove vrste koriste se za označavanje vrijednosti koja nedostaje u bazi podataka. Najčešće možete dobiti vrijednosti ove vrste pomoću jezika upita. Na primjer, upit koji koristi spajanje tablica. Pretpostavimo da u jednoj od tablica ne postoji vrijednost koja zadovoljava uvjet. U ovom slučaju, umjesto vrijednosti koja nedostaje bit će vrijednost tipa Null.

Moguće je naići na vrijednost tipa Null ne samo kada radite s upitima. Na primjer, vrijednost Null prihvaća atribute koje objekt ne koristi. Zamislimo da imamo hijerarhijski priručnik s atributom "količina". Kada je ovaj atribut kreiran, svojstvo "Koristi" postavljeno je na "Za element". Ako pokušate pristupiti ovom atributu za referentni element tipa "group", tada će njegova vrijednost biti Null.

Vrsta. Ovaj tip se koristi za definiranje dostupnih tipova. Zvuči malo zbunjujuće? Ok, pokušat ću objasniti na primjeru. Zamislite da ste suočeni sa zadatkom da usporedite vrste dviju varijabli. U kodu bi to izgledalo otprilike ovako:

Varijabla1 = 123; //Budući da smo dodijelili broj, tip varijable će biti "broj".
Varijabla2 = "niz"; //Ovdje smo dodijelili niz, tako da će tip varijable biti niz.

Sada morate biti 100% sigurni da je varijabla1 numerička. Tu dobro dolazi tip “Type” (zvuči smiješno), kao i par pomoćnih funkcija. Dok ne uđete u detalje. Samo pogledajte i pokušajte razumjeti primjer u nastavku:

If (TypeZnch(Variable1) = Type("Number")) Then

upozorenje("Varijabla1 je numerička!");

Inače

upozorenje("Varijabla1 NIJE numerička:(");

Završi ako;

U ovom malom isječku koda prvo dobivam vrstu varijable pomoću funkcije ValueType(). Ova funkcija uzima kao parametar vrijednost čiji tip želite dobiti. U našem slučaju, ovo je "Varijabla1". Zatim trebam dobiti vrijednost tipa "Tip", koja karakterizira tip "Broj". Da biste to učinili, ugrađeni jezik nudi funkciju "Type()". Potreban je samo jedan argument, nizovni prikaz naziva tipa. Budući da trebamo usporediti s tipom "Broj", tada će parametar za funkciju biti "Broj".

Zahvaljujem Igoru Antonovu na pomoći u pisanju članka.

Nastavljamo naše upoznavanje s novom funkcionalnošću 1C:Enterprise, koja je započeta u prethodnom članku ciklusa. Nakon proučavanja materijala u ovom članku, naučit ćete:

  • Što su definirani tipovi i kako ih koristiti?
  • Za što se koristi svojstvo konfiguracije primarnih uloga?
  • Kako koristiti Form Client Event Handler Creation Helper?
  • Kako i zašto se koriste konfiguracijski dumpovi u XML datotekama?

Primjenjivost

Članak se bavi platformom 1C:Enterprise verzije 8.3.4.437, ali njegovi materijali mogu biti korisni i onima koji rade na starijim izdanjima.

Kako olakšati razvoj u 1C:Enterprise 8.3

Nastavljamo razmatrati inovacije u platformi 1C:Enterprise 8 s ciljem olakšavanja konfiguracije.

Definirani tipovi

U platformi 8.3, novi objekt je dodan u granu konfiguracije “Općenito” - Definirani tipovi.

Ovo je poseban konfiguracijski objekt koji je dizajniran za definiranje tipa podataka koji opisuje često korišteni entitet ili se, s visokim stupnjem vjerojatnosti, može promijeniti prilikom implementacije primijenjenog rješenja.

Na primjer, razmotrite kompozitni tip koji uključuje poveznicu na imenike "Izvođači" i "Pojedinci".

I ovaj se tip, u nekoj konfiguraciji koja se razvija, često koristi kao dimenzija u registru informacija koja opisuje podatke o kontaktu, kao atribut u dokumentu „Bon za gotovinu” itd.

U procesu implementacije takve konfiguracije, sastav ove vrste može se promijeniti - mogu mu se dodati novi objekti i obrnuto - mogu se isključiti nepotrebni tipovi.

Ako umjesto našeg novog “definibilnog tipa” koristimo kompozitni tip na svakom mjestu gdje se takav entitet koristi, tada ćemo morati svugdje promijeniti sastav tipova. Dug je, težak, naporan, postoji mogućnost da zaboravite na neke rekvizite.

Ukoliko koristite definirani tip, tada ćete u procesu finalizacije primijenjenog rješenja samo morati promijeniti definiciju ovog tipa (i programski kod koji obrađuje takva polja).

Svi atributi za koje je definirani tip naveden kao tip bit će automatski promijenjeni.

Evo još jednog primjera korištenja definiranog tipa.

Za neke atribute unutar konfiguracije postoji standard tipkanja. Na primjer, definiramo količinu kao broj duljine 15 s preciznošću 3, a iznos kao broj duljine 15 s preciznošću 2.

Pretpostavimo da je poduzeće trebalo voditi evidenciju robe visoke vrijednosti s visokom točnošću njihove težine.

U skladu s tim, morali smo povećati točnost detalja kako bismo uzeli u obzir broj do 4 decimalna mjesta. Ove promjene moraju se izvršiti istovremeno na svim pojedinostima dokumenata, resursima registra.

Ovo je jednostavan zadatak, ali zahtijeva puno vremena i zahtijeva veliku pažnju i upornost programera.

Kada kreirate novu vrstu koju definirate, trebate samo navesti njen tip. Zatim, prilikom kreiranja detalja dokumenata, registarskih resursa, bit će moguće odabrati poveznicu na kreirani definirani tip.

Ovaj vam pristup omogućuje da jamčite isti tip podataka (ista duljina, preciznost, isti sastav za polja kompozitnog tipa itd.) na svim mjestima gdje se koriste.

Zatim, ako trebate promijeniti tip podataka svih atributa, ne morate ručno ispravljati svaki atribut zasebno, dovoljno je izvršiti izmjene u pripadajućem definiranom tipu.

Tip koji se definira može biti složen. Međutim, postoje ograničenja za korištenje ovog konfiguracijskog objekta. Dakle, definirani tip ne može biti dio vrijednosnog tipa plana tipova obilježja, a također ne može biti dio složenog podatkovnog tipa drugog atributa.

Imajte na umu da su u platformi 8.3.5 mogućnosti korištenja definiranih tipova povećane proširenjem skupa tipova koji mogu biti dio definiranog tipa.

Nije bilo više promjena do trenutnih verzija platforme 8.3.10/8.3.11 u radu s definiranim tipom.

Svojstvo konfiguracije “Primarne uloge”

U platformi 8.2, root konfiguracijski element imao je svojstvo "Primarna uloga", u kojem je programer definirao ulogu koja će se koristiti ako informacijska baza korisnici nisu postavljeni.

U platformi 8.3 postalo je moguće odrediti nekoliko uloga koje će se koristiti prilikom određivanja prava pristupa kada je popis korisnika prazan. U skladu s tim, nekretnina je preimenovana u "Glavne uloge".

Kliknite na sliku za povećanje.

Stvaranje rukovatelja događajima klijenta obrazaca

Prilikom konfiguriranja upravljane aplikacije, programer mora pažljivo nadzirati kontekst izvršavanja programskog koda koristeći odgovarajuće direktive pretprocesora.

Budući da je na klijentu dostupan ograničen skup tipova podataka i metoda, često je potrebno da programer kreira klijentsku proceduru iz koje će prenijeti kontrolu na poslužitelj.

Platforma 8.3 uvela je pomoćnika za kreiranje rukovatelja događajima klijenta obrazaca.

Kliknite na sliku za povećanje.

Sada programer ne treba ručno kreirati poslužiteljsku metodu i indicirati njen poziv unutar procedure klijenta, već se može u potpunosti usredotočiti na implementaciju aplikacijske logike sustava.

Prijenos konfiguracije u datoteke

Još jedna inovacija platforme 8.3 je mogućnost izbacivanja cijele konfiguracije na disk kao skupa datoteka određene strukture.

Konfiguracija se uvijek istovaruje samo u cijelosti, bez mogućnosti filtriranja neučitanih objekata.

Za prijenos konfiguracije u datoteke odaberite stavku izbornika Konfiguracija - Prijenos konfiguracije u datoteke, u dijaloškom okviru koji se otvori odaberite direktorij u koji će se datoteke spremati.

Konfiguracijski objekti učitavaju se kao skup XML datoteka. Moduli i rasporedi teksta spremaju se kao TXT datoteke. Slike iz konfiguracije spremaju se kao slikovne datoteke (BMP, PNG, itd.). referentne informacije izvozi u HTML datoteke.

Kliknite na sliku za povećanje.

Kao što vidite, dobivene datoteke imaju uobičajene univerzalne formate. Postoji veliki broj različitih softverskih proizvoda za njihovo uređivanje.

Također možete koristiti sustave za kontrolu verzija treće strane. Omogućuju vam da pohranite nekoliko verzija istog dokumenta, ako je potrebno, vratite se na ranije verzije, odredite tko je i kada napravio ovu ili onu promjenu.

Uređene datoteke mogu se učitati natrag u konfiguraciju pomoću stavke izbornika Konfiguracija – Učitaj konfiguraciju iz datoteka.

Rad s novom funkcionalnošću učitavanja/istovara također je dostupan korištenjem parametara naredbenog retka LoadConfigFromFiles i DumpConfigToFiles. Na primjer, ovako:

“c:\Programske datoteke (x86)\1cv8\8.3.4.437\bin\1cv8.exe” DESIGNER /F “X:\Platform8Demo” /N “Administrator” /DumpConfigToFiles “X:\1\”

Prethodno, u platformi 8.2, postojao je mehanizam za istovar/učitavanje konfiguracijskih datoteka, koji je dopuštao selektivno istovar/učitavanje nekih svojstava konfiguracijskih objekata (modula, izgleda i referentnih informacija).

Primijećeno je da su prema zadanim postavkama naredbe “Unload configuration files” i “Load configuration files” isključene iz konfiguratora u platformi 8.3.

Međutim, prilagođavanjem glavnog izbornika, možete prikazati te naredbe na izborniku i koristiti ih.

Novi mehanizam za učitavanje konfiguracije u datoteke uvijek učitava sve podatke za cijelu konfiguraciju, mogućnost konfiguriranja objekata za učitavanje nije omogućena, čime se osigurava integritet konfiguracije.

Uobičajeni obrasci i sučelja učitavaju se u binarnom obliku (interno) i ne mogu se uređivati. Konfiguracija dobavljača također nije predviđena za uređivanje.

Preostali objekti učitavaju se u datoteke univerzalnih formata. U biti, mehanizam je usmjeren na upravljanu aplikaciju.

Novi mehanizam razvojnom programeru pruža mogućnost automatizirane obrade konfiguracije pokretanjem konfiguratora u skupnom načinu rada.

Također, sada se konfiguracija može uređivati ​​vanjskim softverskim alatima koristeći, primjerice, XML format.

Prilikom istovara vrši se dodatna obrada konfiguracije: uklanjaju se obješene veze, neiskorištene informacije se također ne istovaruju (na primjer, pomoć za nepostojeći jezik).

A prilikom učitavanja konfiguracije provjerava se njezin integritet, nije dopušteno učitavanje datoteka s nejedinstvenim identifikatorima, objektima metapodataka, netočnim nazivima tipova podataka itd.

Imajte na umu da se od verzije 8.3.7 pojavio novi format za učitavanje, koji se naziva "hijerarhijski". Stari format počeo se nazivati ​​"linearnim". Izbor formata dostupan je u prozoru za učitavanje u datoteke:

Počevši od verzije 8.3.11, "hijerarhijski" format jedini je dostupan za odabir prilikom interaktivnog učitavanja:

Ako koristite ovu funkciju, preporučujemo:

  • prvo, koristiti "hijerarhijski" format za učitavanje;
  • drugo, koristite platformu koja nije niža od verzije 8.3.8+, jer počevši od njega, značajno je povećana brzina učitavanja / ispuštanja u XML datoteke.

Izdanje 8.3.10 sada podržava djelomično kopiranje konfiguracije u XML datoteke. Kao rezultat toga, postalo je moguće koristiti konfiguracijski dumping u XML-u u kombinaciji s Gitom.

/
Stvaranje i izmjena objekata metapodataka

Korištenje definiranih tipova

Opseg: upravljana primjena, redovita primjena.

1. Definirani tipovi dizajnirani su za definiranje tipova podataka koji opisuju često korištene entitete ili se, s visokim stupnjem vjerojatnosti, mogu promijeniti prilikom implementacije primijenjenog rješenja. Omogućuju vam ponovnu upotrebu opisanog tipa ili skupa tipova bez navođenja sastava na različitim mjestima u konfiguraciji (u atributima, svojstvima objekata, oblicima itd.).

Vidi također članak o ITS-u: "Konfiguracijski objekti - definirani tipovi"

2.1. Za definiranje jednostavnog tipa i njegovih kvalifikatora koji imaju primijenjeno značenje, koji se koristi u raznim atributima, resursima, atributima obrasca, izgledima itd. unutar bilo kojeg podsustava ili u cjelokupnom aplikacijskom rješenju. To jamči istu duljinu, točnost podataka na svim mjestima upotrebe i pojednostavljuje preradu u slučaju promjene zahtjeva.
Na primjer:

  • Broj fakture- Redak, duljina 30. Regulira format broja računa u raznim dokumentima: Prijem robe i usluga, WriteBooksPurchases, Povrat robe od kupca i tako dalje.
  • Adresa dostave- String, 500. Tekstualni prikaz adrese dostave u dokumentima OrderSupplier, Adresa prijevoznika za dostavu, u procesu Pomoćnik prodaje, u rekvizitima Adresa prijevoznika za dostavu dokument Zahtjev za povrat robe od klijenta i tako dalje.

2.2. Definirati kompozitni tip koji se masovno koristi u objektima nekog podsustava ili u cijelom aplikativnom rješenju. Definirani tip jamči isti sastav (tip) podataka na svim mjestima korištenja, a također pojednostavljuje razvoj i implementaciju podsustava u konfiguracijama aplikacija.

Na primjer, podsustav je ugrađen u konfiguraciju Interakcije, koji je namijenjen za vođenje korespondencije na e-pošta, registracija poziva i sastanaka. Prilikom implementacije ovog podsustava, programer je odlučio o sastavu objekata metapodataka koji mogu djelovati kao "interakcijski kontakti" - to su elementi imenika Pojedinci, Partneri, Kontaktirajte Partnere, i postavite ovaj sastav tipova u definirani tip Interakcije kontakta predviđeno u podsustavu. Zauzvrat, definirani tip se masovno koristi u atributima objekata i oblicima podsustava (u dokumentima Sastanak, Planirana interakcija- tablični dio članovi, u dokumentu PorukaSMS- tablični dio Adresati, u dokumentu Telefonski poziv- rekviziti PretplatnikKontakt, u općim oblicima Adresar, ChoiceContact- rekviziti Kontakti po predmetu,u parametru izgleda HijerarhijaInterakcijeKontakt dnevnik dokumenata Interakcije itd.) Inače, bez korištenja definiranog tipa Interakcije kontakta bilo bi potrebno ukloniti objekte podsustava iz podrške i postaviti traženi sastav tipova na svim navedenim mjestima.

2.3. Prilikom razvoja ubrizganog podsustava, za nadjačavanje vrste aplikacije koja će biti navedena tijekom implementacije.
Na primjer, vrsta podsustava Dobavljači može se zamijeniti primijenjenom vrstom konfiguracije kada se postavi Protustranke.

3. Neispravno je koristiti definirane tipove za postavljanje “sinonima” za postojeći tip, “zamjenu” entiteta, za lokalnu (ne masovnu) upotrebu unutar jednog podsustava (konfiguracije) bez potrebe implementacije u drugim konfiguracijama, samo za razlozi lakoće dorade. U pravilu, to ukazuje na pogrešku u dizajnu ili metodološki pogrešan izbor imena izvornog tipa.

Vrsta sustava je poseban sustav kojim se organiziraju podaci koje koriste aplikativna rješenja. Sustav tipa vam omogućuje da informacije iz stvarnog svijeta predstavite terminima koji su "razumljivi" za 1C:Enterprise 8.

Tipski sustav pruža široke mogućnosti kako za izravno opisivanje poslovne logike primijenjenih rješenja, tako i za obavljanje međuzadaća obrade podataka.

Sustav tipa opisan je u Syntax Assistant-u, u ugrađenoj pomoći iu dokumentaciji.

Glavna značajka sustava tipova je da postoje tipovi koji postoje u bilo kojem aplikacijskom rješenju. Sami ovi tipovi definirani su na razini platforme i uvijek su prisutni, bez obzira na radnje programera. Uz njih, u pojedinom aplikativnom rješenju mogu postojati i različite vrste podataka koji su svojstveni ovom pojedinom aplikativnom rješenju. Samo za takve vrste podataka na razini platforme Opća pravila njihove kreacije, uzorci. Platforma stvara specifične vrste podataka na temelju načina na koji programer oblikuje i modificira strukturu primijenjenog rješenja.

Tipovi podataka definirani na razini platforme

Skup tipova na kojima primijenjena rješenja mogu djelovati prilično je raznolik. Omogućuje vam rješavanje zadataka obrade podataka i zadataka predstavljanja tih podataka korisniku i interaktivnog rada s njima. Postoji nekoliko glavnih kategorija tipova podataka.

Primitivni tipovi

Primitivni tipovi podataka su tipovi poput Crta, Broj, Datum, Booleov i drugi. Ovi tipovi nisu nešto posebno za 1C:Enterprise 8. U pravilu, takvi tipovi podataka postoje iu drugim softverskim sustavima.

Vrijednosti primitivnih tipova su jednostavne nedjeljive vrijednosti u kojima je nemoguće razlikovati pojedinačne komponente. Na primjer, vrijednosti poput Broj može biti 1, 8, 15, itd. Da biste kreirali vrijednost primitivnog tipa, morate je navesti u tekstu programa doslovan- znakovni identifikator vrijednosti.

Generičke zbirke vrijednosti

Također, postoje složeniji tipovi podataka. Na primjer, platforma podržava brojne vrste koje su generičke zbirke vrijednosti: niz, Struktura, Popis vrijednosti i drugi.

Opći tipovi

Osim toga, platforma implementira specifične tipove podataka koji implementiraju jednu ili drugu funkcionalnost primijenjenih rješenja: Tekstualni dokument, SpreadsheetDocument, StorageValues, Graditelj zahtjeva i drugi.

Uobičajene vrste također se nazivaju zajednički objekti. Vrijednosti ovih tipova, za razliku od vrijednosti primitivnih tipova, skup su vrijednosti pojedinačnih svojstava objekta. Stoga se i zovu instance objekta.

Instance objekta stvaraju se pomoću posebnog ugrađenog jezičnog operatora - Novi.

Vrste sučelja

Vrste sučelja omogućuju organiziranje vizualne interakcije primijenjenog rješenja s korisnikom. Uglavnom, to su tipovi koji se odnose na rad oblika i njihovih elemenata.

Tipovi podataka generirani u primijenjenom rješenju

Međutim, zajedno s tipovima podataka koji su definirani na razini platforme, određeno aplikacijsko rješenje može koristiti jedinstvene tipove podataka koji postoje samo u tom određenom aplikacijskom rješenju. Štoviše, platforma će u potpunosti podržavati rad s ovim tipovima podataka na isti način kao i s tipovima koji su definirani na razini same platforme.

Pojava novih tipova podataka u aplikativnom rješenju u pravilu je povezana s korištenjem konfiguracijskih objekata aplikacije. Stoga se ove vrste također nazivaju vrste aplikacija ili primijenjenih predmeta.

Na razini platforme podržano je nekoliko klasa (predložaka) aplikacijskih objekata koji se sami po sebi ne mogu koristiti u određenom aplikacijskom rješenju. Na primjer, možete navesti takve klase aplikacijskih objekata kao što su Referentne knjige, Dokumenti, Informacijski registri, Planovi vrsta obilježja itd.

Za svaku klasu primijenjenih objekata definirana je osnovna funkcionalnost koja joj odgovara: vrste tablica baze podataka koje se moraju kreirati za pohranu podataka, standardni obrasci, tipični jezični objekti, skupovi prava itd.

Razvojni programer, kreirajući aplikacijsko rješenje, nema mogućnost izravnog korištenja ovih klasa, ali može dodati novi konfiguracijski objekt u svoje aplikacijsko rješenje koje nasljeđuje sve funkcionalnosti određene klase:

Na primjer, programer može dodati novu referencu svom aplikacijskom rješenju Nomenklatura Referentne knjige, ili novi dokument CashReport, koji će naslijediti funkcionalnost klase Dokumenti.

Odmah nakon takvog dodavanja programeru postaju dostupni novi tipovi podataka, čiji je sastav određen pripadnošću konfiguracijskog objekta jednoj ili drugoj klasi aplikacijskih objekata.

Na primjer, nakon stvaranja novog imenika Nomenklatura, sljedeće vrste podataka postaju dostupne:

  • DirectoryManager.Nomenclature,
  • DirectoryLink.Nomenklatura,
  • DirectoryObject.Nomenclature,
  • DirectorySelection.Nomenclature,
  • Imenik.Nomenklatura.

Sustav tipova opisuje samo opću "strukturu" ovog tipa, pravila prema kojima će se formirati objekti ovog tipa. Konkretno ime tipa, sastav svojstava i metode objekta ovisit će o tome kako programer naziva konfiguracijski objekt i koje će mu, na primjer, detalje, tablične dijelove dodati.

Istovremeno, nakon izrade novog akumulacijskog registra SalesCompanies, sastav novih tipova podataka bit će drugačiji:

  • RegisterAccumulationManager.SalesCompany,
  • RegisterAccumulationSampling.SalesCompanies,
  • RegisterAccumulationList.SalesCompanies,
  • RegisterAccumulationSetRecords.SalesCompany,
  • RegisterAccumulationRecord.SalesCompanies,
  • Akumulacija RegisterRecordKey.CompanySales.

Ponovno treba napomenuti da ove vrste podataka nisu izvorno podržane od platforme i postoje samo u određenom aplikacijskom rješenju.

Još jednu stvar koju treba naglasiti najlakše je pokazati primjerom.

Pretpostavimo da su dva nova direktorija stvorena u aplikacijskom rješenju: Nomenklatura i Cijene. Unatoč činjenici da su oba ova objekta naslijedila funkcionalnost odgovarajuće klase Referentne knjige, a za njih je u aplikacijskom rješenju kreiran isti skup tipova podataka, "istoimeni" tipovi podataka bit će različiti tipovi podataka. Na primjer, DirectoryObject.Nomenclature Tip podataka .

Prijavite se kao student

Prijavite se kao učenik za pristup školskom sadržaju

Interni programski jezik 1C 8.3 za programere početnike: vrste podataka u 1C

Sada znamo kako natjerati računalo da izvršava naše naredbe (koristeći naredbu "Izvješće" kao primjer) i kako proslijediti određene parametre naredbama (tekst poruke koja slijedi u zagradama nakon "Izvješće"). Također smo saznali da su sve naredbe odvojene točkom i zarezom.

Vrste podataka

Jedan od glavnih zadataka programiranja je obrada podataka, pa ćemo shvatiti koje su glavne vrste podataka u jeziku 1C:

  • Crta. Izvrstan primjer takvih podataka je citat iz pjesme "Oluja pokriva nebo maglom,". Imajte na umu da su podaci niza uvijek zatvoreni dvostruki navodnici.
  • Broj. Svi znamo vrstu podataka. Često imamo posla s njim u stvaran život O: na poslu na dan plaće, a zatim u trgovini. Brojevi, kao što sigurno znate, mogu biti cijeli i frakcijski. Primjer cijelog broja: 1000000, ali razlomka: 3.14. Razlomak se odvaja od cjeline točka. Brojevi također imaju znak: plus ili minus.
  • Datum. Vaš datum rođenja je primjer ove vrste podataka. Sadrži godinu, mjesec i dan. Primjerice, prvi let ljudske posade u svemir dogodio se 12. travnja 1961. godine. Računalnim jezikom ti će podaci izgledati ovako: " 19610412 ". Pokušajte sami dokučiti zašto je to tako. Datum je uvijek in jednostruki navodnici ().

Zadatak broj 6. Zabilježite u računalnom formatu (koristeći odgovarajuću vrstu podataka) odgovore na sljedeća pitanja:

  1. Kada je lansiran prvi umjetni satelit?
  2. Kako se zvao prvi astronaut?
  3. Koliko ima planeta u Sunčevom sustavu?

Provjerite se

Na temelju rezultata zadatka #7, možemo izvući zanimljiv zaključak: kao parametar za naredbu Report možete proslijediti ne samo nizove, već i podatke bilo koje druge vrste.

Obrada podataka

Sada, konačno, obradimo ove podatke! Koje operacije možemo izvesti s podacima? Ovisi o njihovoj vrsti.

Na primjer, nizove možemo povezati jedan s drugim pomoću znaka sabiranja:

Za složenije aritmetičke izraze koristite zagrade:

Zadatak broj 8. Pokrenite ove primjere na računalu.