11. januar 2004 - 10:44Der er
8 kommentarer og 1 løsning
Faktura-layout
Jeg skal have påført en leveringsdato på min faktura fra time/sags-modulet. Jeg havde regnet med at jeg kunne hente den fra min følgeseddel. Når jeg på rapporten SagFaktura opretter udtryksfeltet - DebFlg.Jour.LeveringsDato - får jeg imidlertid følgende fejlmeddelelse i en rød boks når jeg vil udskrive fakturaen: "I kørsel eller udtryk anvendes DebFlgJour på fejlagtig måde". Nogen der kan hjælpe her?
Som nilfri skriver, har du ikke fat i DebFlgJour på udskriftstidspunkten. Med XAL-termer så har den ikke "virkefelt". Du skal enten finde den v.hj.a. en SEARCH løkke eller INTRODUCE. Når du bare skriver DebFlgJour.Leveringsdato, hvordan skal programmet så regne sig frem til HVILKEN post i dette kartotek du mener? Det kan den ikke lugte. Derudover kan der være flere følgesedler til samme sag. Nu har jeg ikke en DK, men UK version af XAL. Prøv med følgende kode i f.eks. Pre-Ouput på SagKart (jeg er ikke sikker på indexnavn, men det giver dig en ide om strukturen). Denne finder den sidste følgeseddel. (Dette er en meget simpel løsning).
SEARCH DebFlgJour USING [Navnet på det første index] WHERE OrdProj == 1 AND Nummer == SagKart.Nummer OUTPUT DebFlgJour END
En ting skal lige afklares, hvis du skriver som du har skrevet i spørgsmålet DebFlg.Jour.Leveringsdato så vil det aldrig virke, det første punktum skal væk. Hvis ikke det er tilfældet, har du så checket om der er en leveringsdato i DebFakJour som er den tabel du normalt har fat i når du udskriver en faktura. Ellers vil det nemmeste være at lave et direkte opslag på den tabel hvor den leveringsdato står som du skal bruge, alle nøgler du skal bruge har du med i faktura udskriften f.eks. hvis leveringsdatoen står på sagkart så skriver du sagkart[sagidx,debfakjour.sag].leveringsdato.
Til dma: Jeg har prøvet med din løsning på utallige måder, men får det ikke til at fungere. Til rew: Det er selvfølgelig forkert hvad jeg skriver i mit spørgsmål. Jeg har på rapporten ikke punktummet med. Som jeg ser det, findes leveringsdatoen kun i DebFlgJour.
Så fik jeg alligevel løst opgaven. dma - opretter du ikke lige et svar, så du kan få dine point, da det var dig der ledte mig på sporet. Hvis du eller andre er interesseret er her løsningen: SEARCH DebFlgJour USING OrdreNrDatoIdx WHERE OrdreSag == 1 AND DebFlgJour.OrdreNummer == SagKart.Sag OUTPUT DebFlgJour END
Det er hvad man normalt kalder en "pule" løsning, du skal lave et opslag ikke søge igennem utallige poster, der kan jo findes mere end en post, så det er nødvendig at du finder den unikke nøgle.
rew: Problemet er, at der ikke ER en unik nøgle, en ordre/sag kan jo teoretisk set have et ubegrænset antal følgesedler til. Løsningen vil simpelthen bare finde den sidste!!
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.