OBS/Makros und Scripting/Anwendungsbereiche/ListenStable: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(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:
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 years. Usually I choose music from the famous films :D. <br>I have two sister. I love Shooting sport, watching movies and Leaf collecting and pressing.<br><br>Look into my site - [http://pkr855.org jagadpoker]
{{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;