Help: Sorteren in rapport

Jopje
Member Posts: 50
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
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
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
Remco de Jong
Bachelor of Business Administration and Information Technology
minor Application Development
" Don't use comma (,) use dot (.) "
Bachelor of Business Administration and Information Technology
minor Application Development
" Don't use comma (,) use dot (.) "
0
Comments
-
Je moet elke berekende lijn in een temptable opslaan. Dit gebeurt in je eerste DataItem.
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:IF Number = 1 THEN tmpMyTempTable.FIND('-') ELSE tmpMyTempTable.NEXT;
Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Als ik het goed begrijp dan maak ik een temp.tabel, met daarin
"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.Remco de Jong
Bachelor of Business Administration and Information Technology
minor Application Development
" Don't use comma (,) use dot (.) "0 -
Je kunt ook een bestaande tabel gebruiken om een tabel in de license uit te sparen.
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:tmpItem.RESET; tmpItem.SETCURRENTKEY("Low-Level Code"); SETRANGE(Number,tmpItem.COUNT);
OnAfterGetRecordIF Number = 1 THEN tmpItem.FIND('-') ELSE tmpItem.NEXT;
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.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Daar was ik weer, even crisis gehad bij productie dus stagiaires mochten meehelpen.
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-[Remco de Jong
Bachelor of Business Administration and Information Technology
minor Application Development
" Don't use comma (,) use dot (.) "0 -
Ik heb een tabel met 3 keys als je nu je report maakt kun je op die 3 keys sorteren ik heb er ook nog een option veld bij met ja en nee als waarde nu is het dus zo dat ik op ja en nee kan filteren of juist niet en kan sorteren op de 3 keys nu doet hij dit in de standaard general tab dus mensen zou den zelf er nog filters bij kunnen maken via de drilldowns.
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,
Peter0 -
Je zou eens naar wat standaard rapportjes kunnen kijken die wat geavanceerder zijn.
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...0 -
Mark Brummel wrote:Je zou eens naar wat standaard rapportjes kunnen kijken die wat geavanceerder zijn.
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.
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 bedankt0 -
Ja, ondanks dat je de sortering opgeeft in de DataItemTableView kun je in de OnPreDataItem trigger de sortering wijzigen d.m.v. de functie SETCURRENTKEY0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions