Forum d'entraide Acomba
Pourquoi ne pas devenir membre du forum ?

Identifiez-vous ou Inscrivez-vous afin d'accéder à l'inrégralité du forum:
Accès à toutes les catégories du forum,
Entraide entre les 6 500 membres, et ce nombre s'accroît quotidiennement!

Notez que ce forum est indépendant de la société Acceo Solutions, éditrice du logiciel Acomba.

Rejoignez le forum, c’est rapide et facile

Forum d'entraide Acomba
Pourquoi ne pas devenir membre du forum ?

Identifiez-vous ou Inscrivez-vous afin d'accéder à l'inrégralité du forum:
Accès à toutes les catégories du forum,
Entraide entre les 6 500 membres, et ce nombre s'accroît quotidiennement!

Notez que ce forum est indépendant de la société Acceo Solutions, éditrice du logiciel Acomba.
Forum d'entraide Acomba
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Connexion
Le Deal du moment : -45%
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre ...
Voir le deal
339 €

Aller en bas
avatar
mrlucmorin
Nombre de messages : 5
Date d'inscription : 05/12/2008

Rendre un client inactif Empty Rendre un client inactif

Jeu 8 Jan 2009 - 20:02
Bonjour,

Y'a t'il un moyen facile de vérifier si un client peut être rendu inactif à partir du SDK ?

Présentement, la seule façon que nous avons est d'essayer de rendre le client inactif, et de vérifier s'il y a eu un erreur du SDK. Nous aimerions mieux pouvoir vérifier avant si le client peut être inactivé.

J'ai posé la question à Fortsum, mais la réponse fut très complexe, et je ne crois pas être en mesure de l'implanter.

Voici ce qu'ils m'ont donné comme information:

----------------------------------------------------------------------------------





Le AcoSDK d’Acomba n’offre malheureusement
pas de méthode qui permet de savoir si un client peut être désactivé ou non.
Pour savoir si un client peut être désactivé, vous pouvez créer votre propre
méthode qui fera les vérifications nécessaires pour un client. Pour vous aidez,
voici des explications sur les vérifications que vous pouvez faire avec le
AcoSDK d’Acomba pour vérifier s’il est possible de désactiver ou non un client
d’une société Acomba :






Tout d’abord, il faut s’assurer que toutes
les factures du client ont été payées et transférées à la comptabilité par la
procédure de rapport journalier. Pour ce faire, à l’aide de l’interface
InvoiceAR et à l’aide de la méthode NextKeys, vous pouvez rechercher dans
l’index 10 les clés d’index des transactions qui appartiennent au client. Pour
chaque clé d’index de transaction qui est obtenue, vous pouvez consulter la
fiche qui est associée à la clé d’index (le dernier paramètre de la méthode
NextKeys à true vous permettra de consulter automatiquement la fiche associée à
chaque clé d’index obtenue). Pour chaque fiche de transaction consultée, si la
propriété InAllPaid est à false, cela indique que la transaction n’a pas été
toute payée. Pour chaque fiche de transaction consultée, si la propriété
InCurrentDay est à true, cela indique que la transaction n’a pas été transférée
à la comptabilité par la procédure de rapport journalier. Ainsi, si une facture
du client n’a pas été toute payée ou si une facture du client n’a pas été
transférée à la comptabilité par la procédure de rapport journalier, il ne sera
pas possible de désactiver le client.






Il est à noter que si une facture du client
a un client «facturer à» (si la propriété InInvoicedToCP de l’interface InvoiceAR
contient une valeur différente de zéro), il faut s’assurer que les lignes de
paiement qui sont associées à la facture ont été transférées à la comptabilité
par la procédure de rapport journalier. Pour ce faire, à l’aide de l’interface
CustomerPaymentLine et à l’aide de la méthode NextKeys, vous pouvez rechercher
dans l’index 1 les clés d’index des lignes de paiement qui ont été appliquées à
la facture. Pour chaque clé d’index de ligne de paiement qui est obtenue, vous
pouvez consulter la fiche qui est associée à la clé d’index. Pour chaque fiche
de ligne de paiement consultée, si la propriété CPCurrentDay est à true, cela
indique que la ligne de paiement n’a pas été transférée à la comptabilité par
la procédure de rapport journalier. Ainsi, si une facture du client a un client
«facturer à» et si une ligne de paiement associée à la facture n’a pas été
transférée à la comptabilité par la procédure de rapport journalier, il ne sera
pas possible de désactiver le client.






Par la suite, il faut s’assurer que tous
paiements du client ont été transférés à la comptabilité par la procédure de
rapport journalier. Pour ce faire, à l’aide de l’interface CustomerPayment et à
l’aide de la méthode NextKeys, vous pouvez rechercher dans l’index 1 les clés
d’index des paiements qui appartiennent au client. Pour chaque clé d’index de
paiement qui est obtenue, vous pouvez consulter la fiche qui est associée à la
clé d’index. Pour chaque fiche de paiement consultée, si la propriété
CPCurrentDay est à true, cela indique que le paiement n’a pas été transféré à
la comptabilité par la procédure de rapport journalier. Ainsi, si un paiement
du client n’a pas été transféré à la comptabilité par la procédure de rapport
journalier, il ne sera pas possible de désactiver le client.






Il est à noter que vous devrez également
vous assurez que le client n’a pas de paiement en attente. Pour ce faire, à
l’aide de l’interface CustomerPayment et à l’aide de la méthode NextKeys, vous
pouvez rechercher dans l’index 2 les clés d’index des paiements en attente qui
appartiennent au client. À ce moment, si vous trouvez dans l’index 2 au moins
une clé d’index de paiement en attente associée au client, il ne sera pas
possible de désactiver le client.



------------------------------------------------------------------------------------------

Comme vous pouvez le constater, c'est assez complexe merci, et les informations données sont assez partielles.

Des idées ?

Merci.

Luc
avatar
hench
Nombre de messages : 163
Date d'inscription : 30/12/2008

Fiche d'Entreprise
Nom de l'entreprise:

Rendre un client inactif Empty Re: Rendre un client inactif

Lun 6 Sep 2010 - 12:11
Fortsum adore les mots, voici une interprétation en algorithme:



Recherche dans InterfacesPour chacune des transactions trouvées
InvoiceAR - Index 10 Si InAllPaid a True et InCurrentDay est False, OK
Sinon Arrêter le processus, le client ne peut être désactivé
Si InInvoicedToCP > 0
Recherche dans table CustomerPaymentLine - Index 1
Pour chacune des lignes trouvées, Si CPCurrentDay a False, OK
Sinon Arrêter le processus, le client ne peut être désactivé
CustomerPayment - Index 1 Si CPCurrentDay a False, OK
Sinon Arrêter le processus, le client ne peut être désactivé
CustomerPayment - Index 2
Si aucun enregistrement concernant le client en question, OK
Sinon Arrêter le processus, le client ne peut être désactivé



Voila, Quelques boucles SearchKey / NextKey et des IF pourront faire l'affaire !

Si à tout moment, vous tombez sur un élément qui accroche les lignes OK, vous ne pourrez pas désactiver ce client,....
J'espère que cela pourra vous être utile !

hench
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum