[gelöst]DS läßt sich nicht übernehmen

16. September 2009 13:23

Hallo,

ich habe das Standard Purchase Line kopiert und diese in den Purchase Header eingefügt. In der Purchase Line habe ich im Feld "No." den Lookup nachprogrammiert. Die DS-Übernahme habe ich nach diesen Thread eingrichtet. viewtopic.php?f=36&t=7959 Nur leider funktioniert es nicht. Ich kann den DS weder mit Ok noch mit einem Doppelklick übernehmen. Der Codeaufruf sieht wie folgt aus:

Code:

CASE Type OF
 Type::"G/L Account":
     BEGIN
      lFoGLAccountList.LOOKUPMODE(TRUE);
      IF lFoGLAccountList.RUNMODAL() = ACTION::LookupOK THEN;
    END;
 Type::Item:
    BEGIN
      lFoItemList.LOOKUPMODE(TRUE);
      IF lFoItemList.RUNMODAL() = ACTION::LookupOK THEN;
    END;
 Type::"Fixed Asset":
    BEGIN
      lFoFixedAsset.LOOKUPMODE(TRUE);
      IF lFoFixedAsset.RUNMODAL() = ACTION::LookupOK THEN;
    END;
 Type::"Charge (Item)":
    BEGIN
     lFoChargeITem.LOOKUPMODE(TRUE);
     IF lFoChargeITem.RUNMODAL() = ACTION::LookupOK THEN;
    END;
END;


Hat da jemand eine Idee, was falsch sein könnte?

Danke
VG
Zuletzt geändert von rom am 24. September 2009 14:43, insgesamt 1-mal geändert.

Re: DS läßt sich nicht übernehmen

16. September 2009 13:59

Ohne es genauer angeschaut zu haben fällt mir auf, das das
= ACTION::LookupOK THEN; steht.

Nach dem THEN müsst die gewünschte verarbeitung stehen, oder täusche ich mich da?!

z.B.
Code:
DeineVariable := DeinLookUpTable.DeinWunschfeld


DeineVariable ist entweder ein Feld eines Records oder eine Variable!

Re: DS läßt sich nicht übernehmen

16. September 2009 14:04

Hi, danke für die Antwort,

was müsste denn da stehen, damit ich den DS aus dem LookUp-Form übernehmen kann.

Re: DS läßt sich nicht übernehmen

16. September 2009 14:15

Vorab gesagt, benutze bitte auch die Forensuche.
(Zum Lookup gibt es einiges hier!)

Manuellen Lookup erstellen:
LookuptabelleRec, ist die in der Form angezeigt werden soll!

Code:
LookuptabelleRec.RESET;
// Diverse filter setzten falls erforderlich, ggf. SETRANGE machen
// LookuptabelleRec.SETRANGE(Feld1,Filter1);
// Ggf. mit FILTERGROUP den Filter für den User "fest" machen

IF FORM.RUNMODAL(0,LookuptabelleRec) = ACTION::LookupOK THEN BEGIN
  DeinZielfeld := LookuptabelleRec.Name;

  // Ggf. weitere Werte übernehemen
END;


Statt der 0 (Null) nach dem "RUNMODAL(0,..." kann auch die ID deiner Form stehen.
Die Null lässt die Standardform der Tabelle öffen!

Re: DS läßt sich nicht übernehmen

16. September 2009 14:19

Viel kürzer ließe sich das über die TableRelation machen :wink:

Re: DS läßt sich nicht übernehmen

16. September 2009 16:57

McClane hat geschrieben:Viel kürzer ließe sich das über die TableRelation machen :wink:

Wie meinst Du?

Re: DS läßt sich nicht übernehmen

16. September 2009 17:41

@McLane/Mikka

kuckst du z.B. Tabelle 37 Feld 6 "No." Properties/Tablerelation. :wink:

@rom,

ich habe leider noch nicht ganz verstanden, was du mit der Programmierung erreichen willst? :-(
Wenn du einen Datensatz in die Purchase Line kopiert hast, d.h. Datensatz zugewiesen und mit aktuellem "Document Type", "Document No."," Line No." versehen hast, ist die Zeile im Standard fertig, da braucht es kein zusätzliches Lookup mehr, höchstens ein Validate auf "No." (Wenn alles nach NAV Standard programmiert ist.).

Wenn du mit 5.0SP1 arbeitest, gibt es schon eine Funktion zum kopieren von Datensätzen aus anderen Belegen. Schau mal in der Bestellung unter Einkaufshistorie :wink:

Gruß, Fiddi