V knihovně filtrů i v nastavení událostí je možné zajímavě pracovat s výchozí hodnotou pro datumová pole a jejich formátování.  V tomto článků si řekneme pár základních pravidel a pro zkušenější přidáme odkaz na další dokumentaci.

Formátování datumu a času

Přehledné zobrazení data může rozhodovat o tom, jestli uživatel nebude dělat zbytečné chyby nebo něco nepřehlédne. Proto je vhodný formát důležitý. Formátování datumových polí se nejvíce používá v Knihovně filtrů v nastavení sloupců.

Definice formátování vychází přímo od Microsoftu a umožňuje základní formáty nastavit rychle a jednoduše. Zároveň máte možnost si vyhrát a nastavit datum přesně tak, jak potřebujete. Při formátování je nutné respektovat, že velká a malá písmena mají různý význam a proto by jste to neměli poplést.

Základní formátování jedním písmenkem:

Specifikátor formátu
Popis
Příklady
"d"
Vzor krátkého formátu data.
14.6.2019
"D"
Vzor dlouhého formátu data.
středa 14. června 2019
"g"
Vzor obecného formátu data/času (krátkého formátu času).
 14.6.2019 14:30
"G"
Vzor obecného formátu data a času (dlouhého formátu času).
14.6.2019 14:30:01
Image Placeholder

Další možností je "vyskládat" si vlastní verzi formátování. K tomu můžete použít další písmenka. Jejich seznam a podrobnosti jsou v odkazu na konci této kapitoly.

Pokud například potřebujete zobrazit jen měsíc a rok, stačí do formátovacího pole napsat tato písmena:

MMMM yyyy

a dostanete takovýto výsledek:


VAROVÁNÍ: Při formátování si dejte pozor na jednu zvláštní zákeřnost. Zatímco měsíc zadáváte velkým písmenkem "M", tak minuty mají pro změnu malé "m". I zkušenému programátorovi se v zápalu formátování stane, že si to poplete. Chyba často není na první pohled poznat, protože se můžete trefit do nešťastné kombinace mm-yyyy např. 14.06.2019 13:08. To pak vyjde 08-2019 místo 06-2019.

Více se můžete dočíst na tomto odkazu: Řetězce formátu vlastní data a času

 

Výchozí hodnoty pro datum

V Knihovně filtrů i v úkonech můžete při nastavování výchozích hodnot využít malinký kousek kódu, který umožní vypočítat výchozí datum. Používá se k tomu programátorský zápis, ale nejde o nic těžkého.

První věc, kterou musíte vědět, že budeme používat dva základní příkazy:

Příkaz, který vrací datum a čas:

=Now()

Příkaz, který vrací jen datum:

=Today()

VAROVÁNÍ: Pří výběru musíte brát v potaz, jaký dopad má časová složka v datumu. Pokud chcete vyfiltrovat všechny spisy zadané do dneška, tak ve sloupci Zadáno bude např. 14.6.2019 13:40. Pokud by jste např. pro parametr Datum do použili pro výchozí hodnotu Today, tak vrátí 14.6. 2019 00:00. Každý spis zadaný po půlnoci se tedy ve filtru nezobrazí. Použitím Now dojde k nastavení aktuálního datumu i s časem, např. 14.6.2019 13:44 a zahrne všechny spisy zadané do této hodiny a minuty.

 


 

Ještě více zajímavou funkcí je možnost použít rozšířenou variantu. K hlavnímu slovu přidáte funkci, která umožní datum  někam posunout. Typickým příkladem je posun o počet dnů:

=Today.AddDays(-7)

Tato funkce nastaví výchozí datum o sedm dnů zpět. V Evoliu se tato možnost hodně využívá a bez ní by filtry neměly takovou pružnou konfiguraci.

Nejčastěji používané funkce:

  • AddDays(-7)
  • AddMonths(-1)
  • AddYears(-1)

Více se můžete dočíst na tomto odkazu: Datum a čas v C#