Formátovat řetězec. Formátovací řetězec Nesprávný formát data v 1s 8.3

Programování (a obchodní programy) se obvykle zabývají následujícími jednoduchými datovými typy: číslo, řetězec, datum. Hodnoty těchto typů pro rozdílné země, normy a spravedlivé zvyky mohou mít jinou představu.

Asi nejznámějším příkladem je odlišné znázornění času – v Rusku je zvykem používat 9:00 a 21:00 a v anglicky mluvících zemích 9:00 a 21:00. Rozdíl je jak v logice (12hodinový systém nebo 24hodinový systém), tak v psaní.

Reprezentace hodnoty se nazývá „formát“ a dnes budeme diskutovat o změně formátu data a formátu čísla v 1C.
Formátování může využít jak programátor v jazyce 1C, tak i vizuálně, bez programování, například při vytváření tisknutelného formuláře nebo sestavy, při nastavování prvků na formuláři.

Co je formátování

Číslo a datum, bez ohledu na jejich zobrazení na obrazovce nebo v tisku, zůstávají samy sebou. Formátování znamená pouze převod na řetězcovou hodnotu – tedy jak bude „vypadat“ na obrazovce počítače nebo na papíře.

Hlavní rozdíly mezi formáty 1C pro reprezentaci čísel a dat:

  • Číslo
    o "." nebo "," pro oddělení zlomkové části
    o počet desetinných míst
    o seskupení číslic po 3 (1 000 000, nikoli 1 000 000)
  • datum a čas
    o rok, měsíc, den pořadí
    o oddělovací znak
    o 1C formát času (12 nebo 24 hodin)
    o pravopisné detaily.

Ve formátu 1C lze také uvést další „vymoženosti“, například zobrazení záporných čísel červeně nebo zobrazení „prázdné hodnoty“ ve formě „0“ nebo „nevyplněno“.

Princip formátování

Výchozí formátování funguje například při převodu čísla na řetězec. V některých případech může taková nastavení sloužit k medvědí službě tam, kde to programátor neočekává.

Například při převodu čísla na řetězec se překládá s ohledem na seskupení číslic (a očekáváte to?):
StringNumber = AbbrLp(2400); //bude se rovnat "2 400"

Pro přesné určení formátu v jazyce 1C existuje funkce Format (), pomocí které je možné specifikovat požadovanou reprezentaci.
NumberString = Format(2400, "Nastavení")

Jako řádek "Nastavení" musíte zadat požadovaný formát 1C. Taková nastavení jsou specifikována ve speciální kódované formě. Zvažte nejčastěji používaná nastavení:

Ve výchozím nastavení formátujte datum a číslo 1С

Pokud potřebujete zobrazit datum nebo číslo a nechcete se obtěžovat tím, jak by měly být zastoupeny podle pravidel požadovanou zemi, Tady je nejjednodušší nastavení který vám umožní toto:

L = ShortName požadované země

Příklad zobrazení data podle pravidel některých zemí:
Format(CurrentDate(), "L=ru")
> 28.03.2012 14:21:32

Format(CurrentDate(), "L=en")
> 28. 3. 2012 14:21:24

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

Jak to není těžké vidět, názvy zemí jsou intuitivní.

Formát data v jazyce 1C

Pokud vám výchozí nastavení nestačí a chtěli byste určit pořadí částí data a symboly pro jejich oddělení, musíte použít nastavení:
DF = "dmg hms"

V souladu s tím je "dmg" den, měsíc a rok a "hms" je hodiny, minuty a sekundy. Kteroukoli z těchto částí lze přeskočit. Pořadí je libovolné. Znaky zadané mezi částmi budou použity jako oddělovací znaky.

Charakter části data lze zadat vícekrát za sebou, na tom závisí vzhled této části data, např. „d“ nebo „dd“ nebo „dddd“.

Rozluštění částí data:

  • d - den
    o malé "d"
  • M - měsíc
    o velké "M"
    o lze zadat 1 až 4krát
  • d - rok
    o malé "g"
    o může být uvedeno 1, 2 nebo 4krát
  • h - hodiny
    o malé "h" - 12hodinový formát
    o velké "H" - 24hodinový formát
  • m - minut
    o malé "m"
    o lze zadat 1 nebo 2krát
  • s - sekund
    o malé "s"
    o lze zadat 1 nebo 2krát
  • bb - AM/PM displej pro 12hodinový formát
  • k - čtvrtletí.

Příklad zobrazení data s pravidly:
Format(CurrentDate(), "DF=""dd.MM.yyyy hh:mm:ss""")
> 28.03.2012 02:44:44

Format(CurrentDate(), "DF="" M / d /yyy h:m:s dd""")
> 28. 3. 2012 14:44:44

Format(CurrentDate(), "DF=""dd/MM/yyyy hh:mm:ss""")
> 28/03/2012 02:44:44

Formát čísel v jazyce 1C
Na rozdíl od formátování data, kde je vše celkem jednoduché, existuje mnoho možností formátování čísel. Zvážíme ty, které jsme považovali za užitečné - to znamená, že jsou podle našeho názoru často používané.

První "problém" souvisí s výchozím seskupením číslic po 3 a oddělením skupin mezerou, například:
StrNumber = Řetězec(22300500)
> 22 300 500

To je nepohodlné, když je číslo převedeno na řetězec nikoli pro krásný a srozumitelný výstup pro uživatele, ale pro potřeby služby. To lze ovlivnit parametrem "CH", například:

Formát(22300500, "HH=100")
>22300500 //zcela odstraněny nuly

Formát(22300500, "HH=6")
> 22 300500 //vytvořilo seskupení pouhých milionů

Parametr, který umožňuje zaokrouhlit číslo při výstupu na požadovaný počet číslic za desetinnou čárkou „NPV“:

Format(3,535353; "NPV=""2""")
> 3,54

Parametr, který umožňuje zadat znak oddělovače pro celé číslo a zlomkové části "BRD":

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

V některých případech může být užitečné mít možnost zobrazit místo čísla „0“ něco jiného: prázdný řetězec nebo „nevyplněno“. To vám umožní vytvořit parametr "CHN":

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

Naformátujte pole 1C ve formuláři

Probrali jsme s vámi techniky, které umožňují programátorovi formátovat hodnotu v jazyce 1C. Existují také mechanismy, které umožňují určit požadovaný formát vizuálně, bez programování.

Uživatel například pracuje s formulářem. Formulář obsahuje pole, které zobrazuje datum. Reprezentaci tohoto data můžeme ovlivnit.

Otevřete vlastnosti tohoto pole. Chcete-li to provést, v tlustém klientovi klepněte pravým tlačítkem na pole a v tenkém klientovi klepněte pravým tlačítkem na název pole v seznamu polí a vyberte Vlastnosti.
Pole má vlastnost "Formát".

Kliknutím na tlačítko „…“ jej nastavíte. Chcete-li nastavit formát data, použijte kartu Datum (pro číslo použijte kartu Číslo). Požadovaný formát můžete vybrat ze seznamu.

Naformátujte buňky 1C v tištěné podobě

Když potřebujete navrhnout tištěný formulář (tisk zprávy nebo dokumentu), můžete přiřadit formát buňky úplně stejným způsobem jako u pole dokumentu.
Vybereme buňku (nebo několik buněk současně), přejděte na vlastnosti, vlastnost "Formát", vyberte požadovaný formát.

Formát 1C v SKD

Zprávy ACS umožňují přizpůsobit formát 1C jak pro programátora (v době vytváření zprávy), tak pro uživatele (při použití zprávy). Existuje také více příležitostí díky použití podmíněného formátování.

To znamená, že nejen určíte, které pole se má formátovat, ale také za jaké podmínky (například pokud je hodnota tohoto pole záporná).

V režimu Enterprise vyberte položku nabídky na formuláři sestavy "Změnit variantu". V sestavě ACS v tlustém klientovi je tato položka v nabídce "Akce/Nastavení".

V otevřeném formuláři všech nastavení ACS je záložka "Podmíněné formátování". Přidat nový řádek. Řádek má tři sloupce:

  • Výzdoba. Zadejte požadovaný formát 1C - písmo, barvu pozadí nebo textu, formát 1C pro zobrazení čísel a dat
  • Stav. Pokud je tento design vždy použit, ponechte toto pole prázdné. V opačném případě zadejte pole a jeho hodnotu. Poté bude formátování použito pouze v těch řádcích, ve kterých se tyto hodnoty shodují. Pokud potřebujete zadat hodnoty několika polí současně a podmínky „a/nebo“, přidejte skupinu a seskupte pole pomocí skupin.
  • Vytvořená pole. Seznam polí, pro která bude použito formátování.

1C formátu ve spravovaných formulářích

Stejná pravidla formátování platí pro jakýkoli formulář seznamu spravovaných tenantů. Ve formuláři seznamu vyberte položku nabídky "Všechny akce / Konfigurovat seznam".

Karta Podmíněné formátování.

Vyberte požadovaný design a formát.

Zadejte seznam polí, na která bude tento návrh použit.

Funkce vestavěného jazyka. Formát (funkce skriptu. Formát)
Vestavěné jazykové funkce (funkce skriptů)
Formát
Syntax:
Formát(<Значение>, <ФорматнаяСтрока>
Možnosti:
<Значение>(Požadované)
Typ: Číslo; Datum; Boolean. Hodnota, která se má formátovat.
<ФорматнаяСтрока>(volitelný)
Typ: Řetězec. Formátovat řetězec je řetězcová hodnota, která zahrnuje možnosti formátování.
Možnosti formátování jsou uvedeny prostřednictvím znaku ";". Přítomnost parametru znamená, že formátování je odlišné od standardního.
Pokud parametr není uveden, použije se standardní formátování, které v podstatě odpovídá převodu hodnoty na řetězec. Pro hodnoty typu Číslo a Datum však výchozí hodnoty (0 a 01.01.0001 00:00:00) vrátí prázdný řetězec.
Každý parametr je určen názvem parametru, symbolem "=" a hodnotou parametru. Hodnotu parametru lze zadat v jednoduchých nebo dvojitých uvozovkách. To je vyžadováno, pokud hodnota parametru obsahuje znaky použité v syntaxi formátovacího řetězce. Uvnitř hodnoty parametru lze zadat libovolné znaky, které se zobrazí tak, jak jsou při vytváření výsledného řetězce. Při formátování tak můžete například zadat oddělovače pro hodiny, minuty a sekundy. Pokud tyto znaky odpovídají hodnotám formátovacího řetězce, musí být uzavřeny v jednoduchých uvozovkách.
Názvy a hodnoty parametrů formátovacího řetězce:
L (L) - Název jazyka, země, pro kterou bude provedeno standardní formátování. Dostupné názvy jazyků:
afrikánština
af_ZA afrikánština (Jižní Afrika)
jsem Amharic
am_ET amharština (Etiopie)
ar arabština
ar_AE arabština (Spojené arabské emiráty)
ar_BH arabština (Bahrajn)
ar_DZ arabština (Alžírsko)
ar_EG arabština (Egypt)
ar_IQ arabština (Irák)
ar_JO arabština (Jordánsko)
ar_KW arabština (Kuvajt)
ar_LB arabština (Libanon)
ar_LY arabština (Libye)
ar_MA arabština (Maroko)
ar_OM arabština (Omán)
ar_QA arabština (Katar)
ar_SA Arabština (Saúdská Arábie)
ar_SD arabština (Súdán)
ar_SY arabština (Sýrie)
ar_TN arabština (Tunisko)
ar_YE arabština (Jemen)
jako Ásámci
as_IN asámština (Indie)
az ázerbájdžánština
az_AZ Ázerbájdžán (Ázerbájdžán)
az_Cyrl ázerbájdžánština (cyrilice)
az_Cyrl_AZ Ázerbájdžánština (cyrilice, Ázerbájdžán)
az_Latn Ázerbájdžánština (latinka)
az_Latn_AZ Ázerbájdžánština (latinka, Ázerbájdžán)
být Bělorus
be_BY běloruština (Bělorusko)
bg bulharština
bg_BG bulharština (Bulharsko)
bn bengálský
bn_IN bengálština (Indie)
ca katalánština
ca_ES katalánština (Španělsko)
cs česky
cs_CZ Czech (Česká republika)
cy velština
cy_GB velština (UK)
da dánština
da_DK dánština (Dánsko)
de German
de_AT němčina (Rakousko)
de_BE němčina (Belgie)
de_CH němčina (Švýcarsko)
de_DE němčina (Německo)
de_LU němčina (Lucembursko)
el řečtina
el_GR řečtina (Řecko)
en anglicky
en_AU angličtina (Austrálie)
en_BE angličtina (Belgie)
en_BW angličtina (Botswana)
en_CA angličtina (Kanada)
en_GB angličtina (UK)
en_HK angličtina (Hongkong, (zvláštní administrativní oblast, Čína))
en_IE angličtina (Irsko)
en_IN angličtina (Indie)
en_MT angličtina (Malta)
en_NZ angličtina (Nový Zéland)
en_PH angličtina (Filipíny)
en_PK angličtina (Pákistán)
en_SG angličtina (Singapur)
en_US angličtina (Spojené státy americké)
en_VI angličtina (Americké Panenské ostrovy)
en_ZA angličtina (Jižní Afrika)
en_ZW angličtina (Zimbabwe)
je španělština
es_AR španělština (Argentina)
es_BO španělština (Bolívie)
es_CL španělština (Chile)
es_CO španělština (Kolumbie)
es_CR španělština (Kostarika)
es_DO Španělština (Dominikánská republika)
es_EC španělština (Ekvádor)
es_ES Španělština (Španělsko)
es_GT španělština (Guatemala)
es_HN Španělština (Honduras)
es_MX španělština (Mexiko)
es_NI španělština (Nikaragua)
es_PA španělština (Panama)
es_PE španělština (Peru)
es_PR Španělština (Portoriko)
es_PY španělština (Paraguay)
es_SV Španělština (Salvador)
es_US Španělština (Spojené státy americké)
es_UY španělština (Uruguay)
es_VE španělština (Venezuela)
a estonština
et_EE estonština (Estonsko)
eu Baskicko
eu_ES baskičtina (Španělsko)
fa perština
fa_AF perština (Afghánistán)
fa_IR perština (Írán)
fi finština
fi_FI finština (Finsko)
pro Faerské ostrovy
fo_FO Faerské ostrovy (Faerské ostrovy)
fr francouzsky
fr_BE francouzština (Belgie)
fr_CA francouzština (Kanada)
fr_CH francouzština (Švýcarsko)
fr_FR francouzština (Francie)
fr_LU francouzština (Lucembursko)
ga irský
ga_IE irština (Irsko)
gl galicijský
gl_ES, galicijština (Španělsko)
gu Guiarati
gu_IN Gudžarátština (Indie)
hebrejsky
he_IL hebrejština (Izrael)
ahoj hindi
hi_IN hindština (Indie)
hr chorvatština
hr_HR chorvatština (Chorvatsko)
hu maďarština
hu_HU maďarština (Maďarsko)
hy arménština
hy_AM arménština (Arménie)
hy_AM_REVISED arménština (Arménie, REVISED)
id indonéština
id_ID indonéština (Indonésie)
je islandský
is_IS islandština (Island)
to italsky
it_CH, italština (Švýcarsko)
it_IT italština (Itálie)
ano japonština
ja_JP japonština (Japonsko)
ka gruzínský
ka_GE gruzínština (Gruzie)
kk kazašský
kk_KZ kazašština (Kazachstán)
kl grónský
kl_GL grónština (Grónsko)
kn Kannada
kn_IN Kannada (Indie)
ko korejština
ko_KR korejština ( Jižní Korea)
Kok Konkani
kok_IN konkani (Indie)
Litevština
lt_LT litevština (Litva)
lv lotyšský
lv_LV lotyština (Lotyšsko)
mk makedonský
mk_MK makedonština (Makedonie)
ml malajálamštiny
ml_IN malajálamština (Indie)
pane Maratian
mr_IN Maratian (Indie)
paní malajská
ms_BN malajština (Brunej)
ms_MY malajština (Malajsie)
mt maltština
mt_MT maltština (Malta)
nb norský bokmål
nb_NO norský bokmål (Norsko)
nl holandština
nl_BE holandština (Belgie)
nl_NL holandština (Nizozemsko)
nn norský Nynorsk
nn_NO norský nynorsk (Norsko)
om Oromo (Athan)
om_ET Oromo (Afan) (Etiopie)
om_KE Oromo (Afan) (Keňa)
nebo Oriya
or_IN Oriya (Indie)
pa pandžábština
pa_IN pandžábština (Indie)
pl polština
pl_PL polština (Polsko)
ps paštština (paštština)
ps_AF Pashto (Pushto) (Afghánistán)
pt portugalština
pt_BR portugalština (Brazílie)
pt_PT portugalština (Portugalsko)
ro rumunský
ro_RO rumunština (Rumunsko)
en ruština
en_RU ruština (Rusko)
ru_UA ruština (Ukrajina)
sk slovenština
sk_SK slovenština (Slovensko)
sl slovinština
sl_SI slovinština (Slovinsko)
takže Somálsko
so_DJ Somálsko (Džibutsko)
so_ET Somálsko (Etiopie)
so_KE Somálsko (Keňa)
so_SO Somálsko (Somálsko)
sq albánský
sq_AL albánština (Albánie)
srbština
sr_CS srbština (Srbsko a Černá Hora)
sr_Cyrl srbština (cyrilice)
sr_Cyrl_CS srbština (cyrilice, Srbsko a Černá Hora)
sr_Cyrl_YU srbština (cyrilice, Jugoslávie)
sr_Latn srbština (latinka)
sr_Latn_CS srbština (latina, Srbsko a Černá Hora)
sr_Latn_YU srbština (latinka, Jugoslávie)
sr_YU srbština (Jugoslávie)
švédský
sv_FI švédština (Finsko)
sv_SE švédština (Švédsko)
svahilština
sw_KE svahilština (svahilština)
sw_TZ svahilština (Tanzanie)
tamilština
ta_IN tamilština (Indie)
telugština
te_IN telugština (Indie)
thajské
th_TH thajština (Thajsko)
ti Tigrinia
ti_ER Tigrinia (Eritrea)
ti_ET Tigrinia (Etiopie)
tr turečtina
tr_TR turečtina (Türkiye)
UK Ukrajinština
uk_UA ukrajinština (Ukrajina)
ur urdu
ur_PK urdština (Pákistán)
uzbecký
uz_Cyrl Uzbek (cyrilice)
uz_Cyrl_UZ Uzbek (cyrilice, Uzbekistán)
uz_Latn Uzbek (latinka)
uz_Latn_UZ Uzbek (latinka, Uzbekistán)
uz_UZ uzbecký (Uzbekistán)
vi Vietnamci
vi_VN vietnamština (Vietnam)
zh čínština
zh_CN čínština (Čína)
zh_Hans čínština (Hans)
zh_Hans_CN čínština (Hans, Čína)
zh_Hans_SG čínština (Hans, Singapur)
zh_Hant čínština (Hant)
zh_Hant_HK čínština (Hant, Hongkong (zvláštní administrativní oblast, Čína))
zh_Hant_MO čínština (Hant, Macao (zvláštní administrativní oblast, Čína))
zh_Hant_TW čínština (Hant, Tchaj-wan)
zh_HK čínština (Hongkong (zvláštní administrativní oblast, Čína))
zh_MO Chinese (Macao (zvláštní administrativní oblast, Čína))
zh_SG čínština (Singapur)
zh_TW čínština (Tchaj-wan)
NZ (ND) - Celkový počet zobrazených desetinných míst celé a zlomkové části. Původní číslo je pak zaokrouhleno v souladu s pravidly pro zaokrouhlování Okr15as20. Pokud je tento parametr zadán, pak pro zobrazení zlomkové části čísla musí být zadán parametr NPV, jinak se zlomková část nezobrazí.
NFD (NFD) - Počet desetinných míst ve zlomkové části. Původní číslo je pak zaokrouhleno v souladu s pravidly pro zaokrouhlování Okr15as20.
CHS (NS) - Bitový posun: kladný - dělení, záporný - násobení. Jinými slovy to znamená, že původní číslo bude vynásobeno nebo vyděleno 10*C, kde C je modulo hodnota parametru.
FRD (NDS) - Symbol-separátor celých a zlomkových částí.
CHRG (NGS) - Znak oddělovače skupiny celé části čísla. Pokud je jako oddělovač použit prázdný řetězec, bude oddělovačem znak mezery.
NZ (NZ) – Řetězec představující nulovou hodnotu čísla. Pokud není nastaveno, reprezentace je prázdný řetězec. Pokud je zadáno "HN=", pak ve tvaru "0". Nepoužívá se pro numerická vstupní pole.
NLZ – Zda zobrazit úvodní nuly. Hodnota tohoto parametru není nastavena, skutečná přítomnost parametru určuje výstup úvodních nul.
CHG (NG) - Pořadí seskupování číslic čísla. Jako hodnota jsou uvedena čísla oddělená čárkami, které udávají počet seskupených číslic zprava doleva. Chcete-li určit, že se má poslední číslo seskupení opakovat pro všechny číslice vyššího řádu, je za ním uvedena 0 oddělená čárkou.
CHO (NN) - Znázornění záporných čísel.
0 - řetězec jako "(1,1)";
1 - řetězec jako "-1,1";
2 - řádek jako "- 1,1";
3 - řetězec jako "1,1-";
4 - řádek jako "1,1 -".
DF (DF) - Formát data.
d (d) - den v měsíci (v číslicích) bez úvodní nuly;
dd (dd) - den v měsíci (v číslicích) s nulou na začátku;
ddd (ddd) - krátký název den v týdnu *);
dddd (dddd) - celý název dne v týdnu *);
M (M) - číslo měsíce (v číslicích) bez úvodní nuly;
MM (MM) - číslo měsíce (v číslicích) s nulou na začátku;
MMM (MMM) - krátký název měsíce *);
MMMM (MMMM) - celý název měsíce *);
k (q) - číslo čtvrtletí v roce;
y (y) - číslo roku bez století a úvodní nuly;
yy (yy) - číslo roku bez století s úvodní nulou;
yyyy (yyyy) - číslo roku se stoletím;
h (h) - hodina ve 12hodinové verzi bez úvodních nul;
hh (hh) - hodina ve 12hodinové verzi s úvodní nulou;
H (H) - hodina ve 24hodinové verzi bez úvodních nul;
HH (HH) - hodina ve 24hodinové verzi s úvodní nulou;
m (m) - minuta bez úvodní nuly;
mm (mm) - minuta s úvodní nulou;
s (s) - sekunda bez úvodní nuly;
ss (ss) - sekunda s úvodní nulou;
вв (tt) - zobrazení poloviny dne AM/PM (platí pouze pro konfigurační jazyky, které podporují 12hodinové zobrazení času).
Poznámka: *) - nepoužívá se pro formátovací řetězec pole pro zadání data.
DLF (DLF) - Místní formát data. Určuje možnost zobrazení částí data.
D (D) - datum (v číslech);
DD (DD) - dlouhé datum (měsíc slovy);
B (T) - plný úvazek, datum lze kombinovat s časem;
DV (DT) - datum a čas.
Příklad: Format("20051120140323","DLF=DDV") je "20. listopadu 2005 14:03:23".
Důležité! Pořadí možností formátovacího řetězce pro DLF<дата + время>(DV nebo DVD) nelze změnit.
DP (DE) – Řetězec představující prázdné datum (například Format("00010101000000" "DP=""prázdné datum""") vrátí řetězec "prázdné datum").
BF (BF) – Řetězec představující booleovskou hodnotu False.
BI (BT) – Řetězec představující booleovskou hodnotu True.
Poznámka. Použití parametrů pro vstupní pole: parametr DP (DE) se nepoužívá; parametr DLF (DLF) se používá pouze s hodnotami D (D), V (T) a DV (DT).
Návratová hodnota:
Typ: Řetězec. Řetězec, který je výsledkem formátování předávané hodnoty.
Popis:
Generuje lidsky čitelnou reprezentaci hodnot. Užitečné v reportech a dalších vizuálních zobrazeních hodnot.

Dostupnost:
Tenký klient, webový klient, server, externí připojení.
Příklad:
// Příklady formátování čísel
A = Formát(123456,789, "NPV=10; NPV=2");
// A = "123456,79"
A = Formát(123456.789, "FRD="-"");
// A = "123 456-789"
A = Formát(-123456,789, "CHO=0");
// A = "(123456,789)";

// Příklady formátování data
A = Format("20020820153309", "DF=""dd MMMM yyyy "y." HH:mm:ss""");
// A = "20. srpna 2002 15:33:09"
A = Format("20020820153309", "DF=""dd/MM-yyyy""");
// A = "20/08-2002"
A = Formát("20020820153309", "DLF=DD");
// A = "20. srpna 2002";
A = Formát("20020820153309", "DLF=D");
// A = "20.08.2002";
A = Formát("20020820153309", "DLF=B");
// A = "15:33:09";

// Příklady formátování booleovské výrazy
A = Formát(True, "BL=Není k dispozici; BI=Dostupné");
// A = "Dostupné";

Možnosti:

<Значение>

Hodnota, která se má formátovat.

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

Formátovací řetězec je řetězcová hodnota, která zahrnuje možnosti formátování.

Možnosti formátování jsou uvedeny prostřednictvím znaku ";". Přítomnost parametru znamená, že formátování je odlišné od standardního.

Pokud parametr není uveden, použije se standardní formátování, které v podstatě odpovídá převodu hodnoty na řetězec. Pro hodnoty typu Číslo a Datum však výchozí hodnoty (0 a 01.01.0001 00:00:00) vrátí prázdný řetězec.

Každý parametr je určen názvem parametru, symbolem "=" a hodnotou parametru. Hodnotu parametru lze zadat v jednoduchých nebo dvojitých uvozovkách. To je vyžadováno, pokud hodnota parametru obsahuje znaky použité v syntaxi formátovacího řetězce.

Uvnitř hodnoty parametru lze zadat libovolné znaky, které se zobrazí tak, jak jsou při vytváření výsledného řetězce. Při formátování tak můžete například zadat oddělovače pro hodiny, minuty a sekundy. Pokud se tyto znaky shodují s hodnotami formátovacího řetězce, musí být uzavřeny v jednoduchých uvozovkách.

Názvy a hodnoty parametrů formátovacího řetězce:

  • L - název jazyka, země, pro kterou bude standardní formátování provedeno.
  • CC - celkový počet zobrazených desetinných míst celé a zlomkové části. Původní číslo se pak zaokrouhlí v souladu s pravidly zaokrouhlování. Pokud je tento parametr zadán, pak pro zobrazení zlomkové části čísla musí být zadán parametr NPV, jinak se zlomková část nezobrazí.
  • NDC - počet desetinných míst ve zlomkové části. Původní číslo se pak zaokrouhlí v souladu s pravidly zaokrouhlování.
  • CHS - bitový posun: kladné - dělení, záporné - násobení. Jinými slovy to znamená, že původní číslo bude vynásobeno nebo vyděleno 10*C, kde C je modulo hodnota parametru.
  • FRD - symbol-oddělovač celočíselných a zlomkových částí.
  • CHRG - znak-oddělovač skupin celočíselné části čísla. Pokud je jako oddělovač použit prázdný řetězec, bude oddělovačem znak mezery.
  • CHN - řetězec představující nulovou hodnotu čísla. Pokud není nastaveno, reprezentace je prázdný řetězec. Pokud je zadáno "HN=", pak ve tvaru "0". Nepoužívá se pro numerická vstupní pole.
  • FHN - zda vypisovat úvodní nuly. Hodnota tohoto parametru není nastavena, skutečná přítomnost parametru určuje výstup úvodních nul.
  • ChG - pořadí seskupování číslic čísla. Jako hodnota jsou uvedena čísla oddělená čárkami, které udávají počet seskupených číslic zprava doleva. Pouze první dvě čísla dávají smysl. První z nich označuje primární seskupení, tedy to, které bude použito pro nejméně významné číslice celé části čísla. Pokud druhé číslo není uvedeno, budou seskupeny pouze nejméně významné číslice. Pokud je jako druhé číslo zadáno 0, pak se hodnota určená pro primární seskupení použije na všechny číslice celé části čísla. Pokud je jako druhé číslo použita jiná hodnota než 0, bude tato hodnota použita pro seskupení všech číslic, kromě těch nejméně významných, které jsou již seskupeny.
  • CHO - reprezentace záporných čísel.
    • 0 (0) - řetězec jako "(1,1)";
    • 1 (1) - řetězec jako "-1,1";
    • 2 (2) - řetězec jako "- 1,1";
    • 3 (3) - řetězec jako "1,1-";
    • 4 (4) - řetězec jako "1,1 -".
  • DF - formát data.
    • d - den v měsíci (v číslicích) bez úvodní nuly;
    • dd - den v měsíci (v číslicích) s nulou na začátku;
    • ddd - krátký název dne v týdnu;
    • dddd - celý název dne v týdnu;
    • M - číslo měsíce (v číslicích) bez úvodní nuly;
    • MM - číslo měsíce (v číslicích) s nulou na začátku;
    • MMM - krátký název měsíce;
    • MMMM - celý název měsíce;
    • k je číslo čtvrtletí v roce;
    • d - číslo roku bez století a úvodní nuly;
    • yy - číslo roku bez století s úvodní nulou;
    • yyyy - číslo roku se stoletím;
    • h - hodina ve 12hodinové verzi bez úvodních nul;
    • hh - hodina ve 12hodinové verzi s úvodní nulou;
    • H - hodina ve 24hodinové verzi bez úvodních nul;
    • HH (HH) - hodina ve 24hodinové verzi s úvodní nulou;
    • m - minuta bez úvodní nuly;
    • mm - minuta s úvodní nulou;
    • s - sekunda bez úvodní nuly;
    • ss - sekunda s úvodní nulou;
    • вв - zobrazení poloviny dne AM/PM (platí pouze pro konfigurační jazyky, které podporují 12hodinové zobrazení času).
  • DLF - místní formát data. Určuje možnost zobrazení částí data.
    • D - datum (v číslech);
    • DD - dlouhé datum (měsíc slovy);
    • B - plný úvazek, datum lze kombinovat s časem;
    • DV - datum a čas.
  • DP je řetězec představující prázdné datum (například Format("00010101000000" ,"DP=""prázdné datum""") vrátí řetězec "prázdné datum").
  • BL - řetězec představující booleovskou hodnotu Lhát.
  • BI - řetězec představující booleovskou hodnotu Skutečný.

