...
- Kiinteä teksti (esim otsikot)
- Järjestelmämuuttujia (esim päivämäärät / sivunumerot jne)
- Tietokantakenttiä (esim tuotetiedot, jotka tulevat kannasta)
- Funktioiden tuottamaa informaatiota
Funktioiden selitys
Funktioiden selitys:
Jokaisen funktion kohdalla on seuraavantyyppinen selitys:
...
- Kenttä (=varastosaldotietueen kenttä)
- Tuotekoodi (=mistä tuotteesta halutaan varastosaldotietue)
- Varasto (=minkä varaston varastosaldotietue halutaan)
...
- Luo lomakkeelle vaikkapa Variable -tyyppinen komponentti (työkalurivillä laskimen näköinen kuva ja sen jälkeen klikkaa mihin komponentin haluat)
- Klikkaa luomaasi Variablea hiiren oikealla ja valitse Calculations..
Lisää haluamasi funktio avautuvaan ruutuun, esimerkiksi siten että:
Panel Value Value := Varastosaldo('invpvm',Tuotteet['numero'],5); ,joka palauttaa Variableen pipelinen Tuotteet kentän Numero -vastaavan tuotteen inventointipäivämäärä -kentän varaston 5 osalta.
Funktiot
AnsiCapitalize
Code Block |
---|
function AnsiCapitalize(Const s: String): String; |
Muuttaa tekstin sanojen alkukirjaimet isoiksi (huomioi skandit). Esim. kissan äidin häntä -> Kissan Äidin Häntä.
Panel |
---|
Esimerkki: |
...
Caption := AnsiCapitalize(Tuotteet['Nimi']); |
AsiakasTieto
Code Block |
---|
function AsiakasTieto(const Asiakas: Integer; const Kentta: String): Variant; |
Palauttaa parametrina annetun kentän arvon halutulle asiakkaalle (parametri Asiakas). Koskee siis vain asiakas -taulua, ei lainkaan asiakas2 -taulua.
Esimerkki:
Code Block |
---|
AsiakasTieto(1000, 'Nimi'); |
EanCodeOk
function EanKoodiOk(Const s: String): Boolean;
Palauttaa TRUE, jos annettu merkkijono on laillinen EAN/UPC -koodi ja FALSE, mikäli ei ole laillinen.
Esimerkki:
Code Block |
---|
If EanKoodiOk(Tuotteet['Numero'])=True Caption:='EAN-koodi: '+Tuotteet['Numero']; |
ExtractWord
Code Block |
---|
...
function extractWord(SanaNro: integer; Merkkijono,erottimet: String): |
...
String |
Otaa merkkijonosta yhden sanan. Erottimet parametri voi pitää sisällään usean merkin. Peräkkäiset erottimet tulikitaan yhdeksi. esimerkiksi
Code Block |
---|
ExtractWord(2,'100;200;300',';') palauttaa '200' ja ExtractWord(3,'100,23;32,22;14,3',';,') palauttaa 32. |
...
s := 'Kuopio;Tampere;Jyväskylä;Helsinki'; |
...
for i:= 1 to WordCount(s,';') do |
...
showmessage(extractWord(i,s,';')); |
FileExists
Code Block |
---|
...
function FileExists(Const s: string): |
...
Boolean |
Palauttaa TRUE, jos parametrina annettu tiedosto on olemassa ja palauttaa FALSE, mikäli ko. tiedostoa ei löydy.
FilePathStr
...
Code Block |
---|
function FilePathStr: |
...
string |
Palauttaa kyseisen yrityksen tietokannan polkun. Polku tulee täsmälleen samassa formaatissa kuin se näkyy tiedosto->asetukset ruudulla.
AlvPros
Code Block |
---|
...
function AlvPros(const luokka: integer): Extended; |
...
Palauttaa alvprosentin annetulle luokalle.
Avoinkysely
Code Block |
---|
...
function Avoinkysely(const kysely, tietokanta: string): String; |
...
Kyselyssä viedään kokonainen sql kysely. Tietokanta voi olla tyhjä. Merkkijonoista kannattaa varmistaa ettei siellä ole heittomerkkejä. Mikäli alla olevassa esimerkissä tuotenumero olisi 91'92 tuottaisi kysely virheen.
Alla esimerkki OnGetText käsittelystä
Panel |
---|
procedure Label3OnGetText(var Text: String); |
...
var s: string; |
...
t: string; begin |
...
t := DbPipeline1['TUOTE']; |
...
t := StringReplace(t,chr(39),chr(39)+chr(39),3); |
...
s := avoinkysely('select sum(summa) as summa from tuotemyy where tuote = '+chr(39)+t+chr(39), |
...
''); |
...
if copy(s,1,7)='*error*:' then |
...
text := 'Virhe kyselyssä '+s |
...
else |
...
Text := s; |
...
end; |
GetAsTxt
...
Code Block |
---|
function GetAsTxt(Const Asiakas: Integer; Const Otsikko:string):String; |
...
Hakee asiakkaan teksteistä annetulla otsikolla tekstin.
GetTryhmaNimi
...
Code Block |
---|
function GetTryhmaNimi(Const nro: Integer):String; |
...
Palauttaa tuoteryhmän nimen.
GetTuoteDoc
Code Block |
---|
...
function GetTuoteDoc(Const Tuote,Otsikko:string):String; |
...
Hakee tuotteen dokumentti -taulusta annetulla otsikolla dokumentin nimen.
GetTuoteKuva
...
Code Block |
---|
function GetTuoteKuva(Const Tuote: String; Jarjestys: Integer; Var kuvateksti: string):String; |
...
Hakee tuotteen kuvatekstin ja palauttaa kuvan tiedostonimen. Järjestys ilmoittaa järjestysavaimen.
Esimerkki artikkelissa artikkelissa Reportbuilder _ ohjeita
GetTuoteTxt
...
Code Block |
---|
function GetTuoteTxt(Const Tuote,Otsikko:string):String; |
...
Palauttaa tuotteen tekstin annetulla otsikolla.
KassaanMaksuStr
...
Code Block |
---|
function KassaanMaksuStr(const i: Integer): string; |
...
Palauttaa kassaanmaksun nimen (parametrin i pitää olla laillinen kassaanmaksun numero).
LuoPankkiviivakoodi
Code Block |
---|
LuoPankkiviivakoodi(const tilinro, viitenro: string; const erapaiva: TDateTime; const summa: Double; const tyyppi: Integer) |
- Tilinumero
- Viitenumero
- Eräpäivä
- Summa
- Tyyppi (2/4)
MaksutapaNimiStr
...
Code Block |
---|
function MaksuTapaNimiStr(const i: integer): string; |
...
Palauttaa maksutavan nimen (parametrin i on oltava laillinen maksutavan numero).
MaksuehtoNimiStr
...
Code Block |
---|
function MaksuehtoNimiStr(const i: integer): string; |
...
Palauttaa maksuehdon nimen (parametrin i on oltava laillinen maksuehdon numero).
MemoKoko
...
Code Block |
---|
function MemoKoko(Report:TppReport; s:string; fname:string; fsize:integer):Integer; |
...
Antaa arvion raportin yksiköissä mikä on annetun tekstin (s) korkeus fontilla jonka nimi on fname ja koko fsize.
MkNakyy
Code Block |
---|
...
function MkNakyy:Boolean; |
...
Kertoo onko järjestelmään määritelty markat näkyviin.
MuotoileVarastoSaldo
...
Code Block |
---|
function MuotoileVarastoSaldo(const Saldo:double; Const Pullokoko:Double):String; |
...
Muotoilee alkoholivarastosaldot tulostettavaan muotoon (esim. saldo 1.5, Pullokoko 50 cl -> tulee 1P 25).
MyyjaNimiStr
...
Code Block |
---|
function MyyjaNimiStr(const i: integer): string; |
...
Palauttaa myyjän nimen (parametrin i on oltava laillinen myyjän numero)
Nimi2Norm
Code Block |
---|
...
function Nimi2Norm(Const Str:string):String; |
...
Muotoilee nimen "normaaliin muotoon" esim. Koistinen Mika -> Mika Koistinen.
OnRavintola
...
Code Block |
---|
function OnRavintola:Boolean; |
...
Palauttaa TRUE, jos asetuksissa on ravintolabitti on päällä ja palauttaa FALSE, mikäli ei ole päällä.
OstoLajiStr
...
Code Block |
---|
function OstoLajiStr(const i: integer): string; |
...
Palauttaa ostolajin kuvauksen annetulla numerolla.
SenttiPyoristys
Code Block |
---|
...
function SenttiPyoristys(summa:Double):Double; |
...
Laskee lähimpään viiteen senttiin pyöristetyn summan (esim. annetaan parametriksi 10.53, tulos = 10.55).
SetReportParameter
Code Block |
---|
...
function SetReportParameter(Report:TppReport; Parameter:String; Value:Variant); |
...
SkjAsetusB
...
Code Block |
---|
function SkjAsetusB(Const asetusName:string): |
...
Boolean |
SkjAsetusS
...
Code Block |
---|
function SkjAsetusS(Const asetusName:string):String; |
...
Palauttaa skj:n perusasetuksia. Parametri voi olla jokin seuraavista:
...
- Tilinumero1
- Tilinumero2
- Tilinumero3
- iban1iban1
- iban2
- iban1iban3
- bic1
- bic2
- bic3
Esimerkki:
Code Block |
---|
Variable1.Value := SkjAsetusS('puh1'); |
StringReplace
Code Block |
---|
...
function StringReplace(const Mjono: string; const Mista,Mihin: string; const flags:integer): string; |
...
Korvaa merkkijonosta osia.
- MJono: tästä merkkijonosta etsitään ja korvataan
- Mista: Mikä merkkijono korvataan
- Mihin: Millä merkkijonolla korvataan
- Flags: 1 =Korvaa kaikki, 2 = ei vertaa kirjainkokoa, 3= molemmat
- Paluuarvo: korvattumerkkijono
esim
s := StringReplace('Joulupukki kävi kylässä korjaamassa SAHAPUKKIA','pukki','muori',3);
s on nyt Joulumuori kävi kylässä korjaamassa SAHAmuoriA
StrPad
...
Code Block |
---|
function StrPad(Const Str:string; Pituus:Integer; c:char):String; |
...
StrPvmToDispPvm
...
Code Block |
---|
function StrPvmToDispPvm(Const StringPvm:string):String; |
...
Muuttaa yyyymmdd muotoisen päivämäärän visuaalisempaan muotoon, esim. 20111224 -> 24.12.2011
StrPvmToDate
Code Block |
---|
...
function StrPvmToDate(Const StringPvm:string):DateTime; |
...
Muuttaa yyyymmdd päivän DateTime tyyppiksi
ToimEhtoNimiStr
...
Code Block |
---|
function ToimEhtoNimiStr(const i: integer): string; |
...
ToimittajaNimi
Code Block |
---|
...
function ToimittajaNimi(const Tunnus: String): string; |
...
Palauttaa toimittajan nimen jos se löytyy, muuten tyhjän.
ToimittajaTieto
...
Code Block |
---|
function ToimittajaTieto(const Tunnus, Kentta: String): Variant; |
...
Palauttaa parametrina annetun kentän arvon halutulle toimittajalle (parametri Tunnus).
- Esimerkki: ToimittajaTieto('1001', 'Nimi');
translate
Code Block |
---|
...
function translate(s:string; Kieli: Integer):string; |
...
TuoteOminaisuusArvot
Code Block |
---|
...
function TuoteOminaisuusArvot(const TuoteNro: String; const Tyyppi: Integer; const erotin: string; const myosarvonimet: Boolean): string; |
...
Funktio, jolla saadaan luettua tuotteen ominaisuudet ja niiden arvot.
...
Tällä on tarkoitus hakea multituotteen ominaisuuksia tulosteille (Tyyppi 2 = valikko).
TuoteRyhmaTieto
...
Code Block |
---|
function TuoteRyhmaTieto(const Nro: Integer; const Kentta: String): Variant; |
...
Palauttaa parametrina annetun kentän arvon halutulle tuoteryhmälle (parametri Nro).
- Esimerkki: TuoteRyhmaTieto(200, 'Nimi');
TuoteTieto
Code Block |
---|
...
function TuoteTieto(const numero, kentta: String): |
...
Variant |
Palauttaa parametrina annetun kentän arvon halutulle tuotteelle (parametri numero). Käyttää sekä tuote että tuote2 -tauluja.
Esimerkki: TuoteTieto('1234567890123', 'Hinta');
Tuoteviivakoodi
Code Block |
---|
function Tuoteviivakoodi(const Tuote: string; Nro:Integer): String; |
Haetaan tuotteen viivakoodi tuotenumerolla. Parametri tuote on tuotenumero ja parametri nro ilmoittaa sen, että haetaanko viivakooditaulusta lopusta alkuun (<0) vai alusta loppuun (>=0) Esimerkkinä myyntitilauksella vaikka Labelin OnGetText tapahtumassa
Code Block |
---|
...
Text := TuoteViivakoodi( Tilaukset['Tuote'],0); |
Lajitelman viivakoodi tulee
Code Block |
---|
function Lajitelmaviivakoodi(const Tuote: string; Nro,id1,id2:Integer): String; |
Esimerkiksi ostotilauksella:
Panel |
---|
procedure BarCode1OnPrint;
begin
Barcode1.data := Lajitelmaviivakoodi(Tilaukset['Tuote'],0,Tilaukset['id1'], Tilaukset['Id2']);
end; |
Varastosaldo
...
Code Block |
---|
function varastosaldo(Const kentta, tuote: String; const varasto): varastosaldo; |
...
|
Hakee varastosaldotaulusta tietyn kentän, esim:
Panel |
---|
varastosaldo('invpvm',Tuotteet['numero'],5) |
Lajitelman varastosaldo
Code Block |
---|
function LajitelmanVarastosaldo(const kentta, tuote: string; const id1, id2, varasto: Integer): Variant; |
Hakee lajitelman varastosaldotaulusta tietyn kentän, esim haetaan minimi1 varastosta 5 5
Code Block | ||
---|---|---|
| ||
text := Lajitelmanvarastosaldo('minimi1', Tuotteet['numero'],Tilaukset['Id1'], Tilaukset['Id2'], 5); |
Lajitelman Nimi
...
Code Block | ||
---|---|---|
| ||
Palauttaa annetun lajitelman nimen. Palauttaa pitkan nimen jos se on annettu, muuten "normaalin" lyhyen. esim alla otetaan lajitelma1 teksti ja perään kauttaviivalla mahdollinen 2 lajitelmaid nimi.
Code Block | ||
---|---|---|
| ||
procedure Label402OnGetText(var Text: String); begin Text := VariKokoNimiFunction(Tilaukset['Id1']); if Tilaukset['Id2'] <> 0 then text := text+'/'+VariKokoNimiFunction(Tilaukset['Id2']); end; |
UlosMaksuStr
Code Block |
---|
...
function UlosMaksuStr(const i: Integer): string; |
...
UnixToDateTime
Code Block |
---|
...
function UnixToDateTime(Const unixDate:Integer):DateTime; |
...
WeekOf
Code Block |
---|
...
function WeekOf(const dt: TDateTime): Integer; |
...
Palauttaa parametrina annetun päiväyksen (parametri dt) viikkonumeron (1-52).
Esimerkkejä:
- WeekOf(CurrentDateTime) -> palauttaa nykyisellä hetkellä olevan päiväyksen viikkonron
- WeekOf(EncodeDate(2011, 2, 1)) -> palauttaa vuoden 2011 helmikuun ensimmäisen päivän viikkonron
WordCount
...
function WordCount(Teksti: String; erotin: String):
...
Integer
Palauttaa tekstissä olevien sanojen määrän. Erottimet määritellään erotin kentässä. Peräkkäiset erottimet tulkitaan yhdeksi.Luokka__Tekninen palvelu