Avatar billede Jensenjo Juniormester
19. december 2015 - 08:20 Der er 6 kommentarer

Direkte opslag

jeg har tilrettet en rapport lavet i InvenTrans med opslag på CustTable, where InvenTrans.Account == CustTable.Account
#add(&name, CustTable.Name)
Det fungerer også, på første opslag men den laver ikke opslag på de andre - den tager bare 1. Navn med ned. Er sikker på det bare er en lille ting - men hvad mangler jeg
Avatar billede ADDCON-C5 Forsker
19. december 2015 - 11:21 #1
Hej,

Lyder som om du har placeret kode for opslag på debitor et forkert sted. Hvis det du vil frem til er, at rapporten slår debitornavn op og indsætter i variablen '&name' for hver lagerpostering, kan du placere din kode som en linjekørsel på selve linjen i rapportdelen.

Husk der kan være både lagertilgang fra en kreditor og lagerafgang fra
en debitor. Koden nedenfor tager højde for kun af slå navn op når lagerposten opfylder disse krav.

Jeg ville lave koden sådan her:

SET &Name = ""
IF Inventrans.Module == 5 OR Inventrans.Module == 6 THEN

  IF Inventrans.Module == 5 THEN
      // Posten er en post fra Ordremodulet/Debitor og kan derfor
      // pege på en debitor.
      SET &Name = CustTable[AccountIdx, Inventrans.Account].Name
  ENDIF

  IF Inventrans.Module == 6 THEN
      // Posten er en post fra Indkøbsmodulet/Kreditor og kan derfor
      // pege på en kreditor. 
      SET &Name = VendTable[Accountidx, Inventrans.Account].Name
  ENDIF

ENDIF

Alle andre poster overspringes med hensyn til navneopslag.

Derudover vil jeg ikke bruge #ADD metoden til at tildele variablen
&name værdi, men blot bruge 'SET' og så starte hvert gennemløb med at nulstille variablen.

God fornøjelse
Peter Agger
Avatar billede Jensenjo Juniormester
19. december 2015 - 13:50 #2
Tak virker perfekt - men hvori består forskellen om du koder på rapport linie niveau eller i selve kørslen ?
Avatar billede ADDCON-C5 Forsker
19. december 2015 - 14:31 #3
Hej,

Der er ingen praktisk forskel om man lægger sin kode på linjen
eller i en af de triggere, som der afvikles når rapportens søgedel
finder data frem fra databasen.

Principielt er det god skik at lægge så meget kode som muligt i de
enkelte kørsler på hvert kartotek, som anvendes i rapporten. Jeg nævnte
det i den her forbindelse, for at fjerne den fejlmulighed, som kunne
være årsag til at du ikke fik din variabel tildelt de korrekte data.

I dit tilfælde kunne koden ligeså godt være placeret på triggeren
'PRE-OUTPUT'.  Resultatet ved afviklingen vil være det samme.

Venlig hilsen
Peter Agger
Avatar billede Jensenjo Juniormester
19. december 2015 - 14:56 #4
Okay  -  tak ihvertfald
Avatar billede Jensenjo Juniormester
19. december 2015 - 14:57 #5
Gider du smide et svar, så du kan få dine velfortjente point
Avatar billede Jensenjo Juniormester
02. april 2016 - 10:21 #6
Undskyld fik aldrig givet point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester