Avatar billede Finngu Novice
05. marts 2019 - 17:48 Der er 5 kommentarer

C5: overføre/bruge notat fra Lagkart på vare til ordrelinier

Jeg vil gerne kunne oprette nogle varenumre, som indeholder noget mere tekst, som jeg tænker kunne lægges på notatet på hver af de involverede varenumre. Planen er så, at man kan indsætte disse varenumre på nogle ordrelinier der så får disse "ekstra tekster med"
Jeg kan ikke bruge nogle faste tekster, idet det er forskelligt fra kunde til kunde om disse tekster skal med på fakturaerne

Jeg ved godt man kan bruge notat på ordrelinierne, men det er nemmere at lige smide 1-2 af disse "specielle varenumre" på, da de så har de lidt længere tekster, end at skulle indsætte de samme tekster på et hav af ordreliniers notat
Det er noget hurtigere lige at smide et par varenumre på, som så allerede har disse "lange tekster"

Kan det gøres - og hvordan?

Jeg forsøgte mig med at tage en kopi af felterne med "varenavn" på fakturalayoutet og så rette så der står
LagKart[VareIdx, Varenummer].Notat
- men så skælder C5 ud og siger
"Kartoteket indeholder ikke dette felt"

Så hvis nogen har en løsning, så er jeg en glad mand :)


Finn
Avatar billede ADDCON-C5 Forsker
05. marts 2019 - 18:22 #1
Hej Finn,

Ja det kan godt gøres, måske en lidt tung vej du går, men ideen kan sagtens
føres ud i livet med en smule kodning.

Først og fremmest er notatkartoteket et selvstændigt kartotek, hvor de enkelte record (læs notatlinjer) styres af et FileID og et Record ID.

Derfor skal der lidt kode til i ordrelinjens trigger, som finder notatlinjerne for det pågældende varenummer.

Dernæst skal disse linjer indsættes i notatkartoteket for ordrelinjen, som har sit selvstændige FileID og får sit recordID fra ordrelinjens RecordID.

Så funktionen er :

Tast varenummer
Kode på en trigger i ordrelinje, tester om der findes Notat på denne vare.
Kode som henter notatlinjer fra vare og indsætter disse på ordrelinje.

Så er den fixet.

Hvis du vil udvide funktionen lidt, kan du jo også i koden vedtage, at kun
linjer fra notat på varen, som starter med et bestemt tegn, f.eks. '>' må overflyttes til ordrelinjen.  Så kan du stadig bruge notatet på varen til andet.

En yderligerefunktion kunne være, at du kun har et varenummer til dette også
lave følgende syntakst på notatlinjerne på varen:

>########>'Dette er notatteksten'

Hvor '>' er start og sluttegn og ###### er nummeret på den debitor som
skal have denne tekst tilknyttet.

Der er mange muligheder.

Håber det giver dig nogle ideer.

MVH
ADDCON

Peter
Avatar billede Finngu Novice
05. marts 2019 - 19:23 #2
Hej Peter
Tak for dit svar...….. men jeg må lige sige, at det fattede jeg vist ikke ret meget konkret af :)
Det jeg nok efterlyser er præcis hvad skal jeg skrive hvorhenne?

Jeg tænker at jeg skal ind på fakturalayoutet og indsætte et felt, som indeholder noget kode....? Men hvad skal jeg helt konkret skrive?

Jeg er ikke C5 udvikler, så jeg har nok brug for noget helt præcist om hvad der helt konkret skal laves og hvorhenne :) :)

Kan du skrive det til mig? :)

Finn
Avatar billede ADDCON-C5 Forsker
06. marts 2019 - 08:19 #3
Hej Finn,

OK så er jeg lidt bedre med.  Hvis du kun vil have denne funktionalitet på
udskriften, er det lidt nemmere.

Jeg laver lige en kort lige kode til dig, så du kan se hvordan du finder data
frem, så kan du selv lege med udskriften og styrring af hvilke debitorer som skal have tekster på og ikke.

Kommer senere - er lige ude i en opgave.

MVH
Peter
Avatar billede Finngu Novice
06. marts 2019 - 08:45 #4
Hej Peter
Mange tak
Det behøver ikke være styret af debitorer, men kun af varerne :)

Det er nogle tilbudsvarer vi af og til fakturerer og så er tanken, at vi sætter et varenummer ind på ordrer med disse tilbudsvarer, som så påfører noget tekst på disse fakturaer om, at betalingsbetingelser skal overholdes, da kunden i modsat fald ellers skal betale fuld pris for varerne.

Vil så bare oprette 1 varenummer der hedder "specialpris", som indeholder en tekst på sit notat med denne beskrivelse af "overholdes betalingsbetingelserne ikke bortfalder rabatten"
Denne tekst fylder for meget til, at den kan stå i "varenavn 1+2+3" så derfor jeg vil lægge det ind i notat-teksten for dette varenummer :)

Hvis funktionen så virker, så vil jeg jo reelt også kunne oprette mange varenumre med informationstekst i varernes notat, så jeg kan bruge det til alverdens ekstrainformationer på fakturaerne :)

Mange tak :)
Finn
Avatar billede ADDCON-C5 Forsker
08. marts 2019 - 11:40 #5
Hej Finn,

Det trak lidt ud, her er den rå kode, lavet til en version 2012 på Native database:

Lagerkartotekter  (Inventable)  har filnummer 49

Kodeksempel:
--------------------------
SEARCH Notes USING NotesIdx
    WHERE NotesFileID  == 49
    AND      NotexRecID == Inventable[ItemIdx, SalesLineArch.ItemNumber].RecID
    '
    Her sætter du så din egen kode ind som arbejder
    videre med de returnerede data
    '
END

Notat katoteket bestå af følgende datasæt:

Rownumber                Løbenummer
LastChanged              Sidst rettet
NotesFileID                Filnummer på den fil som ejer notatet
NotesRecID                Recordnummer på den record (her varenummer) som ejer
LineNumber                Linjenummer på notatlinjen
Txt                              Notatteksten
Date_                          Dato på notatlinjen

Husk ovenstående kode vil returnere alle linjer i notatet, så det skal du kave
styr på.

God fornøjelse

ADDCON

Peter
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