Option "calcul des marges" dans le back office

5 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour à tous.

J'ai peel 5,2 et j'ai soumis ce bug chez peel par mail mais personne n'a encore répondu.

Je poste donc ici.

C'est un problème que je n'arrive pas à résoudre.

Peut être l'avez vous déjà rencontré et donc vous pourrez probablement m'aider.

Cela concerne l'option "calcul des marges" dans l'onglet "comptabilité" dans le back office.

Par exemple vous demandez l'affichage des ventes réglées entre 2 dates.

Toutes les commandes passées par les internautes auront le champ "prix d'achat unitaire H.T." vide, seules les commandes passées via le processus proforma par l'administrateur auront ce champ renseigné.

Dans ce cas, ce module n'est pas fonctionnel. Avez vous une idée de ce qu'il faudrait corriger et où ?

Merci pour votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Allez, Messieurs, Dames de chez Peel, s'il vous plait, vous avez surement un petit correctif ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Mr Ruault ? Je peux solliciter votre aide sur ce coup ? ou quelqu'un de votre équipe.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Mr Ruault ? Je peux solliciter votre aide sur ce coup ? ou quelqu'un de votre équipe.

Essayez ça

<?php


include("../configuration.inc.php");

necessite_identification();

necessite_priv("admin");



$DOC_TITLE = "Calcul des marges / Statut de paiement";


include("modeles/haut.php");




$nowDay = date("d");

$nowMonth = date("m");

$nowYear = date("Y");


if ($nowMonth=="1") $nowMonth = "Janvier";

if ($nowMonth=="2") $nowMonth = "F&eacute;vrier";

if ($nowMonth=="3") $nowMonth = "Mars";

if ($nowMonth=="4") $nowMonth = "Avril";

if ($nowMonth=="5") $nowMonth = "Mai";

if ($nowMonth=="6") $nowMonth = "Juin";

if ($nowMonth=="7") $nowMonth = "Juillet";

if ($nowMonth=="8") $nowMonth = "Ao&ucirc;t";

if ($nowMonth=="9") $nowMonth = "Septembre";

if ($nowMonth=="10") $nowMonth= "Octobre";

if ($nowMonth=="11") $nowMonth= "Novembre";

if ($nowMonth=="12") $nowMonth= "D&eacute;cembre";


if(isset($_GET['mois1']) and $_GET['mois1'] =="Janvier") $_GET['mois1']=1;

if(isset($_GET['mois1']) and $_GET['mois1'] =="F&eacute;vrier") $_GET['mois1']=2;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Mars") $_GET['mois1']=3;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Avril") $_GET['mois1']=4;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Mai") $_GET['mois1']=5;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Juin") $_GET['mois1']=6;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Juillet") $_GET['mois1']=7;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Ao&ucirc;t") $_GET['mois1']=8;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Septembre") $_GET['mois1']=9;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Octobre") $_GET['mois1']=10;

if(isset($_GET['mois1']) and $_GET['mois1'] =="Novembre") $_GET['mois1']=11;

if(isset($_GET['mois1']) and $_GET['mois1'] =="D&eacute;cembre") $_GET['mois1']=12;


if(isset($_GET['mois2']) and $_GET['mois2'] =="Janvier") $_GET['mois2']=1;

if(isset($_GET['mois2']) and $_GET['mois2'] =="F&eacute;vrier") $_GET['mois2']=2;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Mars") $_GET['mois2']=3;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Avril") $_GET['mois2']=4;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Mai") $_GET['mois2']=5;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Juin") $_GET['mois2']=6;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Juillet") $_GET['mois2']=7;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Ao&ucirc;t") $_GET['mois2']=8;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Septembre") $_GET['mois2']=9;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Octobre") $_GET['mois2']=10;

if(isset($_GET['mois2']) and $_GET['mois2'] =="Novembre") $_GET['mois2']=11;

if(isset($_GET['mois2']) and $_GET['mois2'] =="D&eacute;cembre") $_GET['mois2']=12;



$days1 = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");

$months1 = array("1"=>"Janvier","2"=>"F&eacute;vrier","3"=>"Mars","4"=>"Avril","5"=>"Mai","6"=>"Juin","7"=>"Juillet","8"=>"Ao&ucirc;t","9"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"D&eacute;cembre");

$years1 = array("2005","2006","2007","2008","2009","2010");


	  echo "<table width=\"100%\" align=\"center\" border=\"0\" class=\"tablespace\">";

	  echo "<tr><td class=\"entete\" align=\"center\" colspan=\"2\">Calcul des marges / STATUT DE PAIEMENT</td></tr>";

	  echo "<tr><td class=\"label\" align=\"center\" colspan=\"2\">Aujourd'hui : ".date("d M Y")."</td></tr>";

	  echo "<form method=\"GET\" action=\"".$_SERVER['PHP_SELF']."\">";

	  echo "<tr>";

	  echo "<td class=\"label\">";

	  echo "<b>DU</b>: ";


//AFFICHE LES JOURS 1

echo "<select name=\"jour1\" class=\"formulaire1\">";

for ($c=0; $c<= count($days1)-1; $c++)

{

$a=$c+1;

if(isset($_GET['jour1'])) {

   if($days1[$c]== $_GET['jour1']) $sel1 = "selected"; else $sel1="";

}

else {

   if($days1[$c]==$nowDay) $sel1 = "selected"; else $sel1="";

}

echo "<option value=$a $sel1>$days1[$c]</option>";

}

echo "</select>";



// AFFICHE LA LISTE DES MOIS 1

echo "<select name=\"mois1\" class=\"formulaire1\">";

$keys = array_keys($months1);

for ($x1=1; $x1 <= count($months1); $x1++)

{

$p=$x1-1;

if(isset($_GET['mois1'])) {

   if($keys[$p]== $_GET['mois1']) $sel2 = "selected"; else $sel2="";

}

else {

   if($months1[$x1]==$nowMonth) $sel2 = "selected"; else $sel2="";

}

echo "<option value=".$keys[$p]." $sel2>$months1[$x1]</option>";

}

echo "</select>";



// AFFICHE LA LISTE DES ANN&eacute;ES 1

echo "<select name=\"an1\" class=\"formulaire1\">";

for ($x3=0; $x3 <= count($years1)-1; $x3++)

{

if(isset($_GET['an1'])) {

   if($years1[$x3]== $_GET['an1']) $sel3 = "selected"; else $sel3="";

}

else {

   if($years1[$x3]==$nowYear) $sel3 = "selected"; else $sel3="";

}

echo "<option value=$years1[$x3] $sel3>$years1[$x3]</option>";

}

echo "</select>";

	  echo "</td>";

	  echo "<td class=\"label\">";

	  echo "<b>AU</b>: ";



//AFFICHE LES JOURS 2

echo "<select name=\"jour2\" class=\"formulaire1\">";

for ($c=0; $c<= count($days1)-1; $c++)

{

$a=$c+1;

if(isset($_GET['jour2'])) {

   if($days1[$c]== $_GET['jour2']) $sel1 = "selected"; else $sel1="";

}

else {

   if($days1[$c]==$nowDay) $sel1 = "selected"; else $sel1="";

}

echo "<option value=$a $sel1>$days1[$c]</option>";

}

echo "</select>";



// AFFICHE LA LISTE DES MOIS 2

echo "<select name=\"mois2\" class=\"formulaire1\">";

$keys = array_keys($months1);

for ($x=1; $x <= count($months1); $x++)

{

$p=$x-1;

if(isset($_GET['mois2'])) {

   if($keys[$p]== $_GET['mois2']) $sel2 = "selected"; else $sel2="";

}

else {

   if($months1[$x]==$nowMonth) $sel2 = "selected"; else $sel2="";

}

echo "<option value=$keys[$p] $sel2>$months1[$x]</option>";

}

echo "</select>";



// AFFICHE LA LISTE DES ANN&eacute;ES 2

echo "<select name=\"an2\" class=\"formulaire1\">";

for ($x=0; $x <= count($years1)-1; $x++)

