OBS/Makros und Scripting/Anwendungsbereiche/ListenStable
Zur Navigation springen
Zur Suche springen
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;