Hlavní datové typy v 1C - číslo, boolean a datum, mohou být reprezentovány v mnoha formátech. Programátoři se často potýkají s tím, že požadavky na typ dat se v různých sestavách a tabulkách velmi liší. Vývojáři 1C mysleli na pohodlí programátorů a vytvořili speciální funkce, což značně usnadňuje proces změny vzhledu dat. Hlavním úkolem funkce je převést číslo, datum nebo booleovský typ do požadovaného tvaru řetězcového typu.

Popis funkce "Formátovat".

Syntaxe této funkce je jednoduchá – jako parametry můžete předat dva parametry. Nejprve vývojář určí hodnotu, která má být formátována. Aby 1C pochopil, jak změnit hodnotu, programátor specifikuje druhý parametr jako řetězcovou hodnotu obsahující předdefinované operandy. Právě hodnota tohoto řádku určuje, jak uživatelé uvidí data v přehledu.

FormattedValue = Format(VariableFormatting, TextFormatString);

Pokud parametr "FormatString" není nastaven, 1C převede zadanou hodnotu na řetězec. Mějte na paměti, že prázdné datum a 0 budou převedeny na prázdný řetězec, což se uživatelům nemusí líbit. Každý parametr ve formátovacím řetězci je kombinací názvu, symbolu "=" a hodnoty uvedené v uvozovkách. To vám umožní zahrnout znaky používané při psaní formátovacího řetězce funkce Formát v 1C.

Do zobrazení dat můžete vložit libovolný znak, kromě těch, které se používají v syntaxi zápisu formátovacího řetězce. Pokud je potřeba toto omezení obejít, použijte jednoduché uvozovky. Toto řešení také pomůže v situacích, kdy může být symbol nesprávně interpretován kompilátorem.

Pro pohodlí vývojářů má 1C vestavěný konstruktor formátovacích řetězců. Lze k němu přistupovat v modulech prostřednictvím kontextového menu nebo v ACS prostřednictvím míst poskytnutých vývojáři. Takovou příležitost lze například nalézt v seznamu polí pro požadavek v sekci „Návrh“.

Nejdůležitější výhodou konstruktoru je, že okamžitě vidíte, jak budou vaše data nakonec vypadat. Po provedení nezbytných nastavení pro konkrétní typ dat v části „Příklad“ se zobrazí výsledek vašeho nastavení. V nepojmenovaném textovém poli dole najdete formátovací řetězec použitý k získání výsledku. Lze jej zkopírovat a použít v budoucnu, pokud vám výsledek zcela vyhovuje.

Konstruktor formátovacího řetězce může být velkým pomocníkem pro začínající vývojáře, ale zkušení programátoři s ním raději neztrácejí čas. Vývoj půjde mnohem rychleji, pokud znáte základní klíčové parametry formátovacího řetězce a používáte je bez volání konstruktoru.