{

if(isset($_GET['an2'])) {

   if($years1[$x]== $_GET['an2']) $sel3 = "selected"; else $sel3="";

}

else {

$n=$x3+1;

   if($years1[$x]==$nowYear) $sel3 = "selected"; else $sel3="";

}

echo "<option $sel3>$years1[$x]</option>";

}

echo "</select>";


echo "</td>";

echo "</tr>";

		 echo "<tr>";

		 echo "<td colspan=\"2\" align=\"center\" class=\"label\">";


// AFFICHE LE STATUT CHOISI

		echo "Statut de la commande :";


		echo "<select name=\"statut\" class=\"formulaire1\">";	


		echo "<option value=\"100\"";


		if (vb($_GET['statut']) == 100) { echo " selected";}


		echo ">Toutes les commandes</option>";


		$sql_statut = "SELECT id, nom_".$_SESSION['langue']." FROM peel_statut_paiement ORDER BY position";


		$res_statut = mysql_query($sql_statut);


		while ($s = mysql_fetch_array($res_statut)) {


		echo "<option value=\"".$s['id']."\"";


		if ($s['id'] == vb($_GET['statut'])) { echo " selected";}


		echo  ">".html_entity_decode($s['nom_'.$_SESSION['langue'].''])."</option>";


		} 


		echo "</select>";

		 echo "</td>";

		 echo "</tr>";

		 echo "<tr>";

		 echo "<td colspan=\"2\" align=\"center\">";

		 echo "<input type=\"submit\" name=\"Submit\" value=\"CALCULER\" class=\"bouton\">";

		 echo "</td>";

		 echo "</tr>";

		 echo "</form>";

		 echo "</table>";


///////////////////////////////////

///////////// PROCESS /////////////

///////////////////////////////////


