Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. tietokanta - kanta josta asetukset haetaan
  2. Myyja - myyjän numero
  3. Näytä dialog true/false näytetäänkö s-postin lähetysdialogia
  4. Ostikko
  5. viestin runko
  6. Liitetiedostot, puolipisteerotettu lista
  7. Lähettäjä, jos tyhjä käytetään winskj:n asetuksista löytyvää
  8. viestin Body html formaatissa.

lahetasahkoposti(dbname,1,false,osoite,'Myyntidata','Liitteenä automaattisesti generoitu myyntidata', fn,'yoajo@skj.fi',);
Huom. Huomaa että monet smtp palvelimet suuttuvat jos samasta paikasta tulee postia liian tiheään, pidä 1 sek väli eri postien välillä jos lähetät useampia.
h1. Asiakasmuutosten seuranta
Jos halutaan seura muutoslogissa skjscriptin tekemiä asiakasmuutoksia (esim replikointi skjinterfacella tai kkalleclientilla) toimitaan alle olevan esimerkin mukaan
_

Code Block
var
  a,a2,mr;
  dbname;
  s: string;
  i: integer;
  myymala:integer;
begin
  dbname := 'SKJ';
  // alustetaan asiakasmuutostietue
 myymala := 1; // minkä myymälän nimiin muutokset kirjataan
  LuoAsiakasMuutostietue(dbname,myymala,mr);

  a := ttbtable.Create(nil);
  a.databasename := dbname;
  a.tablename := 'asiakas';
  a.open;
  a2 := ttbtable.Create(nil);
  a2.databasename := dbname;
  a2.tablename := 'asiakas2';
  a2.open;

  while not a.eof do
  begin
    if (WordCount(trim(a.FieldByName('nimi').AsString),' ')>0) and ( trim(a.FieldByName('nimi2').AsString) = '') then
    begin
      // alustetaan muutosten seuanta tälle asiakkaalle
      AloitaAsiakasmuutos(a,a2,mr);
      // tässä muunnetaan nimi kenttä muodosta "Möttönen Marko Uolevi" -> Nimi: Möttönen Nimi2: Marko Uolevi
      a.edit;
      s :=  a.FieldByName('nimi').AsString;
      a.FieldByName('nimi').AsString := ExtractWord(1,s,' ');
      a.FieldByName('nimi2').AsString := '';
      for i:=2 to wordCount(s,' ') do
        a.FieldByName('nimi2').AsString :=  a.FieldByName('nimi2').AsString+' '+extractWord(i,s,' ');
      a.FieldByName('nimi2').AsString := trim(a.FieldByName('nimi2').AsString)
      logEntry('Muutettu '+s+':->'+a.FieldByName('nimi').AsString+', '+a.FieldByName('nimi2').AsString);
      a.post;
      // tallennetaan mahdolliset muutokset
      LopetaAsiakasmuutos(a,a2,mr,false);
    end;
    a.next;
  end;
  a.close;
  a2.close;
end;

...

...


...

Tiedostot

hakemisto läpikäyntiin ja tiedostojen etsintään

FindFirst, FindNext ja FindClose

...

  • *function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
  • *function FindNext(var F: TSearchRec): Integer;
  • *procedure FindClose(var F: TSearchRec);
  • 'Attr''' kertoo minkätyyppisiä tiedostoja haetaan:
    • faReadOnly: Read-only files
    • faHidden: Hidden files
    • faSysFile: System files
    • faVolumeID: Volume ID files
    • faDirectory: Directory files
    • faArchive: Archive files
    • faAnyFile: Any file

Type

  • TSearchRec = record
  • Time: Integer;
  • Size: Integer;
  • Attr: Integer;
  • Name: TFileName;
  • ExcludeAttr: Integer;
  • FindHandle: THandle;
  • FindData: TWin32FindData;

...

Huom! VERHINTA ei ole käytössä SKJTuoteImport.xls :ssä.Luokka__Asennus ja määrittely
Luokka__Asennus ja määrittely