Internet Windows Android

Format de dată incorect în 1s 8.3. Formatează șirul

Principalele tipuri de date în 1C - număr, boolean și dată, pot fi reprezentate în mai multe formate. Programatorii se confruntă adesea cu faptul că cerințele pentru tipul de date variază foarte mult în diferite rapoarte și tabele. Dezvoltatorii 1C s-au gândit la confortul programatorilor și au creat o funcție specială care facilitează foarte mult procesul de schimbare a aspectului datelor. Sarcina principală a unei funcții este de a converti un număr, o dată sau un tip boolean în forma dorită a unui tip de șir.

Descrierea funcției „Format”

Sintaxa pentru această funcție este simplă - puteți trece doi parametri ca parametri. În primul rând, dezvoltatorul specifică valoarea de formatat. Pentru ca 1C să înțeleagă cum să schimbe valoarea, programatorul specifică al doilea parametru ca o valoare șir care conține operanzi predefiniți. Valoarea acestei linii determină modul în care datele din raport vor apărea utilizatorilor.

FormattedValue = Format (FormatVariable, TextFormatString);

Dacă parametrul „FormatString” nu este specificat, atunci 1C convertește valoarea specificată într-un șir. Vă rugăm să rețineți că o dată necompletată și 0 vor fi convertite într-un șir gol, ceea ce ar putea să nu îi mulțumească pe utilizatori. Fiecare parametru din șirul de format este o combinație între nume, caracterul „=” și valoarea specificată între ghilimele. Aceasta permite includerea simbolurilor utilizate în scrierea șirului de format al funcției Format în 1C.

Puteți insera un caracter arbitrar în afișarea datelor, cu excepția celor utilizate în sintaxa scrierii unui șir de format. Dacă este nevoie să ocolească această limitare, utilizați ghilimele unice... Această soluție va ajuta, de asemenea, în situațiile în care un simbol ar putea fi interpretat greșit de către compilator.

Pentru comoditatea dezvoltatorilor, 1C are un constructor de șiruri de format încorporat. Poate fi accesat în module prin meniul contextual sau în ACS prin locurile oferite de dezvoltatori. De exemplu, această caracteristică poate fi găsită în lista câmpurilor pentru o solicitare din secțiunea „Proiectare”.

Cel mai important avantaj al unui constructor este că puteți vedea imediat cum vor arăta datele dvs. în cele din urmă. După ce ați setat setările necesare pentru un anumit tip de date în secțiunea „Exemplu”, vi se va afișa rezultatul setărilor dvs. În caseta de text fără nume din partea de jos, veți găsi șirul de format cu care ați obținut rezultatul. Poate fi copiat și utilizat în viitor dacă rezultatul vi se potrivește complet.

Constructorul de șiruri de format poate fi de mare ajutor pentru dezvoltatorii începători, dar programatorii cu experiență preferă să nu piardă timpul pe el. Dezvoltarea va merge mult mai repede dacă cunoașteți parametrii cheie de bază ai șirului de format și îi folosiți fără a apela constructorul.

Parametrii de bază ai șirului de format

