OBS/Makros und Scripting/Anwendungsbereiche/ListenStable: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Böhrer (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „My name is Constance Bernays but everybody calls me Constance. I'm from Great Britain. I'm studying at the high school (1st year) and I play the Banjo for 10 y…“) |
(Die Seite wurde neu angelegt: „{{Makros und Scripting}} =Listen Stable= Konfigurationen für den zusätzlichen Reiter im Listen-Stable ==Personenstamm== Reiter ''6 Intern'' vorhanden wenn in…“) |
||
Zeile 1: | Zeile 1: | ||
{{Makros und Scripting}} | |||
=Listen Stable= | |||
Konfigurationen für den zusätzlichen Reiter im Listen-Stable | |||
==Personenstamm== | |||
Reiter ''6 Intern'' vorhanden wenn in der Scribt_Lib ein Eintrag STABLE_PERSONEN vorhanden ist | |||
Makro muss folgende Funktion beinhalten | |||
function Stable_Intern(oMyDB:TxDB; cPsNr:String):String; | |||
===Beispiel: Preisliste des Kunden anzeigen=== | |||
<source lang="delphi"> | |||
//---------------------------------------------------------------------- | |||
// Unit Name: Stable_Intern | |||
// Author: Jr | |||
// Date: 14.04.2021 | |||
// Purpose: Diese Funktion wird im Stable der Personen ausgeführt | |||
// Achtung nur oMyDB Benutzen, da Nebenläufig | |||
// History: | |||
//---------------------------------------------------------------------- | |||
function Stable_Intern(oMyDB:TxDB; cPsNr:String):String; | |||
var cSQL : String; | |||
qTmp : TxFQuery; | |||
begin | |||
cSQL := 'SELECT * FROM ARTI_PL_NAME' + | |||
'WHERE pl_aktiv = "1"' + | |||
'AND pl_personenpreis = "1"' + | |||
'AND pl_nr = ' + DB_SqlVal(cPsNr); | |||
Result := 'Preisliste der Person'+CRLF+CRLF; | |||
if (DB_SOpen(oDB, cSQL, qTmp)) then begin | |||
While (not qTmp.Eof()) do begin | |||
AddToken(Result, PadR(qTmp.A2C('pl_nr'), 10, ' ') + ' ' + | |||
PadR(qTmp.A2C('pl_name'), 40, ' ') + | |||
CRLF); | |||
qTmp.Next; | |||
End; | |||
End; | |||
DB_Close(qTmp); | |||
end; | |||
</source> | |||
===Beispiel: Anzeige von Benutzerfeldern=== | |||
<source lang="delphi"> | |||
//----------------------------------------------------------------------------- | |||
// Unit Name: Stable_Intern | |||
// Author: Jr | |||
// Date: 14.04.2021 | |||
// Purpose: Diese Funktion wird im Stable der Personen ausgeführt | |||
// History: | |||
//----------------------------------------------------------------------------- | |||
function Stable_Intern(oMyDB:TxDB; cPsNr:String):String; | |||
var cSQL : String; | |||
qTmp : TxFQuery; | |||
cFeldBez : String; | |||
cFeldName : String; | |||
cUID : String; | |||
cData : String; | |||
cWhere : String; | |||
begin | |||
cSQL := 'SELECT tb_feldname, tb_feldbez FROM TB_DEF'+ | |||
' WHERE tb_tabname = "PERSSTA"'+ | |||
' AND tb_infonr = ""'+ | |||
' AND tb_feldlevel <= '+DB_SqlVal(oSystem.Userlevel)+ | |||
' ORDER BY tb_feldsort'; | |||
//Result := 'Benutzer Felder'+CRLF; | |||
if (DB_SOpen(oMyDB, cSQL, qTmp)) then begin | |||
cUID := DB_ReadUID(oMyDB, 'PERSSTA', 'ps_nr='+DB_SqlVal(cPsNr)); | |||
While (not qTmp.Eof) do begin | |||
cFeldBez := qTmp.A2C('tb_feldbez'); | |||
cFeldName := qTmp.A2C('tb_feldname'); | |||
cData := DB_ReadSQLSysUID(oMyDB, 'USER_PERSSTA', cFeldName, cUID); | |||
AddToken(Result, PadR(cFeldBez, 30, ' ') + ' ' + | |||
PadL(cData , 40, ' '), | |||
CRLF); | |||
qTmp.Next; | |||
End; | |||
End; | |||
DB_Close(qTmp); | |||
end; | |||
</source> |
Version vom 15. April 2021, 14:49 Uhr
Listen Stable
Konfigurationen für den zusätzlichen Reiter im Listen-Stable
Personenstamm
Reiter 6 Intern vorhanden wenn in der Scribt_Lib ein Eintrag STABLE_PERSONEN vorhanden ist Makro muss folgende Funktion beinhalten
function Stable_Intern(oMyDB:TxDB; cPsNr:String):String;
Beispiel: Preisliste des Kunden anzeigen
//----------------------------------------------------------------------
// Unit Name: Stable_Intern
// Author: Jr
// Date: 14.04.2021
// Purpose: Diese Funktion wird im Stable der Personen ausgeführt
// Achtung nur oMyDB Benutzen, da Nebenläufig
// History:
//----------------------------------------------------------------------
function Stable_Intern(oMyDB:TxDB; cPsNr:String):String;
var cSQL : String;
qTmp : TxFQuery;
begin
cSQL := 'SELECT * FROM ARTI_PL_NAME' +
'WHERE pl_aktiv = "1"' +
'AND pl_personenpreis = "1"' +
'AND pl_nr = ' + DB_SqlVal(cPsNr);
Result := 'Preisliste der Person'+CRLF+CRLF;
if (DB_SOpen(oDB, cSQL, qTmp)) then begin
While (not qTmp.Eof()) do begin
AddToken(Result, PadR(qTmp.A2C('pl_nr'), 10, ' ') + ' ' +
PadR(qTmp.A2C('pl_name'), 40, ' ') +
CRLF);
qTmp.Next;
End;
End;
DB_Close(qTmp);
end;
Beispiel: Anzeige von Benutzerfeldern
//-----------------------------------------------------------------------------
// Unit Name: Stable_Intern
// Author: Jr
// Date: 14.04.2021
// Purpose: Diese Funktion wird im Stable der Personen ausgeführt
// History:
//-----------------------------------------------------------------------------
function Stable_Intern(oMyDB:TxDB; cPsNr:String):String;
var cSQL : String;
qTmp : TxFQuery;
cFeldBez : String;
cFeldName : String;
cUID : String;
cData : String;
cWhere : String;
begin
cSQL := 'SELECT tb_feldname, tb_feldbez FROM TB_DEF'+
' WHERE tb_tabname = "PERSSTA"'+
' AND tb_infonr = ""'+
' AND tb_feldlevel <= '+DB_SqlVal(oSystem.Userlevel)+
' ORDER BY tb_feldsort';
//Result := 'Benutzer Felder'+CRLF;
if (DB_SOpen(oMyDB, cSQL, qTmp)) then begin
cUID := DB_ReadUID(oMyDB, 'PERSSTA', 'ps_nr='+DB_SqlVal(cPsNr));
While (not qTmp.Eof) do begin
cFeldBez := qTmp.A2C('tb_feldbez');
cFeldName := qTmp.A2C('tb_feldname');
cData := DB_ReadSQLSysUID(oMyDB, 'USER_PERSSTA', cFeldName, cUID);
AddToken(Result, PadR(cFeldBez, 30, ' ') + ' ' +
PadL(cData , 40, ' '),
CRLF);
qTmp.Next;
End;
End;
DB_Close(qTmp);
end;