Díky za život nábojnice, pro přebíjení je to hodně důležité. Akorát se mi bohužel nedaří vymyslet např. možnost rozvážit (už přeformátované a pokrácené) nábojnice do více skupin, ani zaznamenat, zda (a jak) se náboj krimpuje, apod. O sledování počtu vystřelení/přebití nemluvě. Proto bych rád zkusil navrhnout malinko jiný přístup, který by, myslím, mohl řešit vše, a to za cenu docela malých úprav. ~~~ Každý krok úpravy nábojnice by byl representovaný novým záznamem nábojnice. Ten by obsahoval odkaz na původní a informaci, jak vznikl. Jinak by fungoval přesně stejně, jak záznamy fungují nyní; skoro nikde jinde by se skoro nic nemuselo měnit, a risiko nějakých problémů se starším kódem by bylo prakticky nulové. Viz prosím také níže „Vlastně z hlediska toho, jak se v aplikaci pracuje s nábojnicemi...“, jenž to ilustruje na příkladu. V DB by stačilo přidat do „nábojnice“ tři nové položky: odkaz na rodičovský záznam název operace, jež tuto nábojnici vytvořila booleovský atribut „konečná“ (obešli bychom se bez něj, pokud by se udělalo vyřazování jako samostatná možnost — což mi přijde implementačně spíš složitější, nicméně to samozřejmě záleží na Tobě :)) ~~~ V GUI by bylo úprav jen pár: v dlažidici by se vedle „Nákup“ objevilo „Upravit“, což by otevřelo dialog podobný vytvoření nové, ale jednodušší; v něm by byl jen: - popup „Operace“ s možností vybírat existující a přidávat nové, podobně jako třeba u Aktivit; jedna předdefinovaná by byla „Vyřadit“ - položky „Obrázek“ (výchozí jako v rodiči), „Váha“ (výchozí jako v rodiči), „Aktuálně skladem“ (výchozí 0, maximum počet kusů v rodiči), „Hlídat pod“ (výchozí jako v rodiči) a „Poznámka“ (výchozí prázdná) Pokud uživatel dá „Vytvořit položku“, pak aplikace vytvoří nový záznam (stejně jako po „+ Přidat nábojnice“) do odkazu na rodičovskou tam vyplní tu, v níž se kleplo na „Upravit“ položky z dialogu zapíše, jak jsou zadané jinak vše z rodičovské čistě jen překopíruje a ještě z rodičovské odečte počet kusů („Aktuálně skladem“) té nové. Při operaci „Vyřadit“ se navíc nastaví „konečná“, ale pořád uživatel může přidat poznámku nebo fotku, bude-li chtít. Tyto záznamy odvozených nábojnic by fungovaly přesně stejně, jako ty stávající, a to všude (např. by kterýkoli z nich šel vybrat pro přebíjení/vývoj navážky, byly by nad nimi normální statistky, atd.) Jediná výjimka by byl záznam „konečná“; ten by neměl možnost „Upravit“, ani by nešel vybrat pro přebíjení. Jeho účelem je co nejjednodušší možnost vyřazení vadných kusů s možností přidat poznámku/fotku. Pokud by ses rozhodl to udělat jako samostatnou nezávislou službu, pak tento atribut samozřejmě nepotřebujeme, a dále by se to zjednodušilo (ale zase za cenu implementace toho samotného vyřazování, což myslím asi by bylo pracnější). Čistě jen pro pohodlí bych přidal ve skladu pár kosmetických drobností: možnost zobrazit jen kořenové nábojnice, asi ideální jako výchozí zobrazení; možnost zobrazit pouze všechny odvozené z jednoho vybraného kořene. Ještě by to chtělo v dlaždici odvozené nábojnice zobrazovat „<název kořenové>: <operace>: <poznámka>“ odvozené nábojnice by vůbec neměly „Nákup“ v detailu tam, kde je nyní přehled nákupů, by měly zobrazenou cestu od kořene s vypsanými operacemi a poznámkami. ~~~ Konkrétní příklad, dejme tomu, že mám ve skladu jen jeden záznam nábojnice „Lapua“, 1000 ks. Dám v něm „Upravit“, operace „Vážení“, počet 300, váha 156 gr Pak v něm dám „Upravit“, operace „Vyřadit“, počet 5, poznámka „Hned při nákupu zdeformované!“ a fotku těch deformit Znovu v něm dám „Upravit“, operace „Vážení“, počet 200, váha 158 gr. V tuto chvíli bych měl ve skladu čtyři záznamy: „Lapua“, 495 ks „Lapua: Vážení: 156 gr“, 300 ks „Lapua: konečná: Hned při nákupu zdeformované“, 5 ks „Lapua: Vážení: 158 gr“, 200 ks V posledním z nich dám „Upravit“, operace „Krácení“, počet 50, poznámka „44.65 mm“ Teď mám záznamů pět, s tím, že ten „Lapua: Vážení: 158 gr“ už má jen 150 ks a objevil se nový „Lapua: Krácení: 44.65 mm“, 50 ks Zase v tom novém dám „Upravit“, operace „Formování krčku“, počet 10, poznámka „bushing .246“ — opět mi to přidá nový záznam (a „Lapua: Krácení: 44.65 mm“ už bude mít jen 40). Když si teď otevřu ten nejnovější záznam „Lapua: Formování krčku: bushing .246“ v Detailu, tak tam, kde současné nábojnice mají seznam nákupů (a ty kořenové bez předka by jej měly i nadále), on bude mít tabulku nadřízených až ke kořeni, tedy v tuto chvíli tři řádky, od nejstaršího: datum/čas: Lapua datum/čas: Vážení: 158 gr datum/čas: Krácení: 44.65 mm. Kterýkoli ze všech pěti záznamů (jen vyjma toho „konečná“) je úplně normální záznam nábojnic; mohu každý z nich vybrat pro přebíjení stejně dobře, jako kterýkoli jiný, normálně upravovat, jsou ve statistikách, atd. Ty novinky tedy (vyjma „konečné“) vůbec nikde jinde nic nijak v celé aplikaci neovlivní a vše funguje stejně jako dosud. ~~~ Vlastně z hlediska toho, jak se v aplikaci pracuje s nábojnicemi (jen vyjma „konečné“) by se to technicky nijak nelišilo od případu, kdy by se v současné versi neměnilo nic, a já bych ty nové záznamy přidával ručně a vše (včetně operace) bych psal do poznámky. Tedy např. namísto „dám „Upravit“, operace „Vážení“, počet 300, váha 156 gr“ bych ručně přidal novou nábojnici přes „+ Přidat nábojnice“ ručně do ní překopíroval všechny atributy z původní Lapua dal jí počet 300 a v původní nábojnici počet adekvátně ručně snížil nastavil bych v ní váhu 156 gr a do poznámky bych napsal: „upraveno z Lapua, vážením“. Tak bych to mohl dělal už teď a fungovalo by to provozně skoro stejně. Ovšem aplikace by těmi výše popsanými jednoduchými mechanismy mohla tuhle práci zásadně usnadnit a umožnila by také mnohem snáze si ve výsledcích udržovat přehled. Ale funkčně by se to nijak nelišilo :) ~~~ Přebité náboje by získaly také tlačítko „Upravit“ s velmi podobnou funkčností. Dejme tomu, že přebiji 5 ks s nábojnicí „Lapua: Formování krčku: bushing .246“, takže mám odpovídající náboj; v něm je odkaz na tu nábojnici, jejíž skladový počet se přebitím snížil na 5 (to vše jsou stávající nezměněné funkčnosti). Novinka (skoro totožná s úpravami nábojnic popsanými výše) by byla možnost klepnout na „Upravit“. Opět by se otevřel týž jednoduchý dialog, jen jeho Operace by měly vlastní nezávislý seznam možností (opět s možností vybrat z popupu nebo přidat novou), tentokrát namísto „Vyřazení“ by tam standardně byla „Delaborace“. Zadám tedy např. operaci „Krimpování“, počet 3, poznámku „roll crimp“. A aplikace by pak za mne udělala dvě věci zároveň: vytvořila by nový záznam nábojnice „Lapua: Krimpování: roll crimp“, počet 0 (protože je použita v nábojích), rodič „Lapua: Formování krčku: bushing .246“ a vytvoří i nový záznam náboje, 3 ks, s touto novou nábojnicí. Ta „delaborace“ by se lišila jen ve dvou drobných detailech: nevytvoří nový záznam náboje, jen (přesně stejně jako výše) nábojnice; a střelu vrátí do skladu. Podstatné je, že pořád všechny objekty fungují stejně jako dosud, nemá to vliv na nic jiného nikde jinde v aplikaci — kterýkoli z těchto nábojů mohu stejně dobře upravovat, střílet, testovat, znovu přebíjet (navýším-li počet nábojnic), cokoli. ~~~ Hlavní (ale velmi jednoduchá :)) novinka by pak byla při návratu ze střelnice, kde by mezi „vystříleno“ a „vrátit do trezoru“ přibyl (jen pro ty, kdo přebíjejí) nový sloupec „vrácené nábojnice“. V něm číslo od 0 do „vystříleno“, výchozí stejně jako vystříleno. Pokud v něm bude >0, pak se zároveň s návratem vytvoří další záznam nábojnice, přesně stejným postupem jako když u záznamu vybírám „Upravit“. Operace se vyplní na „Vystříleno“, rodičem bude nábojnice, jež byla použita v daném náboji. Nic víc. (No, mohl by tam být ještě odkaz do deníku na konkrétní záznam toho střílení; to by bylo šikovné, pokud by to nebylo moc pracné. Ale smysl by to mělo i bez toho.) ~~~ A to je vlastně celé — pokud něco zásadního nepřehlížím, mělo by to snad být plně funkční, velmi pohodlné provozně, a naprosto flexibilní pro nejrůznější potřeby uživatelů. Chci vidět, kolikrát byla nábojnice vystřelená? Otevru si její Detail a podívám se, kolikrát v seznamu nadřízených má operaci „Vystříleno“. A kromě toho tam také vidím vše ostatní: kolikrát (pokud vůbec) byla žíhaná, kolikrát a jak byla formátovaná, atd. atd. atd. Někdo si nechce zaznamenávat úpravy nábojů a vést jen jednoduché jednorázové „Přebití“, jako je tomu nyní? Není to žádný problém a nic se mu tím nijak nezkomplikuje; prostě jen v náboji nepoužije jeho tlačítko „Upravit“. Atd. (Tedy — ony se určitě při případné implementaci objeví nějaké další potřebné úpravy a vylepšení a problémy k řešení; ale troufnu si tvrdit, že by neměly být ani zásadní, ani rozsáhlé.) Hmmm... co Ty na to?