Die Definition des Feldes.... Fehlersuche

26. März 2008 13:53

Ich hoffe ihr könnt mir helfen. Bin hier schon halb am verzweifeln. Und zwar habe ich in der Item Tabelle ein Feld geändert. Von Integer auf Option. Dieses Feld wurde von uns selber erstellt (also kein Standardfeld). Dieses Feld ist auch auf der Artikelkarte. Da ich dieses Feld ja geändert habe, kam die im Threadtitel genannte Fehlermeldung (Die Definition des Feldes.. usw.) wenn ich die Artikelkarte versucht habe zu öffnen. Also habe ich die Artikelkarte im Design Modus geöffnet das Feld nochmal neu zugewiesen und die Artikelkarte gespeichert. Dann hab ich nochmal versucht die Artikelkarte zu öffnen. Wieder die gleich Fehlermeldung. Also habe ich Navision neu gestartet.... aber immer noch die gleiche Fehlermeldung. Dann hab ich das Aktivitätsprotokoll ausgeschaltet.. aber immer noch die Fehlermeldung.

Weiß jemand woran das liegen könnte? Vielleicht eine Abfrage in einem Anderen Feld (If Feld = geändertes Feld)? Oder liegt es vielleicht am SQL Server?
Wäre über jede Idee dankbar. Weiß langsam nicht mehr wo ich suchen soll.

26. März 2008 14:01

versuch mal von der Artikelkarte das gesamte Feld herunterzunehmen und dann nochmal neu einfügen.

26. März 2008 14:56

Ich muss mal mutmaßen, denn ich kenne leider die ganze Fehlermeldung nicht.
Vlei schreibst du sie mal rein.
Fragt ihr irgendwo im Code das Feld ab??
Denn ein Option-Feld wird ja anders in der Syntax gehalten, als ein Integer Feld.

Code:
Beispiel Option:
IF Tabelle.Feld = Tabelle.Feld::Option-wert THEN ...


Vielleicht gibt es ja damit Probleme.

Gruß Schaarschi

26. März 2008 15:12

@tba

Hab ich auch schon probiert. Auch eine Subform die auf der Karte ist habe ich kurzzeitig entfernt. Aber der Fehler trat immer noch auf.

@Schaarschi

Der Fehler lautet:

Die Definition des Feldes Lieferbar wurde geändert, nachdem das Objekt gesichert wurde.

Alter Typ: Integer
Neuer Typ: Option

26. März 2008 15:26

Ich tippe jetzt mal ins Blaue: Du hast das Feld 1x entfernt aber ihr habt das Feld mehrmals auf der Artikelkarte ;-)

Ansonsten würde ich die Form mal als Text exportieren und einfach nach dem Feldnamen suchen. Vielleicht hast du damit ja Erfolg.

26. März 2008 15:28

Ich bin ganz frisch im Geschäft, aber das angesprochene Problem erinnert mich an eine Dev I Frage:

When is it possible to change a data type for a field in a table?
Correct answer: When there is no data for the field in the table.

Und wenn man sich die Fehlermeldung durchliest, scheint das scheinbar auch darauf zu zielen, da es um eine datentypänderung nach objektspeicherung geht, oder liege ich da falsch? bin immer noch im lernprozess ;)

Gruß
Jan

26. März 2008 15:33

@SilverX

DAS ist mal ne gute Idee o.O Das ich da nicht selber drauf gekommen bin. Werd ich gleich mal probieren.

@JanGD
Ich habe bevor ich das Feld geändert habe alle Daten geleert und nach der Änderung wieder eingefügt. Also daran sollte es glaube ich nicht liegen.


Aber was ich herausgefunden habe bisher (mein "Freund" der Debugger) dass er im folgenden Code raus fliegt:

Code:
Filtergruppe := FILTERGROUP;
FILTERGROUP(9);
IF GETFILTER("Location Filter") <> '' THEN BEGIN
  FIELDERROR("Location Filter");
END;
FILTERGROUP(Filtergruppe);

CALCFIELDS(Inventory,
           "Qty. on Purch. Order",
           "Qty. on Sales Order",
           "Menge in  EK-Gutschrift");
           // "Menge verbr. in Fertigung",
           // "Menge prod. aus Fertigung");
EXIT(Inventory - "Qty. on Sales Order"
               - "Menge in  EK-Gutschrift"
               + "Qty. on Purch. Order");
           //    - "Menge verbr. in Fertigung"
           //    + "Menge prod. aus Fertigung");


Vielleicht liegt es ja an den FILTERGROUPS... nur leider hab ich überhaupt keine Ahnung davon..

Nachtrag:
Die Idee von SilverX hatte leider keinen Erfolg. Hab das Feld nicht noch einmal im Code *seufz*

26. März 2008 15:46

nochmal:
bloß so'ne Idee:
feld entfernen, dann speichern und schliessen.
mal kurz öffnen. gehts dann?
Feld wieder rein in Karte und wieder speichern und schliessen.

26. März 2008 15:55

von filtergroup habe ich keine ahnung, auf navision24.de gibts in der trickkiste zwar etwas, aber das deckt nur den paramterwert 0 und 2 ab. für was ist 9 und bringt "FILTERGROUP(FILTERGROUP)" etwas?
Noch eine nebensache: ist es so gewollt das in der einen Variablen 2 Spacezeichen nebeneinander sind?


Code:
- "Menge in  EK-Gutschrift"

26. März 2008 15:58

@tba

Wie gesagt. Das habe ich schon probiert gehabt.

@JanGD

Habe davon auch keine Ahnung. Ist ne alte Anpassung.. Kenn mich überhaupt nicht aus.


AAAAAAber... das Problem hat sich lustigerweise in Luft aufgelöst ... Ich habe den besagten Code oben mit "{}" auskommentiert. Die Form geöffnet und es ging. Dann habe ich die "{}" wieder weg gemacht und wieder die Form geöffnet.. und es ging.. Die Fehlermeldung blieb weg. Dann habe ich die Definition des Feldes nochmal geändert. Die Fehlermeldung kam wieder. Dann das gleiche spiel wieder mit dem ausklammern und wieder einfügen des Codes.. und ich konnte wieder ohne Fehlermeldung auf die Form.

Wenn jemand weiß warum das so ist, wäre ich über eine Aufklärung sehr erfreut.

26. März 2008 16:04

hmm, das allgemeine Microsoft-Feature :P
Alte Anpassung bei 4.0 ? was ist für dich alt ;)

26. März 2008 16:06

@JanGD

Ich arbeite hier in der Firma seid September 2007. Alles was davor gemacht worden ist, ist für mich alt :wink:

26. März 2008 16:08

Als Ergänzung:

Normalerweise hätte es reichen sollen, die Form im Design-Modus zu öffnen, das "böse" Feld zu löschen, aus dem Field Menu neu einzufügen und das Ganze zu speichern.
Außerdem mutmaße ich, hättest du die Form seit der Feldänderung nicht mehr kompilieren können.

Wenn also Feldänderungen (im Sinne von Datentypänderungen) vorgenommen werden, kann es hilfreich sein, alle modifizierten Forms danach zu kompilieren und ggf. Anpassungen dort vorzunehmen, wo die Kompilierung gescheitert ist.

26. März 2008 16:35

@Natalie

Das Problem war das ich das ja genau so gemacht habe. Also ich habe nach der Änderung das Feld raus genommen, neu zugeordnet und die Form kompiliert. Und das ging auch ohne Fehlermeldung. Es kam halt nur zu einem Fehler als ich die Form geöffnet habe.

26. März 2008 16:57

wird denn die Artikelkarte evtl. gefiltert aufgerufen?
und der Filter verweist noch auf dieses Feld?

26. März 2008 17:00

Nein. Es werden keine Filter beim Aufruf gesetzt. Ich weiß nur von den FILTERGROUPS in der oben genannten Funktion.