if(isset($_GET['jour1']) or isset($dateAdded1)) {


	$control1 = checkdate($_GET['mois1'],$_GET['jour1'],$_GET['an1']);

	$control2 = checkdate($_GET['mois2'],$_GET['jour2'],$_GET['an2']);


if($control1 == true and $control2 == true) {


   $control11 = mktime(0,0,0,$_GET['mois1'],$_GET['jour1'],$_GET['an1']);

   $control21 = mktime(0,0,0,$_GET['mois2'],$_GET['jour2'],$_GET['an2']);


   if($control21 >= $control11) {


   $dateAdded1 = "".$_GET['an1']."-".$_GET['mois1']."-".$_GET['jour1']." 00:00:00";

   $dateAdded2 = "".$_GET['an2']."-".$_GET['mois2']."-".$_GET['jour2']." 00:00:00";


	if ($_GET['statut'] != 100) {


   $sql = "SELECT c.id, c.o_timestamp, ca.nom_produit, ca.prix_ht, ca.prix_achat_ht, ca.quantite, ca.produit_id FROM peel_commandes c LEFT JOIN peel_commandes_articles ca ON (c.id = ca.commande_id) WHERE c.id_ecom = '".intval($_SESSION['ecom']['id'])."' AND TO_DAYS(c.o_timestamp) >= TO_DAYS('".$dateAdded1."') AND TO_DAYS(c.o_timestamp) <= TO_DAYS('".$dateAdded2."') AND c.id_statut_paiement = '".intval($_GET['statut'])."' ORDER BY c.o_timestamp";


	} else {


   $sql = "SELECT c.id, c.o_timestamp, ca.nom_produit, ca.prix_ht, ca.prix_achat_ht, ca.quantite, ca.produit_id FROM peel_commandes c LEFT JOIN peel_commandes_articles ca ON (c.id = ca.commande_id) WHERE c.id_ecom = '".intval($_SESSION['ecom']['id'])."' AND TO_DAYS(c.o_timestamp) >= TO_DAYS('".$dateAdded1."') AND TO_DAYS(c.o_timestamp) <= TO_DAYS('".$dateAdded2."') ORDER BY c.o_timestamp";


   }			


  $query = mysql_query($sql);


   $resultNum = mysql_num_rows($query);


   if($resultNum > 0) {

   echo "<p align=\"center\" class=\"label\">P&eacute;riode du ".$_GET['jour1']."-".$_GET['mois1']."-".$_GET['an1']." au ".$_GET['jour2']."-".$_GET['mois2']."-".$_GET['an2']."</p>";


				echo "<table align=\"center\" border=\"0\" width=\"100%\" class=\"tablespace\">";

				echo "<tr>";

				echo "<td align=\"center\" class=\"menu\"><b>Date</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Commande</b></td>";

		   		echo "<td align=\"center\" class=\"menu\"><b>Produit</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Prix de vente unitaire H.T.</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Prix d'achat unitaire H.T.</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Qté vendue</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Marge brute</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Taux de marge</b></td>";

				echo "<td align=\"center\" class=\"menu\"><b>Coefficient de marge</b></td>";

				echo "</tr>";


   $super_total =  $super_total_achat = 0;


   while($result = mysql_fetch_array($query)) {


   $total_prix = $result['prix_ht'] * $result['quantite'];


   if ($result['prix_achat_ht'] > 0) {


   $prix_achat_ht = $result['prix_achat_ht'];


   $total_prix_achat_ht = $result['prix_achat_ht']  * $result['quantite'];


   $super_total += $total_prix;


   $super_total_achat += $total_prix_achat_ht;


   $marge_brute = $total_prix -$total_prix_achat_ht;


   $marge_brute = fprix($marge_brute); 


   $taux_de_marge = ( $marge_brute * 100) / $total_prix;


   $taux_de_marge = fprix($taux_de_marge);


   $coeff = $result['prix_ht'] / $result['prix_achat_ht'];


   $coeff = fprix($coeff);


   } else {


   $p = mysql_fetch_array(mysql_query("SELECT prix_achat / (1+tva/100) as prix_achat_ht FROM peel_produits WHERE id = '".$result['produit_id']."'"));


	 $prix_achat_ht = $p['prix_achat_ht'];


   if ($p['prix_achat_ht'] > 0) {


   $total_prix_achat_ht = $p['prix_achat_ht']  * $result['quantite'];


   $super_total += $total_prix;


   $super_total_achat += $total_prix_achat_ht;


   $marge_brute = $total_prix -$total_prix_achat_ht;


   $marge_brute = fprix($marge_brute); 


   $taux_de_marge = ( $marge_brute * 100) / $total_prix;


   $taux_de_marge = fprix($taux_de_marge);


   $coeff = $result['prix_ht'] / $p['prix_achat_ht'];


   $coeff = fprix($coeff);



   } else {


   $prix_achat_ht = "n.d";


   $total_prix_achat_ht = "n.d";


   $marge_brute = "n.d";


   $taux_de_marge = "n.d";


   $coeff = "n.d";


   }


   }


		if($c=="#E8E8E8") {$c="#F6F6EB";} else {$c="#E8E8E8";}


		echo "<tr bgcolor=\"".$c."\">";


		echo "<td class=\"normal\">".date("d-m-Y",strtotime($result['o_timestamp']))."</td>";


		echo "<td class=\"normal\" align=\"center\">".$result['id']." / <a href=$wwwroot/administrer/commandes.php?id=".$result['id']."&mode=details>Voir</a></td>";


		echo "<td class=\"normal\" align=\"center\">".html_entity_decode($result['nom_produit'])."</td>";


		echo "<td class=\"normal\" align=\"center\">".fprix($result['prix_ht'])." &euro;</td>";


		echo "<td class=\"normal\" align=\"center\">".fprix($prix_achat_ht)." &euro;</td>";


		echo "<td class=\"normal\"  align=\"center\">".$result['quantite']."</td>";


		echo "<td class=\"normal\">".$marge_brute." &euro;</td>";


		echo "<td class=\"normal\">".$taux_de_marge." %</td>";


		echo "<td class=\"normal\">".$coeff."</td>";


		echo "</tr>";


		 }


		   $marge_brute =  $super_total -  $super_total_achat;


		   $taux_de_marge = ($super_total > 0) ? ( $marge_brute * 100) / $super_total : "n.d";


		 echo "<tr>";	  


		 echo "<td colspan=\"9\" class=\"label\" align=\"center\"><font size=\"+1\" color=\"green\">Marge brute sur la période :";


		 echo "".fprix($marge_brute)." &euro;</font></td>";


		 echo "</tr>";	


		 echo "<tr>";	  


		 echo "<td colspan=\"9\" class=\"label\" align=\"center\"><font size=\"+1\" color=\"green\">Taux de marge sur la période : ";


		 echo "".fprix($taux_de_marge)." %</font></td>";


		 echo "</tr>";	


		 echo "</table>";


		 if (!empty($_GET['statut'])) {


		 $sRequete = "SELECT id, nom_".$_SESSION['langue']." FROM peel_statut_paiement WHERE id = '".$_GET['statut']."'";


		 $sQuery = mysql_query($sRequete);


		 $sObjet = mysql_fetch_array($sQuery);


		 echo "<p align=\"center\" class=\"label\"><font size=\"+1\" color=\"green\">Statut demand&eacute; : ". $sObjet['nom_'.$_SESSION['langue'].'']."</font></p>";


		 } 


		 echo "<p align=\"center\" class=\"label\"><font size=\"+1\" color=\"green\">Panier moyen H.T. sur la période : ";


		 if ($_GET['statut'] != 100) {


		   $sqlAv = "SELECT AVG(montant_ht) as panier_moyen_ht FROM peel_commandes WHERE id_ecom = '".intval($_SESSION['ecom']['id'])."' AND TO_DAYS(o_timestamp) >= TO_DAYS('".$dateAdded1."') AND TO_DAYS(o_timestamp) <= TO_DAYS('".$dateAdded2."') AND id_statut_paiement = '".intval($_GET['statut'])."' ORDER BY o_timestamp";


		} else {


			$sqlAv = "SELECT AVG(montant_ht) as panier_moyen_ht FROM peel_commandes WHERE id_ecom = '".intval($_SESSION['ecom']['id'])."' AND TO_DAYS(o_timestamp) >= TO_DAYS('".$dateAdded1."') AND TO_DAYS(o_timestamp) <= TO_DAYS('".$dateAdded2."') ORDER BY o_timestamp";


		}		


		$queryAv = mysql_query($sqlAv);


		$Av = mysql_fetch_array($queryAv);


		 echo fprix($Av['panier_moyen_ht'])." &euro;</font></p>";



}

else {

	  echo "<p align=\"center\" class=\"label\">";

	  echo "DU : ".$_GET['jour1']."-".$_GET['mois1']."-".$_GET['an1']."";

	  echo "&nbsp;";

	  echo "AU : ".$_GET['jour2']."-".$_GET['mois2']."-".$_GET['an2']."";

	  echo "</p>";

	  echo "<div align=\"center\" class=\"normal\">Aucune commande pour cette p&eacute;riode pour le statut demand&eacute;.</div>";

}


}

else {

	  echo "<p align=\"center\" class=\"label\">";

	  echo "DU : ".$_GET['jour1']."-".$_GET['mois1']."-".$_GET['an1']."";

	  echo "&nbsp;";

	  echo "AU : ".$_GET['jour2']."-".$_GET['mois2']."-".$_GET['an2']."";

	  echo "</p>";

	  echo "<div align=\"center\" class=\"normal\">Date1 sup&eacute;rieure ou &eacute;gale &agrave; date2, recommencer.</div>";

}

}else {

	  echo "<p align=\"center\" class=\"label\">";

	  echo "DU : ".$_GET['jour1']."-".$_GET['mois1']."-".$_GET['an1']."";

	  echo "&nbsp;";

	  echo "AU : ".$_GET['jour2']."-".$_GET['mois2']."-".$_GET['an2']."";

	  echo "</p>";

	  echo "<div align=\"center\" class=\"normal\">Date non valide, recommencer.</div>";

}

}



include("modeles/bas.php");


?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci Mr Ruault, ça a l'air de fonctionner.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping