Objekt TKAPIndPrice

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

Pomocí objektu TKAPIndPrice lze ve skriptovacím programovacím jazyku zjišťovat vybrané informace o skladových kartách a individuálních cenách. Objekt je dostupný pouze ve skladovém programu. Při vytvoření nové instance objektu se otevřou tabulky SKLADKAR, SKLADZAS a SKLADSSL a pomocí těchto tabulek pak program zjišťuje požadované informace. Doporučujeme proto nevytvářet současně mnoho instancí třídy TKAPIndPrice a v případě, že se objekty již nevyužívají, tak je uvolnit.

Objekt TKAPIndPrice

TKAPIndPrice = class
   constructor Create;
   function IndividualniCena(CenSkupina, AltCenSkupina, KodKarty: String; TypCeny, TypDokladu: Byte; Datum: TDateTime; PocetMJ: Double; var Cena: Double; var CenaSDPH: Double): Boolean;
   function PasmoPCNaTypCeny(PasmoPC: byte): byte;
   function TypCenyNaPasmoPC(TypCeny : byte) : byte;
   function TypCenyNaTypAdresy(TypCeny : byte) : byte;
   function TypAdresyNaTypCeny(TypAdr : byte) : byte;
   function KartaCena(KodKarty: string; TypCeny : byte; SDPH: Boolean) : Double;
   function KartaUrovenDPH(KodKarty: string) : byte;
   function CenaSDPH(Cena: Double; UrovenDPH: byte): Double;
   function ProcentoDPH(UrovenDPH: byte): Double;
   function AktivniUrovneDPH: byte;
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 TypCenyNaPasmoPC(TypCeny : byte) : byte Funkce vrací prodejní cenové pásmo pro daný typ ceny. Pro nákupní ceny je vrácena hodnota 1.
function TypCenyNaTypAdresy(TypCeny : byte) : byte Funkce převádí hodnotu typu ceny na hodnotu cenového pásma uloženého v adrese zákazníka
function TypAdresyNaTypCeny(TypAdr : byte) : byte Funkce převádí hodnotu cenového pásma uloženého v adrese zákazníka na typ ceny
function KartaCena(KodKarty: string; TypCeny : byte; SDPH: Boolean) : Double Funkce vrací cenu určenou na základě skladové karty a určeného typu ceny. Pokud je parametr SDPH nastaven na true, tak je výsledná cena vrácena včetně DPH.
function KartaUrovenDPH(KodKarty: string) : byte Funkce vrací pro danou skladovou kartu pořadové číslo úrovně DPH (0 až "počet aktivních úrovní DPH")
function CenaSDPH(Cena: Double; UrovenDPH: byte): Double Funkce vrací pro danou cenu bez DPH hodnotu ceny včetně DPH. Parametr UrovenDPH určuje pořadové číslo sazby DPH (0 až "počet aktivních úrovní DPH")
function ProcentoDPH(UrovenDPH: byte): Double Funkce vrací procento DPH pro danou úroveň DPH
function AktivniUrovneDPH: byte Funkce vrací počet aktivních úrovní DPH

Viz příklad Příklady PASCAL