Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Allerseits,
wir haben bei uns nun das EQM im Einsatz. Die Funktion QuickCall To Queue funktioniert auch. Wir möchten jetzt eine Queue für das Personalwesen für HR Anfragen nutzen. Die Zuweisung soll auch hier über einen QuickCall erfolgen. Da dieser QuickCalls aber nicht vermischt mit den IT QuickCalls sein soll und auch für HR Anfragen der TicketDialog zu viele Informationen abfragt, war jetzt die Überlegung einen eigenen QuickLink (BigButton) auf dem SelfServicePortal zu erstellen der einen "abgespreckten Ticketdialog" aufruft, in dem Der HR QuickCall als Standardwert vor ausgewählt und nicht zu ändern ist.
Allerdings habe ich nur die Möglichkeit gefunden, bei dem QuickLink (QuickLing Typ: Dialog) als Entität das Konfigurationselement auszuwählen. Dieses ist wiederum mit dem TicketDialog Verknüpft. Würde ich jetzt ein neues Konfigurationselement TicketsNonIT beispielsweise bauen, müsste dies ja an alle möglichen Aktionen neu Verknüpft werden.
Gibt es hier einen anderen Ansatz das zu lösen ? Kann ich dem QuickLink direkt mit dem neu gebauten Dialog Verknüpfen, welcher widerum mit dem CI SPSActivityTypeTicket verknüpft ist
Für Lösungsansätze wäre ich Dankbar !
wir haben bei uns nun das EQM im Einsatz. Die Funktion QuickCall To Queue funktioniert auch. Wir möchten jetzt eine Queue für das Personalwesen für HR Anfragen nutzen. Die Zuweisung soll auch hier über einen QuickCall erfolgen. Da dieser QuickCalls aber nicht vermischt mit den IT QuickCalls sein soll und auch für HR Anfragen der TicketDialog zu viele Informationen abfragt, war jetzt die Überlegung einen eigenen QuickLink (BigButton) auf dem SelfServicePortal zu erstellen der einen "abgespreckten Ticketdialog" aufruft, in dem Der HR QuickCall als Standardwert vor ausgewählt und nicht zu ändern ist.
Allerdings habe ich nur die Möglichkeit gefunden, bei dem QuickLink (QuickLing Typ: Dialog) als Entität das Konfigurationselement auszuwählen. Dieses ist wiederum mit dem TicketDialog Verknüpft. Würde ich jetzt ein neues Konfigurationselement TicketsNonIT beispielsweise bauen, müsste dies ja an alle möglichen Aktionen neu Verknüpft werden.
Gibt es hier einen anderen Ansatz das zu lösen ? Kann ich dem QuickLink direkt mit dem neu gebauten Dialog Verknüpfen, welcher widerum mit dem CI SPSActivityTypeTicket verknüpft ist
Für Lösungsansätze wäre ich Dankbar !
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Sie dir mal nachfolgende und verlinkte Thema an. Ich denke dass kann ist ein ähnlicher Fall und kann dein Problem lösen:
viewtopic.php?f=81&t=19084&p=71809&hili ... 55c#p71809
Ich würde entsprechend mit der Outercontext Variable arbeiten und dann basierend auf dieser Value den Originaldialog mehrfach verwenden, um Elemente ein- bzw. ausblenden und sofern notwendig filtern oder die Quickcall Value vorbelegen.
viewtopic.php?f=81&t=19084&p=71809&hili ... 55c#p71809
Ich würde entsprechend mit der Outercontext Variable arbeiten und dann basierend auf dieser Value den Originaldialog mehrfach verwenden, um Elemente ein- bzw. ausblenden und sofern notwendig filtern oder die Quickcall Value vorbelegen.
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Steinbit,
Erst einmal Danke für die schnelle Unterstützung!
Ich habe es jetzt mit der Outercontext Variable versucht, der QuickCall wird auch dementsprechend anhand der ID vorausgewählt.
Wenn ich das Ticket nach ausfüllen der Pflichtfelder fertigstelle, wird auch das Ticket erstellt und ü ber den EQM Workflow an die Queue geleitet.
Allerdings werden die weiteren Felder nicht anhand der QuickCall Vorlage gefüllt, sondern haben einfach weiterhin den Standardwert.
Klappt das nur wenn ich dann bei den anderen Feldern dann auch einen Value für OuterContext mit angebe, allerdings wird das bei der description nicht funktionieren, weil ich dort doch keien ID habe ?!
Zudem wird nicht angezeigt, welche QuickCall Vorlage ausgewählt ist, das Feld bleibt Weiß. Das ist allerdings nicht weiter tragisch, aber wie kann ich denn über die OpenContext steuern, dass der Objektwähler garnicht sichtbar ist im dialog für den Enduser ?
Ich habe leider keine JavaScript Vorkenntnisse.
Da ich das Layout ja nicht unabhängig anpassen kann, da es sich ja weiterhin um den Standarddialog für Tickets handelt, kann ich es ja nur hingehend anpassen, gewisse Felder komplett auszublenden.
Danke vorab!
VG Timo
Erst einmal Danke für die schnelle Unterstützung!
Ich habe es jetzt mit der Outercontext Variable versucht, der QuickCall wird auch dementsprechend anhand der ID vorausgewählt.
Wenn ich das Ticket nach ausfüllen der Pflichtfelder fertigstelle, wird auch das Ticket erstellt und ü ber den EQM Workflow an die Queue geleitet.
Allerdings werden die weiteren Felder nicht anhand der QuickCall Vorlage gefüllt, sondern haben einfach weiterhin den Standardwert.
Klappt das nur wenn ich dann bei den anderen Feldern dann auch einen Value für OuterContext mit angebe, allerdings wird das bei der description nicht funktionieren, weil ich dort doch keien ID habe ?!
Zudem wird nicht angezeigt, welche QuickCall Vorlage ausgewählt ist, das Feld bleibt Weiß. Das ist allerdings nicht weiter tragisch, aber wie kann ich denn über die OpenContext steuern, dass der Objektwähler garnicht sichtbar ist im dialog für den Enduser ?
Ich habe leider keine JavaScript Vorkenntnisse.
Da ich das Layout ja nicht unabhängig anpassen kann, da es sich ja weiterhin um den Standarddialog für Tickets handelt, kann ich es ja nur hingehend anpassen, gewisse Felder komplett auszublenden.
Danke vorab!
VG Timo
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Timo,
Du kannst dann bei dem Feld Quickcall (Advanced Mode) folgendes machen:
Verknüpftes Datenmodell (zusätzlich):
context (OuterContext); Beobachten: Ja
Dies sollte den Quickcall belegen und somit die Folgewerte (Beschreibung, Rolle, Prio etc) automatisch entsprechend den Werten des Quickcalls belegen
Du kannst dann bei dem Feld Quickcall (Advanced Mode) folgendes machen:
Verknüpftes Datenmodell (zusätzlich):
context (OuterContext); Beobachten: Ja
Code: Select all
if (outerContext.$value) {
switch(outerContext.$value.Dialog) {
case "IT": return "20b6a779-7618-e711-940f-1866da60aa50"; /* ID of Quickcall für IT */
case "HR": return "549f59bc-9bd6-e311-93fa-001018f589cb"; /* ID of Quickcall für HR */
default: break;
}
}
[...]
/* other code */
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Steinbit,
ich habe dem Objektwähler für QuickCalls im erweiterten Modus die Variable outerContext hinzugefügt:
Allerdings werden die Felder trotzdem nicht gefüllt udn das Feld für den QuickCall bleibt Weiß (QuickCall ist aber dennoch gewählt, weil nach dem Abesetzen des Ticktets in Preview ersichtlich).
Für die IT gebe ich kein QC ID mit an, weil das Feld im Standard einfach nicht vorausgefüllt sein soll.
Ist es denn möglich dieses Feld über JavaScript dementsprechend auch dann auf unsichtbar zu stellen, dass der QC nicht mehr manuell geändert werden kann ?
Schonmal Dankeschön
EDIT: Ich sehe gerade, dass das gleiche Problem auch über den StandardButton für die Ticketerstellung ist. Dort kann ic hzwar einen QuickCall auswählen, allerdings bleibt das Feld weiß und die Felder werden nicht mehr automatisch gefüllt.
ich habe dem Objektwähler für QuickCalls im erweiterten Modus die Variable outerContext hinzugefügt:
Code: Select all
if (outerContext.$value) {
switch(outerContext.$value.Dialog) {
case "HR": return "2204FC79-8C6B-EB11-E9BA-0050569DD419";
default: return $value;
}
}
Für die IT gebe ich kein QC ID mit an, weil das Feld im Standard einfach nicht vorausgefüllt sein soll.
Ist es denn möglich dieses Feld über JavaScript dementsprechend auch dann auf unsichtbar zu stellen, dass der QC nicht mehr manuell geändert werden kann ?
Schonmal Dankeschön
EDIT: Ich sehe gerade, dass das gleiche Problem auch über den StandardButton für die Ticketerstellung ist. Dort kann ic hzwar einen QuickCall auswählen, allerdings bleibt das Feld weiß und die Felder werden nicht mehr automatisch gefüllt.
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Guten Morgen,
sooo... mit
funktioniert jetzt wieder der Standard Ticketdialog Aufruf, Felder werden durch QuickCall wird gefüllt weil der den Wert bei nicht HR zurück gibt.
Für das HR, bleiben die Felder allerdings weiter leer. Wenn anhand der ID der Wert in das QuickCallFeld gesetzt wird, scheint das System es nicht zu merken und füllt somit die anderen Felder nicht aus.
Hier noch eine Idee ?
Sichtbarkeit ist jetzt auf den Layout Grids gesetzt, um bestimmte Felder ein- bzw. auszublenden
VG TImo
sooo... mit
Code: Select all
if (outerContext.$value) {
switch(outerContext.$value.department) {
case "HR":
return "2204FC79-8C6B-EB11-E9BA-0050569DD419";
default:
return $value;
}
} else{
return $value;
}
Für das HR, bleiben die Felder allerdings weiter leer. Wenn anhand der ID der Wert in das QuickCallFeld gesetzt wird, scheint das System es nicht zu merken und füllt somit die anderen Felder nicht aus.
Hier noch eine Idee ?
Sichtbarkeit ist jetzt auf den Layout Grids gesetzt, um bestimmte Felder ein- bzw. auszublenden
Code: Select all
if(outerContext.$value){
return false;
} else {
return true;
}
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Zusammen
hätte hier noch jemand ne Idee warum die anderen Felder nicht gefüllt werden anhand der Werte aus der QuickCallVorlage, obwohl das QuickCall Feld per outerContext anhand der ID automatisch gefüllt wird?
Für die Queue die wir ansteuern wollen mit dem Dialog, gibt es jeweils schon QuickCalls, welche komplex mit Tabellen im Beschreibungsfeld sind. Es wäre wichtig, das dies im Dialog dann auch so zur Verfügung steht, wie im StandardDialog wenn der QuickCall gewählt ist.
Für jeden Tipp wäre ich dankbar
Oder gibt es agr noch einen anderen weg ?
Danke vorab und schon ein schönes Wochenende!
hätte hier noch jemand ne Idee warum die anderen Felder nicht gefüllt werden anhand der Werte aus der QuickCallVorlage, obwohl das QuickCall Feld per outerContext anhand der ID automatisch gefüllt wird?
Für die Queue die wir ansteuern wollen mit dem Dialog, gibt es jeweils schon QuickCalls, welche komplex mit Tabellen im Beschreibungsfeld sind. Es wäre wichtig, das dies im Dialog dann auch so zur Verfügung steht, wie im StandardDialog wenn der QuickCall gewählt ist.
Für jeden Tipp wäre ich dankbar
Oder gibt es agr noch einen anderen weg ?
Danke vorab und schon ein schönes Wochenende!
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Timo,
ich konnte das Problem nun vollständig lösen. Das Problem ist die Asynchronität > Berechnung der anderen Felder. Dies kannst du mit einem Timeout aushebeln:
Related data model properties and localizable resources:
outerContext [Watchable: True] Context.OuterContext
quickCall [Watchable: False] SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall
Im Video nicht sichtbar, aber weitere Werte, wie Ticket-Typ, verantwortliche Rolle und Verantwortlicher werden auch aus dem Quickcall übernommen. Zusätzlich wird die Lösung mit dem Quickcall Inhalt vorbefüllt.
ich konnte das Problem nun vollständig lösen. Das Problem ist die Asynchronität > Berechnung der anderen Felder. Dies kannst du mit einem Timeout aushebeln:
Related data model properties and localizable resources:
outerContext [Watchable: True] Context.OuterContext
quickCall [Watchable: False] SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall
Code: Select all
function initializeQuickCall() {
setTimeout(function (){
switch(outerContext.$value.Dialog) {
case "HR": { $value = "dfcc4f99-e474-e611-c3ad-00505690242e"; break; }
default: { return null; }
}
quickCall.$setValue({
"$value": $value
});
}, 100);
}
if (outerContext.$value && ($value == null && $oldValue == null)) {
initializeQuickCall();
} else {
return $value;
}
- Attachments
-
- 20210310_OneDialog - Testsystem.gif
- (758.63 KiB) Downloaded 702 times
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Steinbit!
Vielen vielen Dank für deine Mühe und Unterstützung !
Es funktioniert
So hat man wirklich viele Möglichkeiten das SSP mit sinnvollen QuickLinks zu bereichern und kann das System für weitere Bereiche / Abteilungen (mit EQM), nutzen
Schönen Arbeitstag noch !
Vielen vielen Dank für deine Mühe und Unterstützung !
Es funktioniert
So hat man wirklich viele Möglichkeiten das SSP mit sinnvollen QuickLinks zu bereichern und kann das System für weitere Bereiche / Abteilungen (mit EQM), nutzen
Schönen Arbeitstag noch !
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Super. War auch für mich eine Herausforderung für mich mit der Asynchronität und habe selbst wieder ein wenig mehr dazugelernt.
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo zusammen,
ich hatte dieselbe Anforerung und fand die vorgestellte Lösung klasse! Ich bin aber leider an der Implementierung bei uns im System gescheitert. Ich hatte es erst mit der Variante des Kontexts versucht (leider erfolglos) und dann ohne die Kontext-Variable:
Der QuickCall wird einwandfrei ausgewählt, aber die davon abhängigen Felder automatisieren sich einfach nicht. Habe es auch schon mit längerem Timeout versucht. Es dauert dann einfach länger, bis der QC eingefügt wird, aber trotzdem wird die Änderung im Formular nicht erkannt.
Die Variable quickCall habe ich mit der Eigenschaft "SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall" eingebunden (nicht beobachbar).
Woran kann das jetzt noch liegen?
Es wäre schön, wenn mir da jemand helfen könnte.
Vielen Dank schon mal!
Gruß, Alex
ich hatte dieselbe Anforerung und fand die vorgestellte Lösung klasse! Ich bin aber leider an der Implementierung bei uns im System gescheitert. Ich hatte es erst mit der Variante des Kontexts versucht (leider erfolglos) und dann ohne die Kontext-Variable:
Code: Select all
function initializeQuickCall() {
setTimeout(function (){
$value = "666d0032-e641-c9e6-612e-08d8eacb17ed";
quickCall.$setValue({
"$value": $value
});
}, 100);
}
if ($value == null && $oldValue == null) {
initializeQuickCall();
} else {
return $value;
}
Die Variable quickCall habe ich mit der Eigenschaft "SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall" eingebunden (nicht beobachbar).
Woran kann das jetzt noch liegen?
Es wäre schön, wenn mir da jemand helfen könnte.
Vielen Dank schon mal!
Gruß, Alex
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hi Alex,
nutzt du den Standard-Dialog im SSP? Haben die von QC abhängigen Felder entsprechende Abgleiche und Beobachter definiert?
Beispiel - Urgency:
p0_Urgency [Wachable: true] QuickcallInfo.return.Urgency
p2_Urgency [Wachable: true] CategoryInfo.return.Urgency
p2_Urgency [Wachable: true] SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall
nutzt du den Standard-Dialog im SSP? Haben die von QC abhängigen Felder entsprechende Abgleiche und Beobachter definiert?
Beispiel - Urgency:
p0_Urgency [Wachable: true] QuickcallInfo.return.Urgency
p2_Urgency [Wachable: true] CategoryInfo.return.Urgency
p2_Urgency [Wachable: true] SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall
Code: Select all
if(p0_Urgency.$hasChanges) {
return p0_Urgency.$value;
} else if(p2_Urgency.$hasChanges) {
return (p3_QuickCall.$value === null)? p2_Urgency.$value : $oldValue;
} else if(p3_QuickCall.$hasChanges && $value != p0_Urgency.$value) {
return p0_Urgency.$value;
} else{
return $value;
}
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Steinbit,
vielen Dank für deine Antwort!
Wir nutzen eine Kopie des Standard-Ticketdialogs, der JavaScript-Ausdruck für Urgency entspricht exakt dem von dir erwähnten Code, dasselbe gilt für die anderen Felder wie Impact, Subject, Category, DescriptionHTML, etc.
Beispiel DescriptionHTML:
Sonst noch eine Idee?
Gruß,
Alex
vielen Dank für deine Antwort!
Wir nutzen eine Kopie des Standard-Ticketdialogs, der JavaScript-Ausdruck für Urgency entspricht exakt dem von dir erwähnten Code, dasselbe gilt für die anderen Felder wie Impact, Subject, Category, DescriptionHTML, etc.
Beispiel DescriptionHTML:
Code: Select all
var changedElem = null;
if(qcDescription.$hasChanges) {
changedElem = qcDescription;
} else if(catDescription.$hasChanges && quickCall.$value === null){
changedElem = catDescription;
}
if(!!changedElem && (!$value || $value === changedElem.$oldValue)){
return changedElem.$value;
}
return $value;
Gruß,
Alex
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hi Alex,
die OuterContext Variable muss in der SSP LandingPage (oder Kopie) und dort im Quick Link > Outer Context definiert werden:
Aber dein Code funktioniert grundsätzlich bei mir im System. Hast du schon einmal mit F12 (der Entwickler-Konsole) im Browser gearbeitet? Gegebenenfalls wird dort ein Fehler angezeigt.
Ansonsten fällt mir noch dieser Punkt ein, wobei dieser wie folgt im Standard gesetzt sein sollte.
DataSource QuickCallInfo >Property quickCallId [Advanced Mode]: Welcher Wert ist dort hinterlegt?
p0_QuickCall [Wachable: true] SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall
Thomas
die OuterContext Variable muss in der SSP LandingPage (oder Kopie) und dort im Quick Link > Outer Context definiert werden:
Code: Select all
{"Dialog":"HR"}
Ansonsten fällt mir noch dieser Punkt ein, wobei dieser wie folgt im Standard gesetzt sein sollte.
DataSource QuickCallInfo >Property quickCallId [Advanced Mode]: Welcher Wert ist dort hinterlegt?
p0_QuickCall [Wachable: true] SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall
Code: Select all
return (p0_QuickCall.$hasChanges && p0_QuickCall.$value) ? p0_QuickCall.$value: $value;
Re: Zweiten Ticket Dialog mit QuickLink Button verknüpfen
Hallo Thomas,
also, wenn mein Code bei dir funktioniert, dann braucht man die OuterContext Variable ja nicht unbedingt, oder?
Und ich erhalte keine JavaScript-Fehler.
Ich rufe den Dialog dann direkt per URL (ID) auf:
https://domain/wm/?view-options=%7B%22d ... d45cb03ff0[/b]%22,%22type%22:%22SPSActivityTypeTicket%22,%22viewType%22:%22new%22%7D
Weitere Beobachtungen:
also, wenn mein Code bei dir funktioniert, dann braucht man die OuterContext Variable ja nicht unbedingt, oder?
Und ich erhalte keine JavaScript-Fehler.
Ich rufe den Dialog dann direkt per URL (ID) auf:
https://domain/wm/?view-options=%7B%22d ... d45cb03ff0[/b]%22,%22type%22:%22SPSActivityTypeTicket%22,%22viewType%22:%22new%22%7D
Weitere Beobachtungen:
- Der QuickCall wird nur dann vorausgewählt, wenn ich im Feld SPSActivityTypeTicket.SPSActivityClassIncident.QuickCall im Bereich "Model" die Option "Object-ID verwenden" setze. Allerdings werden die anderen Felder dann nicht befüllt. Auch dann nicht, wenn ich den QC suche und auswähle.
- Setze ich die Option "Object-ID verwenden" nicht, wird mein QC nicht vorausgewählt. Dafür kann ich aber nach dem QC suchen und auswählen. Und dann werden auch die anderen Felder befüllt.
Who is online
Users browsing this forum: No registered users and 2 guests