[gelöst] Objekt Tabelle ändern

Bild Microsoft Dynamics NAV 1.xx und 2.xx
(ehem. Navision Financials)

[gelöst] Objekt Tabelle ändern

Beitragvon NaCoder » 18. September 2014 12:37

Hallo,

ich erhalten unter NAV2.6 wenn ich Objekte in der Tabelle 2000000001 Objekt ändern möchte folgende Fehlermeldung:

FM-Objekt-Tabelle-Ă„ndern.png

Mache es in einer Form.

Mein Code - Bei Modify wirft es auf.
Code: Alles auswählen
SETRANGE(ID, 1050000, 1060000);
FIND('-');
REPEAT
  Objekte.SetRange(ID, ID);
  Objekte.SetRange(Typ, Type);
  IF Objekte.Find('-') THEN BEGIN
    Objekte.Typ := Type;
    Objekte.ID := ID;
    Objekte.Geändert := Geändert;
    Objekte.Datum := Datum;
    Objekte.Zeit := Zeit;
    Objekte.Name := Name;
    Objekte.MODIFY;
  END;
UNTIL NEXT = 0;
Zuletzt geändert von NaCoder am 19. September 2014 09:49, insgesamt 1-mal geändert.
NaCoder
 
Beiträge: 109
Registriert: 17. Juni 2013 09:25

Re: Objekt Tabelle ändern

Beitragvon Timo Lässer » 18. September 2014 14:32

In der Objekttabelle sind einige Objekttypen virtuell, somit sind deren Datensätze schreibgeschützt.
Darunter fallen die Typen "TableData" (nicht zu verwechseln mit dem Typ "Table"), "Field" und "System".

Du musst also darauf achten, dass du nur die Objekttypen Table,Form,Report,Dataport und Codeunit erwischt.

Felder lassen sich jedoch über die Tabelle "Fields" in gewissem Umfang ändern.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Objekt Tabelle ändern

Beitragvon NaCoder » 18. September 2014 15:16

Hallo,

ahhh, jetzt kommen wir mit der Sache schon näher. Es gibt bei Type die Auswahl Table, Reports, Forms, ... usw...
Nur leider hat er anscheinend nur TableData in der Tabelle, wenn ich es so in eine andere Tabelle zwischenspeichere.

Objekte - Record - 20000001

Code: Alles auswählen
Objekte.SETRANGE(ID, 1030000, 104000);
Objekte.SETRANGE(Mandantenname, COMPANYNAME);
Objekte.SetRange(Typ, 1, 5);
Objekte.FIND('-');
REPEAT
  Type := Objekte.Typ;
  ID := Objekte.ID;
  Geändert := Objekte.Geändert;
  Datum := Objekte.Datum;
  Zeit := Objekte.Zeit;
  Name := Objekte.Name;
  INSERT;
UNTIL Objekte.NEXT = 0;
NaCoder
 
Beiträge: 109
Registriert: 17. Juni 2013 09:25

Re: Objekt Tabelle ändern

Beitragvon Timo Lässer » 19. September 2014 09:29

Drei Punkte zu deinem letzten Programmcode:

Nur Objekte der Art::TableData enthalten einen Mandantennamen (sofern in der dazugehörigen Tabelle DataPerCompany=Yes ist).
In allen anderen Fällen ist das Feld Mandantenname leer.

Variablen vom Typ Record sollten so heiĂźen, wie die Tabelle.
Und da Tabellennamen immer im Singular geschrieben werden sollen, muss es Objekt und nicht Objekte heiĂźen. ;-)

Der besseren Lesbarkeit sollte man Optionswerte nicht als Integer schreiben:
Schlecht: Objekt.SetRange(Typ, 1, 5);
Besser: Objekt.SetRange(Typ, Objekt::Table, Objekt::Codeunit);
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Objekt Tabelle ändern

Beitragvon NaCoder » 19. September 2014 09:48

Aj, jetzt hab ich gesehen. Danke Timo Lässer :)
NaCoder
 
Beiträge: 109
Registriert: 17. Juni 2013 09:25


ZurĂĽck zu NAV 2.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast