Form mit Parameter aufrufen

3. März 2010 13:13

Hallo,
mein problem ist ich kriege nicht diese Bookmark nummer für den Hyperlink aus der Form heraus.
Ich versuche das genau so wie bei dem RTC cleint.
Mein C/AL code sieht so aus:

CustomerRecRef.GETTABLE(CustomerRec);
Bookmark:=FORMAT(CustomerRecRef.RECORDID, 0, 10);

Das einziege was er mir ausgibt ist das : Customer: ""

Der Link würde so aussehen:
dynamicsnav://localhost/DynamicsNAV/CRONUS International Ltd./runpage?page=22&bookmark=120000000089083237343

bookmark=120000000089083237343 <-------so eine nummer brauche ich dann für den aufruf.

Aber damit kann ich nix anfangen.

Vieleicht mache ich das auch an den Komplett falschen stelle.

Re: Form mit Parameter aufrufen

3. März 2010 13:37

Hi,

soweit mir bekannt ist funktioniert der Format-Befehl nur im Service Tier. Mir ist derzeit kein Weg bekannt diesen Bookmark im ClassicClient zu erzeugen, sollte dort jemand was haben, würde es mich auch sehr interessieren.

The usage of value 10 in this expression is a RoleTailored client feature only that will format RECORDID into a text representation that is compatible with the URL handler of reports and pages. Note that this function only works if ISSERVICETIER = TRUE - if you run a code unit in the classic client, trying to use the FORMAT(xx,0,10) it will not return a bookmark for the Role Tailored Client.
Quelle: http://blogs.msdn.com/freddyk/archive/2 ... links.aspx

Grüße
chrischbo

Re: Form mit Parameter aufrufen

3. März 2010 19:26

Mir sind dazu 2 Sachen in die Hände gefallen:

In http://www.msdynamics.de/viewtopic.php?f=40&t=9400&hilit=bookmark schreibt SilverX
Kombination aus der Tabellennummer, den Schlüsselfeldern und zusätzlichen Bytes, Base64 codiert und mit der Länge des internen Buffers (bisher immer 0xe0) nebst Semikolon versehen


http://blogs.msdn.com/freddyk/archive/2008/11/23/search-in-nav-2009-part-1-out-of-3.aspx könnte man als Basis für einen Webservice nehmen und aus dem Ergebnis den Bookmark auslesen. NAV ruft sich also quasi selber auf.

Volker

Re: Form mit Parameter aufrufen

4. März 2010 09:59

Also soweit ich das verstanden habe funktion das nur im RTC. Ich habe das jetzt soweit das er mir die nummer im RTC anzeigt und in die Tabelle Customer schreibt.
Das Problem ist jetzt aber ich muss jeden Customer einmal aufrufen um dem die Nummer zu zuweisen.

Gibt es da sowas wie eine For Schleife die alles einmal durch läuft und es dabei in die Tabelle einträgt.

Meine Lösung zum Parameter sah so aus:

Ich der Tabelle Customer habe ich nen Feld Bookmark eingefügt.
Dann beim C/AL Code unter dem punkt OnMidify()
Folgenden Code geschrieben:

CLEAR(Customer);
Customer."No.":=("No.");
RecRef.GETTABLE(Customer);
Bookmark := FORMAT(RecRef.RECORDID, 0, 10);
//Variablen:
//Bookmark= Text
//Customer= Record auf Customer
//RecRef =RecordRef
////////////////////////////


Und in der Page Customer habe ich das Feld Bookmark eingefügt.
Jetzt zeigt der mir die nummer von den einzelnen Customer an.

Nur um bei jedem die Nummer zu generiene muss ich das einmal Komplett durch jeden Customer laufen lassen.

Wie kriege ich das wohl hin?

Eugen

Re: Form mit Parameter aufrufen

4. März 2010 10:25

Mein Gedanke war schon den RTC zu "benutzen", indem man eine Page, in der man die Bookmarks erstellen lassen kann, als Webservice veröffentlicht und diesen Webservice im Classic Client konsumiert. Wie gesagt, nur eine Idee.

Volker