[gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Bild Microsoft Dynamics NAV 5.xx

[gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 30. Juli 2009 11:29

Hallo

ich habe folgendes Problem, ich soll eine Codeunit schreiben die von jedem Benutzer registriert, welche Tabelle, Form usw. er geöffnet hat.
Jetzt meine Frage: Woher bekomme ich die Informationen ĂĽber die Tabelle, Form sprich die ID und den Namen???

Ich hoffe ihr könnt mir helfen.
Zuletzt geändert von flowerdog am 30. Juli 2009 16:02, insgesamt 2-mal geändert.
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon Natalie » 30. Juli 2009 13:41

Schau mal in der Onlinehilfe nach OBJECTID.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 30. Juli 2009 14:04

Soweit ich es verstanden habe gibt es die Obectid aber nur bei Forms und Reports. Ich brauche aber von jedem die Id den type und den namen.

also nochmal ich soll eine Codeunit schreiben die im hintergrund alles was ein user öffnet und beendet registriert. Sprich wen einer eine form öffnet soll da stehen wer die Form geöffnet hat, wann, welche form (id) type= form (oder auch alle anderen) und den namen der form und das ganze dann auc wann es geschlossen wird.

aber mir fehlt die idee wie ich das umsetzen kann. wäre über jede idee sehr dankbar.
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon Torsten67 » 30. Juli 2009 14:30

Vielleicht eine Idee:

Du könntest jeweils in den Start- und Ende-Triggern der Objekte entsprechende Einträge in einer Protokolltabelle hinterlassen. Allerdings müsstest du dann ALLE Objekte anpassen ...
Das funktioniert fĂĽr Forms, Reports und Dataports, nicht fĂĽr Tabellen.
Tritt ein Fehler auf, sind aber auch die Protokolleinträge weg, durch das fehlende COMMIT.

> Soweit ich es verstanden habe gibt es die Obectid aber nur bei Forms und Reports

Nein, alle Objekte haben eine eindeutige Objekt-ID.


GruĂź Torsten
Torsten67
Microsoft Partner
Microsoft Partner
 
Beiträge: 80
Registriert: 4. Juni 2007 16:24
Wohnort: Erfurt
Realer Name: Torsten Söhnel
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.x,4.x,5.x,2009

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon mikka » 30. Juli 2009 14:33

Du könntest eine CodeUntit erstellen, die die gewünschten Parameter erwartet.
Diese in jedem Objekt, das Protoklliert werden soll auf dem OnInit Trigger plazieren (bzw. OnCloseForm), z.b.


Code: Alles auswählen
// Auf dem OnInit oder OnOpenForm Tigger
Protokollierung.SchreibeEintrag(USERID,DATE,TIME,CurrForm.OBJECTID,'Open')

// Auf dem OnCloseForm Trigger
Protokollierung.SchreibeEintrag(USERID,DATE,TIME,CurrForm.OBJECTID,'Close')


Du musst den Aufruf je nach Objekttyp anpassen, z.B.
Form = CurrForm.OBJECTID
Report = CurrReport.OBJECTID
usw.

Ggg. in der Codeunit die Tabelle 2000000001 mit einbinden, falls du weitere Infoamationen zu den Objekten benötigst.
Ebenso mit dem ĂĽbersetzten der UserID in Benutzername.
GruĂź, Mikka

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon McClane » 30. Juli 2009 14:39

Vielleicht solltest du mal schauen, ob das Ă„nderungsprotokoll nicht eher dem entspricht, was du suchst. Denn da werden Ă„nderungen an den Daten festgehalten, und das ist ja wohl, worum es geht?

Wer will schon wissen, dass ich mir 2 Stunden eine Artikelkarte angeschaut habe ...

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 30. Juli 2009 14:45

Danke mikka! das werde ich gleichmal probieren ob das funktioniert. Kann ich diese idee auch fĂĽr codeunits und dataports nutzen. wie gesgt ich weiĂź nur das es die currform.objectid --> fĂĽr Forms und reports (currreport) gibt.

HI mclane!

auf die idee bin ich auch schon gekommen aber mein Ausbilder möchte das so haben wieso auch immer :( Und ich soll das programmieren :-)
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 30. Juli 2009 14:59

sorry das ich so blöd frage aber kann mir mal jemand genau erklären, wie ich in einer Form eine codeunit mit funktion aufrufe bzw. die funktion der codeunit aufrufe. Ich habe da noch nie gemacht.
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon Timo Lässer » 30. Juli 2009 15:12

  1. Erstelle eine "Protokoll-Tabelle"
    • Datum [Date]
    • Zeit [Time]
    • User ID [Code20]
    • Objektart [Option:Table,Form,Report,Dataport,XMLport,Codeunit]
    • Objekt-ID [Integer]
    • Objekt Aktion [Text30]
  2. Erstelle eine neue Codeunit
    • Erstelle dort eine Funktion "SchreibeEintrag"
    • Definiere dort ĂĽber die Locals die Parameter ObjectType [Integer], ObjectID [Integer], ObjectAction [Text30]
    In dieser Funktion schreibst du die ĂĽbergebenen Werte in die neue Tabelle
    Code: Alles auswählen
    Log.INIT;
    Log.Datum := TODAY;
    Log.Zeit := TIME;
    Log."User ID" := USERID;
    [...]
    Log.INSERT;
  3. In den zu protokollierenden Objekten:
    • Definiere eine globale Variable vom Typ Codeunit, welche auf deine neue Codeunit verweist
    • Schreibe in den OnOpenForm-Trigger
      Code: Alles auswählen
      LogCU.SchreibeEintrag(1,4711,'Open'); // 1 = Form, 4711 = Form-ID
    • Sinngemäß gehört dann in den OnClose-Trigger
      Code: Alles auswählen
      LogCU.SchreibeEintrag(1,4711,'Close'); // 1 = Form, 4711 = Form-ID
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: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon McClane » 30. Juli 2009 15:15

flowerdog hat geschrieben:auf die idee bin ich auch schon gekommen aber mein Ausbilder möchte das so haben wieso auch immer :( Und ich soll das programmieren

Für alle 5000 (oder wieviel auch immer) Objekte? Hast du ihn geärgert? :wink:

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 30. Juli 2009 15:34

Danke Timo :-)!

der dritte punkt hätte auch ausgereicht. wollte nur wissen wie ich die codeunit in einer Form aufrufe. Ich programme nochmaler forms, tabellen und reports aber codeunits habe ich zwar schon programmiert aber noch nie aufgerufen. :-) bin halt Lehrling da muss man nicht alles können

fĂĽr Mclane

nein nicht das ich wĂĽsste, ich bin doch ganz brav :-)!
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon mikka » 30. Juli 2009 16:41

flowerdog hat geschrieben:Danke mikka! das werde ich gleichmal probieren ob das funktioniert. Kann ich diese idee auch fĂĽr codeunits und dataports nutzen. wie gesgt ich weiĂź nur das es die currform.objectid --> fĂĽr Forms und reports (currreport) gibt.


Ich denke das Timo dir bereits das wesentliche geschrieben hat.
In Objekten in denen die ID nicht ausgelesen werden kann, kannst du wie Timo geschrieben hat statt "CurrForm.OBJECTID" auch 50012 (also die Nummer des Objektes) "zu FuĂź" eintragen.

:greenarrow: HeiĂźer Tipp
Bzgl. des Eintragen in in allen Objekten. Exportiere alle auf einmal als Textdatei (am Besten je Typ 1x).
Im Texteditor die korrekte Stelle (also den Aufruf der CodeUnit) per Suchen & Ersetzten einfĂĽgen.
Dann wieder Importieren und Compilieren (mach das aber auf jeden Fall auf einer Test-DB!!!)
Das sollte dir ein paar Tage Arbeit ersparen :mrgreen:
(MĂĽsste zumindest bei Forms und Reports klappen, da hier die ID ausgelesen werden kann)

<Offtoppic> Du must es nicht hervorheben, das du im ersten Lehrjahr bist. Jeder hat irgendwann mal angefangen. Ich fühle mich auch manchmal als wäre ich noch im Praktikum und muss alles neu lernen :lol: </Offtoppic>
GruĂź, Mikka

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 31. Juli 2009 08:30

Morgen!

Ich habe da nochmal eine Anfängerfrage: von welchem Typ sind die USERID und die OBJECTID? Bzw. gibt es eine Möglichkeit die Typen (int, text boolean usw.) von den genannten Sachen raus zu bekommen?
Zuletzt geändert von flowerdog am 31. Juli 2009 09:46, insgesamt 1-mal geändert.
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon mikka » 31. Juli 2009 09:26

flowerdog hat geschrieben:Morgen!

