Beste mensen,
omdat ik nieuw ben op het gebied van Navision (uitdagende stage) stuit ik zo af en toe op grote problemen.
Nu heb ik redelijk veel geleerd, maar kom ik er maar niet achter hoe ik in een report moet sorteren:
Item - OnAfterGetRecord
GepVoor := 0;
GroeiReferentie := 0;
Prodtot8weken := 0;
Groei := 0;
Verkoop1WeekRef := 0;
IF VerkochtAantalVJ = 0 THEN
Groei := 0
ELSE
Groei := (((VerkochtAantalHJ - VerkochtAantalVJ) * 100) / VerkochtAantalVJ) / 100;
GepVoor := Item.Inventory + Item."Qty. on Prod. Order";
GroeiReferentie := (VerkochtAantalRef * (1 + Groei));
Verkoop1WeekRef := GroeiReferentie / Referentieperiodelengte;
IF (VerkochtAantalRef <> 0) AND (Groei > -1) THEN
Weken := GepVoor / Verkoop1WeekRef
ELSE
Weken := 0;
Hiermee wordt er gebaseerd op het verkochte aantal producten in een bepaalde referentieperiode en de groei gekeken naar het jaar daarvoor, het aantal weken voorraad berekend.
Het wordt gebruikt voor "Productieplanning" om te zien welke artikelen moeten worden geproduceerd.
Nu is het handig om te kunnen sorteren op het aantal weken om zo de hoogste prioriteit bovenaan te krijgen.
Nu is mijn vraag:
Hoe kan ik sorteren op weken in het rapport,
als deze niet in een tabel staat en dus ook
geen primary key is
(Nu is het zo dat mijn begeleidend docent nog vakantie heeft en ik 3 weken eerder met stage ben begonnen)
:oops:
Eventuele andere suggesties natuurlijk ook welkom
Comments
In DataItem 2 moet je op table "Integer" (een systeem tabel) baseren.
Je zet een filter op "Number" van 1 tot zoveel records je in je temptable hebt.
Je zet een SETCURRENTKEY op je temptable zodat je je gegevens krijgt in de volgorde dat je wilt.
In de OnAfterGetRecord zet je:
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
"No." - Gekoppeld aan Items."No."
Weken - C/AL Global (integer), die wordt berekend in Item - OnAfterRecord
Tabel komt er dan zo uit te zien:
"No." | Weken
Dan maak ik, neem ik aan, in de temp.tabel een sortering, waardoor de "No." een andere volgorde aanneemt en de Weken (key) de juiste, zoals ik ze hebben wil.
Dan moet ik de volgorde van de Temp "No." overbrengen in het rapport waar ik de Item."No." gebruik.
Bachelor of Business Administration and Information Technology
minor Application Development
" Don't use comma (,) use dot (.) "
1) Je kunt bvb T27."Item" gebruiken met in "No." het artikelnummer en in "Low-Level Code" het aantal weken. Dit veld is een integer EN er is een index dat met dit veld begint.
2)Je kunt ook een andere tabel gebruiken die niet meteen is wat je nodig hebt, maar bepaalde velden in een index heeft.
bvb : T32:"Item Ledger Entry"
-"Entry No." : hier moet je een uniek nr zetten (gewoon een global integer die je voor elke insert in deze tabel ophoogt en in dit veld zet)
-"Item No." : item no. (met de index op dit veld kun je snel zoeken of een artikel al voor komt in je temptable
-"Entry Type" : aantal weken. Dit veld is een option, maar je kunt het zonder problemen gebruiken als een integer. Om te printen, moet je dit echter wel even in een global zetten en de global printen.
3) andere tabellen. De regel is : gebruik een tabel die de velden heeft met het juiste datatype in een index, de naam van het veld is niet van belang. Probeer geen nieuwe indexen aan te maken, aangezien die index enkel van belang is in een temptabel, maar Navision onderhoud die index echter wel in de echte tabel.
Voor de rest van het voorbeeld, neem ik geval 1)
OnPreDataItem:
OnAfterGetRecord Hierna kun je de velden van tmpItem in de Sections zetten.
PS : de global "tmpItem" moet property Temporary=Yes hebben! Dit om de gegevens in deze tabel in het geheugen te houden.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Ik heb het allemaal even doorgenomen en getest, het werkt nu goed.
Enkele schoonheidsfoutjes in het rapport zelf, maar dat zijn kleine zorgen. :-k
Behoorlijk bedankt voor uitleg/bevestiging. 8-[
Bachelor of Business Administration and Information Technology
minor Application Development
" Don't use comma (,) use dot (.) "
Nu zou ik alles wat hij standaard kan in een optie formpje willen maken d.m.v. vinkje te selecteren op ja nee of geen filter kan filtenen en sorteren op key1 / key2 of key3 zodat ik de eerste tab kan verbergen en alleen mijn eigen formpje gebruikt wordt.
Waar moet ik dan kijken om hier meer over te vinden kom er in de handleiding niet echt verder mee.
Met vriendelijke groet,
Peter
Het verbergen van de filtertab is eenvoudig te bereiken door de sortering voor het dataitem te kiezen in de properties en geen requestfilterfields op te geven.
Je kunt dan met C/AL code de filters van je requestform toepassen.
Wat misschien eenvoudiger is is om de gebruikersfilters te controleren en een foutmelding te geven wanneer ze verkeerde filters toepassen. Dit kan met de functies. GETFILTER of GETFILTERS.
Succes.
PS: Van Jopje heb ik vlaai gehad toen z;n stage erop zat dus...
Dit weet ik maar kan ik dan die properties via code nog aanpassen gezien ik op 3 velden wil kunnen sorteren 1 of 2 of 3
Alvast bedankt