In diesem Beispiel wird gezeigt, wie Sie:
VTAB_Drucker | Drucker-Tabelle |
VCOL_invnr | Spalte Inventarnummer |
ANW | rimacon-Tabelle Mitarbeiter |
VTAB_Drucker_ANW | n:m-Tabelle zwischen Drucker und Mitarbeiter |
VTAB_Drucker_ANW.VCOL_Drucker | Spalte Drucker |
VTAB_Drucker_ANW.VCOL_ANW | Spalte Mitarbeiter |
Nach einer bestimmten Aktion (in unserem Beispiel wurde das Label "Problem melden" angeklickt) soll ein E-Mail-Formular angezeigt werden, das folgende Voraussetzung erfüllt:
Dies erfolgt im Configurator über das Element EmailForm1 ➟ Eigenschaften ➟ andere ➟ Karte "Addressliste" ➟ Adressliste vordefinieren
Das SQL-Script kann über
Assistent ➟ Tabelle anbinden (wird automatisch angestoßen) ➟ n:m ➟ Mitarbeiter ➟ Übernehmen
generiert werden.
Ergebnis:
select distinct [alias3].ANW_Name1 + ' ' + [alias3].ANW_Name2 as [name], [alias3].ANW_EMAIL as [mail] from VTAB_Drucker [alias1] inner join VTAB_Drucker_ANW [alias2] on [alias2].VCOL_Drucker=[alias1].VTAB_Drucker_ID and [alias2].VTAB_Drucker_ANW_MDT_ID=1 inner join ANW [alias3] on [alias3].ANW_ID=[alias2].VCOL_ANW and [alias3].ANW_MDT_ID=1 where 1=1 and [alias1].VTAB_Drucker_MDT_ID=1 and [alias1].VTAB_Drucker_ID=$ObjID
Dafür wird in Javascript ein Ereignis definiert, das alles anstößt (z.B. Button ➟ onPress)
var RU=rimacon._userform; // Email-Maske öffnen RU.EmailForm1.openDialog(false); // Betreff setzen RU.EmailForm1.setSubject("Problem mit Drucker: SN=" + RU.VCOL_invnr.getValue()); // Optional: Aktivieren Sie die nächste Zeile, wenn der Webuser den Betreff nicht ändern darf. // RU.EmailForm1.setSubjectEnabled(false); // Inhalt setzen RU.EmailForm1.setContent( "Hallo,\r\n" + "\r\n" + "ich habe folgendes Problem:\r\n" + "\r\n" + "\r\n" + "MfG\r\n" + RU.MainForm.getCurrentWebuserName() ); // wichtig: Die Kontaktliste wird erst nach openDialog generiert , d.h. kopieren ist erst jetzt möglich und nicht vor openDialog. RU.EmailForm1.copyAddressBookToRcptText();
Im Webinterface
Dies erfolgt im Configurator über das Element EmailForm1 ➟ customValidator:
var RU=rimacon._userform; if (RU.EmailForm1.getSubject().indexOf(RU.VCOL_invnr.getValue()) < 0) { alert("Betreff muss die Inventarnummer enthalten!"); return false; } return true;