Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
24 Nov 2007, 14:56
Message
#26
|
|
|
Ceinture blanche+ OSC Groupe : Membres Messages : 22 Inscrit : 5-October 07 Lieu : FRANCE Membre no 19293 |
Salut,
Effectivement il fallait y penser. Merci beaucoup tom555 et à tous ceux qui on participé, maintenant c'est sur la compta c'est moins un souci. |
|
|
21 Dec 2007, 17:14
Message
#27
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 41 Inscrit : 10-November 05 Membre no 7776 |
Attention au post de "Keuj", son code est bien mis à part qu'il y un bug qui peut vous couter cher... en effet, il oublie de multiplier son résutat sur les taxes par le nombre de produits achetés...
La bonne requête pour son QUERIES 9 est donc $orders_products = tep_db_query("select sum(products_price*products_quantity) as total_ht, sum((products_price*products_tax/100)*products_quantity) as total_tva,products_tax as taux_tva from orders_products where orders_id = " . $Orders_id. " group by products_tax order by taux_tva desc"); |
|
|
8 Jan 2008, 14:40
Message
#28
|
|
![]() Ceinture orange OSC Groupe : Membres Messages : 276 Inscrit : 8-June 06 Lieu : la baule Membre no 10700 |
Salut,
j'avance sur mon fichier mais je bloque pour avoir le prix HT, je souhaites avoir : $csv_output .= Order_total / 1.196 mais je bloque ! Help ! -------------------- |
|
|
8 Jan 2008, 15:57
Message
#29
|
|
![]() Ceinture orange OSC Groupe : Membres Messages : 276 Inscrit : 8-June 06 Lieu : la baule Membre no 10700 |
Bon j'ai trouvé une solution si cela interesse certains:
j'ai travailler sur la Queries 7: CITATION // -------------------- QUERIES 7 ------------------------------------// // Orders_Total $orders_total = tep_db_query("select value/1.196 as total_ht, value/1.196*0.196 as total_tva, value from orders_total where class = 'ot_total' and orders_id = " . $Orders_id); // $row_orders_total = tep_db_fetch_array($orders_total); while ($row_orders_total = mysql_fetch_array($orders_total)) { // end // $Order_Grand_Total = $row_orders_total["value"]; $Order_Ht = $row_orders_total["total_ht"]; $Order_Tva = $row_orders_total["total_tva"]; } et j'appel les fonctions $Order_Ht et $Order_Tva dans les lignes souhaitées c'est pas terrible mais cela marche -------------------- |
|
|
8 Jan 2008, 23:59
Message
#30
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
CITATION(nadelo @ 27 Jun 2006, 16:33) [snapback]181747[/snapback] Salut, elle fonctionne aussi bien chez moi, reste que je n'ai pas trouvé comment faire ressortir mes 2 TVA (5.5% et 19.6%). Il y en qu'une seule qui ressort avec à priori uniquement la 19.6 quand il y a les 2 je vais creuser avec ma pelle mais si jamais quelqu'un passe avec un tracto pelle, je suis preneur gracias Salut, je suis entrain de mettre en place sur ma boutique cette contribution car mon expert comptable me menace d'une augmentation des tarifs vu la pile de facture papier que je lui dépose chaque mois ;o)) Cela marche pas mal, j'ai même rajouté le mode de paiment et les coupons de réductions, mais j'ai le même problème que Nadelo ! Le calcul de la TVA ne marche pas correctement. Quand c'est que 19,6 c'est bon, lorqu'il y a les deux c'est bon aussi, mais si je n'ai rien ou uniquement 5,5 cela ne marche pas... Pourquoi ? -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
11 Jan 2008, 14:03
Message
#31
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 357 Inscrit : 18-July 03 Membre no 1312 |
CITATION(farfads @ 8 Jan 2008, 14:40) [snapback]265319[/snapback] Salut, j'avance sur mon fichier mais je bloque pour avoir le prix HT, je souhaites avoir : $csv_output .= Order_total / 1.196 mais je bloque ! Help ! Suite à ton MP, voilà le bout de code qui me calcule le total HTVA. CODE // -------------------- QUERIES 2 ------------------------------------// //Orders_subtotal $orders_subtotal = tep_db_query("select value from orders_total where class = 'ot_subtotal' and orders_id = " . $Orders_id); //$row_orders_subtotal = tep_db_fetch_array($orders_subtotal); while($row_orders_subtotal = mysql_fetch_array($orders_subtotal)) { // end // $Order_Subtotal = filter_text(round($row_orders_subtotal["value"] *100/115, 2)); } Puis, plus bas dans le CSv output CODE $csv_output .= $Order_Subtotal; Voilà -------------------- MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
|
|
|
11 Jan 2008, 14:24
Message
#32
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
Et pour mon soucis de différenciation des deux TVA (19,6 et 5,5) tu n'aurais pas une piste ?
-------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
11 Jan 2008, 17:16
Message
#33
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 357 Inscrit : 18-July 03 Membre no 1312 |
je ne gère qu'un seul taux de TVA dans ma boutique.
Je n'ai jamais regardé à cela. Les différents montants de TVA sont-ils présent dans la table "orders_total" ? -------------------- MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
|
|
|
12 Jan 2008, 12:03
Message
#34
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
oui et non
En fait ils sont dans la table orders_total mais avec la même variable ot_tax, donc impossible de faire la différence. Donc j'ai utilisé la queries 9 de keuj que j'ai un peu adapté CODE // -------------------- QUERIES 9 ------------------------------------// $orders_products = tep_db_query("select sum(products_price*products_quantity) as total_ht, sum((products_price*products_tax/100)*products_quantity) as total_tva,products_tax as taux_tva from orders_products where orders_id = " . $Orders_id. " group by products_tax order by products_tax desc"); $case ="19.6000"; while ($row_orders_products = mysql_fetch_array($orders_products)) { if ($case == "19.6000") { if (tep_round($row_orders_products['taux_tva'],2) == "19.6000") { $csv_output .= tep_round(filter_text($row_orders_products['total_ht']),2) . $CSV_SEPARATOR; $csv_output .= tep_round(filter_text($row_orders_products['total_tva']),2) . $CSV_SEPARATOR; } else { $csv_output .= "0"; //$csv_output .= "0"; } $case="5.5000"; continue; } if ($case== "5.5000") { if (tep_round($row_orders_products['taux_tva'],2) == "5.5000") { $csv_output .= tep_round(filter_text($row_orders_products['total_ht']),2) . $CSV_SEPARATOR; $csv_output .= tep_round(filter_text($row_orders_products['total_tva']),2) . $CSV_SEPARATOR; } else { $csv_output .= "0"; // $csv_output .= "0"; } $case="0.0000"; continue; } if ($case== "0.0000") { if (tep_round($row_orders_products['taux_tva'],2) == "0.0000") { $csv_output .= tep_round(filter_text($row_orders_products['total_ht']),2) . $CSV_SEPARATOR; //$csv_output .= tep_round(filter_text($row_orders_products['total_tva']),2) . $CSV_SEPARATOR; } else { $csv_output .= "0"; //$csv_output .= "0"; } } } // --------------------------------------------------------------------------// $csv_output .= "\n"; } // while loop main first Et comme expliqué plus haut, le calcul de la TVA ne marche pas correctement. Quand c'est que 19,6 c'est bon, lorqu'il y a les deux c'est bon aussi, mais si je n'ai rien ou uniquement 5,5 cela ne marche pas... Alors une idée ? -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
12 Jan 2008, 15:05
Message
#35
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 357 Inscrit : 18-July 03 Membre no 1312 |
Mes connaissances sont trop limitées pour débuguer ton bout de code mais si les 2 montants sont dans la table "orders_total", qu'est-ce qui t'empêche de filtrer sur le champ 'title' plutôt que 'class' ?
Les 2 champs 'title' des 2 montants TVA sont différents, genre "TVA:5.5" et "TVA:19.6", non? CITATION // -------------------- QUERIES 3 ------------------------------------// //Orders_tax $orders_tax = tep_db_query("select value from orders_total where title = 'TVA:19.6' and orders_id = " . $Orders_id); //$row_orders_tax = tep_db_fetch_array($orders_tax); while($row_orders_tax = mysql_fetch_array($orders_tax)) { // end // $Order_Tax = filter_text(round($row_orders_tax["value"], 2)); } // -------------------- QUERIES 3bis ------------------------------------// //Orders_tax55 $orders_tax55 = tep_db_query("select value from orders_total where title = 'TVA:5.5' and orders_id = " . $Orders_id); //$row_orders_tax = tep_db_fetch_array($orders_tax); while($row_orders_tax55 = mysql_fetch_array($orders_tax55)) { // end // $Order_Tax55 = filter_text(round($row_orders_tax55["value"], 2)); } En rouge, faut bien sûr mettre la dénomination exacte qui est utilisée chez toi. Puis dans ton csv output, tu fais sortir ces 2 montants où tu veux. CITATION $csv_output .= $Order_Tax; $csv_output .= $Order_Tax55; Je vois quelque chose dans ce genre là. A tester, j'suis sûr de rien. Ce message a été modifié par tom555 - 12 Jan 2008, 15:20. -------------------- MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
|
|
|
12 Jan 2008, 17:06
Message
#36
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
Merci de te pencher sur ce soucis.
Mais malheureusement cela ne marche pas C'est quand même étrange que depuis 2006, date à laquel Keuj a mis son code, personne n'est eu le soucis. Personne n'a de double TVA sur son site Je retourne dans mon bbedit faire des essais et je vous tiens au courant si je trouve le truc Ce message a été modifié par xawaks - 12 Jan 2008, 17:07. -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
12 Jan 2008, 17:49
Message
#37
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9113 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
J'arrive un peu après la bataille mais bon, voilà le script que j'utilise :
Code <?php /* $Id: orders_compta.php,v 1.1 13/01/2008 09:48:11 fxm Mod $ osCommerce, Open Source E-Commerce Solutions [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url] Copyright © 2003 osCommerce - 2007 WebEspace.fr Released under the GNU General Public License */ require('includes/application_top.php'); if ($_POST['export_x']){ header ("Content-type: application/csv"); header('Content-Disposition: attachment; filename="rapport_comptable.csv"'); $rapport_ventes = base64_decode($_POST['ExportCSV']); $rapport_ventes = str_replace(".", ",", $rapport_ventes); echo $rapport_ventes; exit(); tep_redirect(tep_href_link(FILENAME_SALES_COMPTA)); } function tep_date_day($raw_date) { if ( ($raw_date == '0000-00-00 00:00:00') || ($raw_date == '') ) return false; $year = substr($raw_date, 0, 4); $month = (int)substr($raw_date, 5, 2); $day = (int)substr($raw_date, 8, 2); $hour = (int)substr($raw_date, 11, 2); $minute = (int)substr($raw_date, 14, 2); $second = (int)substr($raw_date, 17, 2); if (@date('Y', mktime($hour, $minute, $second, $month, $day, $year)) == $year) { $jour = date('w', mktime($hour, $minute, $second, $month, $day, $year)); } else { $jour = ereg_replace('2037' . '$', $year, date('w', mktime($hour, $minute, $second, $month, $day, 2037))); } $jours_semaine = array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'); $j_semaine = array ('D', 'L', 'M', 'M', 'J', 'V', 'S'); return array($jour, $j_semaine[$jour], $jours_semaine[$jour]); } require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); include(DIR_WS_CLASSES . 'order.php'); //////////////////////////////////////////////////////////// // calcul du total de vente pour une date ou une période donnée // $date doit $etre au format Y-m-d : Y donne un rapport annuel Y-m un rapport mensuel et Y-m-d le rapport du jour function get_order_total($date_in, $date_out = false) { $mois_array = array('01' => array('id' => '01', 'article' => 'de ', 'mois' => 'Janvier'), '02' => array('id' => '02', 'article' => 'de ', 'mois' => 'Février'), '03' => array('id' => '03', 'article' => 'de ', 'mois' => 'Mars'), '04' => array('id' => '04', 'article' => 'd\'', 'mois' => 'Avril'), '05' => array('id' => '05', 'article' => 'de ', 'mois' => 'Mai'), '06' => array('id' => '06', 'article' => 'de ', 'mois' => 'Juin'), '07' => array('id' => '07', 'article' => 'de ', 'mois' => 'Juillet'), '08' => array('id' => '08', 'article' => 'd\'', 'mois' => 'Août'), '09' => array('id' => '09', 'article' => 'de ', 'mois' => 'Septembre'), '10' => array('id' => '10', 'article' => 'd\'', 'mois' => 'Octobre'), '11' => array('id' => '11', 'article' => 'de ', 'mois' => 'Novembre'), '12' => array('id' => '12', 'article' => 'de ', 'mois' => 'Décembre')); if ($date_out == false) $query_orders = "SELECT orders_id, date_purchased FROM " . TABLE_ORDERS . " WHERE date_purchased LIKE \"$date_in%\" ORDER by orders_id"; if ($date_out && $date_in ) $query_orders = "SELECT distinct orders_id, date_purchased FROM " . TABLE_ORDERS . " WHERE date_purchased <= \"$date_out\" and date_purchased >= \"$date_in\" ORDER by orders_id"; $orders_query = tep_db_query($query_orders); $i=0; $orders_list = array(); while ($orders_array = tep_db_fetch_array($orders_query)) { if ($i == 0) { $first_id = $orders_array['orders_id']; $first_date = $orders_array['date_purchased']; } $last_id = $orders_array['orders_id']; $last_date = $orders_array['date_purchased']; $i++; if (tep_not_null($orders_array['orders_id']) && is_string($orders_array['orders_id']) ) $orders_list[] = $orders_array['orders_id']; } $nb_cmde = $i; // nombre de commandes listées foreach ( $orders_list as $o_id) { // Total des commandes facturées dans cette période $query_total = "SELECT value FROM " . TABLE_ORDERS_TOTAL . " WHERE orders_id = '".$o_id."' and class = 'ot_total' "; $total_query = tep_db_query($query_total); while ($total_array = tep_db_fetch_array($total_query)) { $order_ligne['total_ttc'] = $total_array['value']; } // Total Frais de ports facturés pour cette période $query_shipping = "SELECT value FROM " . TABLE_ORDERS_TOTAL . " WHERE orders_id = '".$o_id."' and class = 'ot_shipping' "; $shipping_query = tep_db_query($query_shipping);; while ($shipping_array = tep_db_fetch_array($shipping_query)) { $order_ligne['total_shipping_ttc'] = $shipping_array['value']; $order_ligne['total_shipping'] = $shipping_array['value'] / 1.196; } $order = new order($o_id); $order_ligne['id'] = $o_id; $order_ligne['jour'] = tep_date_day($order->info['date_purchased']); $order_ligne['mois'] = $mois_array[substr($order->info['date_purchased'], 5,2)]; $order_ligne['date'] = tep_date_short($order->info['date_purchased']); $order_ligne['customer'] = $order->customer['name']; $order_ligne['payment'] = $order->info['payment_method']; $order_ligne['tva55'] = 0; $order_ligne['tva196'] = 0; $order_ligne['HT55'] = 0; $order_ligne['HT196'] = 0; $order_ligne['total_products'] = 0; for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { // TVA 5.5 if ( $order->products[$i]['tax'] == 5.5 ) { $order_ligne['tva55'] += (($order->products[$i]['price'] *$order->products[$i]['qty'])* $order->products[$i]['tax'] /100 ); $order_ligne['HT55'] += (($order->products[$i]['price'] *$order->products[$i]['qty'])); } // TVA 19.6 if ( $order->products[$i]['tax'] == 19.6 ) { $order_ligne['tva196'] += (($order->products[$i]['price'] *$order->products[$i]['qty'])* $order->products[$i]['tax'] /100 ); $order_ligne['HT196'] += (($order->products[$i]['price'] *$order->products[$i]['qty'])); } $order_ligne['total_products'] += $order->products[$i]['price'] *$order->products[$i]['qty']; } $order_ligne['HT196'] += $order_ligne['total_shipping']; $order_ligne['tva196'] += ($order_ligne['total_shipping_ttc'] - ($order_ligne['total_shipping'])); $result[] = $order_ligne; } return $result; } /////////////////////////////////////////////////// $date_debut = ($_POST['date_debut']) ? $_POST['date_debut'] : (date("d/m/Y", mktime(0,0,0, date("m") - 1 , 1 , date("Y")))); $date_fin = ($_POST['date_fin']) ? $_POST['date_fin'] : (date("d/m/Y", mktime(0,0,0, date("m"), 0 , date("Y")))); $date_in = (date("Y-m-d", mktime(0,0,0, substr($date_debut,3,2), substr($date_debut,0,2) , substr($date_debut,6,4)))); $mk_in = mktime(0,0,0, substr($date_debut,3,2), substr($date_debut,0,2) , substr($date_debut,6,4)); $mk_out = mktime(0,0,0, substr($date_fin,3,2), substr($date_fin,0,2) , substr($date_fin,6,4)); $nb_jours = (($mk_out - $mk_in) / 86400); for ($i=$nb_jours;$i>=0;$i--){ $result = get_order_total(date("Y-m-d", mktime(0,0,0, substr($date_fin,3,2), substr($date_fin,0,2) -$i , substr($date_fin,6,4) ))); $resultat[] = $result; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo 'Rapport des ventes'; ?></title> <link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css"> <style type="text/css"> /* <![CDATA[ */ table.petit {font-size:8px; background-color:#eeeeff;} tr.TitreTable{background-color: #6666FF;color:#FFFFFF;font-weight:bold;} tr.TotalTable{background-color: #D3605E;color:#FFFFFF;font-weight:bold;font-size:10px;} tr.Totaux{background-color: #666666;color:#FFFFFF;font-weight:bold;font-size:12px; text-align:right;} .warning {color:#990000; font-weight:bold;} td.bright {border-right:2px solid silver;} /* ]]> */ </style> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <script language="javascript" src="includes/general.js"></script> </head> <body> <div id="spiffycalendar" class="text"></div> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%"> <script type="text/javascript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script> <script type="text/javascript"><!-- var dateDebut = new ctlSpiffyCalendarBox("dateDebut", "formulaire_date", "date_debut","btnDate1","<?php echo $date_debut; ?>",scBTNMODE_CUSTOMBLUE); var dateFin = new ctlSpiffyCalendarBox("dateFin", "formulaire_date", "date_fin","btnDate2","<?php echo $date_fin; ?>",scBTNMODE_CUSTOMBLUE); //--></script> <?php echo tep_draw_form('formulaire_date',FILENAME_SALES_COMPTA, '','post', 'enctype="multipart/form-data" onReset="return ResetCheck()" '); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo 'Rapport commandes mensuel'; ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '24', '40') . ' '; ?></td> <td colspan="2" align="right"></td> </tr> <tr> <td align="right" class="main">Date de début de période : </td> <td colspan="2" class="main"><script type="text/javascript">dateDebut.writeControl(); dateDebut.dateFormat="dd/MM/yyyy";</script></td> <td class="main">Par défaut le premier du mois dernier</td> </tr> <tr> <td align="right" class="main">Date de fin de période : </td> <td colspan="2" class="main"><script type="text/javascript">dateFin.writeControl(); dateFin.dateFormat="dd/MM/yyyy";</script></td> <td class="main">Par défaut le dernier jour du mois dernier</td> </tr> <tr> <td align="right" class="main"></td> <td colspan="2" class="main"></td> <td class="main"><?php echo tep_image_submit('button_send.gif', 'Envoyer'); ?></td> </tr> </table><?php echo '</form>'; ?></td> </tr> <tr> <td> <table border="1" width="100%" cellspacing="0" cellpadding="4" class="petit"> <?php $ligne_titre = ' <tr class="TitreTable"> <td class="bright">jour</td> <td class="bright">date</td> <td align="right" class="bright">Commande N°</td> <td align="center">Client</td> <td align="right" class="bright">Montant HT </td> <td align="right">Frais de port HT</td> <td align="right" class="bright">Total commande HT</td> <td align="right">HT de TVA 5.5%</td> <td align="right">TVA 5.5%</td> <td align="right">HT de TVA 19.6%</td> <td align="right">TVA 19.6%</td> <td align="right">Total TTC</td> <td align="right">Mode de paiement</td> </tr>'. "\n"; echo $ligne_titre; $export_xl = "Jour; Date; N° Commande; Client; Produits HT; Port HT; Total Commande HT; Total HT sur TVA 5.50%; TVA 5.50%; Total HT sur TVA 19.60%; TVA 19.60%; Total TTC; Mode de paiement \n"; $date_in = ''; $date_out = ''; $l=0; if (sizeof($resultat) < 1) { echo '<tr class="Totaux"><td colspan="11" align="center">Aucun résultat pour cette période '. "</tr>\n"; } else { for ($i=0, $n=sizeof($resultat); $i<$n; $i++) { $lignes = $resultat[$i]; if (tep_not_null($lignes)){ foreach ( $lignes as $ligne) { if (!isset($mois)) $mois = $ligne['mois']['id']; $tva_55 = ($ligne['tva55'] > 0 ) ? $currencies->format($ligne['tva55']): "-"; $HT_55 = ($ligne['HT55'] > 0 ) ? $currencies->format($ligne['HT55']): "-"; $tva_196 = ($ligne['tva196'] > 0 ) ? $currencies->format($ligne['tva196']): "-"; $HT_196 = ($ligne['HT196'] > 0 ) ? $currencies->format($ligne['HT196']): "-"; $port_ht = ($ligne['total_shipping'] > 0) ? $currencies->format($ligne['total_shipping']) : "-"; $style_day = ($ligne['jour'][0] == 6)? 'style="background-color:#D3E8FA;"':''; if ($ligne['jour'][0] == 0)$style_day = 'style="background-color:#BDD2E3;"'; if ($ligne['mois']['id'] != $mois){ echo '<tr class="TotalTable">'."\n"; echo '<td colspan="4">Total '.$total['mois'].'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_products']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_shipping']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_HT']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['HT55']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['tva55']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['HT196']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['tva196']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_ttc']).'</td>'."\n"; echo '<td ></td>'."\n"; echo "</tr>\n"; $mois = $ligne['mois']['id']; $total = array(); echo $ligne_titre; } echo "<tr $style_day>\n"; echo "<td class=\"bright\">". $ligne['jour'][2] . '</td><td>'.$ligne['date'] . "</td>\n"; echo '<td align="right">'. $ligne['id']. "</td>\n"; echo '<td align="left">'. $ligne['customer']. "</td>\n"; echo '<td align="right" class="bright">'. $currencies->format($ligne['total_products']). "</td>\n"; $total['total_products'] += $ligne['total_products']; echo '<td align="right" class="bright">'. $port_ht. "</td>\n"; $total['total_shipping'] += $ligne['total_shipping']; echo '<td align="right"><b>'. $currencies->format($ligne['total_products']+$ligne['total_shipping']). "</b></td>\n"; $total['total_HT'] += ($ligne['total_products']+$ligne['total_shipping']); echo '<td align="right">'. $HT_55. "</td>\n"; $total['HT55'] += $ligne['HT55']; echo '<td align="right">'. $tva_55. "</td>\n"; $total['tva55'] += $ligne['tva55']; echo '<td align="right">'. $HT_196. "</td>\n"; $total['HT196'] += $ligne['HT196']; echo '<td align="right">'. $tva_196. "</td>\n"; $total['tva196'] += $ligne['tva196']; echo '<td align="right"><b>'. $currencies->format($ligne['total_ttc']). "</b></td>\n"; $total['total_ttc'] += $ligne['total_ttc']; echo '<td align="right">'. $ligne['payment']. "</td>\n"; echo "</tr>\n"; $total['mois'] = $ligne['mois']['article'] . $ligne['mois']['mois']; $export_xl .= $ligne['jour'][2] . ";"; $export_xl .= $ligne['date'] . ";"; $export_xl .= $ligne['id'] . ";"; $export_xl .= $ligne['customer'] . ";"; $export_xl .= $ligne['total_products'] . ";"; $export_xl .= $ligne['total_shipping'] . ";"; $export_xl .= $ligne['total_products']+$ligne['total_shipping'] . ";"; $export_xl .= $ligne['HT55'] . ";"; $export_xl .= $ligne['tva55'] . ";"; $export_xl .= $ligne['HT196'] . ";"; $export_xl .= $ligne['tva196'] . ";"; $export_xl .= $ligne['total_ttc'] . ";"; $export_xl .= $ligne['payment'] . ";"; $export_xl .= "\n"; } } } echo '<tr class="TotalTable">'."\n"; echo '<td colspan="4">Total '.$total['mois'].'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_products']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_shipping']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_HT']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['HT55']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['tva55']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['HT196']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['tva196']).'</td>'."\n"; echo '<td align="right">'.$currencies->format($total['total_ttc']).'</td>'."\n"; echo '<td ></td>'."\n"; echo "</tr>\n"; } ?> </table> </td></tr> <tr> <td align="center"> <b>Télécharger le tableau au format Excel (CSV) </b> <?php echo tep_draw_form('export_csv', FILENAME_SALES_COMPTA); echo tep_draw_hidden_field('ExportCSV', base64_encode($export_xl)); echo tep_image_submit('button_upload.gif', 'EXPORTER', 'name="export"'); echo '</form>'; ?> </td> </tr> </table></td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> </body> </html> NB : il n'est pas localisé et fonctionne uniquement en français. NB2 : pour qu'il fonctionne correctement, il faut penser à déclarer le nom du script en define dans includes/filename.php : define('FILENAME_SALES_COMPTA', 'orders_compta.php'); Enfin, ce code n'est pas optimisé pour une utilisation intensive. La méthode utilisée est très gourmande en ressources sql et pourrait être copieusement allégée. il ne s'agit pas d'une contribution mais d'un script franco-français qui retourne une ligne par commande avec : le jour, la date, le N° de cmde($order_id), le client, le montant HT, les frais de port HT, le HT de TVA5.5%, la TVA 5.5, le HT de TVA19.6%, la TVA 19.6, le total TTC et le mode de paiement. Une ligne de total conclut le tableau et c'est exportable en csv (un bouton) on peut choisir la date de début et la date de fin. (par défaut le mois dernier du 1 au 31) Attention, pour un rapport annuel, ça peut demander plusieurs dizaines de secondes en fonction du nombre de commandes. Attention au timeout! dernier point, je ne fais pas de SAV là dessus, mais c'est utilisable en l'état et ça peut servir de trame pour un script plus abouti. Bon code -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
12 Jan 2008, 19:12
Message
#38
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 357 Inscrit : 18-July 03 Membre no 1312 |
CITATION(xawaks @ 12 Jan 2008, 17:06) [snapback]265721[/snapback] Mais malheureusement cela ne marche pas y'a pas de raison, si les données sont là dans la table, tu dois pouvoir les faire resortir. J'ai fait un essai sur une boutique de test en créant les 2 taux de TVA et l'export se fait sans problème en filtrant sur le champ "title". Essaye le script de Gnidhal. @+ -------------------- MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
|
|
|
13 Jan 2008, 09:40
Message
#39
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
Merci les gars,
alors pour Tom555 : je sais c'est étrange mais cela me retourne à chaque fois 0 alors qu'ils y a des trucs dans la base. Je ne sais pas si c'est parce que mon champ title est complexe -> dont TVA à 19,6 %: je vais encore faire des tests. Merci en tous les cas de t'être penché sur mon soucis Pour Gnidhal : Merci beaucoup pour ton fichier, mais je vais faire mon case cou*lles, cela vas moins bien que le fichiers de keuj. En fait dans le fichier de keuj, j'ai déjà fait pleins de modif, j'ai rajouté à l'export mon numéro de facture et la date de celle-ci, ainsi que la présence ou non de coupons de réductions. De plus elle permet d'avoir le total ht par type de tva ce que souhaite ma comptable. Je vais tenter de faire un mix entre ton fichier et celui de keuj, ensuite je le mettrais ici afin de faire partager notre travail ;o) Car visiblement le soucis se situe au niveau de la boucle de conditions, je vais essayer d'adapter la tienne lorsque j'aurais compris son fonctionnement. Merci encore à vous deux, je pense que je suis sur la bonne voie, même si cela me fait rager d'être si proche et de ne pas y arriver -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
13 Jan 2008, 10:07
Message
#40
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9113 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
C'est pas idiot cette remarque sur les totaux HT TVA 5.5 et 19.6... tiens j'en ai modifié mon script plus haut
mais pour ce qui est du N° de commande, c'est toujours le N° Order_id ... s'il ne reste que ça tu devrais y arriver non ? -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
13 Jan 2008, 15:17
Message
#41
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
merci !
Bon j'avance à grand pas aujourd'hui !!! J'ai donc repris ton fichier Gnidhal et j'ai rajouté la date et le numéro de facture. J'arrive également à recupérer les coupons de réductions, mais, ben oui il y a un mais, lors de l'affichage la variable ne se vide pas avant la nouvelle boucle. En fait si pour la commande n°6100 j'ai 3 euros de coupons, ensuite je vais avoir 3 euros de coupons pour toutes les commandes de cette journée. La variable n'est remise à zéro que lors du changement de jour, je voudrais quelle soit remise à zéro pour chaque commande. Une idée ? Ce message a été modifié par xawaks - 13 Jan 2008, 15:17. -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
13 Jan 2008, 15:22
Message
#42
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
bon je viens de tester un truc, c'est un peu violent, mais cela marche
CITATION // Coupons $query_coupons = "SELECT value FROM " . TABLE_ORDERS_TOTAL . " WHERE orders_id = '".$o_id."' and class = 'ot_coupon' "; $coupons_query = tep_db_query($query_coupons); $order_ligne['coupons'] = 0; while ($coupons_array = tep_db_fetch_array($coupons_query)) { $order_ligne['coupons'] = $coupons_array['value'] ; } A ton avis ? il y a plus simple, ou plus "correct" ? Allez, je bidouille encore un peu et je mets ma version en ligne. -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
13 Jan 2008, 16:41
Message
#43
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
Bon, je continue.
J'ai mis en place la contrib "edit order" et celle-ci me rajoute des options. Je l'utilise pour faire des reduction spécifique. Dans ce cas, cela me mets dans la BDD une class "ot_custom" J'ai modifié le fichier pour qu'il prenne en compte également cette class, mais comme la "value" de cette class est toujours négative, il ne m'affiche rien J'ai fait le test, si je mets un chiffre positif, c'est bon C'est normal ça ? -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
13 Jan 2008, 23:42
Message
#44
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9113 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
CITATION(xawaks @ 13 Jan 2008, 15:22) [snapback]265760[/snapback] A ton avis ? il y a plus simple, ou plus "correct" ? non, ça me semble bien. D'ailleurs dans mon script je réinitialise ces variables de la même manière : CODE $order = new order($o_id); $order_ligne['id'] = $o_id; $order_ligne['jour'] = tep_date_day($order->info['date_purchased']); $order_ligne['mois'] = $mois_array[substr($order->info['date_purchased'], 5,2)]; $order_ligne['date'] = tep_date_short($order->info['date_purchased']); $order_ligne['customer'] = $order->customer['name']; $order_ligne['payment'] = $order->info['payment_method']; $order_ligne['tva55'] = 0; $order_ligne['tva196'] = 0; $order_ligne['HT55'] = 0; $order_ligne['HT196'] = 0; $order_ligne['total_products'] = 0; car sinon on se retrouve avec la somme du jour à chaque commande et non pas la somme de la commande. Ce script est une version de départ car il permet aussi que sortir la somme par jour puisque la boucle est quotidienne. ça peut avoir son intérêt. Reste à extraire ces info dans un format présentable. Le système de boucle utilisé est très lourd mais il a le mérite de permettre toutes les sorties ( pour une journée ou pour une période au choix) en ce qui concerne ta valeur négative le problème vient du fait que le champ value est de type "DECIMAL" or mysql stocke ces champs sous forme texte : CITATION Les valeurs de type DECIMAL et NUMERIC sont stockées sous forme de chaînes de caractères, plutôt que comme des nombres à virgule flottante, afin de préserver la précision décimale des valeurs. Un caractère est donc nécessaire pour chaque chiffre, plus la virgule (si scale > 0), et le signe moins ‘-’ (pour les nombres négatifs). Si scale vaut 0, les valeurs de type DECIMAL et NUMERIC ne comporteront pas de valeur décimale, ni de virgule. (+ d'infos ici : http://dev.mysql.com/doc/refman/5.0/fr/numeric-types.html ) Donc pour les valeurs négatives il faut récupérer la valeur comme un float mais aussi extraire le potentiel caractère "-" au début de chaine pour utiliser un négatif $value_num = floatval($value); puis utiliser cette valeur avec une soustraction au lieu d'une addition si la condition suivante est vraie : if (substr($value,0,1)=="-") et hop -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
14 Jan 2008, 15:20
Message
#45
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
Je touche au but, mais c'est pas encore ça...
Voic ma requete : CODE // Coupons $query_coupons = "SELECT value FROM " . TABLE_ORDERS_TOTAL . " WHERE orders_id = '".$o_id."' and class = 'ot_coupon' or 'ot_custom' or 'ot_custom_1' or 'ot_custom_2' or 'ot_custom_3' or 'ot_custom_4' or 'ot_custom_5' "; $coupons_query = tep_db_query($query_coupons); $order_ligne['coupons'] = 0; while ($coupons_array = tep_db_fetch_array($coupons_query)) { $value_num = floatval($value); if (substr($value_num,0,1)=="-") { $order_ligne['coupons'] =- $coupons_array['value_num']; } $order_ligne['coupons'] = $coupons_array['value']; } Cela marche quand le signe est positif, mais cela ne marche toujours pas quand le signe est négatif -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
14 Jan 2008, 21:16
Message
#46
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9113 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
Ahem,
au regard de ce que tu avais codé jusque là, je te croyais un poil plus avancé je t'ai filé un code générique pas la soluce CODE while ($coupons_array = tep_db_fetch_array($coupons_query)) { $value_num = floatval($coupons_array['value']); if (substr($coupons_array['value'],0,1)=="-") { $order_ligne['coupons'] =- $value_num; } else $order_ligne['coupons'] += $value_num; Voilà qui est plus près de ta soluce -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
14 Jan 2008, 23:54
Message
#47
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
CITATION(Gnidhal @ 14 Jan 2008, 21:16) [snapback]265841[/snapback] Ahem, au regard de ce que tu avais codé jusque là, je te croyais un poil plus avancé je t'ai filé un code générique pas la soluce Ton code marche nickel, c'est moi le boulet !!! Mille merci Môsieur ! Je vérifie dans tous les sens et si cela ne dérange personne je mets mon code ici... Gnidhal, tu rejoins Xaglo sur son piédestal sur le mur de mon bureau Ce message a été modifié par xawaks - 15 Jan 2008, 00:15. -------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
15 Jan 2008, 07:46
Message
#48
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9113 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
CITATION(xawaks @ 14 Jan 2008, 23:54) [snapback]265852[/snapback] Gnidhal, tu rejoins Xaglo sur son piédestal sur le mur de mon bureau Rhaaa non alors ! Pas que la proximité de Xaglo me gêne, bien au contraire, mais j'ai horreur des piédestaux! C'est comme tout espace réduit, ça ressemble bien trop à une prison. Et puis, plus le singe monte haut, plus il montre son cul! bon, c'était la minute de philosophie matinale -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
21 Mar 2008, 17:27
Message
#49
|
|
![]() Ceinture orange+ OSC Groupe : Membres Messages : 366 Inscrit : 31-December 03 Lieu : Nantes Membre no 1780 |
Salut Xawaks,
marrant, je suis exactement dans le meme cas de figure que toi : tva différenciée, coupons de réduc,... et comptable qui n'en peux plus de tout saisir! Pourrais-tu partager ton fichier pour à mon tour rendre mon comptable heureux ? Merci d'avance. Je devrais ensuite importer les données dans ciel compta... Seb -------------------- Osc 2.2 ms2 en prod : STS - Easy Populate - CSS Buttons - SEO - Email Invoice -MailingList 2.0 - Order editor - Wordlpay ...
|
|
|
21 Mar 2008, 21:41
Message
#50
|
|
![]() Ceinture marron OSC Groupe : Membres Messages : 1308 Inscrit : 17-March 04 Lieu : Gard Membre no 2145 |
un peu la bourre en ce moment, mais j'essaye de te mettre ça dans le week-end ;o))
-------------------- Pax Vobiscum
MS2 fr (merci sieur Delaballe) + collisimo + Administration access level V2.3 + Down for maintenance + payment cards infobox + Cybermut + catalog PDF + titre pages référencement thematrixisme + adaptation pop_up loup solitaire + Star products + no double clics by JeanLuc + Must agree to terms + Ship in cart V1.90 + personnal invoice number + vente croisée by Decad7 + loginbox + Flux RSS perso-Manmachine + Onglets perso + salemaker + product on order + tabs + CCGV + featured products + expeditor inet + numero tracking perso + edit order + box newsletter perso + intégration blog dotclear/boutique perso + popup perso pour adresse hotmail lors de la création de compte + export perso-gnidhal pour les factures en csv + stock tacking cost + reclamaposte + notifications rupture de stock perso --------------------------------------- Le tout sur VDS1024 : Apache 1.3.41 + Linux 2.6.24-18-server + PHP 5.2.6 + MySQL 5.0.18 --------------------------------------- Et en local sous MAC OS X 10.5.8 |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 25th May 2013 - 21:52 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |