Obsah
Doplnění dodatečných údajů
1. Účel funkce
Funkce Doplnění dodatečných údajů slouží k hromadnému doplnění nebo změně hodnot dodatečných údajů u vybraných záznamů kusové zásoby.
Uživatel zadá požadované hodnoty v dialogu funkce a systém následně tyto hodnoty aplikuje na všechny vybrané záznamy.
Funkce umožňuje také určit, zda mají prázdné a nulové hodnoty přepsat hodnoty, které jsou již v jednotlivých záznamech uloženy.
2. Spuštění funkce
Funkci lze spustit pouze v případě, že je vybrán alespoň jeden záznam kusové zásoby.
Pokud není vybrán žádný záznam, systém zobrazí chybové hlášení:
<blockquote>
Nebyly vybrány žádné záznamy.
</blockquote>
Funkce je navržena jako hromadná, proto se při jejím spuštění nepřebírají hodnoty ze záznamu, na kterém je aktuálně nastaven focus.
Místo toho je vždy vytvořen nový prázdný objekt CDodatecneUdaje, který slouží jako zdrojový objekt pro hodnoty zadané uživatelem.
3. Dialog pro zadání údajů
Po spuštění funkce se zobrazí dialog Doplnění dodatečných údajů.
Dialog obsahuje systémem předdefinované atributy a umožňuje uživateli do pohledu přidat také další atributy.
Hodnoty zadané v dialogu jsou následně použity jako zdroj hodnot pro všechny vybrané záznamy.
Příklad
Uživatel vybere 20 kusů zásoby a spustí funkci.
V dialogu zadá například:
| Atribut | Hodnota |
|---|---|
| Výrobce | ACME |
| Číslo výrobce | 12345 |
| Poznámka | Kontrola provedena |
| Počet kusů | 10 |
Po potvrzení dialogu budou tyto hodnoty podle pravidel funkce aplikovány na vybraných 20 záznamů.
4. Atributy podporované funkcí
Systém automaticky zjišťuje atributy, které jsou v dialogu skutečně dostupné v aktuálním pohledu.
Zpracovány jsou atributy podporovaných komponent:
- numerické pole,
- alfanumerické pole,
- textové pole,
- checkbox.
Ostatní typy komponent nejsou touto funkcí podporovány, například:
- datum,
- combobox,
- další nepodporované typy komponent.
Do zpracování jsou zahrnuty pouze atributy, které mají definovaný bindingName.
Atributy patřící do skupiny dotahovanaData jsou ze zpracování automaticky vyloučeny.
5. Dodatečné údaje a kusová zásoba
Dodatečné údaje jsou uloženy v objektu CDodatecneUdaje, který je navázán na záznam CKusZasoba.
U starších záznamů nemusí být tato vazba vytvořena. Pokud systém při zpracování zjistí, že záznam kusové zásoby nemá objekt dodatečných údajů vytvořen, automaticky jej založí.
Současně jsou nastaveny systémové vazební údaje:
typZ = TLS,typZIdpk = IDPK záznamu kusové zásoby.
Uživatel tyto hodnoty v rámci této funkce nezadává.
6. Zpracování hodnot
Pro každý vybraný záznam systém postupně zpracuje všechny atributy, které byly zjištěny v aktuálním pohledu.
Hodnota se získá ze zdrojového objektu vytvořeného při spuštění funkce a následně se zapíše do odpovídajícího atributu cílového záznamu.
Rozhodující je nastavení checkboxu:
„Vynulovat nevyplněné atributy“
7. Checkbox „Vynulovat nevyplněné atributy“
Checkbox je ve výchozím stavu nezaškrtnutý.
Jeho význam je následující:
Checkbox není zaškrtnutý
Prázdné nebo nulové hodnoty se nepřenášejí do cílového záznamu.
Pokud je tedy cílový atribut již vyplněn, zůstane jeho původní hodnota zachována.
Za nevyplněnou hodnotu jsou v aktuální implementaci považovány:
BigDecimal=0,Integer=0,Short=0,- prázdný
Character, - prázdný nebo pouze mezerový
String.
Příklad
Cílový záznam obsahuje:
| Atribut | Původní hodnota |
|---|---|
| Výrobce | ACME |
| Číslo výrobce | 12345 |
| Poznámka | Kontrola provedena |
Uživatel v dialogu zadá:
| Atribut | Nová hodnota |
|---|---|
| Výrobce | ABC |
| Číslo výrobce | 0 |
| Poznámka | prázdná hodnota |
Checkbox není zaškrtnutý.
Výsledek:
| Atribut | Výsledná hodnota |
|---|---|
| Výrobce | ABC |
| Číslo výrobce | 12345 |
| Poznámka | Kontrola provedena |
Hodnota výrobce se přepíše, protože obsahuje hodnotu ABC.
Číslo výrobce zůstane 12345, protože zadaná hodnota 0 je při tomto nastavení ignorována.
Poznámka zůstane Kontrola provedena, protože prázdná hodnota nepřepisuje již existující hodnotu.
8. Checkbox je zaškrtnutý
Pokud uživatel zaškrtne „Vynulovat nevyplněné atributy“, systém nebude prázdné a nulové hodnoty ignorovat.
Hodnoty zadané ve zdrojovém objektu se zapíší do cílového záznamu včetně hodnot reprezentujících prázdný nebo nulový údaj.
Příklad
Výchozí stav záznamu:
| Atribut | Původní hodnota |
|---|---|
| Výrobce | ACME |
| Číslo výrobce | 12345 |
| Poznámka | Kontrola provedena |
Uživatel zadá:
| Atribut | Nová hodnota |
|---|---|
| Výrobce | ABC |
| Číslo výrobce | 0 |
| Poznámka | prázdná hodnota |
Checkbox je zaškrtnutý.
Výsledek:
| Atribut | Výsledná hodnota |
|---|---|
| Výrobce | ABC |
| Číslo výrobce | 0 |
| Poznámka | prázdná hodnota |
V tomto režimu tedy může funkce sloužit také k vynulování nebo vyprázdnění již existujících hodnot.
9. Atributy, které nejsou v pohledu
Funkce zpracovává pouze atributy, které jsou součástí aktuálního pohledu a které systém rozpozná jako podporované atributy.
Atributy, které v pohledu nejsou, nejsou funkcí měněny.
Příklad
Záznam obsahuje:
| Atribut | Původní hodnota |
|---|---|
| Výrobce | ACME |
| Číslo výrobce | 12345 |
| Poznámka | Kontrola |
| Revize | 5 |
V pohledu jsou pouze:
- Výrobce,
- Číslo výrobce,
- Poznámka.
Atribut Revize se do zpracování nezařadí a jeho hodnota 5 zůstane beze změny.
10. Hromadné zpracování
Pokud uživatel vybere více než jeden záznam, systém před zahájením samotného zpracování zobrazí potvrzovací dialog.
Dialog informuje uživatele o počtu záznamů, které budou změněny.
Příklad
Uživatel vybere 35 záznamů.
Po potvrzení dialogu s údaji se zobrazí upozornění:
<blockquote>
Bude změněno 35 záznamů. Chcete pokračovat?
</blockquote>
Pokud uživatel změnu nepotvrdí, žádný záznam se nezmění.
Pokud změnu potvrdí, systém začne postupně zpracovávat všech 35 vybraných záznamů.
U jediného vybraného záznamu se tento potvrzovací dialog nezobrazuje.
11. Příklad kompletního použití
Uživatel chce u 100 kusů zásoby nastavit výrobce a případně odstranit starou hodnotu čísla výrobce.
V pohledu má k dispozici:
- Výrobce,
- Číslo výrobce,
- Poznámku,
- checkbox „Vynulovat nevyplněné atributy“.
Varianta A – checkbox není zaškrtnutý
Uživatel zadá:
- Výrobce =
ACME, - Číslo výrobce =
0, - Poznámka = prázdná hodnota.
Výsledek:
- Výrobce se nastaví na
ACME, - Číslo výrobce se nezmění,
- Poznámka se nezmění.
Tento režim je vhodný v případě, kdy chce uživatel změnit pouze vyplněné hodnoty a ostatní existující údaje zachovat.
Varianta B – checkbox je zaškrtnutý
Uživatel zadá stejné hodnoty:
- Výrobce =
ACME, - Číslo výrobce =
123, - Poznámka = „Poznámka 1“
Výsledek:
- Výrobce se nastaví na
ACME, - Číslo výrobce se nastaví na
0, - Poznámka se vyprázdní.
Tento režim umožňuje kromě doplnění hodnot také vynulovat nebo vyprázdnit stávající hodnoty.
12. Chybové stavy
Pokud během zpracování dojde k chybě při nalezení nebo použití odpovídajícího atributu, je zpracování ukončeno a chyba je předána zpět do GUI.
GUI následně zobrazí chybové hlášení uživateli.
Mezi možné technické příčiny patří například:
- neexistující getter pro požadovaný atribut,
- neexistující setter,
- nekompatibilní typ hodnoty,
- chyba při práci s atributem,
- jiná chyba vzniklá při dynamickém zpracování atributů.
13. Shrnutí pravidel
| Situace | Chování |
|---|---|
| Není vybrán žádný záznam | Funkce se nespustí a zobrazí chybu |
| Je vybrán 1 záznam | Zobrazí se dialog pro zadání hodnot |
| Je vybráno více záznamů | Po zadání hodnot se zobrazí potvrzení hromadné změny |
| Checkbox není zaškrtnutý | Nulové a prázdné hodnoty se u podporovaných typů nepřenášejí |
| Checkbox je zaškrtnutý | Nulové a prázdné hodnoty se přenášejí |
| Atribut není v pohledu | Atribut se nemění |
Atribut dotahovanaData | Atribut je ze zpracování vyloučen |
Starší záznam nemá CDodatecneUdaje | Objekt je automaticky vytvořen |
Checkbox typu Boolean = false | Hodnota se zapíše i při nezaškrtnutém „Vynulovat nevyplněné atributy“ |
| Dialog není potvrzen | Zpracování se neprovede |
| Hromadná změna není potvrzena | Zpracování se neprovede |