Traitement Factures/chéque reçu recherche algorithme
Résolu/Fermé
FoxLeRenard
Messages postés
68
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
8 novembre 2024
-
25 oct. 2020 à 13:34
jordane45 Messages postés 38376 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 janvier 2025 - 25 oct. 2020 à 19:31
jordane45 Messages postés 38376 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 janvier 2025 - 25 oct. 2020 à 19:31
A voir également:
- Traitement Factures/chéque reçu recherche algorithme
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche adresse - Guide
- Traitement de texte gratuit - Guide
- Darty cheque vacances ✓ - Forum Mobile
- Recherche image - Guide
4 réponses
jordane45
Messages postés
38376
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 janvier 2025
4 723
25 oct. 2020 à 15:44
25 oct. 2020 à 15:44
Bonjour,
Déjà, si les données sont stockées dans la BDD, le javascript seul ne suffira pas.
Il faudra, en effet, utiliser l'ajax. (il y a donc des choses à coder également côté serveur (en php )
Ensuite, .. ben.. on ne sait pas ce que tu veux ... ou du moins.. quelle est réellement la question...
Tu dis :
Donc.. ça c'est déjà fait ?
Tu reçois les données... sous quel format .. en JSON ?
Tu les reçois bien dans ton javascript ??
Ben, tu dois bien avoir une info permettant de savoir si c'est un avoir ou non. ( le montant négatif par exemple ou l'inverse par rapports aux factures.. )
Et dans ce cas, il suffit d'omettre ces montants dans la requête qui te retourne les factures à payer..
Quand tu dis que "tu devrais trouver".. tu veux dire... le code devra trouver pour toi ?
Et que fais tu si tu as plusieurs factures du même montant, ou que plusieurs combinaisons donnent le même total ? Laquelle tu dois prendre ??
A minima, ce traitement, je le ferai côté serveur ( php )
tu pourrais, par exemple, t'inspirer de ce code :
https://codes-sources.commentcamarche.net/source/100161-php-liste-des-combinaisons-possibles-somme
Une fois toutes les combinaisons trouvées et la somme calculée, il te suffit de faire une boucle pour déterminer quelle(s) combinaison(s) correspondrai(en)t au montant voulu....
Quoi qu'il en soit, ta question est trop vague.
On ne connait pas la structure de tes données
On ne sait pas ce que tu as déjà commencé à coder
On ne sait pas ce que tu es capable de coder par toi même.
Pour rappel, ici, on ne fourni pas de code sur demande.
Pour maximiser tes chances d'avoir de l'aide, tu dois montrer ce que tu as commencé à faire ET expliquer sur quel point technique PRECIS tu bloques.
Déjà, si les données sont stockées dans la BDD, le javascript seul ne suffira pas.
Il faudra, en effet, utiliser l'ajax. (il y a donc des choses à coder également côté serveur (en php )
Ensuite, .. ben.. on ne sait pas ce que tu veux ... ou du moins.. quelle est réellement la question...
Tu dis :
Donc a chaque requête, je reçois
Le montant du chèque,
l'Array des facture
et l'array des montants.
Donc.. ça c'est déjà fait ?
Tu reçois les données... sous quel format .. en JSON ?
Tu les reçois bien dans ton javascript ??
Je dois préciser qu'il y a dans les "factures" des "avoirs" ce qui complique l'ALGO à réaliser,
Ben, tu dois bien avoir une info permettant de savoir si c'est un avoir ou non. ( le montant négatif par exemple ou l'inverse par rapports aux factures.. )
Et dans ce cas, il suffit d'omettre ces montants dans la requête qui te retourne les factures à payer..
Son Chèque est de 2100.98 (donc je devrai trouver 2 + 4 + 5)
Quand tu dis que "tu devrais trouver".. tu veux dire... le code devra trouver pour toi ?
Et que fais tu si tu as plusieurs factures du même montant, ou que plusieurs combinaisons donnent le même total ? Laquelle tu dois prendre ??
A minima, ce traitement, je le ferai côté serveur ( php )
tu pourrais, par exemple, t'inspirer de ce code :
https://codes-sources.commentcamarche.net/source/100161-php-liste-des-combinaisons-possibles-somme
Une fois toutes les combinaisons trouvées et la somme calculée, il te suffit de faire une boucle pour déterminer quelle(s) combinaison(s) correspondrai(en)t au montant voulu....
Quoi qu'il en soit, ta question est trop vague.
On ne connait pas la structure de tes données
On ne sait pas ce que tu as déjà commencé à coder
On ne sait pas ce que tu es capable de coder par toi même.
Pour rappel, ici, on ne fourni pas de code sur demande.
Pour maximiser tes chances d'avoir de l'aide, tu dois montrer ce que tu as commencé à faire ET expliquer sur quel point technique PRECIS tu bloques.
FoxLeRenard
Messages postés
68
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
8 novembre 2024
2
25 oct. 2020 à 16:25
25 oct. 2020 à 16:25
Bonjour et merci,
J'ai posé une question uniquement sur le module Javascript (l'algorithme
que je cherche à écrire) tel que j'ai décrit mon environnement tout est expliqué AJAX avec MYSQL etc... J'aurais mieux fait de ne rien dire puisque je n'ai besoins de rien sur tout ces domaines que je maitrise parfaitement (hum ... un peut prétentieux ;-) ).
Donc pour poser ma question, j'aurais du dire:
Pouvez vous m'aider en m'indiquant ver quelle méthode de logique récursive ? en Javascript (pas de Jquery ou autre) je pourrait résoudre le problème suivant:
Je reçoit dans mon JavaScript:
un array "factures" contenant entre 2 et 25 montant de factures.
Et un montant représentant un chèque reçu
Il me faut trouver la série de ces factures donnant ce montant. Merci d'avance. (nota le client n'ayant rien préciser, si plusieurs combinaisons sont valides nous prendront la première !
Loin de moi l'idée de demander un code tout fait sauf si ça existe .
Merci encore.
J'ai posé une question uniquement sur le module Javascript (l'algorithme
que je cherche à écrire) tel que j'ai décrit mon environnement tout est expliqué AJAX avec MYSQL etc... J'aurais mieux fait de ne rien dire puisque je n'ai besoins de rien sur tout ces domaines que je maitrise parfaitement (hum ... un peut prétentieux ;-) ).
Donc pour poser ma question, j'aurais du dire:
Pouvez vous m'aider en m'indiquant ver quelle méthode de logique récursive ? en Javascript (pas de Jquery ou autre) je pourrait résoudre le problème suivant:
Je reçoit dans mon JavaScript:
un array "factures" contenant entre 2 et 25 montant de factures.
Et un montant représentant un chèque reçu
Il me faut trouver la série de ces factures donnant ce montant. Merci d'avance. (nota le client n'ayant rien préciser, si plusieurs combinaisons sont valides nous prendront la première !
Loin de moi l'idée de demander un code tout fait sauf si ça existe .
Merci encore.
jordane45
Messages postés
38376
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 janvier 2025
4 723
25 oct. 2020 à 17:26
25 oct. 2020 à 17:26
Comme je te l'ai dit je pense que le faire en PHP serait préférable.
Maintenant, si tu tiens à le faire en javascript, il te suffit d'étudier le code que je t'ai fourni et essayer de le reproduire en javascript.
Vu ta maîtrise des langages tu devrais y parvenir.
Niveau algo, c'est juste des maths...Ce n'est que de la logique combinatoire..
Maintenant, si tu tiens à le faire en javascript, il te suffit d'étudier le code que je t'ai fourni et essayer de le reproduire en javascript.
Vu ta maîtrise des langages tu devrais y parvenir.
Niveau algo, c'est juste des maths...Ce n'est que de la logique combinatoire..
FoxLeRenard
Messages postés
68
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
8 novembre 2024
2
25 oct. 2020 à 18:20
25 oct. 2020 à 18:20
Oui ton modul parait la bonne piste ,sur ce que tu as écrit j'ai une erreur sans doute pas grave mais je ne la comprends pas ...
Array contenant les valeurs à utiliser :
Array
(
[0] => 12.51
[1] => 45.62
[2] => 10
[3] => 25.9
)
Notice: Undefined offset: 15 in C:\jpbhtml\1 web les-astuces-du-web\algox2.php on line 74
Notice: Undefined offset: 15 in C:\jpbhtml\1 web les-astuces-du-web\algox2.php on line 76
Nb Combinaisons : 15
COMBINAISON SOMME
12.51 12.51
45.62 45.62
10 10
25.9 25.9
12.51,45.62 58.13
12.51,10 22.51
12.51,25.9 38.41
45.62,10 55.62
45.62,25.9 71.52
10,25.9 35.9
12.51,45.62,10 68.13
12.51,45.62,25.9 84.03
12.51,10,25.9 48.41
45.62,10,25.9 81.52
12.51,45.62,10,25.9 94.03
0
jordane45
Messages postés
38376
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 janvier 2025
4 723
25 oct. 2020 à 18:33
25 oct. 2020 à 18:33
En effet une erreur.. que personne n'avait vu jusqu'à maintenant.
Ligne 72, il faut retirer le = du $i<=$n
Ligne 72, il faut retirer le = du $i<=$n
for($i=0;$i<$n;$i++) {
FoxLeRenard
Messages postés
68
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
8 novembre 2024
2
25 oct. 2020 à 19:14
25 oct. 2020 à 19:14
Ah oui bien sur t'es un chef et serviable en plus, bien sur < à 15 = 14 puisque le premier est 0 alors j'ai vraiment ma solution et en augmentant à 50 factures, le serveur est si puissant que le temps de réponse reste extra !
Tiens cadeau, sais tu comment je peux faire tourner mon PHP toute la nuit ?
à l'ouverture de PHP je mets
HOP THIS HELP et bonne semaine
Tiens cadeau, sais tu comment je peux faire tourner mon PHP toute la nuit ?
à l'ouverture de PHP je mets
<?PHP ini_set ('max_execution_time', 0); /* ___ puis dans la bocle de traitement ____ */ for($i=0;$i<$n;$i++) { /* action */ set_time_limit ( 10 ); }
HOP THIS HELP et bonne semaine
jordane45
Messages postés
38376
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 janvier 2025
4 723
25 oct. 2020 à 19:31
25 oct. 2020 à 19:31
Je pense qu'il est préférable de découper les données à traiter par "paquets" puis d'utiliser une tache cron qui tourne toutes les X minutes pour faire le traitement...
mais bon, là ça sort du thème de la question initiale.
N'oublie pas de mettre le sujet en Résolu.
Bonne soirée.
mais bon, là ça sort du thème de la question initiale.
N'oublie pas de mettre le sujet en Résolu.
Bonne soirée.