10. januar 2006 - 20:13Der er
6 kommentarer og 3 løsninger
Udskrive tilbud når ordrelinier er åben
Hejsa,
Jeg har brug for at kunne udskrive et tilbud fra ordkart, mens ordreliniebilledet er åbent. C5 flusher ordlinier og efterberegner fakturatotaler, når Ordkart formen refreshes ved lukning Ordlinie formen. Men jeg har brug for at køre dette når der trykkes på Tilbuds knappen imens Ordlinie formen er åben. Problemet nu, er at C5 udskriver tilbudslinierne, men den har ikke det rigtige beløb i bunden.
Sæt #Frm_Usrkey(Ordkart,6) ind på en fornuftig trigger. Kunne være pre-menu, hvis du har menupunktet med tilbud på formen, men ellers post-insert og post-update.
Hej maria, Tak for dit svar, men; Det er prøvet på pre-menu, jeg trykker på knappen "Tilbud", så den bliver fanget der. Men den får ikke beløbet beregnet rigtigt. Det må være fordi ordlinier er locked eller lignende. Udskriver man tilbud to gange efter hinanden, så er den første forkert, men nr 2 er rigtig beregnet.
Jeg er ikke interesseret i at den skal køres hver gang jeg indsætter en linie. Det vil give for sløv indtastning. Og som du har fanget, så er det knappen på Ordkart jeg trykker på, ikke nogen opsat i ordlinie.
Jeg fandt en løsning: "INTRODUCE Parametre[UserNameIdx, CurUserId(), &Form+'TOTAL'] PROCESS #Proc_XalRun 'xal=OrdFakturaTotaler "Parm=2"' USING OrdKart, Parametre UPDATE OrdKart" Det er sat ind på Pre-menu i Ordkart. Tosset ikke at tænke på UPDATE noget før. :)
Men tak for "sparringen" maria, det er tit sådan noget, der kan hjælpe til den rigtige løsning. :)
Du er nødt til at have den kørt efter hver linie - maskinen aner jo ikke hvornår det er den sidste. Du skal ind på formen Ordlinie, på blokken, i triggeren Post-Insert, Post-opdate og post-delete. Følgende lægges ind nederst i hver blok: If 1 Then Introduce Ordkart[NumTraIdx, Ordlinie.Nummer] Introduce Parametre[userNameIdx, curuserId(),&Form+Total] Process #Proc_XalRun '...........(det er den samme som på ordkart ENDIF
Start med post-insert og test den der.
Den opdaterer ikke skærmbiledet, men jeg kunne få den til at skrive totalen korrekt ud første gang.
Sjov opgave, forresten. Hvad bruger man sådan en funktion til? Den lyder som om man kan finde på at hoppe i skærmbillederne, og det giver som regel flere problemer end man kan kode sig ud af.
Ha ha du har ret, det er en speciel opgave. Men det er en kunde der har en butik, hvor de springer lidt frem og tilbage. Det har givet nogle sjove tilbud. Derfor var denne et krav. Men du har evigt ret, det er oftest nemmere at lære kunden at anvende systemet rigtiget, i stedet for at kode systemet til hvad kunden kan finde på.
Dit forslag til kode i hver blok er sat ind i en if struktur. Men du skriver "IF 1 THEN", det har vel ikke nogen praktisk betydning, da IF strukturen altid er sand. Hvorfor så skrive IF, THEN og ENDIF. Jeg har set flere bruge denne struktur, men hvorfor?
i det her tilfælde er det kun ordlinie, der er i virkefelt på det tidspunkt, hvor vi skal bruge ordkart og parametre. Men for at undgå senere at have de to kartoteker i virkefelt, og dermed måske trække oplysninger fra den forkerte post, så sætter man IF 1 THEN ENDIF ind. Så "lukker" man de to kartoteker efter sig og undgår bøvl.
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.