Nu veți putea studia toate comenzile disponibile și nu este necesar. Dezvoltatorul trebuie doar să cunoască unele dintre operațiunile populare și cum să le aplice. În orice moment, puteți deschide lista completă a parametrilor șirului de format în asistentul de sintaxă și selectați-l pe cel de care aveți nevoie. Următorii parametri pot fi utili pentru un programator 1C în activitatea zilnică:

  • L - formatul țării pentru reprezentanții căruia vor fi afișate datele;
  • ЧГ - setează gruparea cifrelor numărului;
  • ЧЦ - setează numărul total de grupuri de caractere ale părților întregi și fracționate ale numărului care vor fi afișate pentru vizualizare. Dacă valoarea parametrului PDT nu este specificată în șirul de format cu această cheie, atunci partea fracționată nu va fi afișată;
  • CDC este un parametru care specifică numărul de caractere din partea numărului după punctul zecimal. Rotunjirea urmează regulile standard ale matematicii;
  • ChS este un parametru care schimbă cifrele unui număr. Valoarea poate fi pozitivă - înmulțiți cu 10 sau negativă - împărțiți. O comandă utilă dacă trebuie să afișați într-un formular și să continuați să lucrați cu un număr în altul;
  • RLD - specifică caracterul care separă părțile fracționare și întregi ale unui număr. Utilizați „CHRG” pentru a seta simbolul care separă grupurile întregii părți. Pentru aplicare spațiu nerompabil folosiți un șir gol;
  • CHVN - arată utilizarea zerourilor din partea de sus. Acest parametru nu este specificat;
  • DF este unul dintre cei mai comuni parametri de șiruri de format. Controlează formatul datei. În 1C, folosind comanda „Format”, puteți afișa data în aproape orice format, inclusiv ortografia numelui lunii. Există multe valori posibile, o listă a acestora poate fi văzută în ajutorul pentru sintaxă;
  • BL și BI - setează performanța pentru tip logic date, răspunzând, respectiv, pentru fals și adevărat. Astfel, puteți înlocui „bifă” standard cu orice cuvânt sau expresie care este mai ușor de înțeles pentru utilizatori.

Versatilitatea și comoditatea designerului au devenit principalele motive pentru popularitatea funcției „Format” în rândul dezvoltatorilor 1C. Setări flexibile vă va ajuta să întrebați orice aspect date la cererea clientului.

Programarea (și programele de afaceri) tratează de obicei următoarele tipuri simple de date: număr, șir, dată. Valorile acestor tipuri pentru tari diferite, standardele și obiceiurile simple pot avea idei diferite.

Probabil cel mai faimos exemplu este reprezentarea diferită a timpului - în Rusia se obișnuiește să se utilizeze 9:00 și 21:00, iar în țările vorbitoare de limbă engleză 9:00 și 21:00. Diferența este atât în ​​logică (sistem de 12 ore sau sistem de 24 de ore), cât și în ortografie.

Reprezentarea valorii se numește „format” și astăzi vom discuta despre schimbarea formatului de dată și a formatului numerelor în 1C.
Formatarea poate fi utilizată atât de programator în limbajul 1C, cât și vizual, fără programare, de exemplu, la crearea unui tipărit sau a unui raport, la configurarea elementelor pe formular.

Ce este formatarea

Data și data, indiferent dacă sunt afișate pe ecran sau tipărite, rămân aceleași. Formatarea implică doar conversia la o valoare șir - adică cum va „arăta” pe ecranul computerului sau pe hârtie.

Principalele diferențe între formatele 1C pentru reprezentarea numerelor și a datelor:

  • Număr
    o "." sau "," pentru a separa partea fracționată
    o numărul de zecimale
    o gruparea cifrelor într-un număr cu 3 (1.000.000, nu 1.000.000)
  • data si ora
    o ordinea anului, lunii, zilei
    o caracter delimitator
    o Format de timp 1C (12 sau 24 de ore)
    o scrierea detaliilor.

De asemenea, în formatul 1C, pot fi indicate „facilități” suplimentare, de exemplu, numerele negative pot fi afișate în roșu sau reprezentarea unei „valori goale” sub forma „0” sau „neumplute”.

Principiul formatării

Formatarea implicită funcționează, de exemplu, la conversia unui număr într-un șir. În unele cazuri, astfel de setări pot servi ca un serviciu defect în cazul în care programatorul nu se așteaptă.

De exemplu, la traducerea unui număr într-un șir, acesta este tradus ținând cont de gruparea cifrelor (și vă așteptați la acest lucru?):
NumberString = SokrLP (2400); // va fi egal cu „2.400”

Pentru a specifica formatul exact în limba 1C, există o funcție Format (), cu care este posibilă specificarea reprezentării necesare.
Linie numerică = Format (2400, „Setări”)

Ca linie „Setări”, trebuie să specificați formatul 1C necesar. Astfel de setări sunt specificate într-o formă codificată special. Să aruncăm o privire la cele mai utilizate setări:

Format 1C de dată și număr în mod implicit