Základní možnosti formátovacího řetězce

Naučit se všechny dostupné příkazy nebude fungovat a není to nutné. Vývojář potřebuje znát pouze některé oblíbené operace a jak je aplikovat. Asistenta syntaxe můžete kdykoli otevřít kompletní seznam možnosti formátování řetězce a vyberte tu, kterou chcete. Následující parametry mohou být užitečné pro programátora 1C při každodenní práci:

  • L je formát země, pro jejíž zástupce budou data zobrazena;
  • ChG - nastavuje seskupení číslic čísla;
  • FZ - nastavuje celkový počet skupin znaků celého čísla a zlomkové části čísla, které se zobrazí. Pokud není hodnota parametru NPV uvedena ve formátovacím řetězci s tímto klíčem, pak se zlomková část nezobrazí;
  • FDC je parametr, který určuje počet znaků v části čísla za desetinnou čárkou. Zaokrouhlování probíhá podle standardních pravidel matematiky;
  • CHS je parametr, který posouvá číslice čísla. Hodnota může být kladná – násobení 10, nebo záporná – dělení. Užitečný příkaz, pokud potřebujete zobrazit v jednom formuláři a pokračovat v práci s číslem v jiném;
  • FRD - nastavuje symbol, který odděluje zlomkovou a celočíselnou část čísla. Chcete-li nastavit znak, který odděluje skupiny celočíselné části, použijte "CHG". Chcete-li použít pevnou mezeru, použijte prázdný řetězec;
  • FHN - ukazuje použití úvodních nul. Hodnota tohoto parametru není nastavena;
  • DF je jednou z nejběžnějších možností formátovacího řetězce. Řídí formát data. V 1C pomocí příkazu "Formát" můžete zobrazit datum téměř v jakémkoli formátu, včetně zápisu názvu měsíce. Existuje mnoho možných hodnot, jejich seznam lze vidět v asistentu syntaxe;
  • BL a BI - nastavení reprezentace pro logický datový typ, resp. odpověď pro nepravda a pravdivá. Standardní „zaškrtnutí“ tak můžete nahradit libovolným slovem nebo frází, která je pro uživatele srozumitelnější.

Univerzálnost a pohodlí konstruktéra se staly klíčovými důvody popularity funkce „Formát“ mezi vývojáři 1C. Flexibilní nastavení vám pomůže nastavit jakékoli vzhledúdaje na žádost klienta.



Související články: