Bon jsais que c pas tres répendu le progress sur ce forum mais je tente le coup parce que là jsuis vraiment découragé
Code :
- DEF VAR VD-Date AS DATE FORMAT 99/99/9999.
- DEF VAR VC-Marque AS CHAR.
-
- ASSIGN VD-DATE = DATE(INPUT fln_Date).
- FOR EACH Facture WHERE Facture.I-SousGarantie <> 0 AND Facture.D-DateFacture >= DATE(INPUT fln_Date):
- FIND FIRST Vehicule OF Facture NO-LOCK NO-ERROR.
-
- CREATE TFacture.
- ASSIGN TFacture.C-Marque = Vehicule.C-Marque
- TFacture.I-NoFacture = Facture.I-NoFacture
- TFacture.N-TempsMainOeuvre = Facture.N-TempsMainOeuvre
- TFacture.I-SousGarantie = Facture.I-SousGarantie.
- END.
-
- OUTPUT TO CR0044.txt PAGED.
-
- FIND FIRST CieParam NO-LOCK NO-ERROR.
-
- FOR EACH TFacture BREAK BY TFacture.C-Marque:
-
- IF TFacture.C-Marque <> VC-Marque THEN
- DO:
- PUT "CR 0044 Réclamation au fabricant pour la période débutant le ".
- PUT VD-DATE SKIP.
- PUT "Date: ".
- PUT TODAY.
- PUT " à ".
- PUT String(TIME,"HH:MM" ).
- PUT "Page:" AT 50.
- PUT PAGE-NUMBER AT 55 SKIP(1).
- PUT "Fabricant : " AT 5.
- PUT TFacture.C-Marque.
- PUT "# Date" AT 9 SKIP.
- PUT " facture facture".
- PUT "Frais MO Cout pieces" AT 24 SKIP.
- PUT "--------- ---------- ---------- -----------" SKIP.
-
- VC-Marque = TFacture.C-Marque.
- END.
-
- FOR EACH Facture OF TFacture, EACH Vehicule OF Facture WHERE Vehicule.C-Marque = TFacture.C-Marque:
- PUT TFacture.I-NoFacture TO 9.
- PUT Facture.D-Date AT 11.
- IF TFacture.I-SousGarantie = 1 THEN
- DO:
- ACCUMULATE TFacture.N-TempsMainOeuvre * CieParam.N-TauxHorraire (TOTAL).
- PUT TFacture.N-TempsMainOeuvre * CieParam.N-TauxHorraire TO 31.
- END.
- ELSE
- PUT "0.00" TO 31.
- FOR EACH Detail OF Facture:
- FIND FIRST Piece OF Detail NO-LOCK NO-ERROR.
- ACCUMULATE Detail.I-QuantiteRequise * Piece.N-Prix (TOTAL).
- END.
- PUT ACCUM TOTAL Detail.I-QuantiteRequise * Piece.N-Prix TO 43 SKIP.
- ACCUMULATE (ACCUM TOTAL Detail.I-QuantiteRequise * Piece.N-Prix) (TOTAL).
-
- IF LAST-OF (TFacture.C-Marque) THEN
- DO:
- DEF VAR N-SousTotal AS DECIMAL.
- N-SousTotal = (ACCUM TOTAL TFacture.N-TempsMainOeuvre * CieParam.N-TauxHorraire) + (ACCUM TOTAL (ACCUM TOTAL Detail.I-QuantiteRequise * Piece.N-Prix)).
-
- PUT "---------- -----------" AT 25 SKIP.
- PUT ACCUM TOTAL TFacture.N-TempsMainOeuvre * CieParam.N-TauxHorraire TO 31.
- PUT ACCUM TOTAL (ACCUM TOTAL Detail.I-QuantiteRequise * Piece.N-Prix) TO 43 SKIP(1).
- PUT "Sous Total:" TO 42.
- PUT N-SousTotal TO 52 SKIP.
- PUT "TPS:" TO 42.
- PUT CieParam.N-TPS * N-SousTotal TO 52 SKIP.
- PUT "TVQ:" TO 42.
- PUT CieParam.N-TVQ * (N-SousTotal + (CieParam.N-TPS * N-SousTotal)) TO 52 SKIP.
- PUT "GRAND Total:" TO 42.
- PUT N-SousTotal + CieParam.N-TVQ * (N-SousTotal + (CieParam.N-TPS * N-SousTotal)) + CieParam.N-TPS * N-SousTotal TO 52 SKIP.
- OUTPUT CLOSE.
- OUTPUT TO CR0044.txt PAGED APPEND.
- END.
-
- END.
-
-
-
- END.
-
-
- OUTPUT CLOSE.
-
- MESSAGE "Impression terminée.".
|
ce dode devrait me permettre de faire un rapport, ca marche plutot bien sauf pour 2 trucs
les sous-totaux de ma colonne Frais MO et Cout piece ne fonctionne pas, ca me donne le prix de la derniere piece alors que mon Accumulate est selon moi correctement fait
la 2e question c pour connaitre une fonction de saut de page, parce que présentment jfais une fermeture et ouverture de fichier, sauf que ca reset mon # de page, donc jai tjrs 1 comme # de page
merci
---------------
http://www.boincstats.com/signature/user_664861.gif