Counted Column¶
Counted Column automaticky generuje sekvenční čísla pro položky seznamu. Hodnota se vypočítá podle konfigurovatelného výrazu s podporou čítačů, datových tokenů a podmíněných pravidel.
Základní konfigurace¶
Minimální konfigurace s ročním čítačem:
{
"Expression": "{Year}-{$Counter}",
"Counters": [
{
"Name": "Counter",
"Variable": "CC_{ListId}_{Year}",
"Padding": 4,
"PaddingCharacter": "0"
}
]
}
Výsledek: 2025-0001, 2025-0002, ...
Vlastnosti¶
- Expression
"Expression": "{Year}-{$Counter}"— Šablona výrazu pro generování hodnoty. Obsahuje tokeny a reference na čítače. [Povinné] - Counters
"Counters": [...]— Definice čítačů použitých ve výrazu. [Povinné] - AlwaysUpdate
"AlwaysUpdate": true— Přegeneruje hodnotu při každé aktualizaci položky. Výchozí hodnota:false. - OnDemand
"OnDemand": true— Hodnota se generuje pouze při explicitním požadavku. Generování se spustí, když je hodnota pole nastavena na-1(např. pomocí workflow akce Set Field Value). Výchozí hodnota:false. - DisableWebhook
"DisableWebhook": true— Vypne zpracování webhookem. Výchozí hodnota:false. - ConditionalExpressions
"ConditionalExpressions": [...]— Podmíněné výrazy, které přepíší hlavní výraz na základě JavaScript podmínky. [Nepovinné] - SyncElement
"SyncElement": {...}— Konfigurace synchronizace vypočtené hodnoty do jiného pole. [Nepovinné] - Resources
"Resources": [...]— Lokalizační zdroje. [Nepovinné]
Vlastnosti čítače (Counter)¶
- Name
"Name": "Counter"— Název čítače. Ve výrazu se odkazuje jako{$Name}. [Povinné] - Variable
"Variable": "CC_{ListId}_{Year}"— Šablona proměnné definující rozsah čítače. Podporuje tokeny. [Povinné] - InitialValue
"InitialValue": 0— Počáteční hodnota čítače. Výchozí:0. - Mode
"Mode": "Default"— Formát výstupu:Default(číslo),Roman(římské číslice),Hex(šestnáctkově),Letter(písmena). Výchozí:Default. - Padding
"Padding": 4— Minimální délka čísla s doplněním znaků.0= bez doplnění. - PaddingCharacter
"PaddingCharacter": "0"— Znak pro doplnění. Výchozí:0.
Dostupné tokeny ve výrazu¶
Datové tokeny¶
| Token | Popis |
|---|---|
{Year} |
Aktuální rok (např. 2025). |
{Month} |
Aktuální měsíc (01–12). |
{Day} |
Aktuální den (01–31). |
{date:format} |
Aktuální datum ve vlastním formátu .NET (např. {date:yy} = 25). |
Kontextové tokeny¶
| Token | Popis |
|---|---|
{ListId} |
GUID seznamu. |
{ListUrl} |
URL seznamu. |
{ListName} |
Název seznamu. |
{WebUrl} |
URL webu. |
{SiteUrl} |
URL site collection. |
{WebAppUrl} |
URL kořene webové aplikace. |
{CurrentUICultureName} |
Název aktuální jazykové kultury (např. cs-CZ). |
{ContentTypeId} |
ID typu obsahu položky. |
{ContentTypeName} |
Název typu obsahu položky. |
{FieldInternalName} |
Interní název aktuálního pole. |
{item:FieldName} |
Hodnota pole položky. |
{folder:FieldName} |
Hodnota pole nadřazené složky. |
JavaScript bloky¶
Ve výrazu lze použít JavaScript kód uzavřený do [[...]]:
{Year}-[[new Date().getMonth() > 6 ? 'H2' : 'H1']]-{$Counter}
SyncElement¶
Umožňuje zkopírovat vypočtenou hodnotu (nebo její transformaci) do jiného pole:
{
"SyncElement": {
"TargetElement": "s_displayNumber",
"Expression": "DOC-{value}"
}
}
- TargetElement — Interní název cílového pole (nebo více polí oddělených středníkem/čárkou).
- Expression — Výraz pro cílovou hodnotu. Token
{value}obsahuje vypočtenou hodnotu. Pokud není zadán, použije se přímo vypočtená hodnota.
Podmíněné výrazy¶
Pole ConditionalExpressions umožňuje různé výrazy podle podmínky. Vyhodnotí se první odpovídající podmínka:
{
"Expression": "{Year}-{$DefaultCounter}",
"Counters": [
{ "Name": "DefaultCounter", "Variable": "CC_{ListId}_{Year}", "Padding": 4 },
{ "Name": "InvoiceCounter", "Variable": "INV_{ListId}_{Year}", "Padding": 5 }
],
"ConditionalExpressions": [
{
"Condition": "'{item:ContentTypeName}' === 'Faktura'",
"Expression": "INV-{Year}-{$InvoiceCounter}"
}
]
}
Vlastnosti podmíněného výrazu:
- Condition — JavaScript podmínka. Tokeny se nahradí před vyhodnocením. [Povinné]
- Expression — Výraz použitý při splnění podmínky. [Povinné]
- SyncElement — Přepíše kořenový
SyncElementpro tento podmíněný výraz. [Nepovinné] - AlwaysUpdate — Přepíše kořenový
AlwaysUpdate. [Nepovinné] - DisableWebhook — Přepíše kořenový
DisableWebhook. [Nepovinné] - OnDemand — Přepíše kořenový
OnDemand. [Nepovinné]
Příklady¶
Příklad: Číslo smlouvy s pololetím¶
{
"Expression": "SM-{date:yy}[[new Date().getMonth() > 5 ? '2' : '1']]-{$Counter}",
"Counters": [
{
"Name": "Counter",
"Variable": "SM_{ListId}_{Year}",
"Padding": 5,
"PaddingCharacter": "0"
}
]
}
Výsledek: SM-251-00001 (první pololetí 2025)
Příklad: Číslo jednací s typem obsahu¶
{
"Expression": "{item:s_prefix}-{Year}/{$Counter}",
"Counters": [
{
"Name": "Counter",
"Variable": "CJ_{ListId}_{Year}_{item:s_prefix}",
"Padding": 4
}
],
"SyncElement": {
"TargetElement": "Title",
"Expression": "{value}"
}
}