Dacă trebuie să afișați o dată sau un număr și nu doriți să vă deranjați să știți cum ar trebui să fie prezentate în conformitate cu regulile țării solicitate, există cea mai simplă setare ceea ce vă va permite să faceți acest lucru:

L = Numele scurt al țării dorite

Un exemplu de afișare a datei conform regulilor unor țări:
Format (CurrentDate (), "L = ru")
> 28.03.2012 14:21:32

Format (CurrentDate (), "L = ro")
> 28/03/2012 14:21:24

Format (CurrentDate (), "L = fr")
> 28/03/2012 14:22:08

Nu este dificil să vezi că numele țărilor sunt intuitive.

Format de dată în limba 1C

Dacă setarea implicită nu este suficientă pentru dvs. și doriți să specificați ordinea părților de dată și caracterele pentru separarea dvs., trebuie să utilizați setarea:
DF = "dmg chms"

În consecință, „dmg” este ziua, luna și anul, iar „chms” sunt ore, minute și secunde. Oricare dintre aceste părți poate fi omisă. Comanda este oricare. Caracterele specificate între părți vor fi utilizate ca caractere separatoare.

Caracterul părții de dată poate fi specificat de mai multe ori la rând, tipul acestei părți a datei depinde de ea, de exemplu, "d" sau "dd" sau "dddd".

Decodarea părților datei:

  • d - zi
    o „d” mică
  • L - lună
    o „M” mare
    o poate fi specificat de 1 până la 4 ori
  • y - anul
    o "g" mic
    o poate fi specificat de 1 sau 2 sau 4 ori
  • h - ore
    o „h” mic - format de 12 ore
    o „H” mare - format de 24 de ore
  • m - minute
    o „m” mică
    o poate fi specificat de 1 sau 2 ori
  • s - secunde
    o „c” mică
    o poate fi specificat de 1 sau 2 ori
  • cc - afișează AM / PM pentru formatul de 12 ore
  • k - sfert.

Un exemplu de afișare a datei care indică regulile:
Format (CurrentDate (), "DF =" "dd.MM.yyyy hh: mm: ss" "")
> 28.03.2012 02:44:44

Format (CurrentDate (), "DF =" "L / z / aaaa h: m: s cv" "")
> 28/03/2012 14:44:44

Format (CurrentDate (), "DF =" "zz / LL / aaaa hh: mm: ss" "")
> 28/03/2012 02:44:44

Format de număr în limba 1C
Spre deosebire de formatarea datei, care este destul de simplă, există multe opțiuni pentru formatarea numerelor. Le vom lua în considerare pe cele care ni s-au părut utile - adică, în opinia noastră, sunt adesea folosite.

Prima „problemă” are legătură cu gruparea implicită a cifrelor în numere cu 3 și separarea grupurilor cu un spațiu, de exemplu:
StringNumber = String (22300500)
> 22 300 500

Acest lucru este incomod atunci când un număr este convertit într-un șir nu pentru un afișaj frumos și ușor de înțeles pentru utilizator, ci pentru nevoile de serviciu. Acest lucru poate fi influențat de parametrul „CH”, de exemplu:

Format (22300500, „CG = 100”)
> 22300500 // zerourile au fost eliminate complet

Format (22300500, "CHG = 6")
> 22 300 500 // au grupat doar milioane

Un parametru care vă permite să rotunjiți numărul atunci când este afișat la numărul necesar de cifre după punctul zecimal „CDC”:

Format (3.535353, "ЧДЦ =" "2" "")
> 3,54

Parametrul care vă permite să specificați caracterul întreg și separator fracțional „RHD”:

Format (3.535353, "RRD =" "." "")
> 3.535353

În unele cazuri, este util să puteți afișa altceva în loc de numărul „0”: un șir gol sau „neumplut”. Acest lucru vă permite să faceți parametrul „CHN”:

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

Format câmp 1C pe formular

Am luat în considerare cu dvs. tehnicile care permit programatorului să formateze valoarea în limbajul 1C. Există, de asemenea, mecanisme care vă permit să specificați formatul necesar vizual, fără programare.

De exemplu, un utilizator lucrează cu un formular. Formularul are un câmp care afișează data. Putem influența prezentarea acestei date.

Deschideți proprietățile pentru acest câmp. Pentru a face acest lucru, în clientul gros, faceți clic dreapta pe câmp, iar în clientul subțire, faceți clic dreapta pe numele câmpului din lista câmpurilor, selectați Proprietăți.
Câmpul are o proprietate Format.

Faceți clic pe butonul „...” pentru a-l personaliza. Pentru a seta formatul datei utilizați fila Data (pentru o dată - fila Număr). Puteți selecta formatul dorit din listă.

Formatează celulele 1C sub formă tipărită

Când trebuie să proiectați un tipărit (raport sau tipărire document), puteți atribui un format de celulă exact în același mod ca și pentru un câmp document.
Selectați o celulă (sau mai multe celule în același timp), accesați proprietăți, proprietatea "Format", selectați formatul dorit.

1C format în ACS

Rapoartele ACS vă permit să personalizați formatul 1C atât pentru programator (în momentul creării raportului), cât și pentru utilizator (atunci când utilizați raportul). Există, de asemenea, mai multe posibilități datorită utilizării formatării condiționate.

Aceasta înseamnă că nu numai că specificați câmpul care trebuie formatat, ci și în ce condiție (de exemplu, dacă valoarea acestui câmp este negativă).

În modul Enterprise, selectați elementul de meniu „Schimbați varianta” din formularul de raport. În raportul ACS din clientul gros, acest element se află în meniul Acțiuni / Setări.

În forma deschisă a tuturor setărilor ACS există o filă „ Formatarea condițională". Adăugați o nouă linie. Linia are trei coloane:

  • Înregistrare. Specificați formatul 1C necesar - font, culoare de fundal sau text, format 1C pentru afișarea numerelor și a datelor
  • Condiție. Dacă acest design este întotdeauna aplicat, atunci lăsați acest câmp necompletat. În caz contrar, specificați câmpul și valoarea acestuia. Apoi formatarea va fi aplicată numai acelor linii în care aceste valori sunt aceleași. Dacă trebuie să specificați valorile câtorva câmpuri în același timp și condiții "și / sau" - adăugați un grup și grupați câmpurile folosind grupuri.
  • Câmpuri decorate. Lista câmpurilor pentru care se va aplica formatarea.

Format 1C în formulare gestionate

Reguli similare de formatare se aplică oricărei forme a unei liste de clienți gestionați. Sub forma listei, selectați elementul de meniu „Toate acțiunile / Configurați lista”.

Fila Aspect condiționat.

Selectăm designul și formatul dorit.

Vă indicăm lista câmpurilor cărora li se va aplica acest design.

Descriere detaliata. Faceți clic pentru a extinde

Formatează șirul este o valoare șir care include opțiuni de formatare.

Parametrii de formatare sunt enumerați prin simbolul „;”. Prezența parametrului înseamnă că formatarea diferă de cea standard.

Dacă parametrul nu este specificat, atunci se aplică formatarea standard, care corespunde practic conversiei valorii într-un șir. Cu toate acestea, pentru valorile de tip Number și Date în mod implicit (0 și, respectiv, 01.01.0001 00:00:00), va fi returnat un șir gol.

Fiecare parametru este specificat de numele parametrului, simbolul „=” și valoarea parametrului. Valoarea parametrului poate fi specificată într-un singur sau ghilimele duble... Acest lucru este necesar dacă valoarea parametrului conține caractere utilizate în sintaxa șirului de format.

Caracterele arbitrare pot fi specificate în interiorul valorii parametrului, care va fi afișat așa cum este la formarea șirului rezultat. Astfel, de exemplu, puteți specifica separatoarele pentru ore, minute și secunde la formatarea timpului. Dacă aceste caractere se potrivesc valorilor șirului de format, acestea trebuie să fie încadrate între ghilimele unice.

Formatați numele și valorile parametrilor șirului:

  • Л - numele limbii, țările pentru care se va efectua formatarea standard.
  • CHC - numărul total afișate zecimale ale părților întregi și fracționate. Numărul original este apoi rotunjit în conformitate cu regulile de rotunjire. Dacă acest parametru este specificat, atunci pentru a afișa partea fracționată a unui număr, este necesar să indicați parametrul NPV, altfel partea fracțională nu va fi afișată.
  • NDC este numărul de zecimale din partea fracționată. Numărul original este apoi rotunjit în conformitate cu regulile de rotunjire.
  • ChS - deplasarea cifrelor: pozitiv - divizare, negativ - multiplicare. Cu alte cuvinte, aceasta înseamnă că numărul original va fi multiplicat sau împărțit cu 10 * C, unde C este valoarea parametrului modulo.
  • CRD este un caracter separator pentru părți întregi și fracționate.
  • CHRG este un caracter separator de grup pentru partea întreagă a unui număr. Dacă utilizați un șir gol ca separator, atunci caracterul spațiu care nu se rupe va fi separatorul.
  • CHN este un șir care reprezintă valoarea zero a unui număr. Dacă nu este specificat, atunci reprezentarea șirului gol. Dacă este specificat „CHN =”, atunci sub forma „0”. Nu este utilizat pentru câmpurile de introducere numerice.
  • CHVN - dacă se afișează zerouri din partea de sus. Valoarea acestui parametru nu este specificată, prezența parametrului în sine determină ieșirea zero-urilor inițiale.
  • ЧГ - ordinea de grupare a cifrelor numărului. Valorile sunt numere, separate prin virgule, indicând numărul de cifre care trebuie grupate de la dreapta la stânga. Doar primele două numere au sens. Prima dintre ele indică gruparea primară, adică cea care va fi utilizată pentru cele mai puțin semnificative cifre ale părții întregi a numărului. Dacă al doilea număr nu este specificat, atunci vor fi grupate doar cele mai puțin semnificative cifre. Dacă 0 este specificat ca al doilea număr, atunci valoarea specificată pentru gruparea primară va fi aplicată tuturor cifrelor părții întregi a numărului. Dacă o altă valoare decât 0 este utilizată ca al doilea număr, atunci această valoare va fi utilizată pentru a grupa toate cifrele, cu excepția celor mai puțin semnificative deja grupate.
  • CHO este reprezentarea numerelor negative.
    • 0 (0) - un șir ca „(1,1)”;
    • 1 (1) - un șir ca „-1,1”;
    • 2 (2) - un șir ca „- 1,1”;
    • 3 (3) - un șir ca „1,1-“;
    • 4 (4) - un șir ca „1,1 -“.
  • DF - formatul datei.
    • d - ziua lunii (în cifre) fără un zero în față;
    • dd - ziua lunii (în cifre) cu un zero în față;
    • ddd - nume scurt zi a săptămânii;
    • dddd - numele complet al zilei săptămânii;
    • M - numărul lunii (în cifre) fără zero în față;
    • MM - numărul lunii (în cifre) cu zero zero;
    • MMM - numele scurt al lunii;
    • MMMM - numele complet al lunii;
    • k este numărul trimestrului din an;
    • г - numărul anului fără secol și zero zero;
    • yy este numărul anului fără secolul cu zero zero;
    • yyyy este numărul anului cu secolul;
    • h - oră în versiunea de 12 ore fără zerouri de început;
    • hh - oră în varianta de 12 ore cu zero de pornire;
    • H - oră în versiunea de 24 de ore fără zero-uri;
    • HH (HH) - oră în varianta de 24 de ore cu zero inițial;
    • m - minut fără zero înainte;
    • mm - minut cu zero zero;
    • s - al doilea fără zero înainte;
    • ss - al doilea cu zero zero;
    • bc - afișează jumătate de zi AM / PM (valabil numai pentru limbile de configurare care acceptă ceasul de 12 ore).
  • DLF este formatul de dată local. Specifică opțiunea de afișare pentru piesele de dată.
    • D - data (în numere);
    • DD - data lungă (luna în cuvinte);
    • B - cu normă întreagă, data poate fi combinată cu ora;
    • DV - ora datei.
  • DP este un șir care reprezintă o dată goală (de exemplu, Format ('00010101000000', „DP =” „dată goală” ””) va returna șirul „dată goală”).
  • BL - un șir care reprezintă o valoare booleană Minciună.
  • BI - un șir care reprezintă o valoare booleană Adevărat.

* .cf- fișierul conține doar configurație (cod și structură) fără date de utilizator. Creat din configuratorul 1C 8.x: "Configurare -> Salvare configurație în fișier" sau "Configurare -> Configurație livrare -> Creați fișier livrare și actualizați configurația -> semnați" Creați fișier livrare "".

* .cfu- fișierul conține doar actualizări de configurare. De exemplu fișier 1cv8.cfu. Este imposibil să creați o configurație din acest fișier, deoarece conține doar diferențe. nouă configurație din cea anterioară. Creat din configuratorul 1C 8.x: "Configurare -> Configurare livrare -> Creați fișier livrare și actualizare configurare -> semnați" Creați fișier actualizare configurare "".

* .dt- fișierul conține configurația împreună cu baza de date a utilizatorilor. Acesta este un format de arhivă specializat 1C 8. Este creat din configuratorul 1C 8.x: „Administrare -> Descărcați baza de informații”.

* .epf (* .erf) - fișier de procesare externă (raport). Orice procesare (raport) din configurație poate fi salvată extern. Creat din configuratorul 1C 8.x: „Configurare -> Deschideți configurația -> mergem la procesarea necesară (raport) -> selectați cu butonul din dreapta al mouse-ului -> Salvare ca prelucrare externă, raportează ... ".

* .1cd- un fișier de bază de date complet. Reprezentarea implicită a numelui este 1Cv8.1CD. Include configurare, bază de date, setari personalizate... Deschide platforma 1C 8.x. Creat pentru dezvoltarea unei noi configurații făcând clic automat pe butonul „Adăugare” la selectarea elementului „Creați o nouă baza de informații».

* .log, * .lgf, * .lgp, * .elf- fișiere jurnal care colectează informații (date de înregistrare) în 1C 8.0 8.1, 8.2, 8.3.

*. CDN - un fișier cu această extensie ( 1Cv8.cdn) este utilizat pentru manual sau blocare automată Baze de date 1C Enterprise a opta versiune.

* .mxl- se utilizează fișiere de formulare tipărite, inclusiv în 1C. Sunt ca formulare tipărite documente, cărți de referință, rapoarte și diverse dispozitive de stocare a datelor pentru diferiți clasificatori. Se deschide prin Configurator sau în 1C: Mod Enterprise prin „fișier -> deschis”. Este creat în același mod: în modul Configurator sau în 1C: Enterprise prin „fișier -> nou”. De asemenea, fișierele cu astfel de extensii pot servi drept reguli de transfer, de exemplu, de la 1C 7.7 la 8.2 (acc77_82.xml și prelucrare auxiliară exp77_82.ert) - sunt de obicei localizate în folderul ExtForms.

* .efd- acesta este un fișier de arhivă 1C, folosit pentru a seta configurația. Conține fie configurația 1c, fie o actualizare a acesteia. Este lansat folosind fișierul executabil auxiliar setup.exe (trebuie să fie localizat în același folder).

* .mft- un fișier auxiliar pentru crearea unei configurații dintr-un șablon. Conține informații de configurare, descriere, cale, titlu. Este utilizat direct de platformă în sine când se creează o bază de date 1C dintr-un șablon.

* .grs- fișiere de scheme grafice într-un format specializat 1C. Se deschide prin Configurator sau în 1C: Mod Enterprise prin „fișier -> deschis”. Este creat în același mod: în modul Configurator sau în 1C: Enterprise prin „fișier -> nou”.

* .geo- fișiere ale schemelor geografice într-un format specializat 1C. Se deschide prin Configurator sau în 1C: Mod Enterprise prin „fișier -> deschis”. Este creat în același mod: în modul Configurator sau în 1C: Enterprise prin „fișier -> nou”.

* .st- fișiere șablon text. Acestea sunt utilizate în principal de dezvoltatorii 1C.

* .pff- fișier cu măsurători de performanță salvate. Sunt utilizate administratori de sistemși specialiști 1C.