2012-04-05 5 views
2

Ich habe zwei benutzerdefinierte Auswahllisten: Typen und Dauer. Die Auswahlliste für Typen hat zwei Optionen und die Dauer hat drei. Basierend auf dem, was er in der Typenauswahlliste auswählt, wird eine von zwei Variablen an das OOTB-Beschreibungstextfeld übergeben. Und basierend auf dem, was er in sowohl der Picklisten wählt, wird eine von sechs Variablen zu einem benutzerdefinierten Garantietextfeld übergeben. Beide Textfelder sind editierbar, sodass er die Absatz-langen Variablen nach Bedarf anpassen kann.setSubmitMode-Methode unterscheidet sich zwischen Benutzern

Problem 1: Die setSubmitMode-Methode war zunächst nicht vorhanden. Wenn es nicht da war, konnte er kein Zitat revidieren. Lösung 1: Ich setze den setSubmitMode bei den OnChange-Ereignissen auf "immer".

Problem 2: Als er versuchte, das Zitat zu überarbeiten, würde es einen Read-Only-Fehler auslösen, aber er würde ihm trotzdem erlauben, das Angebot zu überarbeiten und zu speichern. Lösung 2: Ich legte den SetSubmitMode auf die OnChange Ereignisse auf "schmutzig" und hinzugefügt ein OnSave-Ereignis mit einem SetSubmitMode auf "immer".

Problem 3: Wenn er versucht, das Zitat zu überarbeiten, erhält er ein Dialogfeld "Möchten Sie Ihre Änderungen speichern". Wenn er auf "Ja" klickt, löscht er seine Änderungen und wenn er auf "Nein" klickt, erlaubt ihm das Zitat, es zu überarbeiten ... Ich kann das Dialogfeld, das ein Benutzer bekommt, nicht erzeugen.

Wir haben dies in CRM für Outlook und im Browser versucht.

Wenn es hilft zu wissen, in unseren beiden Setups sieht es so aus, als ob es ein neues Quote-Fenster öffnet. In meinem Fall schließt sich das neue Fenster jedoch sofort ohne das Dialogfeld in Outlook. Aber im Browser schließt es auch das ursprüngliche Formular. (Das ist nicht ideal, aber immer noch besser als das, was er immer.)

Dank & Grüße, M

Antwort

0

Ich bin nicht sicher genau das Problem zu verstehen, aber für diese Art von Problem, habe ich immer verwendet die gleiche Lösung. Auf dem OnSave-Ereignis habe ich diesen Code Felder schreibgeschützt durch die Javascript bearbeitet zu speichern:

if (Xrm.Page.getAttribute("my_field").getIsDirty()) { 
    Xrm.Page.getAttribute("my_field").setSubmitMode("always"); 
} 

Kein setSubmitMode ("dirty"), oder irgendetwas anderes. Auch beim onChange-Ereignis.

Ich hoffe, es hilft, ansonsten zögern Sie nicht, weitere Informationen über Ihren Prozess hinzuzufügen.

Kévin