Voor mijn werk ben ik bezig met een omzet rapport, we maken hiervoor gebruik van Crystal Reports.
De uitkomst van het rapport moet ongeveer als volgt zijn:
Men wil graag de aantallen per kwartaal en in totaal van een jaar hebben, per machine uit een bepaalde serie.
Het probleem zit hem in dat er 3 'array's' van gegevens zijn, waarvan er 1tje met de andere 2 vergeleken moet worden. ('Array's', want het zijn veel meer waardes dan die in een array van crystal passen)
* Array faktuurnummers => bevat alle faktuurnummers waarvan de faktuurdatum in 200X ligt.
* Array stuklijstnummers => bevat alle stuklijstnummers, die een basis onderdeel zijn van een machine
* Array verkoopregels => bevat alle regels die op een verkooporder staan.
Nu wil ik graag het volgende weten:
- Heeft een verkoopregel een faktuurnummer dat voorkomt in Array faktuurnummers?
-- Ja? => Heeft deze verkoopregel een artikelnummer dat voorkomt in Array stuklijstnummers?
------------- Ja? => Dan het aantal geleverde producten optellen bij het totaal / kwartaal
------------- Nee? => We doen niets
-- Nee? => We doen niets
Als ik dit in php zou doen zou het op het volgende neer komen:
Ik heb nu voor alle faktuurnummers en alle stuklijstnummers een apart raport gemaakt. Nu wil ik in een nieuw rapport alle verkoopregels ophalen en vergelijken met de waarde uit de 2 andere rapporten.
Mijn idee is om het met subreports te doen, de bedoeling is dan als hij een bepaalde waarde tegen komt in een subrapport hij naar het volgende subrapport gaat, komt hij niets tegen, dan moet ie naar de volgende regel gaan.
Ik heb echter geen idee of en zo ja, hoe dit dan mogelijk is, hopelijk kan iemand van jullie mij op weg helpen.
De uitkomst van het rapport moet ongeveer als volgt zijn:
| Serie | Machine | Totaal 2006 |
| 1 | A | 100 |
| 1 | B | 75 |
| 2 | A | 100 |
Men wil graag de aantallen per kwartaal en in totaal van een jaar hebben, per machine uit een bepaalde serie.
Het probleem zit hem in dat er 3 'array's' van gegevens zijn, waarvan er 1tje met de andere 2 vergeleken moet worden. ('Array's', want het zijn veel meer waardes dan die in een array van crystal passen)
* Array faktuurnummers => bevat alle faktuurnummers waarvan de faktuurdatum in 200X ligt.
* Array stuklijstnummers => bevat alle stuklijstnummers, die een basis onderdeel zijn van een machine
* Array verkoopregels => bevat alle regels die op een verkooporder staan.
Nu wil ik graag het volgende weten:
- Heeft een verkoopregel een faktuurnummer dat voorkomt in Array faktuurnummers?
-- Ja? => Heeft deze verkoopregel een artikelnummer dat voorkomt in Array stuklijstnummers?
------------- Ja? => Dan het aantal geleverde producten optellen bij het totaal / kwartaal
------------- Nee? => We doen niets
-- Nee? => We doen niets
Als ik dit in php zou doen zou het op het volgende neer komen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| // Alle fakturen selecteren $sql_faktuur = "SELECT faktuurnummer FROM faktuur WHERE dokumenttype = '6' AND faktuurdatum >= '2006-01-01' AND faktuurdatum <= '2006-12-31'"; $res_faktuur = mysql_query($sql_faktuur); while($faktuur = mysql_fetch_array($res_faktuur)) { $arr_faktuur[] = $faktuur[0]; } // Alle stukregels die een basis element bevatten $sql_stkreg = "SELECT stuklijstnummer FROM stukreg WHERE item_nummer like '%bas%' or item_nummer like '%BAS%'"; $res_stkreg = mysql_query($sql_stkreg); while($stkreg = mysql_fetch_array($res_stkreg)) { $arr_stkreg[] = $stkreg[0]; } // Alle verkoop regels selecteren $sql_verkrg = "SELECT * FROM verkrg"; $res_verkrg = mysql_query($sql_verkrg); // Vergelijken die zooi while($verkrg = mysql_fetch_arry($result)) { if(in_array($verkrg["faktuurnummer"],$arr_faktuur)) { if(in_array($verkrg["itemnummer"], $arr_stkreg)) { // Deze moeten we hebben, we controleren welke type het is en welk kwartaal // dan tellen we bij dat kwartaal $verkrg["aantal_geleverd"] op. } else { // We doen niets, want hij voldoet niet } } else { // We doen niets, want hij voldoet niet } } |
Ik heb nu voor alle faktuurnummers en alle stuklijstnummers een apart raport gemaakt. Nu wil ik in een nieuw rapport alle verkoopregels ophalen en vergelijken met de waarde uit de 2 andere rapporten.
Mijn idee is om het met subreports te doen, de bedoeling is dan als hij een bepaalde waarde tegen komt in een subrapport hij naar het volgende subrapport gaat, komt hij niets tegen, dan moet ie naar de volgende regel gaan.
Ik heb echter geen idee of en zo ja, hoe dit dan mogelijk is, hopelijk kan iemand van jullie mij op weg helpen.
[ Voor 24% gewijzigd door Crazybyte op 12-07-2007 14:08 ]