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 :
-
dans take pos :
- pouvoir différer les paiement tout en validant les factures
- afficher l’encours clients -
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 :
- receipt_recap.zip (1.75 KB)