Aucun produit valide à la création de commande

9 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour

y'a un truc que j'arrive pas à comprendre...

régulièrement, quand je veux créer un devis (donc création manuelle d'une commande dans le back office), je rentre tout ce qu'il faut (coordonnées), les produits que j'ajoutte un par un (ça me met en vert "produit ajoutté"), et quand je clique sur "créer une commande", ça m'indique en haut en rouge "attention ! aucun produit valide n'est selectionné"

des fois faut que je renouvelle 10 fois la manip pour arriver à créer cette satané commande !!!

avec vous une idée de quoi ça pourrait venir ?

merci pour l'info

cordialement

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

UP

Je viens d'essayer sur le site de demo, et y'a le même problème...

Je m'explique...

Je clique sur >création de commandes

Je rentre un nom, prénom, paiement par chèque

En bas, dans la recherche rapide, je rentre dou, je clique sur le choix doudounedemo à 259€ TTC...

ça m'écrit en vert en bas que le produit a été ajoutté

et maintenant, si je clique sur "créer une commande", ça efface tout et ça m'écrit en rouge en haut "Attention, aucun produit valide n'est selectionné."

Que faire ?

Je constate en plus que le prix TTC de la doudoune ne s'affiche pas dans le tableau...

Help !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Gilles

avez vous modifié quelque chose sur votre site de démo ? j'arrive aujourd'hui à créer une commande depuis le back office alors que je n'y arrive toujours pas chez moi ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

La version sur premium.peel.fr est la 6.1 sans aucune modification d'aucune sorte. Nous n'avons rien touché.

Apparemment il y a bien un problème, mais qui ne se déclenche que dans certains cas. Une personne chez nous investigue le sujet.

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Carcy,

Le problème se situe dans le fichier commander.php, ligne 461 à 464. Il faut remplacer

	// Prix tout taxe avant remise = prix remisé + remise
$price_ttc_avant_remise = $line_data['purchase_prix'] + $line_data['remise'];
// On détermine le montant de la remise fixe en euro($remise_fixed). Pour cela on déduit le montant de la remise % du montant de la remise globale
$remise_fixed = $line_data['remise'] - ($price_ttc_avant_remise * $line_data['percent'] / 100);[/code] Par
[code] // Si nous sommes en mode édition de la commande et nous souhaitons réafficher les données sur les produits
if(is_numeric($line_data['purchase_prix'])) {
// Prix tout taxe avant remise = prix remisé + remise
$line_data['purchase_prix'] = $line_data['purchase_prix'] + $line_data['remise'];
// On détermine le montant de la remise fixe en euro($remise_fixed). Pour cela on déduit le montant de la remise % du montant de la remise globale
$line_data['remise'] = $line_data['remise'] - ($line_data['purchase_prix'] * $line_data['percent'] / 100);
}

La modification consiste donc à ajouter le test if(is_numeric($line_data['purchase_prix'])) { ... }

pour permettre de ne pas exécuter de traitement sur la valeur de $line_data['purchase_prix'] si celle ci est une chaine de caractère du type [purchase_prix] qui sert ensuite pour le javascript.

Cette correction sera inclue dans la prochaine version.

Simon.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Simon

bon bein j'ai appliqué les modifs que vous suggérez... mais ça apporte un problème... J'ai des messages d'erreurs sur la page "création de commandes" maintenant :

JUSTE AVANT LE BOUTON "CREER UNE COMMANDE :"

Notice: Undefined variable: price_ttc_avant_remise in /homepages/5/d334204221/htdocs/carcyregulator/commander.php on line 485

Notice: Undefined variable: remise_fixed in /homepages/5/d334204221/htdocs/carcyregulator/commander.php on line 486

Je suis donc repassé en version d'origine et j'ai essayé plus loin mes tests...

Je rentre un nom du cilent, puis un article. Le produit est marqué comme ajoutté, mais aucun prix ne figure dans la colonne prix TTC avant remise. avant de "créer la commande", je me dis "tiens, je vais rajoutter un prix dans cette colonne". Je rajoutte par exemple 10€ et je valide la commande.

Là y'a du mieux, parce que elle semble se valider, mais aors j'ai un très long message d'erreur :

[admin info : Une erreur de connexion à la base s'est produite INSERT INTO peel_commandes

SET email = ''

, o_timestamp = '2011-05-07 10:53:52'

, a_timestamp = '2011-05-07 10:53:52'

, commentaires = ''

, montant = '10'

, montant_ht = '8.3612040133779'

, total_option = ''

, total_option_ht = ''

, tva_total_option = ''

, total_produit = '10'

, total_produit_ht = '8.3612040133779'

, tva_total_produit = '1.6387959866221'

, code_promo = ''

, code_cheque = ''

, code_bon = ''

, numero = '[id]'

, percent_remise_user = ''

, percent_code_promo = ''

, valeur_code_promo = ''

, valeur_cheque_cadeau = ''

, total_remise = '0'

, total_remise_ht = '0'

, tva_total_remise = '0'

, total_tva = '1.6387959866221'

, transport = ''

, cout_transport = '0'

, cout_transport_ht = '0'

, tva_cout_transport = '0'

, lang = 'fr'

, total_points = ''

, points_etat = '0'

, total_poids = '0'

, affilie = ''

, montant_affilie = ''

, statut_affilie = ''

, id_affilie = ''

, total_ecotaxe_ttc = '0'

, total_ecotaxe_ht = '0'

, tva_total_ecotaxe = ''

, avoir = ''

, paiement = '0'

, tarif_paiement = ''

, tarif_paiement_ht = ''

, tva_tarif_paiement = ''

, prenom_bill = ''

, nom_bill = 'carceller'

, societe_bill = ''

, adresse_bill = ''

, zip_bill = ''

, ville_bill = ''

, pays_bill = 'France'

, email_bill = ''

, telephone_bill = ''

, prenom_ship = ''

, nom_ship = 'carceller'

, societe_ship = ''

, adresse_ship = ''

, zip_ship = ''

, ville_ship = ''

, pays_ship = 'France'

, email_ship = ''

, telephone_ship = ''

, id_parrain = '0'

, parrain = ''

, currency_rate = '1.00000'

, id_statut_paiement = '1'

, id_statut_livraison = '1'

, zone_tva = '1'

, zone_franco = '0'

, small_order_overcost_amount = '0'

, tva_small_order_overcost = '0'

, pays = 'France'

, zone = '1'

, type = ''

, id_ecom = '1'

, delivery_orderid = '990a26827995e8c1'

, moneybookers_payment_methods = ''

, delivery_infos = ''

, delivery_locationid = '', id_utilisateur = '8'

, code_facture = 'f4p7mSNQ3Z']

Unknown column 'delivery_locationid' in 'field list'

Notice: Erreur SQL - INSERT INTO peel_commandes SET email = '' , o_timestamp = '2011-05-07 10:53:52' , a_timestamp = '2011-05-07 10:53:52' , commentaires = '' , montant = '10' , montant_ht = '8.3612040133779' , total_option = '' , total_option_ht = '' , tva_total_option = '' , total_produit = '10' , total_produit_ht = '8.3612040133779' , tva_total_produit = '1.6387959866221' , code_promo = '' , code_cheque = '' , code_bon = '' , numero = '[id]' , percent_remise_user = '' , percent_code_promo = '' , valeur_code_promo = '' , valeur_cheque_cadeau = '' , total_remise = '0' , total_remise_ht = '0' , tva_total_remise = '0' , total_tva = '1.6387959866221' , transport = '' , cout_transport = '0' , cout_transport_ht = '0' , tva_cout_transport = '0' , lang = 'fr' , total_points = '' , points_etat = '0' , total_poids = '0' , affilie = '' , montant_affilie = '' , statut_affilie = '' , id_affilie = '' , total_ecotaxe_ttc = '0' , total_ecotaxe_ht = '0' in /homepages/5/d334204221/htdocs/lib/fonctions/database.php on line 61

Donc 2 choses...

D'abord, il semblerait que quand on migre d'une version 6.04 à 6.1, on n'ait pas dans la BDD le 'delivery_locationid'... D'ailleurs, je ne l'ai pas dans ma BDD après vérif... il faut donc la créer (là je sais pas comment faire, je suis trop novice...).

Ensuite, peel n'affiche pas le prix du produit que l'on rajoutteà la création backoffice d'une commande, et si on valide cette commande, on a le message d'erreur "aucun produit valide", donc c'est comme si la commande était vide pour lui...

que faire ?

merci pour votre aide

cordialement

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Jean-Luc,

- Concernant le champ manquant, vous avez raison, et j'ai donc rajouté dans le tutoriel de migration :

ALTER TABLE `peel_commandes` ADD `delivery_locationid` varchar(64) NOT NULL DEFAULT '' AFTER `delivery_tracking`;

- Je laisse Simon vous répondre sur l'autre point

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Carcy,

je vous propose de remplacer le code de la fonction get_order_line() par le code ci-dessous :

/**
* Crée ou modifie en base de données une commande et les produits commandés qui y sont associés
*
* @param array $line_data
* @param string $color_options_html
* @param string $size_options_html
* @param integer $i
* @return
*/
function get_order_line($line_data, $color_options_html, $size_options_html, $tva_options_html, $i)
{
if (empty($size_options_html)) {
$size_options_html = '<option value="">-</option>';
}
if (empty($color_options_html)) {
$color_options_html = '<option value="">-</option>';
}
if (empty($tva_options_html)) {
$tva_options_html = '<option value="">-</option>';
}

// Si nous sommes en mode edition de la commande et nous souhaitons réafficher les données sur les produits
if(is_numeric($line_data['purchase_prix'])){
// Prix tout taxe avant remise = prix remisé + remise
$line_data['purchase_prix'] = $line_data['purchase_prix'] + $line_data['remise'];
// On détermine le montant de la remise fixe en euro($remise_fixed). Pour cela on déduit le montant de la remise % du montant de la remise globale
$line_data['remise'] = $line_data['remise'] - ($line_data['purchase_prix'] * $line_data['percent'] / 100);
}

$output = '
<table cellpadding="3" cellspacing="0" border="0" width="100%" id="line' . $i . '">
<tr style="vertical-align:top">
<td width="30"><img src="' . $GLOBALS['administrer_url'] . '/images/b_drop.png" alt="drop" onclick="if(confirm(\'Êtes-vous sûr de vouloir supprimer ce produit de la commande ?\nCette suppression sera définitive après sauvegarde des changements en bas de page.\')){delete_order_line(' . $i . ');} return false;" title="' . String::str_form_value('Supprimer cette ligne') . '" style="cursor:pointer" /></td>
<td width="40">
<input name="id' . $i . '" style="width:100%" type="text" value="' . String::str_form_value(vb($line_data['id'])) . '" />
</td>
<td width="65">
<input id="ref' . $i . '" name="ref' . $i . '" style="width:100%" type="text" value="' . String::str_form_value(vb($line_data['ref'])) . '" />
</td>
<td>
<input type="text" id="l' . $i . '" name="l' . $i . '" style="width:100%" value="' . String::str_form_value($line_data['nom']) . '" />
</td>
<td width="70" id="s' . $i . '" class="center"><select style="width:70px" name="size_' . $i . '">' . $size_options_html . '</select></td>
<td width="70" id="c' . $i . '" class="center"><select style="width:70px" name="color_' . $i . '">' . $color_options_html . '</select></td>
<td width="40"><input type="text" name="q' . $i . '" style="width:100%" value="' . String::str_form_value($line_data['quantite']) . '" id="q' . $i . '" /></td>
<td width="70"><input type="text" name="p' . $i . '" style="width:100%" value="' . String::str_form_value($line_data['purchase_prix']) . '" id="p' . $i . '" /></td>
<td width="70"><input type="text" name="remis' . $i . '" style="width:100%" value="' . String::str_form_value($line_data['remise']) . '" id="remis' . $i . '" /></td>
<td width="50"><input type="text" name="perc' . $i . '" style="width:100%" value="' . String::str_form_value($line_data['percent']) . '" id="percent' . $i . '" /></td>
<td width="60" id="t' . $i . '">
<select name="t' . $i . '">' . $tva_options_html . '</select>
</td>
</tr>
</table>
';

return $output;
}[/code]

Cela va résoudre les messages d'erreurs lors de la création d'une commande, et les champs vides lors de l'édition de celle-ci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Simon

c'est fait

pour ce que j'en ai testé pour l'instant.............

ça maaaaaaaaaaaaarche !!!!!

quand on choisit un produit, il met maintenant bien le tarif dans la case

quand on valide la commande, il la créé sans mettre un seul message d'erreur !

tout est ok dans la Base !!

nickel !!

vraiment je vous remercie du fond du coeur !

ça évite de se heurter au mess d'erreur si jamais on avait oublié de rentrer un prix pour le produit ajoutté dans la liste !!

merci merci merci !!

cordialement

Jean-Luc

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