Ich habe da nochmal eine Anfängerfrage: von welchem Typ sind die USERID und die OBJECTID? Bzw. gibt es eine Möglichkeit die Typen (int, text boolean usw.) von den genannten Sachen raus zu bekommen?

Bitte künftig nicht einen Beitrag Posten und wieder löschen, das bringt den Thread durcheinander


USERID = CODE(20) (Das kann u.a. daran erkannt werden, das diese automatisch groß geschrieben werde und Leerstellen am Anfang und Ende gelöscht werden)
ObjektId )= Text(30)

:greenarrow: Noch ein Tipp (Ab welcher Version das geht, weiĂź ich nicht!).
Bei mir hat es Jahre gedauert, dieses zu entdecken :roll:

Bei den "versteckten" Tabellen können wir leider nicht sehen von welchem Typ die Felder sind (zumindest nicht direkt!).
(Dieses ist auch beim täglichen Programmieren hilfreich, um nicht ständig nachschauen zu müssen: "was für ein Feld bist du"!)
Eine Variante sich den Typ und die Länge anzeigen zu lassen ist,
a. die Tabelle in irgendeinen Objekt in den Variablen definieren
b. Das gewĂĽnschte Feld im Code plazieren
c. Mit der Maus (bzw. dem Cursur) auf das Feld gehen (rechts vom Punkt!)
-->Es wird unten links in der Statusleiste das Feld angezeigt (siehe Screenshot)
Dateianhänge
Tipp2.JPG
Tipp2.JPG (17.2 KiB) 1056-mal betrachtet
GruĂź, Mikka

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon McClane » 31. Juli 2009 09:33

mikka hat geschrieben:USERID = CODE(20) (Das kann u.a. daran erkannt werden, das diese automatisch groß geschrieben werde und Leerstellen am Anfang und Ende gelöscht werden)

Wenn die DB auf SQL läuft, kann die UserId allerdings auch klein sein, also text.

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon fiddi » 31. Juli 2009 09:44

Hallo Flowerdog,

Die USERID sollte vom Type Code20 sein (Tabelle User), die OBJECTID vom Typ integer.

Aber ich muss MacLane beipflichten, entweder du hast deinen Ausbilder geärgert, oder wollte dich für eine Woche loswerden :mrgreen:.
(Einen KFZ-Auszubildenden wĂĽrde man ins Lager schicken, um einen Liter Hubraum zu holen. :-D )

Was du allerdings hierbei lernen kannst, wo es Sinn macht deine Funktion einzufügen. Denn es ist sicherlich Blödsinn, die Funktion im OnOpen einer Auftragssubform einzubauen, denn die kann man immer nur zusammen mit der Hauptform benutzen. Für Tabellen und Codeunits kannst du das eh nicht benutzen, da es kein OnOpen einer bei einer Tabelle gibt. Du könntest das nur über die FORM lösen, die mit einer Tabelle verknüpft ist. Bei einer Codeunit müsstest du den Aufruf deiner Codeunit in jede globale Funktion der CU einbauen, da es auch hier kein OnOpen gibt.
Was du dann noch berücksichtigen müsstest, sind die Transaktionen. Fängst du in einem Form eine Schreibtransaktion (dein Protokoll wäre sowas) an, darfst du danach keine RunModals mehr machen, bis ein Commit gemacht wurde. Machst du aber bei jedem Eintrag in dein Protokoll, bringst du die Transaktionssicherheit des Systems durcheinander.
Was passiert denn, wenn deine Transaktion abgebrochen wurde, soll das Protokoll dann trotzdem geschrieben werden? (Das geht nicht, siehe oben).
Wenn du es aber wider erwarten doch geschafft hast, das ganze zum laufen zu bringen, hast du dir mal vorgestellt, was mit deinem Protokoll passiert, wenn jemand eine Rechnung bucht? :roll:

Was du machen sollst, gleicht etwa dem hier :wink:

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7094
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 31. Juli 2009 09:48

so alles wieder gerade gerĂĽckt.

Danke fĂĽr die antwort.

Die genannte Tabelle 2000000001 ist bei mir nicht zu sehen also unsichtbar.
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 31. Juli 2009 09:51

DieObjectID ist nicht vom Typ integer sie gibt folgendes zurück den typ und den namen also bei einer form zum beispiel Form Kfz Daten. Nicht die nummer die diese Form hat das ist jetzt das nächste Problem, wie bekomme ich diese nummer???
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon McClane » 31. Juli 2009 10:08

So zB:
Code: Alles auswählen
evaluate(DeinInt,DELCHR(DeinText,'=',(DELCHR(DeinText,'=','0123456789'))));

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon fiddi » 31. Juli 2009 10:09

Du hast recht, ObjectID ist eine Funktion des Reports oder der Form (und NUR der, zumindest laut C/Side-Hilfe :wink: ), die einen Text zurückliefert. Dieser Text enthält je nach Parameter den Namen oder die Nummer mit Typ vornedran.

Die Tabelle Object sehe ich auch nicht. Es gibt aber einen Trick um an die versteckten Tabellen heranzukommen: Mache eine neue Form mit der Tabelle z.B. Object als Basis.

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7094
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 31. Juli 2009 10:14

fiddi hat geschrieben:Die Tabelle Object sehe ich auch nicht. Es gibt aber einen Trick um an die versteckten Tabellen heranzukommen: Mache eine neue Form mit der Tabelle z.B. Object als Basis.


Danke werde ich gleich mal ausprobieren
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon Timo Lässer » 31. Juli 2009 11:38

Wir mĂĽssen hier zwischen dem Befehl OBJECTID und der Object.ID unterscheiden.

OBJECTID(TRUE) liefert einen Text zurĂĽck, welcher aus dem Objekttyp und der Object-Caption besteht. Da alleine schon die Caption 80 Zeichen lang werden kann, mĂĽsste das aufnehmende Feld mindestens 87 Zeichen groĂź sein (Report ReportCaption).
OBJECTID(FALSE) liefert einen Text zurĂĽck, welcher aus dem Objekttyp und der Object-ID besteht. Diesen kann man wunderbar in Objecttyp und Object-ID zerlegen und spart massig Platz und Programmieraufwand. (Report 4711)
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: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon flowerdog » 31. Juli 2009 12:40

Danke Timo!

das macht die sache leichter.
MFG Susann

Fachinformatik Anwendungsentwicklung

"Was man nicht kann, muss man lernen."
flowerdog
 
Beiträge: 57
Registriert: 7. November 2008 09:58
Wohnort: Magdeburg
Arbeitsort: Magdeburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.0

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon D_Gross » 26. November 2009 10:51

Hallo,

ich brauche ebenfalls eine Möglichkeit alle aufgerufenen Reports zu protokollieren.
Der Hintergrund ist, das es bei uns im System sehr viele Reports gibt, die nicht benutzt werden und um festzustellen welche benutzt werden hätten wir jetzt auch an eine derartige Codeunit gedacht. So möchten wir dann nach einiger Zeit die Reports die nicht in der Protokoll-Tabelle auftauchen aus dem System entfernen um wieder freie Report-ID´s zu schaffen.
Wir haben jetzt die Codeunit und die Tabelle nach der Anleitung von Timo nachgebaut und das funktioniert soweit auch schon ganz gut!
Als erstes Feld in der Tabelle haben wir jetzt zusätzlich noch eine laufende Nummer eingebunden.
Jetzt habe ich allerdings folgendes Problem. Beim ersten mal einen Report ausfĂĽhren klappt noch alles wunderbar, also wenn die Tabelle noch leer ist.
Beim zweiten mal Report ausführen kommt aber die Fehlermeldung ""Protokoll Tabelle Nummer '1' existiert bereits." Jetzt bin ich auf der Suche nach einer Möglichkeit diese laufende Nr. hochzählen zu lassen. Mit folgendem Code funktioniert es aber noch nicht:
Code: Alles auswählen
Log.INIT;
Log.Nummer := Log.Nummer + 1;
Log.Datum := TODAY;
Log.Zeit:= TIME;
Log."User ID":= USERID;
Log."Objekt ID":= ObjectID;
Log."Objekt Aktion" := ObjectAction;
Log.INSERT;

Hat von euch vielleicht jemand eine Idee wie ich das lösen könnte??

GruĂź,
D_Gross
D_Gross
 
Beiträge: 68
Registriert: 3. April 2008 09:07

Re: [gelöst] Hilfe!!! Wie Komme ich an die ID von Forms usw.?

Beitragvon McClane » 26. November 2009 10:58

Code: Alles auswählen
if Log2.findlast then
  Log.Nummer:=Log2.Nummer+1
else
  Log.Nummer:=1;

Oder Nummer auf Autoincrement stellen. Wobei die Meinungen darĂĽber wohl zweigeteilt sind.

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Nächste

ZurĂĽck zu NAV 5.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste