Objekt TKAPDocument: Porovnání verzí
Z K.A.P.
Skočit na navigaciSkočit na vyhledáváním |
|||
Řádek 4: | Řádek 4: | ||
TKAPDocument = class | TKAPDocument = class | ||
− | property Sklad: word; {vlastnosti | + | property Sklad: word; {doklady lze evidovat pouze v aktuálním skladu; načíst lze ale i doklady z jiných skladů} |
− | + | property Prijem: Boolean; {vlastnosti Prijem a Typ dokladu jsou pouze pro čtení - lze je nastavit pomocí SetDocType} | |
− | property Rok : integer | + | property Rok : integer; { Vlastnost Rok odpovídá roku z data odeslání dokladu } |
property TypDokladu : byte; | property TypDokladu : byte; | ||
property CisloDokladu: longint; | property CisloDokladu: longint; | ||
Řádek 70: | Řádek 70: | ||
property MemoExp : TStringList; | property MemoExp : TStringList; | ||
property LastError: String; {pouze pro čtení} | property LastError: String; {pouze pro čtení} | ||
+ | property RaiseExcept: Boolean; {true=při výskytu chyby se vyvolá výjimka; false=chyby se zapisují jen do LastError (výchozí) } | ||
property IgnoreRights : Boolean; {určuje, zda jsou při evidování dokladu ignorována některá omezení daná přístupovými právy} | property IgnoreRights : Boolean; {určuje, zda jsou při evidování dokladu ignorována některá omezení daná přístupovými právy} | ||
property AutoNumber : Boolean; {automatické číslování dokladu} | property AutoNumber : Boolean; {automatické číslování dokladu} | ||
− | property | + | property UpdatePrices : Boolean; {automatická aktualizace cen při přidání položky pomocí AddDocItem} |
+ | property DeliveryNo : word; { číslo dodávky pro nové operace } | ||
+ | property DeliveryDate : TDateTime; { datum dodávky pro nové operace } | ||
+ | property AutoDeliveryNo: Boolean; { určuje, zda číslo dodávky bude určeno automaticky nebo na základě vlastností DeliveryNo a DeliveryDate } | ||
property Items[Index: integer]: TKAPDocItem; {pole objektů zpřístupňující jednotlivé operace dokladu} | property Items[Index: integer]: TKAPDocItem; {pole objektů zpřístupňující jednotlivé operace dokladu} | ||
− | constructor Create( | + | constructor Create(UpdatePrices: Boolean); |
destructor Destroy; | destructor Destroy; | ||
+ | procedure ClearLastError; | ||
function InitNewDocument(Prijem: Boolean; TypDokladu: byte): Boolean; | function InitNewDocument(Prijem: Boolean; TypDokladu: byte): Boolean; | ||
function SetDocType(Prijem: Boolean; TypDokladu: byte): Boolean; | function SetDocType(Prijem: Boolean; TypDokladu: byte): Boolean; | ||
function SetPartner(ICO: String): Boolean; | function SetPartner(ICO: String): Boolean; | ||
function LoadDocHeaderFromDataset(Dataset: TDataset): Boolean; | function LoadDocHeaderFromDataset(Dataset: TDataset): Boolean; | ||
− | function LoadDocItemsFromDataset(Dataset: TDataset; var | + | function LoadDocItemsFromDataset(Dataset: TDataset; var ErrorOnRow: longint): Boolean; |
− | procedure AddPayment( | + | procedure AddPayment(PaymentDate: TDateTime; Payment : Double); |
procedure ClearItems; | procedure ClearItems; | ||
procedure DeleteItem(Index: longint); | procedure DeleteItem(Index: longint); | ||
function ItemsCount: longint; | function ItemsCount: longint; | ||
− | function AddDocItem( | + | function AddDocItem(ProductCode: string; Quantity, Price, VATtotal: Double): Boolean; |
function LoadDocumentByDocNo(Sklad: word; Prijem: Boolean; Rok : Word; TypDokladu : byte; | function LoadDocumentByDocNo(Sklad: word; Prijem: Boolean; Rok : Word; TypDokladu : byte; | ||
CisloDokladu: longint; LoadItems: Boolean): Boolean; | CisloDokladu: longint; LoadItems: Boolean): Boolean; | ||
Řádek 93: | Řádek 98: | ||
function SaveDocumentToExchangeFile(FileName: String; | function SaveDocumentToExchangeFile(FileName: String; | ||
SaveRecommendedPrices, SaveBarCodes, SaveLocations, SaveDocMemo1 : Boolean; LogText: String) : longint; | SaveRecommendedPrices, SaveBarCodes, SaveLocations, SaveDocMemo1 : Boolean; LogText: String) : longint; | ||
− | function SaveDocumentHeaderToClientDataset(Fields: String): TClientDataset; | + | function SaveDocumentHeaderToClientDataset(Fields: String): TDataset; {vrací objekt TClientDataset} |
+ | function CheckItemsBeforeSave(var ErrItemNo: longint): Boolean; | ||
function SaveDocument: Boolean; | function SaveDocument: Boolean; | ||
end; | end; |
Verze z 20. 4. 2015, 15:45
Pomocí objektu TKAPDocument lze ve skriptovacím programovacím jazyku pracovat s příjmovými i dodacími doklady. 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 TKAPDocument a v případě, že se objekty již nevyužívají, tak je uvolnit.
Objekt TKAPDocument
TKAPDocument = class property Sklad: word; {doklady lze evidovat pouze v aktuálním skladu; načíst lze ale i doklady z jiných skladů} property Prijem: Boolean; {vlastnosti Prijem a Typ dokladu jsou pouze pro čtení - lze je nastavit pomocí SetDocType} property Rok : integer; { Vlastnost Rok odpovídá roku z data odeslání dokladu } property TypDokladu : byte; property CisloDokladu: longint; property Vaha: byte; {pouze pro čtení} property UcetniMesic: byte; property DatumOdeslano: TDateTime; property Jmeno: String; property Jmeno2: String; property Ulice: String; property Mesto: String; property PSC: String; property Ucet: String; property Banka: String; property KonstantniSymbol: String; property VariabilniSymbol: String; property SpecifickySymbol: String; property CisloDL: String; property CisloObjednavky: String; property DatumObjednavky: TDateTime; property DatumPrijato: TDateTime; property DatumZaplaceno: TDateTime; {Vlastnosti DatumZaplaceno a Zaplaceno se aktualizují pomocí AddPayment} property Zadano: TDateTime; {pouze pro čtení} property DatumZdanPlneni: TDateTime; property Priznaky : word; property Uhrada : byte; property PocetTisku : byte; {pouze pro čtení} property PocetOprav : byte; {pouze pro čtení} property FaktBankUcet : byte; property Splatnost : word; property CisloBankVypisu: word; property Stredisko : word; property Podnik : byte; property ICO: String; property DIC: String; property Zakazka: String; property Vystavil: String; property Celkem: Double; {pouze pro čtení} property Zaplaceno: Double; {Vlastnosti DatumZaplaceno a Zaplaceno se aktualizují pomocí AddPayment} property Mena: String; property Kurz: Double; property Sleva: Double; property ProcPenale: Double; property PocetPalet : Double; property CasZadano : TDateTime; {pouze pro čtení} property PosledniZmena : TDateTime; {pouze pro čtení} property Preprava : String; property Poznamka : String; property PASIdObj : longint; property Bonus : Double; property ExtID : String; property IndivCena : String; property ID : String; property Vyskladnil : String; property StavExpedice : byte; property DatExpedice : TDateTime; property TypDopravy : byte; property Priznaky2 : longint; property Priznaky3 : word; property CenovePasmo : byte {TTypCeny}; property DocType: TKAPDocType; {pouze pro čtení - odkazuje na automaticky vytvořený objekt popisující typ dokladu} property Memo1 : TStringList; property Memo2 : TStringList; property MemoExp : TStringList; property LastError: String; {pouze pro čtení} property RaiseExcept: Boolean; {true=při výskytu chyby se vyvolá výjimka; false=chyby se zapisují jen do LastError (výchozí) } property IgnoreRights : Boolean; {určuje, zda jsou při evidování dokladu ignorována některá omezení daná přístupovými právy} property AutoNumber : Boolean; {automatické číslování dokladu} property UpdatePrices : Boolean; {automatická aktualizace cen při přidání položky pomocí AddDocItem} property DeliveryNo : word; { číslo dodávky pro nové operace } property DeliveryDate : TDateTime; { datum dodávky pro nové operace } property AutoDeliveryNo: Boolean; { určuje, zda číslo dodávky bude určeno automaticky nebo na základě vlastností DeliveryNo a DeliveryDate } property Items[Index: integer]: TKAPDocItem; {pole objektů zpřístupňující jednotlivé operace dokladu} constructor Create(UpdatePrices: Boolean); destructor Destroy; procedure ClearLastError; function InitNewDocument(Prijem: Boolean; TypDokladu: byte): Boolean; function SetDocType(Prijem: Boolean; TypDokladu: byte): Boolean; function SetPartner(ICO: String): Boolean; function LoadDocHeaderFromDataset(Dataset: TDataset): Boolean; function LoadDocItemsFromDataset(Dataset: TDataset; var ErrorOnRow: longint): Boolean; procedure AddPayment(PaymentDate: TDateTime; Payment : Double); procedure ClearItems; procedure DeleteItem(Index: longint); function ItemsCount: longint; function AddDocItem(ProductCode: string; Quantity, Price, VATtotal: Double): Boolean; function LoadDocumentByDocNo(Sklad: word; Prijem: Boolean; Rok : Word; TypDokladu : byte; CisloDokladu: longint; LoadItems: Boolean): Boolean; function GetCPYIndexesFromExchangeFile(FileName, Fields: String; GetCPYDoc, GetCPYReadedDoc: Boolean): TClientDataset; function LoadDocumentFromExchangeFile(FileName, ProtocolFileName: String; IndexCPY: longint; ReadDocHeader, ReadDocMemo1, ReadBarCodes, ReadNewProducts, UpdateProducts, UpdatePurchasePrices, DeleteCPY: Boolean; LogText: String): Boolean; function SaveDocumentToExchangeFile(FileName: String; SaveRecommendedPrices, SaveBarCodes, SaveLocations, SaveDocMemo1 : Boolean; LogText: String) : longint; function SaveDocumentHeaderToClientDataset(Fields: String): TDataset; {vrací objekt TClientDataset} function CheckItemsBeforeSave(var ErrItemNo: longint): Boolean; function SaveDocument: Boolean; end;