Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Gestion des clients 'en compte' dans takepos

Gestion des clients 'en compte' dans takepos il y a 1 semaine 5 jours #114857

  • Pascal22
  • Portrait de Pascal22
  • Hors ligne
  • Fresh Boarder
  • Messages : 2
  • Karma: 0
bonjour,
ayant profité de la mine d'infos de ce forum depuis plusieurs mois, je tenais a faire un retour sur les modifications que j'ai apporté a takepos afin de les adapter à mon usage. Je tiens une petite épicerie-brasserie-traiteur et mon besoin etait de pouvoir gérer facilement depuis la caisse le paiement différé des clients en compte.
à noter que je suis en version 8.0.2

Fonctionnalités :
1. dans take pos :
- pouvoir différer les paiement tout en validant les factures
- afficher l'encours clients

2. dans le module tiers onglet clients :
- sortir un ticket récapitulatif de l'encours


Différer le paiement :

dans le fichier takepos/pay.php il faut ajouter un bouton pour le paiement différé.
vers la fin du fichier il suffit d'ajouter la ligne suivante :
<button type="button" class="calcbutton2" onclick="Validate('dif');"><?php echo "Différé"; ?></button>
juste après la ligne :
<button type="button" class="calcbutton" onclick="addreceived(0.05);">0.05</button>

dans le fichier takepos/invoice.php il faut conditionner la creation du reglement :
le bloc :
    $payment=new Paiement($db);
	$payment->datepaye=$now;
	$payment->bank_account=$bankaccount;
	$payment->amounts[$invoice->id]=$invoice->total_ttc;
	if ($pay=="cash") $payment->paiementid=4;
	else if ($pay=="card") $payment->paiementid=6;
	else if ($pay=="chq") $payment->paiementid=7;
	$payment->num_paiement=$invoice->facnumber;
	$payment->create($user);
	$payment->addPaymentToBank($user, 'payment', '(CustomerInvoicePayment)', $bankaccount, '', '');
	$invoice->set_paid($user);
devient :
    if($pay!='dif') //si mode de reglement different de dif (différé)
	{
        $payment=new Paiement($db);
        $payment->datepaye=$now;
        $payment->bank_account=$bankaccount;
        $payment->amounts[$invoice->id]=$invoice->total_ttc;
        if ($pay=="cash") $payment->paiementid=4;
        else if ($pay=="card") $payment->paiementid=6;
        else if ($pay=="chq") $payment->paiementid=7;
        $payment->num_paiement=$invoice->facnumber;
        $payment->create($user);
        $payment->addPaymentToBank($user, 'payment', '(CustomerInvoicePayment)', $bankaccount, '', '');
        $invoice->set_paid($user);
	}

Afficher l'encours clients :
dans takepos/invoice.php vers la fin du fichier :
le bloc :
    if ($invoice->socid!=$conf->global->CASHDESK_ID_THIRDPARTY){
        $soc = new Societe($db);
        $soc->id = $invoice->socid;
        $soc->fetch($invoice->socid);
        print '<p style="font-size:120%;" align="right">(';
        print $soc->name;
        print ')</p>';
    }
devient :
    if ($invoice->socid!=$conf->global->CASHDESK_ID_THIRDPARTY){
        $soc = new Societe($db);
        $soc->id = $invoice->socid;
        $soc->fetch($invoice->socid);
        print '<p style="font-size:120%;" align="right">(';
        print $soc->name;
        $tmpencours = $soc->getOutstandingBills(); //récuperer l'encours client
        $outstandingOpened=$tmpencours['opened'];
        print ')';
        if($outstandingOpened>0)
            print " Encours : ".$outstandingOpened;
        print '</p>';
    }

Sortir un ticket récapitulatif de l'encours :

copier le fichier receip_recap.php (ci-joint) dans le dossier takepos
dans le fichier takepos/class/actions_takepos.class.php dans la fonction addMoreActionsButtons
ajouter à la suite de ce bloc :
     if (in_array($parameters['currentcontext'], array('invoicecard')))		// do something only for the context 'somecontext1' or 'somecontext2'
	    {
			
			if (file_exists("../../takepos/receipt.php")) $receipt_url=DOL_URL_ROOT."/takepos/receipt.php";
			if (file_exists("../../custom/takepos/receipt.php")) $receipt_url=DOL_URL_ROOT."/custom/takepos/receipt.php";
	        print '<div class="inline-block divButAction"><a target="_blank" class="butAction" href="' . $receipt_url . '?facid=' . $object->id.'">' . $langs->trans('Ticket') .'</a></div>';
	    }
le bloc suivant :
     else if(in_array($parameters['currentcontext'], array('thirdpartycomm')))
	    {
            if (file_exists("../takepos/receipt_recap.php")) $receipt_url=DOL_URL_ROOT."/takepos/receipt_recap.php";
			if (file_exists("../custom/takepos/receipt_recap.php")) $receipt_url=DOL_URL_ROOT."/custom/takepos/receipt_recap.php";
	        print '<div class="inline-block divButAction"><a target="_blank" class="butAction" href="' . $receipt_url . '?socid=' . $object->id.'">' . $langs->trans('Ticket Récap') .'</a></div>';
	    }

il y a surement moyen de faire beaucoup mieux...
Pièces jointes :
Dernière édition: il y a 1 semaine 4 jours par Pascal22.
L'administrateur a désactivé l'accès en écriture pour le public.

Gestion des clients 'en compte' dans takepos il y a 3 jours 12 heures #115211

  • pm17
  • Portrait de pm17
  • Hors ligne
  • Modérateur
  • Linux/Mac/Windows Un petit merci sur mon profil
  • Messages : 1346
  • Remerciements reçus 184
  • Karma: 23
Slt

ca serait bien de le proposer sur github
L'administrateur a désactivé l'accès en écriture pour le public.

Gestion des clients 'en compte' dans takepos il y a 2 jours 7 heures #115299

  • Pascal22
  • Portrait de Pascal22
  • Hors ligne
  • Fresh Boarder
  • Messages : 2
  • Karma: 0
Salut,

ouep, je vais regarder comment marche GitHub.

je pense que je vais attendre d'avoir migré en v 10 (en cours) avant de faire une quelconque proposition...
L'administrateur a désactivé l'accès en écriture pour le public.

Gestion des clients 'en compte' dans takepos il y a 8 heures 12 minutes #115328

  • pm17
  • Portrait de pm17
  • Hors ligne
  • Modérateur
  • Linux/Mac/Windows Un petit merci sur mon profil
  • Messages : 1346
  • Remerciements reçus 184
  • Karma: 23
Slt
Pascal22 écrit:
Salut,

ouep, je vais regarder comment marche GitHub.


Je te met un lien d aide
github.com/Dolibarr/dolibarr/blob/develo...thub/CONTRIBUTING.md

Pascal22 écrit:
je pense que je vais attendre d'avoir migré en v 10 (en cours) avant de faire une quelconque proposition...
Le mieux est d avoir une version de test en local ...
L'administrateur a désactivé l'accès en écriture pour le public.