Výběrem libovolného tématu níže získáte informace o nákupních objednávkách v edici Northwind Developer Edition.
Tato verze Dev Edition ukázkové aplikace Northwind Purchase Orders obsahuje jediný modul Nákupní objednávky. V edici Starter Edition se produkty nikdy nedojdou a nemusí se kupovat. Tato verze Dev Edition rozšiřuje schéma databáze (použité tabulky) v Northwind 2.0 Starter Edition a používá pokročilejší funkce. Stále je určena k tomu, aby vás seznámila s hlavními funkcemi Aplikace Microsoft Access, a ne k provozování konkrétní firmy.
-
Seznam nákupních objednávek je k dispozici na pásu karet. Obsahuje hypertextové odkazy pro otevření každé nákupní objednávky.
-
Seznam nákupních objednávek i pás karet mají tlačítko Nová nákupní objednávka, kterým se otevře nová prázdná nákupní objednávka. Nákupní objednávky můžete vytvořit také z formuláře Produkty >tlačítko Přeobjednat produkt .
-
Tlačítka v hlavičce předvedou nákupní objednávky prostřednictvím pracovního postupu odeslání, schválení, přijetí a uzavření. Odpovídající pole sledování ve formuláři jsou uzamčena, protože by se měla nastavit jenom programově kliknutím na tlačítka akcí.
-
Schválení nákupní objednávky vyžaduje oprávnění Ke schválení nákupu. Můžete se přihlásit jako Andrew Cencini, který má oprávnění, nebo si je můžete udělit v části System Správa > Oprávnění. Mějte na paměti, že vaše schopnost je jedním z mnoha důvodů, proč Northwind není aplikace pro produkční kvalitu. V reálném světě uživatelé nebudou moct zvýšit svá vlastní oprávnění.
-
Řádkové položky v nákupní objednávce jsou ověřeny s ohledem na jejich množství. Musí se jednat alespoň o minimální množství pro přeobjednání a v ideálním případě by měl mít zásoby zpátky alespoň na cílovou úroveň, jak je nastavená pro každý produkt.
-
Při přijetí nákupní objednávky se vyvolá zvláštní zpracování, které tyto produkty distribuuje na řádkové položky objednávky, které jsou ve stavu Žádné skladové zásoby , a nastaví je na Přiděleno. Zbývající množství se odešle do inventáře. Do tabulky StockTake se přidá záznam.
Tato část se zabývá pozoruhodnými podrobnostmi implementace formuláře nákupní objednávky frmPurchaseOrderDetails:
-
Formulář Nákupní objednávka získá data z jednoduchého dotazu qryPurchaseOrder (viz Vlastnost RecordSource ). Osvědčeným postupem je založit formulář pro zadávání dat na jednoduchém dotazu. Všimněte si, že do tohoto dotazu není nutné zahrnout tabulku PurchaseOrderDetails . Podrobnosti zpracovává podformulář. Dotaz se ale spojí s dalšími tabulkami a vybere pole StatusName, SubmittedBy a ApprovedBy jen pro čtení.
-
Formulář PurchaseOrderList může otevřít více instancí formuláře Nákupní objednávka. To je užitečné, protože oddělení nákupní objednávky se zabývá velkým množstvím přerušení a může při práci na první z nich muset otevřít další nákupní objednávky – nebo ji porovnat s třetí nákupní objednávky. Technika je popsaná tady.
-
VendorID získá hodnotu ze pole se seznamem se dvěma sloupci: skrytý sloupec ID a viditelný sloupec Popis. Taková pole se seznamem jsou svázaná s jednoduchými dvousloupcovými dotazy: viz vlastnost RowSource .
-
Při ukládání záznamu musí být vyplněna minimálně požadovaná pole. V edici Starter necháme výchozí chování Accessu; v této edici Dev je implementována uživatelsky přívětivější technika – jak je podrobně popsáno níže.
-
Když stav nákupní objednávky přejde na Přijato, vyvolá se speciální zpracování ( procedura AllocateToInventory) pro distribuci nového inventáře do objednávek, které čekají na tyto produkty.
OVĚŘENÍ
Ověřovací kód implementovaný v edici Northwind Dev vyžaduje pouze tři řádky kódu:
-
V Form_BeforeUpdate: Cancel = ValidateForm(Me)
-
V Form_AfterUpdate: ValidateForm_RemoveHighlights Já
-
V Form_Current: ValidateForm_RemoveHighlights Já
To je dobrý vzor, podle něhož je kód velmi samostatný, usnadňuje jeho implementaci všude. Profesionální vývojáři to můžou udělat ještě dál, například pomocí podtříd formulářů. (To je nad rámec cílů pro Northwind Dev.)
Samostatný ověřovací kód přijímá objekt formuláře k ověření. Potom zkontroluje podkladovou kolekci formulářů RecordsetClone, aby zjistila, které ovládací prvky jsou vázané na povinná pole, a zkontroluje, jestli mají hodnotu. Pokud ne, zvýrazní se.
-
Northwind 2.0 Developer Edition: Co byste měli vědět.
-
Northwind 2.0 Developer Edition: Všechna témata