Prüfung auf UDF-Felder, ob gefüllt oder nicht
Heiko Merz
Hallo zusammen,ich habe Ansätze zu meinem Problem im Forum gefunden, aber nichts hat geklappt.
Wir haben Prüfungen auf Standardfelder, das sie gefüllt sein müssen.
Beispiel: Im Artikelstamm Regel, dass die Artikelbezeichnung gefüllt sein muss. Regel im Optimizer: Type CSCode, Validate, Formtype 150, Eventtype Formdataupdate, Before Event JA, Form Mode All, Expression: ...
if (! CheckMandatoryField(pVal.Form, "7", "Artikelbeschreibung", "") return false;...
--> DAS KLAPPT!!!
Nun möchte ich im Geschäftspartner die selbe Prüfung auf UDF Felder.
Regel dupliziert, Form Type = -134, Expression:
if (! CheckMandatoryField(pVal.Form.UDFForm, "U_JRS_KONSOL", "Konsolidiert", "") return false;...
Aber es passiert leider nichts.
Kann mir jemand sagen was ich falsch mache ?
Framework Version 2.5
CoCu Version 1.53
Manuel Marhold
Hi Heiko,ich glaube, bei FormType -... (UDF-Form) gibt es keine dataupdate-event.
du musst als das dataupdateevent des hauptformulars abfrangen (machst du ja schon) und dann Form oForm=Form.GetFrom... und dir das Formd es UDFs holen
Sascha Balke
Hallo Heiko,es gibt mehrere Möglichkeiten.
Eine davon, die ich gern nutze ist, dass ich den User Frage, ob er das Feld leer lassen möchte oder nicht. Diese Abfrage lasse ich dann via MessageBox anzeigen.
Beispiel:
string val = TextEdit.GetFromUID(pVal.Form.UDFForm, "U_JRS_KONSOL").Value;
if(string.IsNullOrEmpty(val))
{
if (SwissAddonFramework.UI.Dialogs.MessageBox.Show("Sind Sie sich sicher das Sie ..... ?",
"Ja",
"Nein",
SwissAddonFramework.UI.Dialogs.MessageBox.Buttons.Button2) == SwissAddonFramework.UI.Dialogs.MessageBox.Buttons.Button1)
{
return true;
}
else
{
return false;
}
}
return true;
Form Type: 134
ItemUID: 1
EventTyp: ItemPressed
Bevor Event: X
Form Modus: ADD
Habe es auch mit
Form Type: 134
EventTyp: FormDataUpdate
Bevor Event: X
Form Modus: ALL
getestet und auch das läuft.
Bei Fragen melde dich einfach noch mal.
hth
Heiko Merz
Hallo Manuel,Hallo Sascha,
danke für die Tips. Erstmal Manuel: Ich habe bei Formtype statt -134 jetzt 134 drin, und es klappt.
Allerdings klappt es nur für Update, nicht für Add.
Habe die Regel dupliziert und die gleiche Regel mit "Eventtype FormdataAdd" angelegt, nun geht beides. Es geht aber sicher eleganter auch noch (Eventuell über Funktion im Extended Code ?!?!)
Sascha, deine Versionen werde ich testen, die gehen sicher auch. Allerdings sind es tatsächlich Mussfelder, die ich hier haben will. (Wenn diese nicht gefüllt sind, kann unsere Statistik nicht korrekt berechnet werden, deshalb Pflicht!)
Aber ich schaue es mir trotzdem an.
Danke schon mal, auch für einen eventuellen weiteren Tip bezgl. Add und Update in einer Funktion.
Gruß
Heiko
Manuel Marhold
Hi Heiko,du könntest die Funktion in den Extended Code packen und dann von beiden Events aufrufen. Um das Anlegen von 2 Regeln kommst du nicht herum, es sei denn, du erstellt manuell den Handler im Entended Code (was das gleiche ist, was du durch die Regeln machst.
Aber der Übersicht halber würde ich bei den Regeln bleiben. Sonst hast du an zwei Stellen "Regeln"...
Rafael Stalder
Hallo Heikodu könntest auch auf den ItemPressed-Event des Hinzufüge-Buttons und dann den Formmode auf Modify stellen.
Dann wird deine Regel zwar schon beim Drücken auf den Button ausgeführt, aber das ist ja sowieso zwingend, wenn man etwas Hinzufügen möchte.
Gruss Rafael
0
Please sign in to leave a comment.
Comments
0 comments