Objekt TKAPOrder

Z K.A.P.
Verze z 11. 2. 2015, 19:10, kterou vytvořil Grepl (diskuse | příspěvky) (Nová stránka: 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 o...)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
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 read Objednavka.Sklad;
   property Prijem: Boolean read Objednavka.Prijem;
   property CisloObjednavky: longint read Objednavka.CisloObjednavky;
   property Pozadovano: TDateTime read GetPozadovano write SetPozadovano;
   property Zalozeno: TDateTime read GetZalozeno write SetZalozeno;
   property Podnik: byte read Objednavka.Podnik write Objednavka.Podnik;
   property Jmeno: AnsiString read GetJmeno write SetJmeno;
   property Jmeno2: AnsiString read GetJmeno2 write SetJmeno2;
   property Ulice: AnsiString read GetUlice write SetUlice;
   property Mesto: AnsiString read GetMesto write SetMesto;
   property Telefon: AnsiString read GetTelefon write SetTelefon;
   property PSC: AnsiString read GetPSC write SetPSC;
   property ICO: AnsiString read GetICO write SetICO;
   property DIC: AnsiString read GetDIC write SetDIC;
   property Radek1: AnsiString read GetRadek1 write SetRadek1;
   property Radek2: AnsiString read GetRadek2 write SetRadek2;
   property Osoba: AnsiString read GetOsoba write SetOsoba;
   property Uhrada: byte read Objednavka.Uhrada write Objednavka.Uhrada;
   property Prevedeno: byte read Objednavka.Prevedeno write Objednavka.Prevedeno;
   property Doprava: byte read Objednavka.Doprava write Objednavka.Doprava;
   property Zakazka: AnsiString read GetZakazka write SetZakazka;
   property Vystavil: AnsiString read GetVystavil write SetVystavil;
   property CelkemBezDPH: Double read GetCelkemBezDPH;
   property CelkemSDPH : Double read GetCelkemSDPH;
   property ProcVykrKc    : Double read GetProcVykrKc;
   property ProcVykrytiMj : Double read GetProcVykrytiMj;
   property Sleva         : Double read GetSleva write SetSleva;
   property MaxDatumDodani: TDateTime read GetMaxDatumDodani write SetMaxDatumDodani;
   property PocetPalet    : Double read GetPocetPalet;
   property CelkHmotnost  : Double read GetCelkHmotnost;
   property ExtCisloObj   : AnsiString read GetExtCisloObj write SetExtCisloObj;
   property CasDodani     : AnsiString read GetCasDodani write SetCasDodani;
   property TypDokladuSkl : byte read Objednavka.TypDokladuSkl write Objednavka.TypDokladuSkl;
   property PASIdObj      : longint read Objednavka.PASIdObj write Objednavka.PASIdObj;
   property IndivCena     : AnsiString read GetIndivCena write SetIndivCena;
   property PocetTisku    : byte read Objednavka.PocetTisku;
   property PocetOprav    : byte read Objednavka.PocetOprav;
   property Priznaky      : byte read Objednavka.Priznaky write Objednavka.Priznaky;
   property Mena          : AnsiString read GetMena write SetMena;
   property Kurz          : Double read GetKurz write SetKurz;
   property Priznaky2     : byte read Objednavka.Priznaky2 write Objednavka.Priznaky2;
   property Priznaky3     : byte read Objednavka.Priznaky3 write Objednavka.Priznaky3;
   property MemoA         : Classes.TStringList read FMemoA;
   property MemoB         : Classes.TStringList read FMemoB;
   property MemoI         : Classes.TStringList read FMemoI;
   property LastError: AnsiString read FLastError;
   constructor Create(AAktualizaceCen: Boolean; BtrADR, BtrMEM: _SBtrieveFilePtr);
   destructor Destroy; override;
   function SetCustomer(ICO: AnsiString): Boolean;
   function LoadOrderHeaderFromDataset(Dataset: TDataset): Boolean;
   function LoadOrderItemsFromDataset(Dataset: TDataset; var ChybaNaRadku: longint): Boolean;
   procedure ClearItems;
   function AddOrderItem(Kod: AnsiString; Pocet, PocetBal: Double; AutoPocetBal: Boolean; Cena: Double; Identifikace: AnsiString): Boolean;
   function SaveNewOrder: Boolean;
end;

Při použití metod IndividualniCena, KartaCena či KartaUrovenDPH se informace o kartě uloží do paměti objektu a při volání jiné metody pro stejný kód se využije již dříve načtená skladová karta.

Funkce Popis
constructor Create vytvořené objekty nezapomeňte uvolnit pomocí metody Free
function IndividualniCena(CenSkupina, AltCenSkupina, KodKarty: String; TypCeny, TypDokladu: Byte; Datum: TDateTime; PocetMJ: Double; var Cena: Double; var CenaSDPH: Double): Boolean Načte skladovou kartu dle KodKarty z tabulek SKLADKAR a SKLADZAS a vyhodnotí individuální cenu CenSkupina dle zadaných podmínek. TypCeny odpovídá definici cenových pásem ve skladovém programu a používá se pro určení, zda individuální cena je platná pro dané cenové pásmo. Typ dokladu je číslo typu dokladu. Pokud má hodnotu 0, tak se uplatní jen individuální ceny, které nejsou závislé na typu dokladu. Pokud parametr Datum nastavíte na hodnotu 0 nebo v systému nemáte zapnuté sledování individuálních cen na základě data dokladu, tak se použije dnešní datum. Parametr PocetMJ se uplatňuje jen u individuálních cen, které jsou závislé na množství. Parametr Cena musí být před voláním funkce inicializován, protože Cena zároveň funguje jako vstupní parametr (použije se pro individuální ceny typu "běžná cena"). Parametr CenaSDPH je nastaven i v případě, že individuální cena není vyhodnocena (čili výsledek funkce je false).
function PasmoPCNaTypCeny(PasmoPC: byte): byte Funkce vrací hodnotu typu ceny pro prodejní cenová pásma (prodejní ceny 1 až 40). Typ ceny má tyto hodnoty: 0,1:PC1, 2:PC2, 3:PC3, 4:PC4, 5:PC5, 6:PC6, 7:NC, 8:Doh.NC, 9:Prům.NC, 10 až 18:PC7 až PC15, 19: Spec.NC, 20 až 44: PC16 až PC40
function AktivniUrovneDPH: byte Funkce vrací počet aktivních úrovní DPH