Objekt TKAPOrder: Porovnání verzí
Z K.A.P.
Skočit na navigaciSkočit na vyhledáváním |
m |
||
| Řádek 27: | Řádek 27: | ||
property Vystavil: String; | property Vystavil: String; | ||
property CelkemBezDPH: Double; | property CelkemBezDPH: Double; | ||
| − | property CelkemSDPH : Double; | + | property CelkemSDPH: Double; |
| − | property ProcVykrKc | + | property ProcVykrKc: Double; |
| − | property ProcVykrytiMj : Double; | + | property ProcVykrytiMj: Double; |
| − | property Sleva | + | property Sleva: Double; |
property MaxDatumDodani: TDateTime; | property MaxDatumDodani: TDateTime; | ||
| − | property PocetPalet | + | property PocetPalet: Double; |
| − | property CelkHmotnost | + | property CelkHmotnost: Double; |
| − | property ExtCisloObj | + | property ExtCisloObj: String; |
| − | property CasDodani | + | property CasDodani: String; |
| − | property TypDokladuSkl : byte; | + | property TypDokladuSkl: byte; |
| − | property PASIdObj | + | property PASIdObj: longint; |
| − | property IndivCena | + | property IndivCena: String; |
| − | property PocetTisku | + | property PocetTisku: byte; |
| − | property PocetOprav | + | property PocetOprav: byte; |
| − | property Priznaky | + | property Priznaky: byte; |
| − | property Mena | + | property Mena: String; |
| − | property Kurz | + | property Kurz: Double; |
| − | property Priznaky2 | + | property Priznaky2: byte; |
| − | property Priznaky3 | + | property Priznaky3: byte; |
| − | property MemoA | + | property MemoA: TStringList; |
| − | property MemoB | + | property MemoB: TStringList; |
| − | property MemoI | + | property MemoI: TStringList; |
| − | property LastError: String; | + | property LastError: String; {obsahuje popis poslední nahlášené chyby} |
constructor Create(AktualizaceCen: Boolean); | constructor Create(AktualizaceCen: Boolean); | ||
destructor Destroy; | destructor Destroy; | ||
Verze z 11. 2. 2015, 20:01
Pomocí objektu TKAPOrder lze pracovat s požadavky (čili objednávkami zákazníků). Objekt je dostupný pouze ve skladovém programu. Při vytvoření nové instance objektu se otevřou tabulky SKLADKAR, SKLADZAS a MEMO a pomocí těchto tabulek pak program zjišťuje požadované informace. Doporučujeme proto nevytvářet současně mnoho instancí třídy TKAPOrder a v případě, že se objekty již nevyužívají, tak je uvolnit.
Objekt TKAPOrder
TKAPOrder = class
property Sklad: word;
property Prijem: Boolean;
property CisloObjednavky: longint;
property Pozadovano: TDateTime;
property Zalozeno: TDateTime;
property Podnik: byte;
property Jmeno: String;
property Jmeno2: String;
property Ulice: String;
property Mesto: String;
property Telefon: String;
property PSC: String;
property ICO: String;
property DIC: String;
property Radek1: String;
property Radek2: String;
property Osoba: String;
property Uhrada: byte;
property Prevedeno: byte;
property Doprava: byte;
property Zakazka: String;
property Vystavil: String;
property CelkemBezDPH: Double;
property CelkemSDPH: Double;
property ProcVykrKc: Double;
property ProcVykrytiMj: Double;
property Sleva: Double;
property MaxDatumDodani: TDateTime;
property PocetPalet: Double;
property CelkHmotnost: Double;
property ExtCisloObj: String;
property CasDodani: String;
property TypDokladuSkl: byte;
property PASIdObj: longint;
property IndivCena: String;
property PocetTisku: byte;
property PocetOprav: byte;
property Priznaky: byte;
property Mena: String;
property Kurz: Double;
property Priznaky2: byte;
property Priznaky3: byte;
property MemoA: TStringList;
property MemoB: TStringList;
property MemoI: TStringList;
property LastError: String; {obsahuje popis poslední nahlášené chyby}
constructor Create(AktualizaceCen: Boolean);
destructor Destroy;
function SetCustomer(ICO: String): Boolean;
function LoadOrderHeaderFromDataset(Dataset: TDataset): Boolean;
function LoadOrderItemsFromDataset(Dataset: TDataset; var ChybaNaRadku: longint): Boolean;
procedure ClearItems;
function AddOrderItem(Kod: String; Pocet, PocetBal: Double; AutoPocetBal: Boolean; Cena: Double; Identifikace: String): Boolean;
function SaveNewOrder: Boolean;
end;
| Funkce | Popis |
|---|---|
| constructor Create(AktualizaceCen: Boolean) | Parametr určuje, zda mají být ceny v objednávce počítány automaticky se zohledněním individuálních cen odběratele nebo budou určeny uživatelským skriptem při přidávání jednotlivých položek. vytvořené objekty nezapomeňte uvolnit pomocí metody Free |
| function SetCustomer(ICO: String): Boolean | Podle údaje IČO dohledá zákazníka a naplní hlavičku objednávky podle fakturačního místa z adresy. Pokud odběratel není nalezen, tak je odběratel v objednávce vynulován. Podle zákazníka jsou určeny i individuální ceny pro případ automatické aktualizace cen. Funkce vrací true, pokud je zákazník nalezen. |
| function LoadOrderHeaderFromDataset(Dataset: TDataset): Boolean | Funkce načte z tabulky určené parametrem Dataset hlavičku objednávky. Struktura vstupní tabulky (jména polí) musí odpovídat struktuře tabulky SkladOBJ ze skladového programu. Pokud tabulka obsahuje pole MEMOA nebo MEMOB, tak jsou informace z tohoto pole přeneseny do vlastností MemoA, popř. MemoB (typu StringList). Pole EMAIL, RESPPERSON, PHONE, GUID, FAX, MOBILE, CONTACTEMAIL, SENDINFO jsou uložena ve formátu JménoPole=Hodnota do údaje MemoI. Pokud je ve vstupní tabulce definováno pole Mena a toto pole obsahuje cizí měnu, tak je automaticky dohledán v kurzovém lístku kurz a nastaví se příznaky pro používání cizí měny. Při přidávání položek jsou pak ceny uváděny v cizí měně. |
| function LoadOrderItemsFromDataset(Dataset: TDataset; var ChybaNaRadku: longint): Boolean | Funkce načte z tabulky určené parametrem Dataset položky objednávky. Jména polí mohou být následující: Autokod nebo GUID (nepovinné jednoznačné označení záznamu), Kod nebo ProductCode (kód zboží z tabulky skladových karet), Pocet nebo Quantity (objednaný počet MJ), BaleniX nebo QuantityP (objednaný počet balení - důležité pro výpočet vázaných obalů; pokud pole není definováno, tak se počet balení určí automaticky), Cena nebo Price (cena bez DPH za MJ; pokud je nastavena automatická aktualizace cen, tak se toto pole ignoruje), Identifik nebo Comment (nepovinné pole, max. 30 znakový komentář k položce). Pokud některá položka objednávky nejde importovat, tak je do údaje CisloRadku uloženo pořadové číslo řádku, kde nastala chyba (od 1). Předchozí řádky zůstávají načteny. |
| procedure ClearItems | Tato procedura vymaže interní seznam položek objednávky. |
| function AddOrderItem(Kod: String; Pocet, PocetBal: Double; AutoPocetBal: Boolean; Cena: Double; Identifikace: String): Boolean | Funkce přidá jednu položku objednávky. Krta určená kódem zboží musí existovat v seznamu skladových karet, počet musí být nenulový. Pokud je nastavena automatická aktualizace cen, tak se parametr Cena ignoruje a cena je určena automaticky programem se zohledněním individuální ceny odběratele. Pokud je parametr AutoPocetBal nastaven na true, tak se parametr PocetBal ignouje a počet balení je určen automaticky. |
| function SaveNewOrder: Boolean | Funkce uloží hlavičku objednávky (přidělí jí číslo dle číselné řady požadavků), položky a poznámky uložené v MemoA, memoB a MemoI. Pokud je vrácena hodnota true, tak je objednávka uložena do databáze. Může se ale stát, že se uloží objednávka s položkami, ale poznámky se nepodaří uložit (podrobnosti je v tomto případě možné zjistit z pole LastError). Pokud je vrácena hodnota false, tak se objednávku nepovedlo uložit (a není uložena ani hlavička, ani položky) |