Kuu rida 1s 8 2. Vorminda string

Programmeerimine (ja äriprogrammid) tegelevad tavaliselt järgmiste lihtsate andmetüüpidega: number, string, kuupäev. Nende tüüpide tähendustel võib olla eri riikide, standardite ja lihtsalt harjumuste jaoks erinev tähendus.

Ilmselt kõige kuulsam näide on aja erinev kujutamine – Venemaal on levinud 9:00 ja 21:00 ning inglise keelt kõnelevates maades 9:00 ja 21:00. Erinevus on nii loogikas (12-tunni süsteem või 24-tunni süsteem) kui ka kirjas.

Väärtuse esitust nimetatakse vorminguks ja täna arutame kuupäevavormingu ja numbrivormingu muutmist 1C-s.
Vormindamist saab kasutada kas programmeerija keeles 1C või visuaalselt, ilma programmeerimiseta, näiteks trükitud vormi või aruande loomisel või vormil elementide seadistamisel.

Mis on vormindamine

Number ja kuupäev, olenemata selle esitamisest ekraanil või trükis, jäävad iseendaks. Vormindamine tähendab lihtsalt selle teisendamist stringiväärtuseks – st kuidas see arvutiekraanil või paberil välja näeb.

Peamised erinevused numbrite ja kuupäevade esitamise 1C vormingute vahel:

  • Number
    o "." või "," murdosa eraldamiseks
    o kümnendkohtade arv
    o rühmitades numbrid arvus 3-ga (1 000 000, mitte 1 000 000)
  • päev ja aeg
    o aasta, kuu, päeva järjekord
    o eraldusmärk
    o 1C ajavorming (12 või 24 tundi)
    o detailide kirjutamine.

Ka 1C-vormingus võib näidata täiendavaid "mugavusi", näiteks negatiivsete numbrite kuvamine punaselt või "tühja väärtuse" tähistamine kui "0" või "pole täidetud".

Vormindamise põhimõte

Vaikimisi vormindamine toimib näiteks arvu stringiks teisendamisel. Mõnel juhul võivad sellised sätted olla karuteene, kui programmeerija seda ei oota.

Näiteks arvu stringiks teisendamisel tõlgitakse see, võttes arvesse numbrite rühmitust (kas see on see, mida ootate?):
NumberString = AbbrLP(2400); // võrdub "2 400"

Vormingu täpseks näitamiseks 1C keeles on funktsioon Format(), mille abil saate määrata vajaliku esituse.
NumberString = vorming (2400, "Seaded")

Real "Seaded" peate määrama vajaliku 1C-vormingu. Sellised seaded on näidatud spetsiaalsel kodeeritud kujul. Vaatame kõige sagedamini kasutatavaid seadeid:

Vaikimisi 1C kuupäeva ja numbri vorming

Kui teil on vaja kuvada kuupäev või number ja te ei soovi oma pead vaevata teadmisega, kuidas neid vastavalt soovitud riigi reeglitele esitada, on lihtne seadistus, mis võimaldab teil seda teha:

L = soovitud riigi lühinimi

Näide kuupäeva väljastamise kohta vastavalt mõne riigi reeglitele:
Vorming (praegune kuupäev(), “L=ru”)
> 28.03.2012 14:21:32

Vorming (praegune kuupäev(), "L=et")
> 28.3.2012 14:21:24

Vorming (praegune kuupäev(), "L=fr")
> 28/03/2012 14:22:08

Kuna seda pole raske märgata, on riikide nimetused intuitiivsed.

Kuupäevavorming 1C keeles

Kui vaikeseadest teile ei piisa ja soovite iseseisvalt määrata kuupäevaosade järjekorda ja nende eraldamiseks kasutatavaid sümboleid, peate kasutama seadet:
DF = "dmg chms"

Seega on “dmg” päev, kuu ja aasta ning “chms” on tunnid, minutid ja sekundid. Ükskõik milline neist osadest on võimalik vahele jätta. Järjekord on ükskõik milline. Eraldusmärkidena kasutatakse osade vahel määratud märke.

Kuupäevaosa sümbolit saab määrata mitu korda järjest, sellest sõltub selle kuupäevaosa tüüp, näiteks “d” või “dd” või “dddd”.

Kuupäevaosade selgitus:

  • d – päev
    o väike "d"
  • M - kuu
    o suur "M"
    o saab määrata 1 kuni 4 korda
  • g – aasta
    o väike "g"
    o saab määrata 1 või 2 või 4 korda
  • h – tunnid
    o väike “h” – 12-tunnine formaat
    o suur “H” – 24-tunnine formaat
  • m – minutit
    o väike "m"
    o saab määrata 1 või 2 korda
  • s – sekundit
    o väikesed "s"
    o saab määrata 1 või 2 korda
  • bb – kuva AM/PM 12-tunnise vormingu jaoks
  • k – veerand.

Reegleid tähistava kuupäeva kuvamise näide:
Vorming (praegune kuupäev(), "DF=""pp.KK.yyyy hh:mm:ss""")
> 28.03.2012 02:44:44

Vorming (praegune kuupäev(), "DF="" M/d/yyyy h:m:s cc""")
> 28.3.2012 14:44:44

Vorming (praegune kuupäev(), "DF=""dd/MM/yyyy hh:mm:ss""")
> 28/03/2012 02:44:44

Numbrivorming 1C keeles
Erinevalt kuupäeva vormindamisest, kus kõik on üsna lihtne, on numbri vormindamisel palju võimalusi. Peame neid, mida leidsime kasulikuks - see tähendab, et meie arvates kasutatakse neid sageli.

Esimene "probleem" on seotud numbrite vaikimisi rühmitamisega numbrites 3 ja rühmade eraldamisega tühikuga, näiteks:
StrNumber = string(22300500)
> 22 300 500

See on ebamugav, kui number teisendatakse stringiks mitte kasutajale ilusa ja arusaadava väljundi, vaid teenindusvajaduste jaoks. Seda saab mõjutada parameetri „CHG” abil, näiteks:

Vorming (22300500, "CHG=100")
>22300500 // nullid üldse eemaldatud

Vorming (22300500, "CHG=6")
> 22 300500 //tegi vaid miljonite grupeering

Parameeter, mis võimaldab arvu ümardada pärast koma “NFR” vajaliku arvu numbriteni väljastamisel:

Vorming (3, 535353, "BDT=""2""")
> 3,54

Parameeter, mis võimaldab määrata eraldusmärgi „BRD” täisarvu ja murdosa jaoks:

Vorming (3, 535353, "BRD="".""")
> 3.535353

Mõnel juhul võib olla kasulik kuvada numbri "0" asemel midagi muud: tühi string või "pole täidetud". See võimaldab teil teha parameetri "CHN":

Vorming (0, "CHN=""""")
>

Vormindage vormi 1C väljad

Oleme üle vaadanud tehnikad, mis võimaldavad programmeerijal vormindada väärtust 1C keeles. Samuti on olemas mehhanismid, mis võimaldavad määrata vajaliku vormingu visuaalselt, ilma programmeerimata.

Näiteks töötab kasutaja vormiga. Vormil on väli, mis kuvab kuupäeva. Saame mõjutada selle kuupäeva esitamist.

Avage selle välja omadused. Selleks tehakse paksus kliendis väljal paremklõps ja õhukeses kliendis paremklõpsake väljade loendis välja nimel, valige Properties.
Väljal on atribuut Format.

Selle konfigureerimiseks klõpsake nuppu "...". Kuupäevavormingu konfigureerimiseks kasutage vahekaarti Kuupäev (numbrite jaoks kasutage vahekaarti Number). Soovitud vormingu saate valida loendist.

1C lahtri vorming trükitud kujul

Kui teil on vaja välja töötada trükitud vorm (aruanne või printida dokument), saate määrata lahtri vormingu täpselt samamoodi nagu dokumendiväljale.
Valige lahter (või mitu lahtrit korraga), minge atribuutidele "Format" ja valige vajalik vorming.

1C-vormingus SKD-s

SKD aruanded võimaldavad konfigureerida 1C vormingut nii programmeerijale (aruande loomise ajal) kui ka kasutajale (aruande kasutamisel). Samuti on rohkem võimalusi tänu tingimusvormingu kasutamisele.

See tähendab, et te mitte ainult ei määra, millist välja tuleks vormindada, vaid ka seda, mis tingimustel (näiteks kui selle välja väärtus on negatiivne).

Ettevõtterežiimis valige aruandevormil menüükäsk "Muuda varianti". Paksu kliendi ACS-i aruandes on see üksus menüüs „Toimingud/Seaded”.

Kõigi ACS-i sätete jaoks avaneval vormil on vahekaart "Tingimuslik vormindamine". Lisage uus rida. Reas on kolm veergu:

  • Dekoratsioon. Määrake vajalik 1C-vorming - font, tausta- või tekstivärv, 1C-vorming numbrite ja kuupäevade kuvamiseks
  • Seisund. Kui kasutate alati seda kujundust, jätke see väli tühjaks. Muul juhul määrake väli ja selle väärtus. Seejärel rakendatakse vormindamist ainult nendele ridadele, milles need väärtused kattuvad. Kui teil on vaja korraga määrata mitme välja väärtused ja "ja/või" tingimused, lisage rühm ja rühmitage väljad rühmade abil.
  • Vormindatud väljad. Väljade loend, millele vormingut rakendatakse.

1C-vormingus hallatud vormides

Samad vormingureeglid kehtivad iga hallatud rentnike loendi vormi kohta. Valige loendivormis menüüpunkt “Kõik toimingud/Kohanda loendit”.

Tingimusliku välimuse vahekaart.

Valige soovitud kujundus ja formaat.

Nimetame väljade loendi, millele seda kujundust rakendatakse.

Valikud:

<Значение>

Vormindatav väärtus.

<ФорматнаяСтрока>

Vormingutring on stringi väärtus, mis sisaldab vormindamisvalikuid.

Vormindamisvalikud on loetletud sümboliga ";" eraldatuna. Parameetri olemasolu tähendab, et vorming erineb standardsest.

Kui parameetrit ei täpsustata, rakendatakse standardvormingut, mis põhimõtteliselt vastab väärtuse teisendamisele stringiks. Tüüpi Number ja Date väärtuste puhul tagastab vaikeväärtus (vastavalt 0 ja 01/01/0001 00:00:00) tühja stringi.

Iga parameetri määrab parameetri nimi, märk "=" ja parameetri väärtus. Parameetri väärtuse saab määrata ühe- või topeltjutumärkides. See on vajalik, kui parameetri väärtus sisaldab vormingustringi süntaksis kasutatavaid märke.

Parameetri väärtuse sees saab määrata suvalisi märke, mis kuvatakse tulemuseks oleva stringi genereerimisel. Nii saate näiteks kellaaja vormindamisel määrata tunni, minuti ja sekundi eraldajad. Kui need märgid vastavad vormingu stringi väärtustele, tuleb need lisada jutumärkidesse.

Vormingutringi parameetrite nimed ja väärtused:

  • L - keele nimi, riik, mille jaoks standardvormindus tehakse.
  • CN – täisarvu ja murdosa kuvatavate kümnendkohtade koguarv. Algne arv ümardatakse ümardamisreeglite kohaselt. Kui see parameeter on määratud, siis arvu murdosa kuvamiseks on vaja määrata NPV parameeter, vastasel juhul murdosa ei kuvata.
  • NDT - murdosa komakohtade arv. Algne arv ümardatakse ümardamisreeglite kohaselt.
  • ES - numbrite nihe: positiivne - jagamine, negatiivne - korrutamine. Teisisõnu tähendab see, et algne arv korrutatakse või jagatakse 10*C-ga, kus C on parameetri moodulväärtus.
  • CRD on täisarvu ja murdosa eraldav sümbol.
  • CHRG on rühma eraldussümbol arvu täisarvulise osa jaoks. Kui kasutate eraldajana tühja stringi, on eraldaja mittemurdev tühik.
  • CN on string, mis tähistab arvu nullväärtust. Kui pole määratud, esitatakse see tühja stringina. Kui on määratud "CHN=", siis "0" kujul. Ei kasutata numbriliste sisestusväljade jaoks.
  • CHN – kas tuleb väljastada eesolevad nullid. Selle parameetri väärtust ei täpsustata, parameetri enda olemasolu määrab eesolevate nullide väljundi.
  • CHG - numbri numbrite rühmitamise järjekord. Väärtused on komadega eraldatud numbrid, mis näitavad rühmitatud numbrite arvu paremalt vasakule. Ainult kaks esimest numbrit on mõistlikud. Esimene neist tähistab esmast rühmitust, st seda, mida kasutatakse arvu täisarvu kõige vähemtähtsate numbrite jaoks. Kui teist numbrit ei määrata, rühmitatakse ainult kõige väiksema tähtsusega numbrid. Kui teiseks arvuks on määratud 0, siis rakendatakse arvu täisarvulise osa kõikidele numbritele esmase rühmituse jaoks määratud väärtust. Kui teise numbrina kasutatakse muud väärtust kui 0, kasutatakse seda väärtust kõigi numbrite rühmitamiseks, välja arvatud juba grupeeritud kõige vähem olulised numbrid.
  • СО - negatiivsete arvude esitus.
    • 0 (0) - string nagu "(1,1)";
    • 1 (1) - string nagu "-1,1";
    • 2 (2) - string nagu "- 1,1";
    • 3 (3) - string nagu "1,1-";
    • 4 (4) - string nagu "1,1 -".
  • DF - kuupäevavorming.
    • d - kuu päev (numbrites) ilma eesoleva nullita;
    • dd - kuu päev (numbrites) nulliga;
    • ddd - nädalapäeva lühinimi;
    • dddd - nädalapäeva täisnimi;
    • M - kuu number (numbrites) ilma eesoleva nullita;
    • MM - kuu number (numbrites) nulliga;
    • MMM - kuu lühinimi;
    • MMMM - kuu täisnimi;
    • k - kvartali number aastal;
    • r - aastaarv ilma sajandita ja esinullita;
    • yy - aastaarv ilma sajandita eesnulliga;
    • yyyy - aastanumber koos sajandiga;
    • h - tund 12-tunnises versioonis ilma eesolevate nullideta;
    • hh - tund 12-tunnises kellas esinulliga;
    • H - tund 24-tunnises formaadis ilma eesolevate nullideta;
    • HH (HH) - tund 24-tunnises režiimis eesoleva nulliga;
    • m - minut ilma esinullita;
    • mm - minut eesoleva nulliga;
    • s - teine ​​ilma juhtiva nullita;
    • ss - teine ​​nulliga;
    • bb - pool päeva AM/PM (kehtib ainult konfiguratsioonikeelte jaoks, mis toetavad 12-tunnise aja kuvamise valikut).
  • DLF – kohalik kuupäevavorming. Määrab kuupäevaosade kuvamise suvandi.
    • D - kuupäev (numbrites);
    • DD - pikk kuupäev (kuu sõnadega);
    • B - täistööaeg, kuupäeva saab kombineerida ajaga;
    • DV – kuupäeva kellaaeg.
  • DP – tühja kuupäeva tähistav string (näiteks Format("00010101000000" ,,DP=""tühi kuupäev""") tagastab stringi "tühi kuupäev").
  • BL – tõeväärtust tähistav string Valetage.
  • BI – loogilist väärtust tähistav string Tõsi.

1C peamised andmetüübid - arv, tõeväärtus ja kuupäev - saab esitada paljudes vormingutes. Programmeerijad seisavad sageli silmitsi tõsiasjaga, et nõuded andmete tüübile on erinevates aruannetes ja tabelites väga erinevad. 1C arendajad mõtlesid programmeerijate mugavusele ja lõid spetsiaalse funktsiooni, mis hõlbustab oluliselt andmete välimuse muutmise protsessi. Funktsiooni põhiülesanne on teisendada number, kuupäev või Boole'i ​​tüüp soovitud stringitüübiks.

Funktsiooni Format kirjeldus

Selle funktsiooni süntaks on lihtne – parameetritena saab edastada kaks parameetrit. Esiteks määrab arendaja vormindatava väärtuse. Selleks, et 1C saaks aru, kuidas väärtust muuta, määrab programmeerija teise parameetri stringiväärtusena, mis sisaldab etteantud operande. Selle rea väärtus määrab, kuidas aruande andmed kasutajatele kuvatakse.

FormattedValue = Vorming(vormingumuutuja, tekstivormingustring);

Kui parameetrit FormatString pole määratud, teisendab 1C määratud väärtuse stringiks. Pidage meeles, et tühi kuupäev ja 0 teisendatakse tühjaks stringiks, mis ei pruugi olla kasutajatele meeldiv. Iga vormingustringi parameeter on kombinatsioon nimest, märgist „=” ja jutumärkides määratud väärtusest. See võimaldab teil lisada 1C-s funktsiooni Vorming vormingustringi kirjutamisel kasutatud tähemärke.

Andmekuvale saate sisestada suvalise tähemärgi, välja arvatud need, mida kasutatakse vormingustringi süntaksis. Kui on vaja sellest piirangust mööda minna, kasutage üksikuid jutumärke. See lahendus aitab ka olukordades, kus kompilaator võib sümbolit valesti tõlgendada.

Arendajate mugavuse huvides on 1C-l sisseehitatud vormingustringi konstruktor. Sellele pääseb juurde moodulites kontekstimenüü kaudu või juurdepääsukontrollisüsteemis arendajate pakutavate kohtade kaudu. Näiteks leiate sellise võimaluse jaotise "Disain" päringu väljade loendist.

Disaineri kõige olulisem eelis on see, et näete koheselt, millised teie andmed lõpuks välja näevad. Kui olete jaotises "Näide" konkreetse andmetüübi jaoks vajalikud seaded määranud, kuvatakse teile seadete tulemus. Allosas olevast pealkirjata tekstikastist leiate vormingustringi, mis annab tulemuse. Saate selle kopeerida ja edaspidi kasutada, kui olete tulemusega täiesti rahul.

Vormingutringi koostaja võib olla algajatele arendajatele suureks abiks, kuid kogenud programmeerijad eelistavad sellele aega mitte raisata. Arendus läheb palju kiiremini, kui teate vormingustringi põhiparameetreid ja kasutate neid ilma konstruktorit kutsumata.

Põhilised vormingu stringi parameetrid

Kõiki saadaolevaid käske pole võimalik õppida ja see pole vajalik. Arendaja peab lihtsalt teadma mõnda populaarset toimingut ja nende rakendamist. Saate igal ajal süntaksiabis avada vormingustringi parameetrite täieliku loendi ja valida vajaliku. 1C programmeerijale võivad igapäevatöös kasulikud olla järgmised parameetrid:

  • L – selle riigi formaat, mille esindajate kohta andmeid kuvatakse;
  • CHG – määrab numbrinumbrite grupeeringu;
  • CC – määrab kuvatavate täisarvu ja arvu murdosade sümbolirühmade koguarvu. Kui selle võtmega vormingustring ei määra NPV parameetri väärtust, siis murdosa ei kuvata;
  • NPV on parameeter, mis määrab märkide arvu arvu komajärgses osas. Ümardamisel järgitakse matemaatika standardreegleid;
  • ChS on parameeter, mis nihutab numbri numbreid. Väärtus võib olla positiivne – korrutamine 10-ga või negatiivne – jagamine. Kasulik käsk, kui teil on vaja väljastada ühel kujul ja jätkata tööd numbriga teises;
  • BRD – määrab sümboli, mis eraldab arvu murdosa ja täisarvu. Täisarvuosa rühmi eraldava märgi määramiseks kasutage "HRG". Katkematu tühiku kasutamiseks kasutage tühja stringi;
  • CHN – näitab eesolevate nullide kasutamist. Selle parameetri väärtus ei ole määratud;
  • DF on üks levinumaid vormingustringi parameetreid. Juhib kuupäeva vormingut. 1C-s saate käsu "Format" abil kuupäeva kuvada peaaegu igas vormingus, sealhulgas kuu nime kirjutamisel. Võimalikke väärtusi on palju, nende loendit saab näha süntaksiabis;
  • BL ja BI - loovad loogilise andmetüübi esituse, vastutavad vastavalt vale ja tõese eest. Seega saate standardse "linnukese" asendada mis tahes sõna või fraasiga, mis on kasutajatele arusaadavam.

Disaineri mitmekülgsus ja mugavus on muutunud funktsiooni "Format" populaarsuse peamisteks põhjusteks 1C arendajate seas. Paindlikud seaded aitavad teil kliendi soovil määrata andmete välimuse.

Seotud väljaanded