Objekt TKAPOrder

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání

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;
   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)