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 :)
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.
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 :) :)
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.
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 :)
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
Synes godt om
Ny brugerNybegynder
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.