osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
> [resolu] Export des commandes sur exel
Broardelle
posté 22 Apr 2006, 21:27
Message #1


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 15
Inscrit : 19-August 05
Membre no 6840



je cherche à créer mensuellement un ficher (csv, txt, etc...) importable dans exel contenant les champs; nom des clients, date de commande et montants de la commande. J'ai essayé via phpmyadmin avec la série des fichiers order, mais il n'y a pas les montants des commandes.
Est ce quelqu'un à une idée ?

Merci d'avance
Go to the top of the page
 
fissiaux
posté 22 Apr 2006, 21:51
Message #2


5eme dan OSC
Icône de groupe

Groupe : Membres
Messages : 17048
Inscrit : 26-November 03
Lieu : Chez moi
Membre no 1669



Elle est toute fraiche, donc à prendre avec modération, mais pourrait te servir de base à ce que tu veux faire.

Export Order into CSV

A regarder, et à faire un retour dans le forum.
Go to the top of the page
 
armoise
posté 4 Jun 2006, 23:02
Message #3


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 225
Inscrit : 30-June 04
Membre no 2781



Bonsoir Fissiaux et Boardelle,

J'ai téléchargé et je l'ai adoptée sans restriction !

Cette contribution permet l'export complet des factures coordonnées du client et détail de la commande

Je l'ai intégrée a ACT ! pour compléter mes fiches clients avec leur commandes et adresse de livraison puis un export vers Ciel gestion commerciale évolution R pour l'édition des factures et la tenue des stock et enfin un export vers expeditor pour l'édition par semaine des étiquettes d'expédition.

La saisie est limité à quelques clics smile.gif sauf pour ciel gestion commercial où les commandes à la différence des contacts clients ne peuvent pas être importées. il en est de même sous EBP

Je pense qu'il répond à de nombreux post sur le sujets de la gestion commerciale et de la gestion de la relation client.

Pour une synchronisation complète il faut un logiciel ouvert comme sage 100 avec base sql et un hébergement sur serveur dédié ou sur la nouvelle offre de OVH qui permettent des requêtes extérieures. Entre Sage et Oscommerce des "moulinette" ont été développée.... Ces solutions sont couteuses et pas à la portée de nos petites entreprises !

Voilou





--------------------
- creload 6 en production - 2.2RC2aFRW3C en développement -
Go to the top of the page
 
baj
posté 7 Jun 2006, 16:01
Message #4


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 25
Inscrit : 1-June 06
Membre no 10604



probleme elle ne marche pas pour la ms2.2


--------------------
ms2.2+QTPro
Go to the top of the page
 
xaglo
posté 7 Jun 2006, 17:04
Message #5


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14914
Inscrit : 22-November 02
Membre no 610



CITATION(baj @ 7 Jun 2006, 17:01) [snapback]178496[/snapback]
probleme elle ne marche pas pour la ms2.2
ça c'est de l'info!!!

ils exagèrent ces ricains de proposer des contributions pour MS2 qui ne fonctionnent pas tongue.gif

Si tu disais ce qui ne "fonctionne pas" peut-être pourrions nous t'aider non??
http://www.oscommerce-fr.info/forum/index.php?showtopic=7241



--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
baj
posté 7 Jun 2006, 19:56
Message #6


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 25
Inscrit : 1-June 06
Membre no 10604



oui je veux bien un petit coup de pouce....

en appelant le fichier depuis admin/outils je rentre les numeros de commande et voila l'erreur:

1054 - Champ 'cvvnumber' inconnu dans field list

select orders_id, date_purchased, customers_name , cc_owner, customers_company, customers_email_address, billing_street_address, billing_city, billing_state, billing_postcode, billing_country, customers_telephone, delivery_name, delivery_company, delivery_street_address, delivery_city, delivery_state, delivery_postcode, delivery_country, cc_type, cc_number, cc_expires, cvvnumber, order_url, refferer from orders where orders_id >= 1 and orders_id <= 2 order by orders_id

[TEP STOP]


--------------------
ms2.2+QTPro
Go to the top of the page
 
fissiaux
posté 7 Jun 2006, 21:23
Message #7


5eme dan OSC
Icône de groupe

Groupe : Membres
Messages : 17048
Inscrit : 26-November 03
Lieu : Chez moi
Membre no 1669



Dans le fichier changes

CODE
delivery_postcode, delivery_country, cc_type, cc_number, cc_expires, cvvnumber, order_url, refferer


par

CODE
delivery_postcode, delivery_country, cc_type, cc_number, cc_expires
Go to the top of the page
 
baj
posté 7 Jun 2006, 21:30
Message #8


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 25
Inscrit : 1-June 06
Membre no 10604



ok j'essai de suite


ça marche nikel merci beaucoup fissiaux


--------------------
ms2.2+QTPro
Go to the top of the page
 
nadelo
posté 27 Jun 2006, 16:33
Message #9


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 676
Inscrit : 20-June 02
Lieu : world citizen
Membre no 253



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
biggrin.gif
gracias


--------------------
Ms2fr sur mesure
Go to the top of the page
 
neolien
posté 12 Jan 2007, 10:43
Message #10


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 42
Inscrit : 29-June 06
Lieu : loire
Membre no 10964



Salut Fissiaux,

J'ai suivi ta consigne et effectivement il générait bien un fichier csv mais il reprenait deux fois les données du client sans le détails de la commande, j'ai refais les modifications et maintenant j'ai le message suivant :

CODE
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from orders where orders_id >= 1 and orders_id <= 6 order by orders_id' at line 7

select orders_id, date_purchased, customers_name , cc_owner, customers_company, customers_email_address, billing_street_address, billing_city, billing_state, billing_postcode, billing_country, customers_telephone, delivery_name, delivery_company, delivery_street_address, delivery_city, delivery_state, delivery_postcode, delivery_country, cc_type, cc_number, cc_expires, from orders where orders_id >= 1 and orders_id <= 6 order by orders_id


Voici ma fonction pour générer le CSV :

CODE
function generatecsv($start, $end)
{
$orders = tep_db_query("select orders_id, date_purchased, customers_name
, cc_owner, customers_company, customers_email_address,
billing_street_address, billing_city, billing_state, billing_postcode,
billing_country, customers_telephone, delivery_name,
delivery_company, delivery_street_address, delivery_city, delivery_state,
delivery_postcode, delivery_country, cc_type, cc_number, cc_expires,
from orders where orders_id >= $start and orders_id <= $end order by orders_id");


Aurais-tu encore une fois la solution ?

De plus baj a dit :
CITATION
en appelant le fichier depuis admin/outils je rentre les numeros de commande et voila l'erreur:


Pour moi il n'apparait rien dans admin/outils ?, j'ai tester le fichier directement via le navigateur, car dans la contribution, il n'y a que le fichier exportorders.php, comment l'intégrer dans admin/outil/ ??


D'avance merci pour tes efforts et bonne journée!

Ce message a été modifié par neolien - 12 Jan 2007, 10:49.
Go to the top of the page
 
fissiaux
posté 12 Jan 2007, 23:59
Message #11


5eme dan OSC
Icône de groupe

Groupe : Membres
Messages : 17048
Inscrit : 26-November 03
Lieu : Chez moi
Membre no 1669



Tu as laissé une virgule après

CODE
cc_expires,


Enlèves là, comme indiqué....
Go to the top of the page
 
neolien
posté 15 Jan 2007, 10:26
Message #12


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 42
Inscrit : 29-June 06
Lieu : loire
Membre no 10964



Merci Fissiaux, maintenant le fichier Excel est bien généré mais j'obtiens plein de doublons et aucune infos sur le détails des commandes clients, en effet j'ai 4 fois le nom du client qui apparait et deux fois le reste de ses infos clients (mails, adresse, ville, département, téléphone) dans le fichier Excel généré ??

De plus, je ne vois aucun lien dans admim/outils/ pour tomber directement sur la page http://www.maboutique.com/admin/exportorders.php ?

As-tu une idée pour résoudre ces deux problèmes ?

D'avance merci et bonne journée
Go to the top of the page
 
keuj
posté 16 Jan 2007, 17:25
Message #13


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 12
Inscrit : 11-May 06
Membre no 10327



Bonjour,

Tu dois créer tes liens pour que la fonction s'affiche dans le menu de gauche
Fichier admin/includes/boxes/customers.php
après la ligne 25 :
'<a href="' . tep_href_link(FILENAME_ORDERLIST, '', 'NONSSL') . '" class="menuBoxContentLink" target="_BLANK">' . BOX_CUSTOMERS_ORDERLIST . '</a>');
et modifie la fin de la ligne 25 :
'<a href="' . tep_href_link(FILENAME_ORDERS, '', 'NONSSL') . '" class="menuBoxContentLink">' . BOX_CUSTOMERS_ORDERS . '</a><br>' .


Fichier admin/includes/filenames.php
ajoute à la fin du fichier :
define('FILENAME_ORDERLIST', 'exportorders.php');

Fichier admin/includes/languages/french.php ( et éventuelement les autres langues)
ajoute à la fin duu fichier :
define('BOX_CUSTOMERS_ORDERLIST', 'Exporter la liste de commandes');

Je crois que c'est tout.

Si certains sont intéressés, j'ai aussi modifié la fonction pour :
ajouter un entête
enlever les champs qui m'étaient inutiles
ajouter les sous-totaux par taux de taxe (19.6, 5.5 et exonéré)

Le format final est sans-doute à valider avec votre comptable/

Ce message a été modifié par keuj - 16 Jan 2007, 17:28.


--------------------
OSC2.2 MS 2 - BTS - CCGV - Edit orders - Relais-colis TNT
Go to the top of the page
 
neolien
posté 16 Jan 2007, 22:33
Message #14


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 42
Inscrit : 29-June 06
Lieu : loire
Membre no 10964



Merci Keuj de l'info pour l'affichage dans l'admin !

Je vois que tu as modifié également les fonctions qui chez moi fonctionne bizarrement comme tu peux le lire dans mon post au dessus !

Pourrais-tu recopier le code de ton fichier exportorders.php ou me le faire parvenir par MP pour les comparer et essayer de voir ce qui cloche chez moi ?

D'avance merci @ toi wink.gif
Go to the top of the page
 
keuj
posté 17 Jan 2007, 15:29
Message #15


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 12
Inscrit : 11-May 06
Membre no 10327



Bonjour

Je le mets tel quel, avec les lignes commentées.
J'ai enlevé plein de champs qui ne servent pas à mon client.

La dernière partie "affichage des totaux par taux de taxe" (Queries 9) est très mal écrit mais je n'ai pas réfléchi à une meilleur écriture.

Le résultat final donnera avec la ligne d'entête :
numéro facture;date;heure;nom client;société;email;adresse1;adresse2;ville;cp;pays;type paiement;montant hors FP;frais port ttc;total facture;totalht 19.6;total tva 19.6;totalht 5.5;total tva 5.5;total exonere
27;15/01/2007;14:45:56;nom client bidon;société bidon;adresse_web@imaginez.fr;all?e aux moineaux;;FONTAINEBLEAU;25000;France;Carte Bleue;32.95;9.6;42.55;20.07;3.93;8.48;0.47;

CODE

<?php
/*
  $Id: exportorders.php,v 1.1 April 21, 2006 Harris Ahmed $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2004 Oscommerce

  Use this module on your own risk. I will be updating a new one soon. This template is used to create
  the csv export for Ideal Computer Systems Accounting Software
*/

require('includes/application_top.php');
// Check if the form is submitted
if (!$submitted || $submitted != 1) {

    ?>

<!-- header_eof //-->

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS;
    ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET;
    ?>">
<title><?php echo TITLE;
    ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- 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="2">
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="pageHeading"><?php echo "Export Order" ?></td>
            <td class="pageHeading" align="right"></td>
          </tr>
        </table>
        </td>
      </tr>
      <!-- first ends // -->
      <tr>
        <td>

<table border="0" style="font-family:tahoma;font-size:11px;" width="100%" cellspacing="2" cellpadding="2">
<tr>
<td>

<form method="GET" action="<?php echo $PHP_SELF;
    ?>">
<table border="0" style="font-family:tahoma;font-size:11px;" cellpadding="3">
<tr>
<td><?php echo "Start Order #:";
    ?></td>
<td><input name="start" size="5" value="<?php echo $start;
    ?>">
</tr>
<tr>
<td><?php echo "End Order #:";
    ?></td>
<td><input name="end" size="5" value="<?php echo $end;
    ?>">
</tr>
<tr>
<td> </td>
<td><input type="submit" value="<?php echo "Create CSV";
    ?>"></td>
</tr>
</table>
<input type="hidden" name="submitted" value="1">
</form>

</td>
</tr>
</table>

</td></tr>
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php');
    ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php');
    ?>

<?php
}
// submitted so generate csv if the form is submitted
else {
    generatecsv($start, $end);
}
// generates csv file from $start order to $end order, inclusive
function generatecsv($start, $end)
{
    $orders = tep_db_query("select orders_id, date_purchased, customers_name
, cc_owner, customers_company, customers_email_address,
billing_street_address, billing_city, billing_state, billing_postcode,
billing_country, customers_telephone, delivery_name,
delivery_company, delivery_street_address, delivery_city, delivery_state,
delivery_postcode, delivery_country, cc_type, cc_number, cc_expires
from orders where orders_id >= $start and orders_id <= $end order by orders_id");
    // $csv_output ="\n";
    $csv_output = "numéro facture;date;heure;nom client;société;email;adresse1;adresse2;ville;cp;pays;type paiement;montant hors FP;frais port ttc;total facture;totalht 19.6;total tva 19.6;totalht 5.5;total tva 5.5;total exonere\n".$CSV_NEWLINE;

    while ($row_orders = mysql_fetch_array($orders)) { // start one loop
        $Orders_id = $row_orders["orders_id"];
        $Date1 = $row_orders["date_purchased"];
        // list($Date, $Time) = explode (' ',$Date1);
        $Date = date('d/m/Y', strtotime($Date1));
        $Time = date('H:i:s', strtotime($Date1));
        $Name_On_Card1 = $row_orders["customers_name"];
        $Name_On_Card = filter_text($Name_On_Card1); // order changed
        list($First_Name, $Last_Name) = explode(', ', $Name_On_Card1); // order changed
        $Company = filter_text($row_orders["customers_company"]);
        $email = filter_text($row_orders["customers_email_address"]);
        $Billing_Address_1 = filter_text($row_orders["billing_street_address"]);
        $Billing_Address_2 = "";
        $Billing_City = filter_text($row_orders["billing_city"]);
        $Billing_State = filter_text($row_orders["billing_state"]);
        $Billing_Zip = filter_text($row_orders["billing_postcode"]);
        $Billing_Country = str_replace("(48 Contiguous Sta", "", $row_orders["billing_country"]);
        $Billing_Phone = filter_text($row_orders["customers_telephone"]);
        /* $ShipTo_Name1 = $row_orders["delivery_name"];
$ShipTo_Name = filter_text($ShipTo_Name1); // order changed
list($ShipTo_First_Name,$ShipTo_Last_Name) = explode(', ',$ShipTo_Name1); // order changed
$ShipTo_Company = filter_text($row_orders["delivery_company"]);
$ShipTo_Address_1 = filter_text($row_orders["delivery_street_address"]);
$ShipTo_Address_2 = "";
$ShipTo_City = filter_text($row_orders["delivery_city"]);
$ShipTo_State = filter_text($row_orders["delivery_state"]);
$ShipTo_Zip = filter_text($row_orders["delivery_postcode"]);
$ShipTo_Country = str_replace("(48 Contiguous Sta", "", $row_orders["delivery_country"]);
$ShipTo_Phone = "";*/
        $Card_Type = $row_orders["cc_type"];
        // $Card_Number = $row_orders["cc_number"];
        // $Exp_Date = $row_orders["cc_expires"];
        // $Bank_Name = "";
        // $Gateway  = "";
        // $AVS_Code = "";
        // $Transaction_ID = "";
        // $Order_Special_Notes = "";
        // --------------------    QUERIES 1  ------------------------------------//
        // Orders_status_history for comments
/*        $orders_status_history = tep_db_query("select comments from orders_status_history
where orders_id = " . $Orders_id);
        // $row_orders_status_history = tep_db_fetch_array($comments);
        while ($row_orders_status_history = mysql_fetch_array($orders_status_history)) {
            // end //
            // $Comments = filter_text($row_orders_status_history["comments"]);
        }*/
        // --------------------    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($row_orders_subtotal["value"]);
        }
        // --------------------    QUERIES 3  ------------------------------------//
        // Orders_tax
/*        $orders_tax = tep_db_query("select value from orders_total
where class = 'ot_tax' 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($row_orders_tax["value"]);
        }*/
        // --------------------    QUERIES 4  ------------------------------------//
        // Orders_Insurance
/*        $orders_insurance = tep_db_query("select value from orders_total
where class = 'ot_insurance' and orders_id = " . $Orders_id);
        // $row_orders_insurance = tep_db_fetch_array($orders_insurance);
        while ($row_orders_insurance = mysql_fetch_array($orders_insurance)) {
            // end //
            $Order_Insurance = filter_text($row_orders_insurance["value"]);
        }
        $Tax_Exempt_Message = "";*/
        // --------------------    QUERIES 5  ------------------------------------//
        // Orders_Shipping
        $orders_shipping = tep_db_query("select title, value from orders_total
where class = 'ot_shipping' and orders_id = " . $Orders_id);
        // $row_orders_shipping = tep_db_fetch_array($orders_shipping);
        while ($row_orders_shipping = mysql_fetch_array($orders_shipping)) {
            // end //
            $Order_Shipping_Total = $row_orders_shipping["value"];
            $Shipping_Method = filter_text($row_orders_shipping["title"]); // Shipping method from query 5
        }
        // --------------------    QUERIES 6  ------------------------------------//
        // Orders_Residential Del Fee (Giftwrap)
/*        $orders_residential_fee = tep_db_query("select value from orders_total
where class = 'ot_giftwrap' and orders_id = " . $Orders_id);
        // $row_orders_residential_fee = tep_db_fetch_array($orders_residential_fee);
        while ($row_orders_residential_fee = mysql_fetch_array($orders_residential_fee)) {
            // end //
            $Small_Order_Fee = $row_orders_residential_fee["value"];
        }
        // //////////////////////////////////
        $Discount_Rate = "";
        $Discount_Message = "";
        $CODAmount = "";*/
        // --------------------    QUERIES 7  ------------------------------------//
        // Orders_Total
        $orders_total = tep_db_query("select 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"];
        }
        // --------------------    QUERIES 8  ------------------------------------//
        // Products COunt
/*        $orders_count = tep_db_query("select count(products_quantity) as o_count from orders_products
where orders_id = " . $Orders_id);
        // $row_orders_total = tep_db_fetch_array($orders_total);
        while ($row_orders_count = mysql_fetch_array($orders_count)) {
            // end //
            $Number_of_Items = $row_orders_count[0]; // used array to show the number of items ordered
        }
*/
        // csv settings
        $CSV_SEPARATOR = ";";
        $CSV_NEWLINE = "\r\n";
        $csv_output .= $Orders_id . $CSV_SEPARATOR;
        $csv_output .= $Date . $CSV_SEPARATOR;
        $csv_output .= $Time . $CSV_SEPARATOR;
        $csv_output .= $First_Name . $CSV_SEPARATOR;
//        $csv_output .= $Last_Name . $CSV_SEPARATOR;
//        $csv_output .= $Name_On_Card . $CSV_SEPARATOR;
        $csv_output .= $Company . $CSV_SEPARATOR;
        $csv_output .= $email . $CSV_SEPARATOR;
        $csv_output .= $Billing_Address_1 . $CSV_SEPARATOR;
        $csv_output .= $Billing_Address_2 . $CSV_SEPARATOR;
        $csv_output .= $Billing_City . $CSV_SEPARATOR;
//        $csv_output .= $Billing_State . $CSV_SEPARATOR;
        $csv_output .= $Billing_Zip . $CSV_SEPARATOR;
        $csv_output .= $Billing_Country . $CSV_SEPARATOR;
//        $csv_output .= $Billing_Phone . $CSV_SEPARATOR;
        $csv_output .= $Card_Type . $CSV_SEPARATOR;

        $csv_output .= tep_round($Order_Subtotal,2) . $CSV_SEPARATOR;
        // $csv_output .= $Order_Tax . $CSV_SEPARATOR;
//        $csv_output .= $Order_Insurance . $CSV_SEPARATOR;
//        $csv_output .= $Tax_Exempt_Message . $CSV_SEPARATOR;
        $csv_output .= tep_round($Order_Shipping_Total,2) . $CSV_SEPARATOR;
//        $csv_output .= $Small_Order_Fee . $CSV_SEPARATOR;
//        $csv_output .= $Discount_Rate . $CSV_SEPARATOR;
//        $csv_output .= $Discount_Message . $CSV_SEPARATOR;
//        $csv_output .= $CODAmount . $CSV_SEPARATOR;
        $csv_output .= tep_round($Order_Grand_Total,2) . $CSV_SEPARATOR;

        // --------------------    QUERIES 9  ------------------------------------//
        $orders_products = tep_db_query("select sum(products_price) as total_ht, sum(products_price*products_tax/100) 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");
        $case ="normal";
        while ($row_orders_products = mysql_fetch_array($orders_products)) {

            if ($case == "normal") {
                if (tep_round($row_orders_products['taux_tva'],2) == "19.60") {
                    $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="reduit";
                continue;
            }
            if ($case== "reduit") {
                if (tep_round($row_orders_products['taux_tva'],2) == "5.50") {
                    $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="exonere";
                continue;
            }
            if ($case== "exonere") {
                if (tep_round($row_orders_products[2],2) == "0.00") {
                    $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

    // print
    header("Content-Type: application/force-download\n");
    header("Cache-Control: cache, must-revalidate");
    header("Pragma: public");
    header("Content-Disposition: attachment; filename=ordersexports_" . date("Ymd") . ".csv");
    print $csv_output;
    exit;
} //function main
function filter_text($text)
{
    $filter_array = array(";", "\r", "\n", "\t");
    return str_replace($filter_array, "", $text);
} // function for the filter

?>


--------------------
OSC2.2 MS 2 - BTS - CCGV - Edit orders - Relais-colis TNT
Go to the top of the page
 
neolien
posté 19 Jan 2007, 10:14
Message #16


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 42
Inscrit : 29-June 06
Lieu : loire
Membre no 10964



Merci keuj, cela marche nickel ! great, great smile.gif biggrin.gif
Go to the top of the page
 
Lolo30
posté 1 Feb 2007, 23:50
Message #17


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 28-August 06
Membre no 11755



Bjr .. oui c'est vraiment super ...
une petite question .. j'ai les champs du fichier exporté pour le mode de paiement vide..
Je suis sur cybermut (paiement en cb ou chèque uniquement).. ou regarder au niveau du code pour verifier le probleme ??
Merci .
Go to the top of the page
 
nadelo
posté 7 Feb 2007, 19:39
Message #18


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 676
Inscrit : 20-June 02
Lieu : world citizen
Membre no 253



salut

rajoute 'payment_method' à la requete puis
ajoute
CITATION
$csv_output .= $Payment_method . $CSV_SEPARATOR;

après
CITATION
$csv_output .= $Billing_Country . $CSV_SEPARATOR;


et
CITATION
$Payment_method = $row_orders["payment_method"];
après
CITATION
$ShipTo_Phone = "";*/


--------------------
Ms2fr sur mesure
Go to the top of the page
 
tom555
posté 20 Mar 2007, 23:28
Message #19


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 357
Inscrit : 18-July 03
Membre no 1312



J'ai modifié cette contrib pour faire un export vers SAGE.
Mon comptable en a plein le dos d'entrer toutes les données de la compta à la main laugh.gif

Pour chaque N° de facture (contrib. blancheneige), j'ai 4 lignes générées:

Ex:
VENTE, Facture n° 45 du 11.01.2007 au client YVES TRUCBAZARD pour le montant de EUR 115,00 TTC + frais de port EUR 1,15 TTC (donc marchandise HT 100 EUR, transport HT 1 EUR et tva sur marchandise et transport 15,15 EUR, donc total à payer par le client 116.15 EUR) :

CODE
VEN;11.01.2007;;45;41000000;YVES TRUCBAZARD;;D;116,15
VEN;11.01.2007;;45;70300000;YVES TRUCBAZARD;VL4;C;100,00
VEN;11.01.2007;;45;70850000;YVES TRUCBAZARD;VL4;C;1,00
VEN;11.01.2007;;45;44511000;YVES TRUCBAZARD;VL4;C;15,15


Bon jusque là, ça va.

Mon problème est que j'ai 2 types de factures, les factures avec TVA et les factures Hors TVA, je dois les trier.
J'aimerai un coup de main sur cette requête:

CITATION
("select orders_id, date_purchased, customers_name
, cc_owner, customers_company, customers_email_address,
billing_street_address, billing_city, billing_state, billing_postcode,
billing_country, billing_tva_intracom, customers_telephone, delivery_name,
delivery_company, delivery_street_address, delivery_city, delivery_state,
delivery_postcode, delivery_country, cc_type, cc_number, cc_expires, orders_numero_facture, orders_date_facture
from orders where orders_numero_facture >= $start and orders_numero_facture <= $end order by orders_numero_facture");


Là, je trie sur les n° de facture, c'est bon.
Je dois ajouter 2 autres conditions => 'billing_tva_intracom' doit être 'NULL' ou ''billing_country doit être 'Luxembourg'
En clair, je trie par ex. de la facture 100 à 200, les factures qui apparaissent devront soit n'avoir pas de tva intracom (NULL), soit avoir luxembourg comme 'billing_country'. (ou les 2 en même temps)

J'ai bidouillé pendant 2 heures, je n'y arrive pas. evil.gif
Un âme charitable pourrait y jeter une oeil?

Merci. smile.gif


--------------------
MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
Go to the top of the page
 
farfads
posté 27 Mar 2007, 13:27
Message #20


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 276
Inscrit : 8-June 06
Lieu : la baule
Membre no 10700



J'ai reussi a faire ce que je voulais mais je souhaite y insere le libelle de la vente en reprenant la requete: products_name.

Mais comment faire pour la lancer vu qu'elle n'est pas dans orders mais dans orders_products.

Merci


--------------------
MS2fr.

2 Sec pour une grande cause: UNITAID
Merci!
Go to the top of the page
 
farfads
posté 27 Mar 2007, 15:02
Message #21


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 276
Inscrit : 8-June 06
Lieu : la baule
Membre no 10700



j'ai trouvé en jouant avec le code.

si cela interesse quelqu'un

n'oubliez pas d'inserer la requete : orders_products dans ce code:
CODE
$orders_products = tep_db_query("select ...


placer ce code ou vous souhaitez qu'il apparaisse:
CODE
$csv_output .= $products_name . $CSV_SEPARATOR;


dans mon cas après:
CODE
$csv_output .= $Billing_Country . $CSV_SEPARATOR;


ensuite,
placer ce code:
CODE
$products_name = $row_orders_products["products_name"];


apres:
CODE
while ($row_orders_products = mysql_fetch_array($orders_products)) {


si quelqu'un voit une erreur,
je suis preneur


--------------------
MS2fr.

2 Sec pour une grande cause: UNITAID
Merci!
Go to the top of the page
 
tom555
posté 27 Mar 2007, 23:14
Message #22


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 357
Inscrit : 18-July 03
Membre no 1312



Pour mon problème, j'ai finalement trouvé.
Juste un problème de NULL qui n'est pas égal à zéro, ni à l'absence de données dans le champ.
Fallait saisir à quoi correspondait la valeur NULL
blush.gif


--------------------
MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
Go to the top of the page
 
aurelienp59
posté 11 Jun 2007, 09:52
Message #23


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 3
Inscrit : 11-June 07
Membre no 17785



ça fonctionne avec Ciel Gestion Commerciale Evolution 2007 (version 6.30 reseau)?
Go to the top of the page
 
schwarzyz
posté 20 Nov 2007, 10:01
Message #24


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 22
Inscrit : 5-October 07
Lieu : FRANCE
Membre no 19293



Salut à tous,

tom555 ou farfads: L'un de vous peut il poster son code car je n'arrive pas à générer plusieur ligne pour l'export en compta.

Merci d'avance.

Ce message a été modifié par schwarzyz - 20 Nov 2007, 10:27.
Go to the top of the page
 
tom555
posté 23 Nov 2007, 20:08
Message #25


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 357
Inscrit : 18-July 03
Membre no 1312



Pour générer plusieurs ligne, il suffit de répéter les lignes du csv output.
Mon code est tellement spécifique qu'il ne te servira à rien, mais je vais te mettre la partie en question:

CITATION
// csv settings
$CSV_SEPARATOR = ",";
$CSV_NEWLINE = "\r\n";
$csv_output .= $journal_vente . ";" ; <= début 1ère ligne
$csv_output .= $Date . ";" ;
$csv_output .= $compte_general5 . ";" ;
$csv_output .= $orders_numero_facture . ";" ;
$csv_output .= $compte_general1 . ";" ;
$csv_output .= $vide . ";" ;
$csv_output .= $Name_On_Card2 . ";" ;
$csv_output .= $customers_id . "_" . $First_Name . ";" ;
$csv_output .= $compte_general5 . ";" ;
$csv_output .= $c . ";" ;
$csv_output .= $Order_Grand_Total;
//$csv_output .= $Order_Tax . ";" ; <= ne doit pas apparaitre dans ma 1ère ligne, je le commente
//$csv_output .= $Order_Shipping_Total . ";" ; <= ne doit pas apparaitre dans ma 1ère ligne, je le commente
$csv_output .= "\n"; <= retour à la ligne
$csv_output .= $journal_vente . ";" ; <= début 2ème ligne
$csv_output .= $Date . ";" ;
$csv_output .= $compte_general5 . ";" ;
$csv_output .= $orders_numero_facture . ";" ;
$csv_output .= $compte_general2 . ";" ;
$csv_output .= $vide . ";" ;
$csv_output .= $customers_id . "_" . $First_Name . ";" ;
$csv_output .= $vl4 . ";" ;
$csv_output .= $b . ";" ;
$csv_output .= $Order_Subtotal;
//$csv_output .= $Order_Tax . ";" ;
//$csv_output .= $Order_Shipping_Total . ";" ;
$csv_output .= "\n"; <= retour à la ligne
$csv_output .= $journal_vente . ";" ; <= début 3ème ligne
$csv_output .= $Date . ";" ;
$csv_output .= $compte_general5 . ";" ;
$csv_output .= $orders_numero_facture . ";" ;
$csv_output .= $compte_general3 . ";" ;
$csv_output .= $vide . ";" ;
$csv_output .= $customers_id . "_" . $First_Name . ";" ;
$csv_output .= $vl4 . ";" ;
$csv_output .= $b . ";" ;
//$csv_output .= $order_total_htva . ";" ;
//$csv_output .= $Order_Tax . ";" ;
$csv_output .= $Order_Shipping_Total;
$csv_output .= "\n"; <= retour à la ligne
$csv_output .= $journal_vente . ";" ; <= début 4ème ligne
$csv_output .= $Date . ";" ;
$csv_output .= $compte_general5 . ";" ;
$csv_output .= $orders_numero_facture . ";" ;
$csv_output .= $compte_general4 . ";" ;
$csv_output .= $vide . ";" ;
$csv_output .= $customers_id . "_" . $First_Name . ";" ;
$csv_output .= $vl4 . ";" ;
$csv_output .= $b . ";" ;
//$csv_output .= $Order_Subtotal . ";" ;
$csv_output .= $Order_Tax;
//$csv_output .= $Order_Shipping_Total . ";" ;
$csv_output .= "\n"; <= retour à la ligne
} // while loop main first <= Retour en haut, commande suivante

Donc, tu dupliques le code 3 fois, par ex. pour l'avoir sur 3 lignes. Un retour à la ligne entre chaque partie du code dupliqué.
Puis tu commentes (//) les champs que tu ne veux pas voir apparaitre.

Voilà, j'espère t'avoir éclairé un peu.

Ce message a été modifié par tom555 - 23 Nov 2007, 20:43.


--------------------
MS2 - tva intracommunautaire - n° facture séquentiel (merci blanche neige!) - ticket support - programme d'affiliation - Ultimate SEO - header tag- discountplus.
Go to the top of the page
 

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 14:58
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)