Probleme mit Lookup?

Bild Microsoft Dynamics NAV 4.xx
(ehem. Microsoft Business Solutions-Navision)

Probleme mit Lookup?

Beitragvon Roland » 28. April 2006 08:43

Hallo zusammen,

ich habe folgende Konstellation:

ich lese in eine Tabelle Informationen von CAD Zeichnungen ein.
Zu jedem Datensatz habe ich eine Projektnummer. Um der Zeichnung den Debitor zuzuordnen habe ich ein FlowFild mit einem Lookup erstellt, das in die Auftragstabelle(36) schaut und die Debitor Nr holt. Jetzt steht diese Info aber nicht immer in (36) sonder kann auch schon archiviert (5107) sein oder in der Projekttabelle (167) stehen. Soweit ist das auch kein Problem - habe fĂĽr jede Tabelle ein Feld, also 3 Lookupfelder angelegt.

Jetzt möchte ich in der Debitorenkarte Anzeigen, welche Zeichnungen es für diesen Debitor gibt. Für alle drei Sparten ist das kein Problem das funktioniert auch. Wie kann ich diese 3 Sparten zusammen fassen?

Ich habe mir folgendes ĂĽberlegt, ich habe ein neues Feld angelegt in das ich die DebiNr aus einem der 3 Lookupfelder kopieren will.

Das ist für einen Crack sicherlich nicht ganz so elegant gelöst, für mich als Rookie erstmal ausreichen.

folgenden Code (verschiedene Versionen) habe ich im OnInsert Trigger der Tabelle erstellt - der leider nicht funktioniert:

Code: Alles auswählen

IF "Debitor Verkauf"='+' THEN
 Debitor:="Debitor Verkauf";

IF "Debitor Verkauf"<>'' THEN
 Debitor:="Debitor Verkauf";

IF "Debitor Verkauf"<>'-' THEN;
 Debitor:="Debitor Verkauf";



Kann es daran liegen, dass das Quellfeld ein Lookup ist??

Vielleicht bin ich ja ein Teil des Problems :-D

Besten Dank schon mal

Gruss Roland
Roland
 
Beiträge: 60
Registriert: 18. April 2006 16:37
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.01;2009

Beitragvon mespelage » 28. April 2006 09:39

wäre es nicht einfacher in der Tabelle (CAD Zeichnungen) ein Feld "Debitor" einzufügen, und dieses Feld schon bei der Einlesung entsprechend zu füllen? Dann sollte eine Verlinkung problemlos möglich sein.

Bei deiner Version mĂĽsste vorher auf jeden Falle ein CALCFIELDS(FlowField_1,FlowField_2,FlowField_3) erfolgen
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Roland » 28. April 2006 11:37

Hallo mespelage,


zur Info: ich lese die CAD Daten über Excel in die CAD tabelle ein. Dort kenn ich den Debitor noch nicht das will ich über die Lookups herhausfinden. Diese Infos können aber in den drei unterschiedlichen Tabellen stehen, weil dem CAD egal ist ob das eine Verkaufsauftragsnummer oder Projektauftragsnummer ist.


wäre es nicht einfacher in der Tabelle (CAD Zeichnungen) ein Feld "Debitor" einzufügen, und dieses Feld schon bei der Einlesung entsprechend zu füllen? Dann sollte eine Verlinkung problemlos möglich sein.

Die 3 Lookup Felder und das 4.te Debitor stehen in der CAD Tabelle .

Das ganze sieht so aus:

ZNGNR | PROJEKTNR | DebVK | DebVKarch | DebProj | DEBITOR
xabcx | 12345 | leer | leer | deb123 | deb123
yefgy | 67890 | leer | deb456 leer | deb456
zhijz | 4567 | deb876 | leer | leer | deb876


die 3 Lookups (DebVK|DebVKarch|DebProj) bringen mir die DebitorNr. Ich möchte jetzt, dass das Feld DEBITOR automatisch mit der jeweiligen DebNr vom Lookupfeld gefüllt wird, wenn der Datensatz in die CAD Tabelle geschrieben wird.
Dann habe ich die DebitorNr nur ein einem Feld stehen egal aus welcher Tabelle sie stammt.

Bei deiner Version mĂĽsste vorher auf jeden Falle ein CALCFIELDS(FlowField_1,FlowField_2,FlowField_3) erfolgen


Wo mĂĽsste das dann stehen? Die Felder sind doch schon kalkuliert, die DebNr steht ja drin.
Roland
 
Beiträge: 60
Registriert: 18. April 2006 16:37
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.01;2009

Beitragvon mespelage » 28. April 2006 12:11

Versteh ich das richtig:
beim Einlesen aus EXCEL erhälts du unter anderm die PROJEKTNR die entweder eine Auftragsnummer eine Auftragsarchivnummer oder eine Projektnummer im Attain ist.

Wenn dem so ist, dann folgendes:

Code: Alles auswählen
If SalesHeader.GET(1,PROJEKTNR ) Then
   DEBITOR := SalesHeader."Sell-to Customer No.";

"Sales Header Archive".SETRANGE("No.",PROJEKTNR);
"Sales Header Archive".SETRANGE("Document Type",1);
If "Sales Header Archive".FIND('-' ) Then
   DEBITOR := "Sales Header Archive"."Sell-to Customer No.";

If Job.GET(PROJEKTNR ) Then
   DEBITOR := Job."Bill-to Customer No.";


[Editiert von Marc Teuber: Code-Tag hinzugefĂĽgt.]
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Roland » 28. April 2006 12:52

Hallo mespelage,

Versteh ich das richtig:
beim Einlesen aus EXCEL erhälts du unter anderm die PROJEKTNR die entweder eine Auftragsnummer eine Auftragsarchivnummer oder eine Projektnummer im Attain ist.


korrekt bis auf Attain :wink: -> 4.00 ohne SP1


ich habe den Code im OnInsert() Trigger eingefügt. Die Variablen SalesHeader, "Sales Header Archive" und Job als Rec eingetragen, die Tabelle gelöscht und die Daten neu eingelesen. - Leider ohne Erfolg. :-(

Hab ich was vergessen??

Dann habe ich noch eine Frage zum Verständnis:

Code: Alles auswählen
IF job.GET("PROJEKT NR" ) THEN
Debitor := job."Sell-to Customer No.";


Hier wird doch nachgeschaut, ob es in der Job Tabelle einen Satz gibt mit der "PROJEKT NR" aus der CAD Tabelle, mit welchem Feld in der Job wird dann verglichen? Geht das dann nach dem Key in der Job tabelle?
Roland
 
Beiträge: 60
Registriert: 18. April 2006 16:37
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.01;2009

Beitragvon mespelage » 28. April 2006 13:30

Die Tabelle JOB hat doch den Primärkey "No." oder?
Also sucht er einen Job mit der entsprechenden Nummer.
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Roland » 28. April 2006 13:53

Ja hat sie, hab ich mir ja fast gedacht,
aber wie bereits oben beschrieben funktioniert es leider nicht.
zum Test habe ich den Code in einen Report eingefĂĽgt im OnAfterGetRec dort funktioniert's
komisch

und warum in der Tabelle nicht?
Roland
 
Beiträge: 60
Registriert: 18. April 2006 16:37
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.01;2009

Beitragvon mespelage » 28. April 2006 14:01

wie liest du denn die Daten ein?
mit einem Dataport ?
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Roland » 28. April 2006 14:24

nein, mit einem Report
in diesen habe ich gerade den Code eingefĂĽgt und funktioniert auch so.
Zuerst einlesen, dann die DebiNr eintragen.
Geht auch so!! Kann ich mit leben.

Vielen vielen DANK auch mal fĂĽr Deine Hilfe!!

Gruss Roland
Roland
 
Beiträge: 60
Registriert: 18. April 2006 16:37
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.01;2009

Beitragvon Michael Schumacher » 29. April 2006 01:12

wenn Du die Daten mit einem Report einliest, und dort CAD.insert ausfĂĽhrst, musst du als parameter auch TRUE angeben, da der onInsert-Trigger sonst nicht ausgefĂĽhrt wird.
könnte das evtl die Ursache bei Dir gewesen sein?
mfg
Michael Schumacher


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.
Hmmm, ach heut' ist Backup-Tag, also alles schnell nach /dev/nul sichern!
Benutzeravatar
Michael Schumacher
Ehrenmitglied
 
Beiträge: 1762
Registriert: 1. August 2005 11:12
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.x, 4.x, 5.x


ZurĂĽck zu NAV 4.xx

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Robot und 1 Gast

cron