Jump to content

hermes1383

Members
  • Posts

    75
  • Joined

  • Last visited

About hermes1383

  • Birthday 10/16/1970

Contact Methods

Profile Information

  • Location
    Marseille
  • Activity
    User/Merchant

hermes1383's Achievements

Newbie

Newbie (1/14)

0

Reputation

1

Community Answers

  1. Bonjour à tous, Je me retrouve avec le même problème sur la page d'accès au BO et à la création d'un nouveau client... Je n'ai pas réussi à trouver quoique ce soit avec firebug, je suis perdu. www.basketavenue.fr Une âme charitable serait elle d'accord de jeter un oeil ? j'enverrai les accès par mp. Merci pour votre aide.
  2. Bonjour, Après une dure journée de labeur (parce que je ne connaissais pas PHP !) j'ai créé un script que j'appelle toutes les minutes avec une tache Cron. Ce script me permet d'effacer ma ligne 1119 en trop (créée par chaque nouvelle facture) pour ceux qui tournent en PS 1.5.6.2 et donc de pouvoir utiliser la fonction Prochain numéro de facture dans le Back Office. Il va chercher le dernier numéro d'avoir et le dernier numéro de facture créés et modifie le prochain numéro de facture à créer en conséquence, il va ensuite mettre ce numéro dans l'Auto_Increment de PS_ORDER_SLIP pour que le prochain numéro d'avoir suive les numéros de factures. Enfin je ne serai plus obligé d'aller modifier dans la base de données mes numéros d'avoirs pour qu'ils suivent les numéros de factures... et comme ça mon comptable est content ! <?phpinclude_once('./config/settings.inc.php'); $connection = mysql_connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_) or die("Impossible de se connecter à la base de donnees"); $db = mysql_select_db(_DB_NAME_,$connection); if (mysql_connect (_DB_SERVER_, _DB_USER_, _DB_PASSWD_)); // Effacement de la ligne en trop $sql = "DELETE FROM ps_configuration WHERE name='PS_INVOICE_START_NUMBER' AND id_shop='1'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // Recherche du numéro du dernier avoir $sql = "SELECT MAX(id_order_slip) FROM ps_order_slip;"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $maxslip=mysql_fetch_array($result); // Recherche du numéro de la dernière facture $sql = "SELECT MAX(number) FROM ps_order_invoice;"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $maxfact=mysql_fetch_array($result); // Recherche du numéro entré en back office $sql = "SELECT value FROM ps_configuration WHERE name='PS_INVOICE_START_NUMBER';"; $res = mysql_query($sql) or die('Erreur SQL !<br>'.$sql."<br>".mysql_error()); $result = mysql_fetch_array($res); $forcefact = $result[0]; // Création des variables nfact prochaine facture nslip prochain avoir $fact = $maxfact[0]; $slip = $maxslip[0]; $nfact = $maxfact[0]+1; $nslip = $maxslip[0]+1; $nouvnum = $nfact; echo ("Derniere facture : "); echo $fact; echo ("<br>Dernier avoir : "); echo $slip; echo ("<br>Numero force en BO : "); echo $forcefact; // Recherche du prochain numéro de facture ou avoir if ($nslip > $nfact):{ echo "<br>Dernier Avoir est plus grand que derniere Facture"; $nouvnum = $nslip; } endif; if ($forcefact > $nouvnum):{ $nouvnum = $forcefact; } endif; echo ("<br>Numero a mettre en place sur Avoir et Factures : "); echo $nouvnum; //Mise en du prochain numéro de facture echo ("<br>Prochain numero de facture mis en place : "); echo $nouvnum; $sql = "UPDATE ps_configuration SET value = ".$nouvnum." WHERE name='PS_INVOICE_START_NUMBER'"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //Mise en du prochain numéro des avoirs echo ("<br>Prochain numero d avoir mis en place : "); echo $nouvnum; $sql = "ALTER TABLE `ps_order_slip` auto_increment = ".$nouvnum.";"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); mysql_close(); ?> Je vous donne mon script qui doit être "épouvantable" pour les connaisseurs de PHP, mais il fonctionne ! Je l'ai placé sur la racine de mon site, y a-t'il un problème de sécurité ? Si une âme charitable veut bien jeter un oeil dessus et pourquoi pas le corriger.... vous êtes les bienvenus ! En tout cas voici un problème de réglé ! Hermès CODE MODIFIE LE 30/08/2014
  3. La Forge connait ce bug et a trouvé la solution : http://forge.prestashop.com/browse/PSCFV-10386?jql=text%20~%20%22next%20invoice%20number%22 Réponse : Passez à la version 1.6 !!! C'est pas beau comme support ça !?!?
  4. j'ai testé le "override" et le "cache/class_index.php" j'ai désactivé et vidé le cache, et .... ça ne marche toujours pas !... Rien ne change...
  5. Je veux juste dire que quand j'efface la ligne 1119 dans la base de données, la prochaine facture prend le numéro rentré dans le BO, mais cette même facture a recrée la ligne 1119 donc je ne peux plus utiliser la numérotation du BO tant que je n'ai pas ré-effacé manuellement la ligne 1119.... Ça ne fonctionne qu'une fois et ensuite il faut aller dans la base de données (ce que je ne veux pas qu'un utilisateur autre que moi fasse). Je teste les overrides en milieu d'après midi et je vous tiens au courant. Merci
  6. La valeur modifiée dans le BO modifie toujours la ligne 1117, pas de soucis. Mais le fonctionnement même sans madules complémentaires, sans cache et avec le thème par défaut reste le m^me qu'expliqué dans le post #14.
  7. Ma ligne 1119 a bien une valeur NULL. J'ai tenté de mettre l'autoincrement de PS_order_invoice à 5000, ça me numérote bien la ligne à 5000, mais pas le numéro de facture... L'autoincrement est sur ps_order_id pas sur number. Je teste la désactivation de modules non natifs.... j'ai désinstallé tous les modules non développés par prestashop et remis le thème de base et... toujours la même chose....
  8. Bonjour, Merci de revenir vers moi, je ne suis pas en multi-boutique, et seule la ligne 1117 est modifiée par le BO, la 1119 est crée à la création de facture et elle reste toujours à 0. Si j'efface la 1119, tout fonctionne jusqu'à ce qu'une nouvelle facture la recrée. La solution serait de placer un code effaçant cette ligne en fin du contrôleur qui crée la facture ?
  9. La modification en BO modifie bien la ligne 1117 mais la facture créée ne se numérote selon cette modification uniquement que si la ligne 1119 est absente, sinon comme il trouve 2 valeurs de PS_INVOICE_START_NUMBER contradictoires, il suit l'autoincrement de PS_ORDER...
  10. j'ai fait un test avec le thème standard, la réaction est la même... je vais désactiver mes modules un par un sur mon site test pour voir d'où ça vient...
  11. Je ne confonds pas... Les numeros de facture d'une entreprise doivent se suivre et il ne doit pas y avoir de trou ou de doublon... c'est pour ça que parfois on édite une facture pour un client qui n'est pas passé par le site et que je dois sauter un ou deux numéros, ou quand je crée un avoir qui prend un numéro bidon et que je dois aller renuméroter pour qu'il s'insère dans mes suites de factures. J'ai donc un module qui dois overrider les numéros de factures, mais je n'ai aucun module de facturation ? Chez vous quel numéro prend un avoir que vous avez créé ? Suit il les numéros de factures ?
  12. C'est très simple, je souhaite que lorsqu'on souhaite sauter un ou deux numéros de factures (qu'on a créé en boutique et non sur le site), on puisse noter dans la case " numéro de facture " du menu "options des factures", le numéro de la prochaine facture créée par prestashop. Ce qui me semble être le rôle de cette case mais qui ne fonctionne pas chez moi ? La prochaine facture commencera à ce numéro, qui augmentera à chaque nouvelle facture.
  13. Le soucis est que je ne veux pas que l'utilisateur aille dans la base de données, et tant que cette ligne 1119 n'existe pas, la fonction "prochain numéro de commande" du back office fonctionne ... jusqu'à la création de facture suivante qui recrée la ligne 1119 ( à la fin de la table PS_Configuration évidemment. Pour moi la solution serait d'aller effacer cette ligne 1119 recréée, à la fin du processus de génération de facture. Mais je ne sais pas quel est le fichier qui crée la facture et je ne sais pas coder la requête DELETE en php....
  14. Bonjour, Merci pour votre réponse mais malheureusement ça ne fonctionne pas. La première ligne est créée ou modifiée par le back Office "Factures" quand on rentre le prochain numéro de facture, la deuxième ligne est créée lorsque la facture est créée... j'ai rien trouvé dans order.php qui pourtant UPDATE cette valeur : public static function setLastInvoiceNumber($order_invoice_id, $id_shop) { if (!$order_invoice_id) return false; $number = Configuration::get('PS_INVOICE_START_NUMBER', null, null, $id_shop); // If invoice start number has been set, you clean the value of this configuration if ($number) Configuration::updateValue('PS_INVOICE_START_NUMBER', false, false, null, $id_shop); $sql = 'UPDATE `'._DB_PREFIX_.'order_invoice` SET number ='; if ($number) $sql .= (int)$number; else $sql .= '(SELECT new_number FROM (SELECT (MAX(`number`) + 1) AS new_number FROM `'._DB_PREFIX_.'order_invoice`) AS result)'; $sql .=' WHERE `id_order_invoice` = '.(int)$order_invoice_id; return Db::getInstance()->execute($sql); } Alors j'aimerais savoir quel est le contrôleur ou la classe qui génère cette deuxième ligne au lieu de modifier la première. Merci Hermès
  15. Bonjour à tous, Je suis sous PS 1.5.6.2. J'ai un soucis avec mon prochain numéro de facture entré dans le BackOffice dans le sous menu Factures. Le fait d'entrer un numéro va modifier PS_START_INVOICE_NUMBER dans la table PS_CONFIGURATION comme l'exemple en ligne 1117 ci dessous. Or lorsque une commande est passée, elle crée automatiquement une ligne équivalente à la 1119 ci-dessous, et donc si je modifie le prochain numéro de facture, le numéro n'est plus pris en compte car il y a deux lignes différentes dans la table... id_configuration id_shop_group id_shop name value 1117 NULL NULL PS_INVOICE_START_NUMBER 356 1119 NULL 1 PS_INVOICE_START_NUMBER Si j’efface ces deux lignes dans la table PS_CONFIGURATION, le fait d'entrer le prochain numéro de facture recrée un ligne comme la 1117 donc tout va bien, mais dés qu'une facture est recrée, la 1119 revient... Mes questions ? 1 - Comment faire pour que je n'aie qu'une seule valeur dans ma table ? Quel fichier crée cette deuxième ligne au lieu de modifier la première ? 2 - Comment faire pour que les numéros de Order-Slip (Avoirs) puissent suivre les numéros de factures et s'intégrer comme des factures ? Je peux transmettre le détail de mes fichiers si nécessaire pour analyse du code. Merci pour votre aide. Hermès
×
×
  • Create New...