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 Sklad, Prijem, Rok a Typ dokladu jsou pouze pro čtení - inicializují se při vytvoření TKAPDocument nebo při načtení dokladu}
+
     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;
+
    property Prijem: Boolean; {vlastnosti Prijem a Typ dokladu jsou pouze pro čtení - lze je nastavit pomocí SetDocType}
     property Rok : integer read;
+
     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 AktualizaceCen: Boolean; {automatická aktualizace cen při přidání položky pomocí AddDocItem}
+
     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(AAktualizaceCen: Boolean);
+
     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 ChybaNaRadku: longint): Boolean;
+
     function LoadDocItemsFromDataset(Dataset: TDataset; var ErrorOnRow: longint): Boolean;
     procedure AddPayment(Datum: TDateTime; Castka : Double);
+
     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(Kod: String; Pocet, Cena, DPH: Double): Boolean;
+
     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, 16: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;