Sintaksa programskega jezika 1c.

Vgrajeni programski jezik 1C: Enterprise- programski jezik, ki se uporablja v družini programov 1C: Enterprise. Ta jezik je vnaprej sestavljen jezik, specifičen za domeno, na visoki ravni.

Izvedbeno okolje jezika je programska platforma 1C: Enterprise. Vizualno razvojno okolje (Configurator) je sestavni del programskega paketa 1C: Enterprise.

Narečja jezika za platforme 1C 7 različice (7.0, 7.5, 7.7) so z manjšimi izjemami združljiva "od spodaj navzgor". Jezika za platformi 1C: 7x in 1C: 8x sta združljiva glede na glavne operaterje, vendar se bistveno razlikujeta pri delu z uporabljenimi predmeti, zaradi česar je prenos kode iz 1C: 7x v 1C: 8x nima smisla.

Vgrajeni jezik 1C: 8 je po svoji sintaksi najbolj podoben jeziku Visual Basic.

Platforma ponuja fiksni nabor osnovnih razredov, osredotočenih na reševanje tipičnih problemov uporabljenega področja:

  • Stalno,
  • Imenik,
  • Dokument,
  • Dnevnik dokumentov,
  • Naštevanje,
  • Poročilo,
  • Zdravljenje
  • Kontni načrt itd.

Na podlagi osnovnih razredov s pomočjo vizualne konfiguracije lahko ustvarite poljubno število ustvarjenih razredov (novega razreda ni mogoče programsko definirati). Dovoljena je samo ena eksplicitna stopnja dedovanja razreda. Predmeti izpeljanih razredov običajno predstavljajo zapise (ali nekatere sklope zapisov) v zbirki podatkov. Takšni razredi tvorijo "drevo metapodatkov". V smislu vdelanega programskega jezika 1C se taki razredi imenujejo metapodatkovni objekti.

Glavne vrste metapodatkovnih objektov so: Imeniki, Dokumenti, Poročila, Obdelava, Karte značilnih tipov, Računske karte, Karte vrst izračuna, Informacijski registri, Registri kopičenja, Registri izračuna, Poslovni procesi, Naloge.

Podprta je sintaksa ukazov v ruskem in angleškem jeziku.

Projekti v vgrajenem jeziku 1C: Enterprise se imenujejo konfiguracije. Distribucija (prodaja) in izvedba takšnih konfiguracij je glavna komercialna dejavnost partnerskih podjetij 1C.

Delovno ime jezika - "1Sik" ("odinesik") - je zelo hitro izginilo iz uradnih virov. Zdaj, ko omenjate ta jezik v pisnih dokumentih, morate pisati Programski jezik 1C... Zdaj jezik nima imena, ki bi ga bilo mogoče izgovoriti ustno. Vendar ta jezik v okviru razprave o 1C: Enterprise pogosto imenujemo "vdelani jezik".

Objektno naravnana narečja

Obstaja več dodatnih komponent, ki razširjajo glavne razrede, jih prosto dodajajo in spreminjajo; niso priporočljivi za uporabo s strani razvijalca. To pomeni, da 1C in njegovi prejemniki franšize zavračajo kakršno koli tehnično podporo za konfiguracije, ki uporabljajo take komponente.

Poleg tega obstaja popolnoma brezplačen projekt 2C, ki ne uporablja lastniških modulov podjetja 1C ali drugih proizvajalcev. To je prepisano "iz nič", prosto distribuirano pod licenco GPL, razširljivo jedro 1C-podobnega sistema, v katerem so tudi taki "vgrajeni predmeti" 1C, kot so referenčne knjige in registri, razredi, ki jih na novo definira programer programov. .

Jezik platforme 2C je bil zasnovan z namenom čim večje kontinuitete z obstoječim razvojem 1C in je razširitev osnovnega jezika 1C. S pisanjem ustreznih osnovnih razredov je jezik 2C lahko blizu 1C 7.7 in 1C 8.0, čeprav platforma 2C: Platform ne more zagotoviti 100% samodejne prenosljivosti konfiguracij iz ene različice 1C: Enterprise.

1C.Net:Podjetje

Za lažjo uporabo 1C.Net: Enterprise so bili pripravljeni številni primeri, ki zajemajo skoraj celotno ogrodje .NET, vključno s primeri vključevanja izvornih kontrolnikov .NET v 1C-obrazce.

Vzorec programa

Klasičen primer izpisa besedilnega niza je vgrajeni jezik 1C: Enterprise 7.7:

Poročilo ("Pozdravljen, svet!");

Primer funkcije, ki vrne kvadrat števila:

Funkcija SquareNumber (atNumber)

Številka vračila * številka;

EndFunction

Poglej tudi

  • RSL je programski jezik, vgrajen v RS-Balance.

Opombe (uredi)

Povezave


Fundacija Wikimedia. 2010.

Oglejte si, kaj je programski jezik "Vgrajen 1C: Enterprise" v drugih slovarjih:

    Vgrajeni programski jezik 1C: Enterprise Jezikovni razred: proceduralni, specifičen za domeno Vrsta izvedbe: vnaprej sestavljeni avtorji: 1C Najnovejša različica: 1C: Enterprise 8.2 Tipkanje podatkov: dinamično tipkanje Glavna ... ... Wikipedia

    Programski jezik je formalni sistem znakov za pisanje računalniških programov. Programski jezik definira nabor leksikalnih, skladenjskih in pomenskih pravil, ki določajo videz programa in dejanja ... ... Wikipedia

    Jezik je programski jezik, ki v nasprotju z večino običajnih jezikov ne uporablja ključnih besed iz angleškega besedišča. Vsebina 1 Razširjenost programskih jezikov, ki temeljijo na angleščini ... Wikipedia

    Neangleški programski jeziki so programski jeziki, ki za razliko od večine običajnih jezikov ne uporabljajo ključnih besed, ki izhajajo iz angleškega besedišča. Vsebina 1 Razširjenost programskih jezikov ... Wikipedia

    Neangleški programski jeziki so programski jeziki, ki za razliko od večine običajnih jezikov ne uporabljajo ključnih besed, ki izhajajo iz angleškega besedišča. Vsebina 1 Prevlada jezikov ... ... Wikipedia

    Programski jezik je formalni sistem znakov za pisanje programov. Program je običajno nekakšen algoritem v obliki, ki je razumljiva za izvršitelja (npr. Računalnik). Programski jezik definira nabor ... ... Wikipedije

    Preverite nevtralnost. Na pogovorni strani naj bodo podrobnosti ... Wikipedia

    - (eng. Mutable type) zapleten podatkovni tip v objektno usmerjenem programiranju, katerega vrednosti (praviloma predmeti) po ustvarjanju omogočajo spreminjanje svojih lastnosti. Vsebina 1 Primeri ... Wikipedia

    Jezikovni razred: proceduralni, objektno naravnan Vrsta izvedbe: interpretirano Uvedeno v: 1994 Avtor (ji): Sergey Kubrin Razširitev datoteke: mac ... Wikipedia

Knjige

  • 1C: Podjetje 7.7. Lekcije programiranja. Opisani so priročnik za samostojna navodila45, Postovalov Sergey Nikolaevich, Postovalova Anastasia Yurievna, Opisana je administracija sistema 1C: Enterprise 7.7, uvod v računovodstvo, vgrajeni jezik in glavni osnovni objekti sistema. Upoštevajo se posebnosti dela s predmeti ... Kategorija: Programska oprema Serija: Vadnica Založnik: BHV-Peterburg, Proizvajalec:

Vgrajeni programski jezik programov 1C: Enterprise je programski jezik, ki se uporablja v družini računovodskih programov za avtomatizacijo 1C: Enterprise. Ta jezik spada v razred vnaprej prevedenih jezikov, specifičnih za domeno, na visoki ravni. Njegovo izvršilno okolje je platforma 1C: Enterprise (vključno z 1C: Računovodstvo). Njegovo vizualno razvojno okolje se imenuje "Configurator" in je del paketa 1C: Enterprise.

Jezik podpira sintakso ukazov v ruščini in angleščini. Narečja vgrajenega jezika za različice 1C: 7.0, 1C: 7.5 in 1C: 7.7 so združljiva "od spodaj navzgor" z manjšimi izjemami. Dialekti za 1C: 7x so po glavnih operaterjih združljivi z 1C: 8x, vendar se pri delu z aplikacijskimi predmeti bistveno razlikujejo, zaradi česar je skoraj brez smisla prenos kode s platforme 1C: 7x na platforma 1C: 8x.

Programski jezik 1C: 8 je po svoji sintaksi podoben jeziku Visual Basic. Platforma ponuja fiksni nabor osnovnih razredov, ki so namenjeni reševanju tipičnih problemov na njenem področju uporabe. Nekaj ​​osnovnih razredov:

  • Dokument,
  • Dnevnik dokumentov,
  • Stalno,
  • Zdravljenje,
  • Poročilo,
  • Naštevanje,
  • Kontni načrt,
  • Referenčna knjiga itd.

