Fehler - Form Item is not editable - nach Update auf 9.0

Thomas H.

Hallo zusammen,


 


bei einem Kunden lief seit Jahren ein Programm das ihnen Automatisch ihre benutzdefinierten LOT-Nummern zusammenstellte.


Wenn sie einen Wareneingang hinzufügen.


Seit dem Update auf 9,0 bekomme ich immer eine Fehlermeldung ( Item - Form item is not editable) (Siehe Anhang)


 


Mein erster Verdacht war das, das umschaltenn zwischen den Formmodes Suchen / Hinzufügen zu langsam wäre und somit nicht reineschrieben werden konnte. Ich habe dann "Sleeps" eingebaut und auch noch paar Überprüfungen aber der Fehler kommt weiterhin.


 


Leider weiß ich nicht mehr weiter hat jemand eine Idee ?


 


Hier schonmal das CodeSchnipsel in dem der Fehler passiert.



using (System.Data.SqlClient.SqlDataReader DR2 = customize.B1Connector.GetB1Connector().ExecuteQuery(sQuerry2))
{

while (DR2.Read())
{
if (form.Mode != SwissAddonFramework.UI.Components.ModeComponent.FormModes.FIND)
{
form.Mode = SwissAddonFramework.UI.Components.ModeComponent.FormModes.FIND;
System.Threading.Thread.Sleep(1500);
}

if( TextEdit.GetFromUID(form,"62").Enabled ==false)
TextEdit.GetFromUID(form, "62").Enabled = true;
// Hier ist er im Suchen Modus und gibt die Gesuchte Charge ein
TextEdit.GetFromUID(form, "62").Value = DR2[0].ToString();

// Hier drück er auf Suchen
Button.GetFromUID(form, "37").Click(SwissAddonFramework.UI.Components.Item.ClickType.Regular);
System.Threading.Thread.Sleep(555);

// HIER PASSIERT DER FEHLER : Hier würde dann ein zusammgesetzter String reingeschrieben.
TextEdit.GetFromUID(form, "64").Value = sLotID1 + "-" + LD.FStr(Convert.ToInt32(DR[1]) + 1, "00") + "-" + iCounter.ToString();

Button.GetFromUID(form, "37").Click(SwissAddonFramework.UI.Components.Item.ClickType.Regular);

iCounter++;



}

Thomas H.

Hat keiner eine Idee?


Paolo Manfrin

Hi Thomas,


please could you add the rule as .cocu file? I need to check the event that you are using for triggering.


 


A couple of hints:


 


1. Did you check that the form currently selected is the right one? 


2. Try to retrieve the current selected form with the GetActiveForm method.


3. Did you check increasing the sleeping time? 



SwissAddonFramework.UI.Components.Form currentForm = SwissAddonFramework.UI.Components.Form.GetActiveForm();
TextEdit.GetFromUID(currentForm, "64").Value = sLotID1 + "-" + LD.FStr(Convert.ToInt32(DR[1]) + 1, "00") + "-" + iCounter.ToString();

Let us know how it goes.


Cheers


paolo


Thomas H.

Hi Paolo,


 


here is the Cocu-File.


 


 


Regards


Thomas H.

The 3 Hints didn´t solve the Problem


 


Regards


Anders Olsson

Hi Thomas,


 


I couldn't reproduce the problem in SAP 9.0, maybe you're on a higher patch level.


 


Anyway, I think a better and cleaner approach would be using the DI object BatchNumberDetail.


It would be more predictable and easier to debug than clicking around the UI.


 


Here you can find some hints on how to use it:


http://scn.sap.com/thread/3478345


 


Regards,


Anders

Thomas H.

Hi,


 


now i use the DI object. Now it works. Thank you.


 


Regards Thomas


0

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post