(dynamischer) LookUp in Table [CC]

17. Mai 2011 12:53

Servus zusammen,

ich möchte einen dynamischen LookUp in einer Table erstellen.
Dieser soll je nach globaler Dimension eine andere Form öffnen und dem Benutzer ermöglichen, sich einen Wert aus der Form auszusuchen und einzutragen.
Die jeweilige Form wird auch geöffnet, nur schaffe ich es nicht, den durch den Benutzer ausgewählten Wert in meine Tabelle zu schreiben.
Per Hand kann ich Werte eintragen, aber das ist nicht Sinn und Zweck der Sache.
Kann mir jemand weiterhelfen?

Code:

//im OnLookUp-Trigger des Feldes in meiner Tabelle

GLSetUp.GET;

Dim := GLSetUp."Global Dimension 1 Code";

DimValList.LOOKUPMODE(TRUE);
DimVal.SETRANGE("Dimension Code",Dim);
DimValList.SETTABLEVIEW(DimVal);
IF DimValList.RUNMODAL = ACTION::LookupOK THEN
  BEGIN
  DimValList.GETRECORD(DimVal);
  "Globaler DimCode 1" := DimValList.GetSelectionFilter; //Hier wird der Wert auch richtig übergeben, aber nicht in die Table geschrieben
  MODIFY;
  END

Zuletzt geändert von sweikelt am 17. Mai 2011 16:15, insgesamt 2-mal geändert.

Re: dynamischer LookUp in Table [CC]

17. Mai 2011 13:39

Im Standard wird das anders gelöst.
Bsp Kontakte bei Vendor/Customer.

Code:
IF FORM.RUNMODAL(0,Cont) = ACTION::LookupOK THEN BEGIN
  VALIDATE("Sell-to Contact No.",Cont."No.");


Du bekommst ja auch nur einen Wert zurück. Probier das mal.

Re: dynamischer LookUp in Table [CC]

17. Mai 2011 14:03

Wo findest du den Code in den beiden Tables?

Du bekommst ja auch nur einen Wert zurück. Probier das mal.


Ich möchte ja auch nur einen Wert zurück bekommen, der in die Table eingetragen wird.

Lasse ich mir per Message den Wert ausgeben:
Code:


GLSetUp.GET;
Dim := GLSetUp."Global Dimension 1 Code";


DimValList.LOOKUPMODE(TRUE);
//DimVal.SETRANGE("Dimension Code",'Auftrag');
DimVal.SETRANGE("Dimension Code",Dim);
DimValList.SETTABLEVIEW(DimVal);
IF DimValList.RUNMODAL = ACTION::LookupOK THEN
  BEGIN
  DimValList.GETRECORD(DimVal);
  "Globaler DimCode 1" := DimValList.GetSelectionFilter;
  MESSAGE('%1',DimValList.GetSelectionFilter); //<<<<<<<<< liefert den gesuchten Wert
  MODIFY;
  END



der gesuchte Wert ist da, wird aber nicht in meine Tabelle geschrieben

Re: (dynamischer) LookUp in Table [CC]

17. Mai 2011 16:14

so,

hab es nicht geschafft das problem zu lösen.

habe den code aus den onLookUp-Trigger genommen und wollt dann
sogar nur ein einfaches lookup auf die dimensionswerte machen, aber dann öffnet er garnichts.

also ich stecke gerade extrem fest.

für ein standard lookup brauche ich doch nicht mehr, als in den eigenschaften des feldes die table relation auf die table zu setzen, auf die ich ein look-up haben will, oder hab ich etwas falsch verstanden?

Re: (dynamischer) LookUp in Table [CC]

17. Mai 2011 16:23

Hi,

der Standard LookUp geht nur dann, wenn nichts in dem Trigger steht.
Hast du noch Kommentare im Trigger stehen?
Wenn nein, prüfe doch einmal ob noch lokale Variablen definiert sind.
Das langt bereits um den Standard LookUp zu deaktivieren.

Re: (dynamischer) LookUp in Table [CC]

17. Mai 2011 16:29

ok - trigger war leer, nur die lokalen variablen waren noch drin!

danke dir ;)