Iz teh osnovnih razredov lahko vizualno ustvarite poljubno število izpeljanih razredov. Poleg tega ni mogoče programsko definirati novega razreda. Dovoljen je le izrecni korak pri dedovanju razredov. Predmeti izvedenih razredov so običajno zapisi v zbirki podatkov ali nizi zapisov. Glede jezika 1C se imenujejo metapodatkovni predmeti in tvorijo tako imenovano "drevo metapodatkov".

Vrste teh metapodatkovnih objektov so Poslovni procesi, Dokumenti, Naloge, Obdelava, Poročila, Načrti vrst in značilnosti izračunov, Računske karte, Akumulacijski, računski in informacijski registri, Imeniki. Projekti, napisani v jeziku 1C: Enterprise, se imenujejo konfiguracije. Prodaja, izvedba in vzdrževanje 1C in njegovih konfiguracij je glavna komercialna dejavnost partnerskih podjetij 1C.

Obstajajo tudi dodatne komponente, ki razširjajo osnovne razrede, kar omogoča njihovo prosto ustvarjanje in spreminjanje. Vendar razvijalec teh komponent ne priporoča za uporabo. V praksi njihova uporaba pomeni zavrnitev tehnične podpore družbe 1C in njenih partnerjev.

Tako na primer komponenta 1C ++ razširja jezik s polnopravnim OOP. Njegova uporaba širi možnosti za konfiguracijo 1C. Je brezplačen izdelek, ki se distribuira pod odprtokodno licenco GNU GPL.

Obstaja tudi brezplačen projekt 2C, ki ne uporablja lastniških modulov podjetja 1C in drugih ponudnikov programske opreme. To je prepisano, tako imenovano razširljivo jedro sistema "iz nič", podobnega sistemu 1C, ki se prosto distribuira pod licenco GNU GPL. "Vgrajeni predmeti" 1C, kot so registri in imeniki, so razredi, ki jih v njih na novo definira programer.

Sprva je imel jezik 1C delovno ime "1Sik", ki se je izgovarjalo kot "odnesik". Vendar je hitro izginil iz uporabe v uradnih virih. Ko je ta vdelani jezik omenjen v dokumentih, ga zdaj običajno imenujemo "Programski jezik 1C". Trenutno nima svojega imena, primernega za ustno izgovorjavo. V okviru razprave o paketu 1C: Enterprise ga pogosto imenujemo preprosto "vdelani jezik".

Pregled bi rad zaključil s primerom programa, ki prikazuje tradicionalno dobrodošlico začetnikom, ki se učijo programskega jezika:

Poročilo ("Pozdravljen, svet!");

Ta koda bo delovala v 1C: Enterprise različice 7.7.

21.12.2010

Prejšnje publikacije:

Pozor! To je uvodna različica lekcije, katere gradivo je lahko nepopolno.

Prijavite se kot študent

Prijavite se kot študent za dostop do šolskega gradiva

1C 8.3 poizvedbeni jezik za začetnike programerje: osnove sintakse

Od te lekcije se začnemo učiti sintakse poizvedbenega jezika.

Močno vam svetujem, da med branjem lekcij izpolnite vse zahteve v računalniku in ste odgovorni pri izpolnjevanju domačih nalog - ne glede na to, kako preproste so na prvi pogled.

Osnove sintakse

Na kratko lahko sintakso poizvedbenega jezika opišemo na naslednji način:

IZBERITE
TUKAJ NAPIŠEMO, KAR BOMO IZBRALI
OD
TUKAJ PIŠEMO, KJER BOMO IZBRALI

Če torej želimo napisati poizvedbo, ki nam bo vrnila imena vseh elementov imenika Hrana, potem bi bilo razmišljanje približno tako:

  1. V imeniku Hrana je rekvizit z imenom Ime.
  2. Elementi v imeniku Hrana shranjena v zbirki podatkov v tabeli Imenik.Hrana.
  3. Zahteva bo torej taka:
    IZBERITE ime iz imenika. Hrana

Poskusite to poizvedbo napisati v Query Console, kot smo to storili v prvi lekciji ():

In ga nato izvedite (gumb Zaženi):

Vidimo, da je bila tabela z enim stolpcem vrnjena kot rezultat poizvedbe. Ime, v katerem so navedena imena vseh elementov imenika Hrana... Berete uvodno različico lekcije, najdete celotne lekcije.

Ponovite vse primere, ki jih bomo v prihodnosti analizirali na enak način.

Izbira več lastnosti

Če želimo zahtevati več lastnosti(npr. Ime in Barva), potem morajo biti navedeni ločeni z vejicami:

Celotna dobljena tabela, ki nam je bila vrnjena v poizvedbi, ni ustrezala sliki - dejansko je več stolpcev - po en za vsak atribut predmeta (vključno s standardnimi).

Primi prvih N vrstic

Zdaj pa rešimo naslednjo težavo: "Zahtevajte imena prvih 3 elementov imenika Hrana". Berete poskusno različico lekcije, najdene so celotne lekcije. Če želite omejiti število vrstic, ki nam jih bo vrnila poizvedba, uporabite ključno besedo PRVI 3:

Dodatna pojasnila

Glej pojasnila (od 30.7.2014)

Kako je videti tabela iskanja hrane? Kakšni so stolpci v njem?

Prvič, njegovo polno ime Imenik.Hrana.

Drugič, stolpci, kot izhaja iz konfiguratorja, so naslednji:

  • Vsebnost kalorij

Plus standard za vse referenčne knjige:

  • Ime
  • In številne podrobnosti, ki nam še niso zanimive.

Tako, da se sklicujemo na katerega koli od teh stolpcev (lastnosti, atributi), to neposredno zapišemo:

IZBERI ime, okus, barvo iz imenika. Hrana

Ne odstopamo dolgo.

Kako je videti referenčna tabela barv?

Sodeč po konfiguratorju ima le standardne podrobnosti. Tako bo njegova tabela imela samo naslednje stolpce:

  • Ime
  • Itd.

In zdaj tak trenutek.

Sodeč po konfiguratorju, stolpec iz tabele Imenik.Hrana Z imenom Barva je sklic na sklic Barve(ali bolje rečeno, na njegovi mizi). Kako se lahko s to povezavo sklicujemo na atribute (stolpce, lastnosti) same barve?

Seveda skozi točko:

Bodite pozorni na stolpec Naročnik... Prav tako ni preprosto in je povezava do druge tabele (sklic Stranke). V skladu s tem za dostop do lastnosti odjemalca prek te povezave uporabimo tudi piko:

To pa niso vsi podatki, ki jih ima dokument. Kot izhaja iz konfiguratorja, ima tabelarni odsek z imenom Izdelki... To je kot druga tabela, povezana s tem dokumentom. Ta tabela ima svoje stolpce (glej konfigurator):

  • Količina

In da se nanje sklicujemo iz zahteve, najprej pridemo do same tabele - Document.Client's Order.Products in šele nato navedemo določene podrobnosti.

V tem članku se želimo z vami pogovoriti o vsem 1c funkcije jezika poizvedbe, tako dobro, kot poizvedbeni jezikovni konstrukti... Kakšna je razlika med funkcijo in konstrukcijo? Funkcija se pokliče z oklepaji in možnimi parametri v njih, konstrukcija pa je zapisana brez oklepajev. Nedvomno vse konstrukcije in funkcije poizvedbenega jezika 1c naj postopek pridobivanja podatkov postane prilagodljiv in večnamenski. Te funkcije in konstrukcije veljajo za poizvedbena polja, nekatere pa veljajo tudi v pogojih.

1c funkcije jezika poizvedbe

Ker je jasen opis 1c funkcije jezika poizvedbe je veliko manj pogost kot opis struktur, smo se odločili, da začnemo preučevati funkcije. Zdaj pa si oglejmo vsakega posebej in opišemo njegov namen, skladnjo in primer uporabe, torej:

1. Funkcija DATUM ČAS- ta funkcija ustvari konstantno polje s tipom "Datum".

Sintaksa: DATUM ČAS(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Primer uporabe:

2. Funkcija RAZLIKA- vrne razliko med dvema datumoma v eni od dimenzij (leto, mesec, dan, ura, minuta, sekunda). Meritev se opravi s parametrom.

Sintaksa: RAZLIKA (<Дата1>, <Дата2>, <Тип>)

Primer uporabe:

Query.Text = "SELECT | RAZLIKA (ČAS DATUMA (2015, 4, 17), ČAS DATUMA (2015, 2, 1), DAN) | KOT Število dni";

3. Funkcija VALUE- nastavi konstantno polje z vnaprej določenim zapisom iz baze podatkov, lahko dobite tudi prazno povezavo katere koli vrste.

Sintaksa: VALUE (<Имя>)

Primer uporabe:

Request.Text = "SELECT // vnaprej določen element | VALUE (Directory.Currencies.Dollar) AS Dollar, // prazna povezava | VALUE (Document.Incoming GoodsService.EmptyLink) AS Incoming, // enumerated value | VALUE (Enumeration.Legal person . Posameznik) AS Posameznik, // vnaprej določen račun | VREDNOST (Načrt računa. Samonosni.Materiali) AS Račun_10 ";

4. Funkcija SELECT- pred nami je analog konstrukcije IF, ki se uporablja v kodi, le ta se uporablja v zahtevah 1C.

Sintaksa: IZBIRA KDAJ<Выражение>Nato<Выражение>DRUGAČE<Выражение>KONEC

Primer uporabe:

Request.Text = // če je znesek večji od 7500, potem mora obstajati popust v višini 300 rubljev, // če torej pogoj sproži, funkcija // vrne znesek - 300 // v nasprotnem primeru bo zahteva preprosto vrni vsoto "SELECT | SELECT | WHEN TCH Računi. Znesek> 7500 | THEN PM Receipts.Amount - 300 | ELSE PM Receips.Amount | END AS AmountDont | FROM | Document.Receipt of GoodsServices.Goods AS PM Receipts";

5. Funkcija EXPRESS- omogoča izraz konstantnega polja z določeno vrsto.

Sintaksa: EXPRESS (FieldName AS TypeName)

Primer uporabe:

Query.Text = "IZBERI RAZLIČITE | Sales.Registrar.Number, | IZBERI | KDAJ Sales.Registrar POVEZUJTE dokument.Račun | THEN EXPRESS (Sales.Registrar AS Document.Expense) | ELSE SELECT | WHEN Sales.Registrator LINK. THEN EXPRESS (THEN EXPRESS) Sales.Registrator AS Document.Realization) | END | ... | END AS Številka | FROM | Register kopičenja.Nakupi AS Nakupi ";

Obstaja tudi različica uporabe funkcije EXPRESS na poljih mešanih tipov, kje jih najdemo? Najpreprostejši primer je "Registrar" za kateri koli register. Zakaj bi torej morali v registrarju določiti vrsto? Upoštevajmo situacijo, ko pri registrarju izberemo polje "Število", iz katere tabele bo izbrana številka? Pravilen odgovor vseh! Da bi naša poizvedba delovala hitro, morate s funkcijo EXPRESS določiti eksplicitno vrsto

Primer uporabe:

Query.Text = "SELECT | EXPRESS (Nomenclature.Comment AS Line (300)) AS Comment, | EXPRESS (Nomenclature.Sum AS Number (15,2)) AS Sum | FROM | Directory.Nomenclature AS Nomenclature";

6. Funkcija ISNULL(alternativni črkovanje JE NULL) - če je polje tipa NULL, se nadomesti z drugim parametrom funkcije.

Sintaksa: ISNULL (<Поле>, <ПодставляемоеЗначение>)

Primer uporabe:

Upoštevajte tudi, da je priporočljivo VEDNO NULL zamenjati z neko vrednostjo, saj primerjava s tipom NULL vedno izračuna na FALSE, tudi če primerjate NULL z NULL. Najpogosteje se vrednosti NULL oblikujejo kot rezultat združevanja tabel (vse vrste združitev, razen notranjih).

Request.Text = // Izberite celotno postavko in njeno stanje // če v nekem elementu ni stanja, bo polje // NULL, ki bo nadomeščeno z vrednostjo 0 "SELECT | Nom.Ref, | IS NULL (Artikli v skladiščih. Stanja. Zaloge, 0) AS Stanje | IZ | Imenik. Nomenklatura AS Nomenklatura | LEVO PRIDRUŽITE SE Akumulacijski register. Izdelki v skladiščih. Ostanki AS Izdelki v skladiščih

7. PREDSTAVITEV- omogoča ogled pogleda na polje zahteve.

Sintaksa: IZVEDBA(<НаименованиеПоля>)

Primer uporabe:

Request.Text = "SELECT | ZASTOPANJE (Prosta stanja. Stanja. Nomenklatura) KOT Nomenklatura, | PREDSTAVITEV (Prosta stanja. Stanja. Skladišče) AS Skladišče, | Prosta stanja.

Konstrukcije v jeziku poizvedbe 1c

Zgoraj smo razmislili z vami 1c funkcije jezika poizvedbe, zdaj je čas za razmislek konstrukcije v jeziku poizvedbe 1c, niso nič manj pomembni in koristni, začnimo.

1. REFERENCA gradbeništva- je logični operator za preverjanje referenčnega tipa. Najpogosteje pri preverjanju zapletenega polja tipa za določeno vrsto. Sintaksa: POVEZAVA<Имя таблицы>

Primer uporabe:

Request.Text = // če je vrednostna vrednost registrarja dokument, ki ga prejema, // potem bo zahteva vrnila "Prejem blaga", sicer pa "Prodaja blaga" "SELECT | SELECT | WHEN Balance. Registrar LINK Document. Prejem blaga storitev | Nato "" Prihod "" | DRUGO "" Potrošnja "" | KONČAJ KAKO VRSTE | OD | Registra akumulacije. Blagajna blaga v skladiščih AS Stanja ";

2. Gradbeništvo MED- ta operater preveri, ali je vrednost znotraj določenega obsega.

Sintaksa: MED<Выражение>IN<Выражение>

Primer uporabe:

Request.Text = // dobite vso nomenklaturo, katere koda leži v območju od 1 do 100 "SELECT | Nomenclature.Ref | FROM | Directory. Nomenclature AS Nomenclature | WHERE | Nomenclature.Code MED 1 IN 100";

3. Konstrukcija B in B HIERARHIJA- preverite, ali je vrednost na poslanem seznamu (nize, tabele vrednosti itd. lahko prenesete kot seznam). Operator IN HIERARCHY vam omogoča ogled hierarhije (primer uporabe načrta računov).

Sintaksa: IN (<СписокЗначений>), V HIERARHIJI (<СписокЗначений>)

Primer uporabe:

Request.Text = // izberi vse podračune računa "SELECT | Samopodporno. Poveži AS račun | FROM | Načrt računov. Samonosno AS AS samonosno | KJE | Samonosilno. Referenca V HIERARHIJSKI VREDNOSTI ( Načrt računov. Samooskrbni. Blago) ";

4. Gradbeništvo KOT- ta funkcija nam omogoča primerjavo niza z vzorcem niza.

Sintaksa: Všeč mi je<ТекстШаблона>"

Možnosti vzorca niza:

% je zaporedje, ki vsebuje poljubno število poljubnih znakov.

En poljuben znak.

[...] - kateri koli posamezen znak ali zaporedje znakov, naštetih v oglatih oklepajih. Območja lahko določite v naštevanju, na primer a-z, kar pomeni poljuben znak, vključen v obseg, vključno s konci obsega.

[^ ...] - kateri koli posamezen znak ali zaporedje znakov iz tistih, ki so navedeni v oglatih oklepajih, razen tistih, ki so navedeni za znakom negacije.

Primer uporabe:

Request.Text = // poiščite vso nomenklaturo, ki vsebuje koren TABUR in se začne // bodisi z majhno bodisi z veliko začetnico t "SELECT | Nomenclature.Ref | FROM | Directory.Nomenclature AS Nomenclature | WHERE | Products. Name LIKE "" [TT] abur% "" ";

5. Oblikovanje DOVOLJENO- ta operater vam omogoča, da iz baze podatkov izberete samo tiste zapise, do katerih ima klicatelj pravico brati. Te pravice so konfigurirane na ravni zapisa (RLS).

Sintaksa: DOVOLJENO je zapisano za ključno besedo IZBERI

Primer uporabe:

Request.Text = "IZBERI DOVOLJENO | Contractors.Link | FROM | Directory.Contractors AS Contractors";

6. Gradbeništvo RAZLIČNO- omogoča izbiro zapisov, v katerih ni ponavljajočih se zapisov.

Sintaksa: RAZLIČNO je zapisano za ključno besedo IZBERI

Primer uporabe:

Request.Text = // izbere zapise, za katere ima bralec pravice "IZBERI RAZLIČNO | Ime izvajalca | FROM | Directory.Contractors AS Contractors";

Gradbeništvo RAZLIČNO lahko uporabljate tudi z dovoljenim operaterjem in drugimi operaterji.

Primer uporabe:

Request.Text = // izbere različne zapise, za katere ima bralec pravice "IZBERI DOVOLJENO RAZLIČNO | Contractors.Name | FROM | Directory.Contractors AS Contractors";

7. Gradbeništvo PRVO- izbere število zapisov, določenih v parametru, iz rezultata poizvedbe.

Sintaksa: FIRST<число>

Primer uporabe:

Request.Text = // izberite prve 4 številke GTD iz imenika "SELECT FIRST 4 | GTD numbers.Link | FROM | Reference.GTD številke AS GTD številke";

8. OBLIKA ZA SPREMEMBO- omogoča zaklepanje mize, deluje samo v transakcijah (velja samo za samodejne zaklepe).

Sintaksa: ZA SPREMEMBO<НаименованиеТаблицы>

Primer uporabe:

Query.Text = "SELECT | Prosta preostala stanja. Nomenklatura, | Prosta preostala stanja. Skladišče, | Brezplačna preostala stanja. Razpoložljivo stanje | FROM | Register kopičenja. Prosta stanja.

9. Design NAROČI PO- naroča podatke po določenem polju. Če je polje povezava, potem pri nastavitvi zastavice AVTO NAROČILO razvrščanje bo izvedeno s predstavitvijo povezave, če je zastavica izklopljena, bodo povezave razvrščene po prednostnem naslovu povezave v pomnilniku.

Sintaksa: RAZVRSTI PO<НаименованиеПоля>AVTO NAROČILO

Primer uporabe:

Request.Text = "SELECT | Prosta preostala stanja. Nomenklatura AS Nomenklatura, | Prosta preostala stanja. Skladišče AS Skladišče, | Prosta stanja.

10. Gradbeništvo LOAD BY- uporablja se za združevanje poizvedbenih nizov po določenih poljih. Številčna polja je treba uporabiti s katero koli sestavljeno funkcijo.

Sintaksa: NALOŽI PO<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Primer uporabe:

Request.Text = "SELECT | Izdelki v skladiščih. Nomenklatura AS Nomenklatura, | izdelki v skladiščih. Skladišče, | ZNESEK (Izdelki v skladiščih. Na zalogi) KOT Zaloga | IZ | Register kopičenja.

11. OBLIKOVANJE- omogoča uporabo sestavljene funkcije za pogoje izbire podatkov, podobno kot pri konstrukciji WHERE.

Sintaksa: IMAJO<агрегатная функция с условием>

Primer uporabe:

Request.Text = // izbere združene zapise, pri katerih je polje večje od 3 "IZBERI | Izdelki v skladiščih. Blago v skladiščih. Nomenklatura, | blago v skladiščih. Skladišče | | IME | ZNESEK (Blago v skladiščih na zalogi)> 3";

12. Gradbeništvo KAZALO PO- uporablja se za indeksiranje polja poizvedbe. Indeksirana poizvedba traja dlje, vendar pospeši iskanje v indeksiranih poljih. Uporablja se lahko samo na navideznih mizah.

Sintaksa: KAZALO PO<Поле1, ... , ПолеN>

Primer uporabe:

Request.Text = "SELECT | Tz.Name OS, | Tz.Število mape, | Tz.codeOS, | Tz.Term, | Tz.Type | POST Data .KodOS";

13. Gradnja KJE- vam omogoča, da postavite pogoj poljubnim izbirnim poljem. V rezultat bodo vključeni samo zapisi, ki izpolnjujejo pogoj.

Sintaksa: KJE<Условие1 ОператорЛогСоединения УсловиеN>

Primer uporabe:

Request.Text = // izbere vse zapise, za katere ostane kompenzacija<>0 in // SummaDlyaRaschKompOstatok> 100 "SELECT | KompensatsiyaRPOstatki.Kontragent, | KompensatsiyaRPOstatki.Rebenok, | KompensatsiyaRPOstatki.KompensatsiyaOstatok, | KompensatsiyaRPOstatki.SummaDlyaRaschKompOstatok | PUT DannyeTz | IZ | RegistrNakopleniya.KompensatsiyaRP.Ostatki KompensatsiyaRPOstatki KAKO | KJE | KompensatsiyaRPOstatki.KompensatsiyaOstatok<>0 | In odškodnina za stanje. Znesek za izračunCompOstatok> 100 ";

14. REZULTATI GRADBENIH ... SPLOŠNO- uporablja se za izračun seštevkov, načrt določa polja, na podlagi katerih se bodo izračunali seštevki, in skupne funkcije, ki se uporabljajo za skupna polja. Pri uporabi vsote za vsako polje, ki sledi konstrukciji SKUPAJ, se podatki razvrstijo v skupine. Obstaja neobvezen konstrukt GENERAL, njegova uporaba pa zagotavlja tudi dodatno razvrščanje v skupine. Primer rezultata poizvedbe boste videli spodaj.

Sintaksa: REZULTATI<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>VKLOPLJENO<ОБЩИЕ> <Поле1, ... , ПолеN>

Primer uporabe:

Request.Text = "IZBERI | Poravnave. Pogodba o izvajalcu. Vrsta pogodbe AS vrsta pogodbe, | poravnave. Pogodba po pogodbi AS, | poravnave. Izvajalec, | poravnave. Vzajemna poravnava Znesek. Stanje KOT stanje | IZ | Register IZRAČUNOV. Vzajemne poravnave. | ON | SPLOŠNO, | Vrsta sporazuma ";

Na sliki so skupine, ki so nastale med izvajanjem poizvedbe, obkrožene, zgornja pripada razdelku SPLOŠNO, druga pa polju ContractorAgreementContractType.

Tudi če ste že vnaprej preučevali druge programske jezike, na primer C ++, PHP, Java, si je treba zapomniti, da ima 1C, čeprav v mnogih pogledih, še vedno veliko temeljnih razlik.

Najpomembnejše v 1C je, da vam ni treba izumljati lastnih vrst predmetov. Vsi so že v konfiguraciji.

V računalnik namestite tehnološko platformo 1C in v konfiguratorju odprite novo ali obstoječo bazo. Za začetek ga lahko popolnoma uporabite za poučevanje programiranja.

Na levi strani okna boste videli drevo konfiguracijskih predmetov. Sem spadajo dokumenti, imeniki, registri, poslovni procesi in še več.

Podatki so shranjeni tudi v DBMS, vendar razvijalec običajno z njimi ne dela neposredno. S pomočjo tehnološke platforme se programer že sklicuje na predmete konfiguracije ali informacijske baze.

Tako kot v mnogih drugih programskih jezikih se tudi v 1C zelo pogosto uporabljajo poizvedbe. podobno kot jezik T-SQL. Zahteve lahko med drugim napišete v angleščini in ruščini, tako kot preostali del kode.

Zdi se, da je vse preprosto, vendar znanje programskega jezika pogosto ni dovolj za delo "na terenu". Dejstvo je, da so v večini organizacij, ki uporabljajo 1C, nameščene standardne konfiguracije in jih morate poznati.

V delovnem načrtu za programerje 1C sta dve glavni veji: uporabniki franšize ali delajo "zase" in delajo kot redni programer oddelka za IT katere koli organizacije. Ta izbira je odvisna samo od vaših želja.

Če delate za prejemnika franšize, opravljate honorarno pogodbo ali vodite svoje podjetje, bo plačilo na del. Dela je lahko veliko in dati morate vse od sebe. Omejitev plač ni in lahko zaslužite impresivno.

Če se odločite za samostojno delo ali odprete svoje podjetje, vam zaslužka ne bo treba "deliti" z nikomer (razen z državo in samostojno platformo, seveda). A v tem primeru bo treba stranke iskati sam.

Če se kljub temu odločite za zaposlitev v organizaciji kot redni programer, potem ne boste veliko odvisni od količine opravljenega dela. V tem primeru sicer obstaja nekaj stabilnosti, vendar je tudi plačna vrstica omejena.

Seveda lahko ti dve metodi kombiniramo, tako da čez dan delamo kot redni programer, zvečer pa delamo kot svobodnjak.

Pri programerjih 1C je dobro to, da morda nimate tehnične izobrazbe (na primer ste ekonomist, računovodja itd.). Če želite svoje znanje potrditi pred strankami ali delodajalcem, lahko predložite potrdila 1C.

Certifikati so različnih vrst, tako glede na platformo (za programerje) kot standardne rešitve. Dobite jih pri 1C tako, da opravite izpit v obliki testa ali praktične naloge.

Knjige na 1C

Najbolje je študirati 1C iz knjig, ki jih je objavil 1C. Iz vira, tako rekoč. Nekateri imajo standardno konfiguracijo. Lahko kupite tudi posamezne knjige.

Knjiga "1C: Programiranje za začetnike" je namenjena ljudem, ki so daleč od programiranja, a se želijo naučiti, kako ustvariti lastne rešitve na 1C 8.3 iz nič.

"Pozdravljeni, 1C" prikazuje najpreprostejše, osnovne možnosti razvoja uporabnih rešitev v sistemu 1C: Enterprise 8.

101 Nasveti opisujejo različne načine za doseganje istih nalog.

Praktični priročnik za razvijalca 1C Enterprise 8.3 je zelo podroben priročnik, ki s preprostimi in razumljivimi primeri opisuje razvojne tehnike. Ta knjiga je ena najboljših za učenje programiranja 1C.

Ta vadnica opisuje jezik poizvedb od začetka za tiste, ki niti SQL ne poznajo.