Programmering i 1C Enterprise-språk 8. Sykluser ved hjelp av en variabel syklusteller

Som regel begynner å lære et hvilket som helst programmeringsspråk med et eksempel på å skrive det første det enkleste programmet("Hei Verden!"). Dette gjøres for å tydelig demonstrere arbeidet med grunnleggende syntaktiske strukturer. Vi vil ikke gjøre et unntak fra denne allment aksepterte måten å presentere materiale på når vi utforsker et nytt utviklingsmiljø, og derfor bør vår første artikkel vurderes på samme måte. I den vil vi analysere i detalj svarene på følgende spørsmål angående programmering på 1C:Enterprise 8-plattformen:

  • Hvor og med hvilken hjelp å skrive programkode i det innebygde 1C-språket?
  • Hva er programvaremoduler, hva er reglene for å jobbe med dem?
  • Hva er en variabel, hvordan jobber man med den, hvordan og hvor skal den deklareres?
  • Hvilke sammenlignings-, tildelings- og betingede operatorer finnes det, og hvordan bruker du dem?
  • Boolske operasjoner - hva er de og hvordan jobbe med dem?
  • Hvorfor trenger vi løkker og hvordan bruker vi dem?

Artikkelen vil være nyttig for alle de som ennå ikke er kjent med utvikling på 1C:Enterprise 8-plattformen, men som ønsker å lære å programmere på 1C.

Anvendbarhet

Materialet er relevant for 1C:Enterprise 8-plattformen, utgave 8.2. og 8.3.

Variabler og operatører

I denne artikkelen begynner vi å studere det innebygde språket 1C:Enterprise 8. Den kjørbare koden finnes i programmoduler.

Det er et ganske stort antall moduler som er designet for å håndtere ulike hendelser.

Så brukerens pålogging til systemet behandles i en modul, og behandlingen av brukerens klikk på en bestemt knapp behandles i en helt annen.

Dermed beskriver hver modul oppførselen til konfigurasjonen på et bestemt tidspunkt. Modulen inneholder først og fremst en del for å beskrive variabler. De. vi kan deklarere noen variabler i modulen.

I fremtiden kan de brukes i prosedyrer og funksjoner i denne modulen. Hvis en variabel er definert med nøkkelordet Eksporter, vil den være tilgjengelig utenfor av denne modulen. Eksempel på variabeldeklarasjonslinje:

Perem lager, avdeling, lagerholder eksport;

Etter deklarasjonen av variabler er det en del av prosedyrer og funksjoner.

Bak dem er en del av hovedprogrammet som vil bli utført når denne modulen åpnes.

For eksempel, i en del av hovedprogrammet kan du initialisere variabler, dvs. gi dem noen startverdier:

Tilstand=1;
NewExpression=2;
Resultat=3;

En modul kan betraktes som en kombinasjon av ulike operatører som utfører ulike handlinger vi trenger.

Operatørskilletegn er symbolet ";" (semikolon). Dette tegnet markerer slutten på utsagnet. De. operatøren kan skrives som følger:

Resultat=100X200
+400
-600;

Det spiller ingen rolle hvor mange linjer uttalelsen er plassert på.

Selvfølgelig er det ofte mer praktisk og tydeligere å plassere operatøren på en linje, men noen ganger er operatørene ganske lange (antall linjer kan rimeligvis nå flere dusin).

Semikolonet kan ikke plasseres i sluttsetningen til en gitt konstruksjon, for eksempel en prosedyre. De. følgende kode vil fungere:

Prosedyre CalculateValue()

Initial Value = 100;
IntermediateValue = InitialValue/5;
FinalValue = InitialValue+IntermediateValue

Slutt på prosedyre

Det er imidlertid bedre å bruke semikolon i den endelige uttalelsen. Det er mulig at byggingen over tid vil bli videreført, og sluttoppgaven ikke lenger er endelig. Vi må spesifikt overvåke denne situasjonen.

Variabler er utformet for å lagre en viss verdi av enhver datatype. De brukes til mellomlagring av informasjon for behandling.

I nesten enhver programvaremodul som utfører en handling, er det forskjellige variabler. Å skrive variabler etter verdier i plattform 1C:Enterprise 8 er mykt.

For eksempel kan en variabel inneholde en verdi av én datatype, og noen få linjer senere - en annen type:

Opprettet = False;
Opprettet = Sant;
Opprettet =100;

I de to første operatorene er verdien av variablene boolsk, og i den tredje endres den til numerisk verdi. De. skriving avhenger av verdien som er tilordnet en gitt variabel.
Variabler kan beskrives på to måter:

  • implisitt metode (omtalen på venstre side av oppgaveoperatøren beskriver denne variabelen, det er ingen foreløpig beskrivelse av variabelen med ordet Variabel, dvs. det er ingen spesiell seksjon for å beskrive variabler);
  • eksplisitt beskrivelse av variabler (Variable Control Data;). Eksplisitt deklarasjon av variabler brukes for eksempel hvis den påfølgende overføringen av denne variabelen til en funksjon er ment.

Variabler navngis ved å bruke den klassiske identifikatorbeskrivelsen. Identifikatoren består av bokstaver, tall og understreker. Identifikatoren må begynne med enten en bokstav eller et understrek.

I dette tilfellet bør navnet på variabelen gjenspeile betydningen av denne variabelen. Enkeltbokstavsvariabelnavn (som A, B, C) er dårlige eksempler. De gjenspeiler ikke essensen av variablene.

Eksempler på korrekte variabelnavn: Counter (økende variabel for en loop), Counterparty. Hvis variabelnavnet inneholder flere ord, bør hvert nye ord, for klarhetens skyld, begynne med en stor bokstav.

Reserverte ord som Prosedyre, Funksjon, Loop, EndLoop osv. kan ikke brukes i variabelnavn. (disse strukturene er uthevet med rødt i programmodulen).

Reserverte ord er innebygde språkoperatører og det er et ganske lite antall av dem. Alle er presentert i Syntaksassistent.

Det skal bemerkes at datatyper ikke er reserverte ord (for eksempel Array, Boolean, True, False). Systemet vil godta slike variabelnavn på riktig måte.

For å skrive programkode saken spiller ingen rolle. Ordet Prosedyre kan for eksempel skrives med enten stor eller liten bokstav. Dessuten kan store og små bokstaver veksles i et ord.

Dette spiller ingen rolle for plattformen. Men i henhold til reglene for god oppførsel skal begynnelsen av et ord skrives med stor bokstav, og alle andre bokstaver med små bokstaver.

Angående språket. Du kan bruke russisk, engelsk eller en kombinasjon av de to språkene. Hvis det er praktisk for noen, kan du trygt bruke engelsk til å skrive programkode, samt kombinere russisk og engelsk. Dette er ikke viktig for plattformen.

Mange titler på engelske språk ganske vanskelig å huske. Når du bruker en kombinasjon av to språk, blir lesbarheten til programkoden dårligere.

boolske operasjoner

Sammenligningsoperatorer bruker ofte boolsk logikk som returnerer True eller False.

For eksempel, i en betinget operatør kan du sammenligne: Hvis Event = Salg Da vil algoritmen følge én gren (dvs. hvis verdien er True), hvis betingelsen er False, vil en annen gren av algoritmen bli utført.

Betingelsene kan være ganske komplekse, de kan kombineres, og følgende operatorer brukes: AND, OR og NOT. Så, for OG-operatøren:

Sannhet Og Sannhet = Sannhet;
True And False = False;
False And True = False;
Falsk AND False = False.

For OR-operatoren er det nok at en av operandene er lik True, da vil verdien av kombinasjonen være True. Verdien False oppnås bare når begge operandene er False.

NOT-operatoren inverterer ganske enkelt gjeldende verdi (falsk til sann, sann til usann).

Ved å bruke en kombinasjon av disse operatørene kan du bygge ganske komplekse forhold. Når du komponerer komplekse betingede utsagn, bør du vurdere prioriteringer.

NOT-operatoren har høyest prioritet, etterfulgt av AND-operatoren, etterfulgt av OR-operatoren. Det som står i parentes har høyeste prioritet og utføres først.

La oss for eksempel sette prioriteter (utførelsessekvens) for operasjoner i det gitte uttrykket:

IKKE(Betingelse1 ELLER Betingelse2) OG Betingelse3 ELLER Betingelse4
1.Resultat1 = (Betingelse1 ELLER Betingelse2);
2. Resultat2 = IKKE Resultat1;
3. Resultat3 = Resultat2 OG Tilstand1;
4. Resultat = Resultat3 ELLER Tilstand4;

Det er en konverteringsregel:

IKKE (Betingelse1 ELLER Betingelse2) = IKKE Betingelse1 OG IKKE Betingelse2.

Imidlertid bør man ikke alltid strebe etter å forenkle uttrykket, siden ofte, logisk, er et utvidet uttrykk lettere å lese.

Oppdragsoperatør

Oppdragsoperatøren skal ikke forveksles med likestillingsoperatøren, selv om de har samme skrivemåte.

Prinsippet til tilordningsoperatoren er at venstre verdi (variabelen på venstre side) tildeles verdien som er til høyre for likhetstegnet. La oss se på et eksempel:

Variabel1 = Variabel2 = Variabel3;

Variabel1 tildeles likhetsverdien fra boolsk logikk, dvs. True hvis Variable2 = Variable3, eller False ellers.

Når du tester for posisjonen til en nybegynnerprogrammerer, er en oppgave som ofte brukes å bytte verdiene til to variabler.

Dette problemet løses ved hjelp av oppdragsoperatøren og har to løsninger.

Løsning #1 med en midlertidig variabel:
TemporaryVariable = Variable1;
Variabel1 = Variabel2;
Variable2 = TemporaryVariable;

Løsning #2:
Variabel1 = Variabel1 + Variabel2;
Variabel2 = Variabel1 – Variabel2;
Variabel1 = Variabel1 – Variabel2;

Betinget operatør

Det er en slik operatør If, hvoretter det er nødvendig å beskrive en tilstand (tilstanden i seg selv kan være ganske stor). Betingelsen etterfølges av ordet Then og setningene som skal utføres.

Dette kan etterfølges av nøkkelordet Else og en rekke andre utsagn. Hvis det er flere forskjellige forhold, kan du bruke en rekke nøkkelord EllersHvis(se eksempel nedenfor). Hele konstruksjonen må avsluttes med nøkkelordet Slutt om, etterfulgt av semikolon.

I tillegg til enkle og flere betingelser, er det en forkortet form av den betingede operatoren: ?(Betingelse, Uttrykk1, Uttrykk2);

Hvis betingelsen er sann, vil den bli utført Uttrykk 1, ellers - Uttrykk 2. Eksempelkode: ExpensiveProduct = ?(Product.Price>100000, True, False);

I praksis, i stedet for sammenligning poster med verdien ekte (Å ligge) type:

Hvis variabel = sant da
Og
Hvis Variabel = False Da

de tilsvarende notasjonene som faktisk brukes er:

Hvis variabel da
Og
Hvis IKKE variabel da

Sykliske operatører

For enhver type løkke kreves det en eksplisitt indikasjon på slutten av denne løkken ved å bruke nøkkelord Slutt på syklusen. Det finnes flere typer sykluser.

Sløyfe på en teller– en syklus med et fast antall repetisjoner. Betingelsen for å avslutte syklusen er overskridelse av grenseverdien. Eksempel på bruk for å beregne verdien av A!

A = 5;
Faktoriell = 1;
For teller = 1 ved en syklus
Faktoriell = Faktoriell * Teller;
EndCycle;

Løkke etter tilstand– betingelsen for den gitte sløyfen er oppfylt så lenge den er sann. Eksempel:

Resterende beløp = 1000;
Tilleggsproduktpris = 243;
Antall = 0;
Mens gjenværende beløp>0 syklus
Antall = Antall+1;
Gjenstående beløp = Gjenstående beløp – Antall*Pris på tilleggsprodukt;
Pris på tilleggsprodukt = Pris på tilleggsprodukt * 0,8;
Slutt på syklusen
Antall = Antall-1;

Denne syklusen beregner hvor mange enheter av et produkt som kan kjøpes for et gitt beløp (1000 rubler) hvis den forrige prisen multipliseres med en faktor på 0,8 etter å ha kjøpt hver enhet av et produkt. Den opprinnelige prisen på produktet er 243 rubler.

Et eksempel på en feil ved bruk av denne typen løkke for nybegynnere er en evig løkke, når løkkebetingelsen i utgangspunktet er sann, men innenfor selve løkken endres den ikke på noen måte.

Bla gjennom samlinger (et annet navn for alle).

Det er et ganske stort antall samlinger i Plattformen (dette er containere som inneholder elementer av en bestemt type).

Du kan iterere gjennom elementene i en samling ved å bruke en spesiell type loop.

For eksempel er det en rekke tall, du må beregne summen av alle elementene i matrisen:

Beløp = 0;
For hvert element fra Array Loop
Sum=Sum+Element;
EndCycle;

For sykluser er det spesielle operatører: Fortsette Og Avbryte.

Hvis på et tidspunkt i syklusen utføringen av ytterligere operatører av en gitt løkke blir meningsløs, brukes operatøren til å gå tilbake til begynnelsen av løkken og organisere den neste løkken Fortsette.

Operatør Avbryte lar løkken avslutte utførelse selv om løkkebetingelsen er sann.

Dette avslutter vårt første bekjentskap med utvikling i det interne 1C-språket.

Hva med Hello World? Vi har ikke skrevet det ennå, har vi? Ja, men ingenting hindrer deg i å gjøre det selv, fordi... kunnskap er ALLEREDE nok. Vel, hvis det ikke går, så kan du ta en titt her.

Det innebygde programmeringsspråket til 1C:Enterprise-programmer er et programmeringsspråk som brukes i 1C:Enterprise-familien aver. Dette språket tilhører klassen av forhåndskompilerte domenespesifikke språk på høyt nivå. Utførelsesmiljøet er 1C:Enterprise-plattformen (inkludert 1C:Accounting). Det visuelle utviklingsmiljøet kalles "Configurator" og er en del av 1C:Enterprise-pakken.

Språket støtter kommandosyntaks på russisk og engelsk. De innebygde språkdialektene for versjonene 1C:7.0, 1C:7.5 og 1C:7.7 er nedenfra og opp-kompatible med mindre unntak. Dialekter for 1C:7x er kompatible med 1C:8x når det gjelder hovedoperatørene, men varierer betydelig i hvordan de fungerer med applikasjonsobjekter, som et resultat av dette gir det praktisk talt ingen mening å overføre kode fra 1C:7x-plattformen til 1C:8x plattform.

I sin syntaks ligner programmeringsspråket 1C:8 på Visuelt språk Grunnleggende. Plattformen gir et fast sett med hovedklasser som er designet for å løse typiske problemer i deres applikasjonsområde. Noen basisklasser:

  • Dokument,
  • Dokumentlogg,
  • Konstant,
  • Behandling,
  • Rapportere,
  • Overføre,
  • Kontooversikt,
  • Katalog osv.

Fra disse basisklassene kan du opprette et hvilket som helst antall avledede klasser ved å bruke visuelle konfigurasjonsverktøy. Dessuten er det ingen måte å programmatisk bestemme ny klasse. Bare et eksplisitt trinn i klassearv er tillatt. Objekter av avledede klasser er vanligvis databaseposter eller sett med poster. Når det gjelder 1C-språket, kalles de metadataobjekter og danner det såkalte "metadatatreet".

Typen av disse metadataobjektene er Forretningsprosesser, Dokumenter, Oppgaver, Behandling, Rapporter, Planer over beregningstyper og egenskaper, Kontoplaner, Akkumuleringsregistre, beregninger og informasjon, Kataloger. Prosjekter skrevet på 1C:Enterprise-språket kalles konfigurasjoner. Salg, implementering og vedlikehold av 1C og dets konfigurasjoner er de viktigste kommersielle aktivitetene til 1C-partnerselskaper.

Det er også tilleggskomponenter som utvider hovedklassene, og tillater dem gratis skapelse og endre. Disse komponentene anbefales imidlertid ikke for bruk av utvikleren. I praksis innebærer bruken av dem oppgivelse av teknisk støtte fra 1C-selskapet og dets partnere.

For eksempel utvider 1C++-komponenten språket ved å bruke fullverdig OOP. Bruken utvider mulighetene for å konfigurere 1C. Dette er et gratis produkt distribuert under den åpne GNU GPL-lisensen.

Det er også et gratis 2C-prosjekt som ikke bruker proprietære moduler fra 1C og andre programvareprodusenter. Dette er en utvidbar kjerne i et system som ligner på 1C, omskrevet fra bunnen av, som distribueres fritt under GNU GPL-lisensen. "Innebygde objekter" 1C, som registre og kataloger, er klasser som kan overstyres av applikasjonsprogrammereren.

Opprinnelig hadde 1C-språket arbeidsnavnet "1Sik", som ble uttalt "odynesik". Den forsvant imidlertid raskt fra bruk i offisielle kilder. Når dette innebygde språket er nevnt i dokumenter, er det nå vanlig å kalle det "1C-programmeringsspråk". På dette øyeblikket det har ikke sitt eget navn som er praktisk for muntlig uttale. I sammenheng med å diskutere 1C:Enterprise-pakken, kalles den ofte ganske enkelt "innebygd språk".

Jeg vil gjerne fullføre anmeldelsen med et eksempelprogram som viser en tradisjonell hilsen for nybegynnere som lærer et programmeringsspråk:

Report("Hei, verden!");

Denne koden vil fungere i 1C:Enterprise versjon 7.7.

21.12.2010

Tidligere publikasjoner:

Til alle som ønsker å sette seg inn i programmering ønsker vi å forklare noen enkle ting som ikke er nevnt i alle programmeringslærebøker, men de som vil mestre programmering i 1C-språket fra bunnen av bør vite om dette.

1. Et programmeringsspråk er for det første et språk.

Før du begynner å lære et språk, vær mentalt forberedt på at denne prosessen ikke er rask. Slik at du spesifikt kan forestille deg hva det å lære et programmeringsspråk er – det er nesten det samme som å lære et fremmedspråk. Vi studerte alt på skolen fremmed språk og alle forstår godt at det å kunne et språk ikke er nok bare for å lære oversettelsen av ord fra en ordbok fra et fremmedspråk til morsmålet ditt. For eksempel kan uttrykket "Jeg kan engelsk" sies av en person som er i stand til å: lese en tekst på engelsk, oversette, komponere en setning uten feil, uttrykke seg muntlig. Å oversette fremmedord uten evne til å komponere en setning riktig (les syntaksen til et programmeringsspråk) betyr absolutt ikke kunnskap om et fremmedspråk. Derfor, Leksjon 1 – behandle læring av et programmeringsspråk på samme måte som du ville behandlet å lære et fremmedspråk med mål om å mestre det fullstendig.

2. Øv.

Du har sikkert hørt hvordan noen mennesker som kan et fremmedspråk godt, gradvis glemte det uten å øve på å bruke det. Etter å ha studert det grunnleggende om programmering på 1C, øv deg daglig på å utføre enkle oppgaver for ikke å miste kunnskapen som er tilegnet tidligere og gradvis ta på seg mer komplekse oppgaver. Forbedre ferdighetene dine.

Enhver virksomhet beveger seg bedre hvis det er motivasjon.For deg i fremtiden er programmeringsferdigheter en pengebelønning, Godt jobbet, enkel sosial heis, etc. Det er ingen hemmelighet at programvareproduktet 1C Enterprise er veldig populært i det post-sovjetiske rommet. Av de ti selskapene bruker åtte 1C-programmet til å registrere virksomheten sin. Følgelig trenger de en administrator eller 1C-programmerer som kan vedlikeholde og avgrense programmet. Naturligvis trenger et slikt marked 1C-spesialister. Noen ganger er bedrifter klare til å ansette en ikke veldig kvalifisert ansatt med programmeringskunnskaper for en anstendig lønn med betingelsen om selvforbedring. Og selv om du ikke vil jobbe for et kommersielt selskap eller franchise, vil en god kvalifisert programmerer kunne finne arbeid på frilansutveksling eller utføre tilpassede prosjekter. Generelt vil en 1C-programmerer ikke stå uten arbeid.

Med en innledende del i grunnleggende om programmering vi er ferdige. Resten av materialet vil bli viet til å mestre det grunnleggende om 1C språkkode. Kanskje noen deler vil bli beskrevet for kort, men formålet av dette materialet er ikke en fullstendig fordypning av leseren i språkets syntaks, men snarere en innledende kjennskap til spesialister med arkitekturen til 1C-språket for å danne et bestemt skjelett (base) i brukerens hode som all kunnskap vil bli hengt på i fremtiden.

I denne artikkelen vil vi vurdere en slik konstruksjon av programmeringsspråket 1C som Sykluser.

Det er tre måter å organisere looper på.

  1. Løkker ved hjelp av et logisk uttrykk (utført til logisk uttrykk ekte)
  2. Sløyfe gjennom samlinger

La oss se på hver av disse metodene.

Sløyfer ved hjelp av en løkketellervariabel

Syntaks:

Til< Переменная> = < НачальноеЗначение>Av< КонечноеЗначение>CycleEndCycle;

Med denne metoden for å organisere løkker tildeles en tellervariabel en viss startverdi og utføres til verdien til tellervariabelen er mindre enn eller lik den angitte sluttverdien.

Med hver iterasjon øker tellerverdien med én. Her er det mest grunnleggende eksemplet på en slik løkke:

For teller = 0 til 1000 syklus sluttsyklus;

I motsetning til mange andre programmeringsspråk, gir ikke 1C muligheten til å spesifisere et trinn i en syklus. Om nødvendig kan dette gjøres ved å legge til ønsket verdi til telleren inne i sløyfen

For Teller = 0 Til 1000 Syklusteller = Teller + 10; EndCycle ;

Løkker som bruker boolske uttrykk

Syntaks:

Ha det< ЛогическоеВыражение>CycleEndCycle;

Avslå = Falsk ; GeneratorRandom = NewRandomNumberGenerator(1) ; Inntil feilsyklus RandomNumber = GeneratorRank. TilfeldigTall(0, 10); Hvis RandomNumber > 5 Then Failure = True; Slutt om ; EndCycle ;

Det vil si at løkken vil løpe til et tilfeldig tall større enn fem genereres.

Sløyfe gjennom samlinger

I 1C-programmeringsspråket er det noe som heter en samling. Det er et sett med elementer inneholdt i et objekt.

Vi kan inkludere slike objekter som en samling: en matrise, en verditabell, et utvalg fra et spørringsresultat, metadata, etc. Dette konseptet er ganske konvensjonelt, men det vises på hvert trinn i syntaksassistenten. Svært ofte møter vi en oppgave når vi trenger å sekvensielt iterere gjennom alle elementene i en samling for å utføre noen handlinger på dem. Det er en syntaktisk struktur for dette:

For hver< ЭлементКоллекции>Fra< Коллекция>CycleEndCycle;

Her <ЭлементКоллекции> er en variabel som elementer fra samlingen er sekvensielt plassert i. Og inne i loopen behandles den deretter.
Som et eksempel vil jeg gi deg en løkke for å krysse radene i en verditabell. La det bli kalt Bordprodukter og ser slik ut:

La oss gå gjennom denne tabellen i en løkke, og for hver rad vil vi vise en melding med navnet og prisen på produktet:

For hver tabellrad fra tabellprodukter Syklusnavn = tabellrad. Navn; Pris = Tabellrad. Pris; Message = New MessageToUser; Beskjed. Tekst = "Navn på produkt: "

Faktisk kan det samme gjøres ved å bruke det første alternativet, det vil si i en løkke ved å bruke en teller:

Antall rader = Tabellprodukter. Mengde() ; For teller = 0 etter antall rader - 1 syklustabellrad = Tabellprodukter[Teller] ; Navn = Tabellrad. Navn; Pris = Tabellrad. Pris; Message = New MessageToUser; Beskjed. Tekst = "Navn på produkt: "+ Navn + "; Pris: " + Pris; Beskjed. Å melde() ; EndCycle ;

Men som vi kan se, er det mye enklere og mer praktisk å bruke kryssing av samlingselementer

Hjelpeoperatører

Det er ofte en situasjon der det, avhengig av noe, er nødvendig å avbryte utførelsen av en løkke eller gå videre fra neste iterasjon.

Avbrudd utføres ved hjelp av operatøren Avbryte. I dette tilfellet avbrytes utførelsen av loopen og kontrollen overføres til språkkonstruksjonen som følger loopen. Hvis du trenger å gå til neste iterasjon, må du bruke operatoren Fortsette. Deretter overføres kontrollen til begynnelsen av sløyfen. La oss illustrere med et lite eksempel:

For Counter = 0 By 100 Cycle Hvis Counter = 0 Fortsett deretter; Slutt om ; Hvis Teller = 4 Avbryt deretter; Slutt om ; Resultat = 1 / Teller; Message = New MessageToUser; Beskjed. Tekst = String(Resultat) ; Beskjed. Å melde() ; EndCycle ;

Vi hopper over null, fordi Du kan ikke dele på null. Og løkken vil bli utført fem ganger totalt, for verdiene til variabelen Disk fra 0 til 4

1. Hva er 1C-språket?
2. Metoder, variabler, andre språkkonstruksjoner.

Hva er 1C-språket?

Ethvert programmeringsspråk er designet for å instruere et program til å utføre handlingene vi trenger. Å skrive kode er som å skrive instruksjoner, i den spesifiserer vi hva vi skal gjøre og i hvilken rekkefølge. All kjørbar konfigurasjonskode kan bare være plassert i moduler; la oss vurdere de fire viktigste typene:

1. applikasjonsmodul

2. felles moduler

3. objektmodul

4. skjemamodul.

I forskjellige typer moduler blir kode utført på forskjellige stadier av programutførelse. I en applikasjonsmodul kan kode kjøres når programmet startes eller lukkes, i vanlige moduler under anrop fra andre moduler, i en objektmodul - under handlinger på et objekt (oppretting, modifikasjon, sletting), i en skjemamodul - under handlinger på et skjema. Dette kan du bruke når du skriver kode:
Variabler, objekter og deres detaljer, metoder laget av oss (1C-programmerere) og system (innebygd i plattformen), samt innebygde språkkonstruksjoner.

Metoder, variabler, språkkonstruksjoner

Variabler brukes til å lagre data under en brukerøkt. En variabel er et ord som begynner med en bokstav (russisk eller engelsk) eller med et understrek «_» og består av bokstaver, tall og understreker.
For eksempel :

  • Dette er en variabel
  • _Dette er en variabel
  • _Dette er 1_variabel

Det faktum at bokstaver kan være russiske og engelske kan spille en grusom spøk når du bruker bokstaver med lignende design fra forskjellige språk.

Det tas ikke hensyn til tilfellet med bokstaver i koden, dvs. variablene "Variable1" og "VARIABLE1" er de samme når du kjører kode for programmet. Det er ønskelig at variabelnavnene er meningsfulle. Dette forbedrer kodens lesbarhet.

Gjenstander og detaljer leses og endres mens du arbeider med dataene.
Et objekt er et sett med data gruppert i henhold til en bestemt egenskap. Vanligvis gjenstander i informasjonsgrunnlag det er en refleksjon av dokumenter, lister over data, oppregninger av den materielle verden. Objektdetaljer lagrer i hovedsak data.

For eksempel: Objekt "Kvittering nr. 00018 datert 01.01.2005".
Vi kan skille denne salgskvitteringen fra andre salgskvitteringer basert på detaljene den inneholder. Dette er "Number"-attributtet med verdien "00018"( skriv streng ) og «Dato»-attributtet( skriv inn dato ) med verdien "01/01/2005". Det eneste vi kunne bestemme fra et objekt uten å kjenne verdiene til detaljene var typen "Kvittering".
Metoder er små og vanligvis komplette instruksjoner.

For eksempel systemmetoden "CurrentDate ()" Fra navnet er det klart at det vil returnere dagens dato datamaskin. Eller la oss si at du kan lage en metode " StringContainsNumber(Strengen blir sjekket)" som vil returnere svaret ekte eller Å ligge, her sender vi parametere i parentes, dvs. data, som fungerer som metoden må utføre noen handlinger på. Begge metodene som vurderes er funksjoner; språket har også prosedyremetoder. Det er én forskjell mellom dem. Funksjonen må returnere en verdi.

Andre språkkonstruksjoner (operatører, samlinger av verdier osv.) er ord som er reservert av 1C-systemet som hjelper til med å manipulere data.

For eksempel :

For hvert samlingselement fra samlingsnavn syklus EndCycle;

Eksemplet viser et design for iterasjon over elementene i en samling. Dette designet kalles syklus . De fleste typer objekter, så vel som deres detaljer, er samlinger som kan itereres på ovennevnte måte og få tilgang til et element i samlingen ved å spesifisere dens indeks (Samlingsnavn[0]). Alle samlinger starter med et element hvis indeks = 0.