Page 1 of 1

Consumer aus Katalog in Dialog übernehmen

Posted: 13. Nov 2024, 13:41
by llaprosper
Hallo Zusammen,

wie kann ich in einem CustomForm den User mitgeben, der im Service Katalog als Comsumer ausgewählt wurde?
Also nicht der CurrentUser, sondern der Empfänger des Services.
Könnt ihr mir da kurz auf die Sprünge helfen?
Welche Source muss ich hinzufügen (SVCServiceBookingClassBase?) und wo den Filter setzen?

Danke euch
Andreas

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 13. Nov 2024, 14:10
by MF_NSc
Hallo Andreas,
schau Dir mal das hier an: https://help.matrix42.com/020_ESM/10_Se ... vice_forms

Du fügst bei den Context-Variablen "ServiceDetails" hinzu und hast dann Zugriff auf weitere Attribute (siehe weiter unten).
Dort dann einfach das gewünschte Attribut hinzufügen, z.B. ItemNumber(= SRVxxxxx) oder Recipient.
Damit kannst dann dein FormularAttribut verknüpfen (prüfen dass es nur bei Erstellung gezogen wird, ServiceDetails ist später ja nicht verfügbar, wenn Du das Form z.B. in einem Task verknüpft hast)

Image

ServiceDetails: {
Catalog: { Id, Name },
Recipient,
Id,
Name,
ItemNumber,
FullImagePath,
Parents

},

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 13. Nov 2024, 15:05
by llaprosper
Das habe ich in er Tat noch nicht gekannt.
Aber ganz klar ist mir das noch nicht ganz.
Habe nun die beiden Context Variablen angelegt.

Wenn ich aber z.B. den Consumer brauche, dann bringt mir das doch nichts, da ich nur die Attribute aus dem Java Script abrufen kann, oder?


BTW: Gibt es den $Filter in den Sourcen gar nicht mehr? Habe nach der Doku eine neue Source hinzugefügt und soll nun den $filter anpassen. Den gibt es aber nicht mehr.
Sind auf Version 12.05

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 19. Nov 2024, 11:57
by MF_NSc
Du hast nur den "Recipient" = Empfänger des Services, richtig. Den Besteller hast Du ja schon über den Context > Currentuser.

Wenn Du weitere Daten des Users brauchst kannst Du natürlich einfach noch die SPSUserClassBase als custom_-Datenquelle reinhängen . Aber damit muss man halt nicht umständlich über den ShoppingCart o.ä. gehen. Verknüpfung dann über $id (custom_Recipient > $id)::GuidType mit Take Value From Context > ServiceDetails > Recipient.

Zu den Filtern: Breaking Changes
Schau mal unter dem Stichwort "Parametrized Filter Expressions".
Die Systemdiagnose gibt Dir eine Übersicht welche Dialoge anzupassen sind. Wichtig: speichere Dir den alten Filter vorher einmal irgendwo weg als Screenshot - weil wenn der Haken für "alten Filter verwenden" mal entfernt und gespeichert ist gibts kein zurück :-)

Link zu M42 Help Nr. 1 und hier Link zu M42 Help Nr. 2

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 19. Nov 2024, 14:42
by andy_m42
ich habe es so verstanden, dass er den gesetzten user in der form hinterlegt haben möchte und möglicherweise weiterverarbeiten.
d.h. hier wäre noch eine beziehung von form zu userclassbase nötig.

für mich hört sich das folgendermaßen an:

1. DD um UserClassBase erweitern
Image
Beziehung.png
(16.72 KiB) Downloaded 406 times
2. ServiceDetails hinzufügen (wie bereits bekannt)

3. eine neue eigenschaft für ServiceDetails hinzufügen
Image
Recipient.png
(30.66 KiB) Downloaded 433 times
Image
Context.png
(4.06 KiB) Downloaded 449 times

Code: Select all

return serviceDetails.$value.Recipient;
4. Context.Recipient für User verwenden
Image
Quelle.png
(13.84 KiB) Downloaded 428 times
Image
UserAttribut.png
(19.55 KiB) Downloaded 456 times
5. User-Attribut in den Dialog ziehen und Control festlegen

falls am thema vorbei, hilft es vielleicht jemand anderem :) (dieser smiley ist einfach gruselig)

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 20. Nov 2024, 11:09
by llaprosper
MF_NSc wrote: 19. Nov 2024, 11:57
Zu den Filtern: Breaking Changes
Schau mal unter dem Stichwort "Parametrized Filter Expressions".
Die Systemdiagnose gibt Dir eine Übersicht welche Dialoge anzupassen sind. Wichtig: speichere Dir den alten Filter vorher einmal irgendwo weg als Screenshot - weil wenn der Haken für "alten Filter verwenden" mal entfernt und gespeichert ist gibts kein zurück :-)

Link zu M42 Help Nr. 1 und hier Link zu M42 Help Nr. 2
Die Info kannte ich schon, mir war aber nicht klar, dass dabei auch der $filter in den zugefügten Sourcen betroffen ist.
Ist also richtig, dass dies der Grund für den Wegfall des $filter ist, richtig?

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 20. Nov 2024, 11:10
by llaprosper
andy_m42 wrote: 19. Nov 2024, 14:42 ich habe es so verstanden, dass er den gesetzten user in der form hinterlegt haben möchte und möglicherweise weiterverarbeiten.
d.h. hier wäre noch eine beziehung von form zu userclassbase nötig.
Genau, ich wollte den User in der form zum weiterverarbeiten haben.

Re: Consumer aus Katalog in Dialog übernehmen

Posted: 20. Nov 2024, 11:28
by MF_NSc
Ja, hatte ich auch so verstanden. Steht ja im ersten Beitrag, dass Du das ServiceDetails.Recipient bzw. Context.CurrentUser mit deinem Serviceformular-Attribut verknüpfen kannst.