31require
'../../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/tva.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/paymentvat.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/vat.lib.php';
40if (isModEnabled(
'accounting')) {
41 include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
45$langs->loadLangs(array(
'compta',
'banks',
'bills'));
49$action =
GETPOST(
'action',
'aZ09');
50$confirm =
GETPOST(
'confirm',
'alpha');
51$cancel =
GETPOST(
'cancel',
'aZ09');
52$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
53$backtopage =
GETPOST(
'backtopage',
'alpha');
54$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
57if (GETPOSTISSET(
'auto_create_paiement') || $action ===
'add') {
58 $auto_create_payment =
GETPOSTINT(
"auto_create_paiement");
73$diroutputmassaction = $conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
74$hookmanager->initHooks(array(
'taxvatcard',
'globalcard'));
77$extrafields->fetch_name_optionals_label(
$object->table_element);
79if (empty($action) && empty($id) && empty($ref)) {
84include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
86$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
87$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
88$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
89$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
90$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
91$upload_dir = $conf->tax->multidir_output[isset(
$object->entity) ?
$object->entity : 1].
'/vat';
95if (!empty($user->socid)) {
96 $socid = $user->socid;
105$parameters = array(
'socid' => $socid);
106$reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
111if (empty($reshook)) {
112 if ($cancel && !$id) {
113 header(
"Location: list.php");
117 if ($action ==
'setlib' && $user->hasRight(
'tax',
'charges',
'creer')) {
119 $result =
$object->setValueFrom(
'label',
GETPOST(
'lib',
'alpha'),
'',
null,
'text',
'', $user,
'TAX_MODIFY');
125 if ($action ==
'setdatev' && $user->hasRight(
'tax',
'charges',
'creer')) {
128 $result =
$object->update($user);
137 if ($action ==
'setmode' && $user->hasRight(
'tax',
'charges',
'creer')) {
146 if ($action ==
'setbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
155 if ($action ==
'confirm_paid' && $user->hasRight(
'tax',
'charges',
'creer') && $confirm ==
'yes') {
157 $result =
$object->setPaid($user);
160 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
163 $result =
$object->setUnpaid($user);
165 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
173 if ($action ==
'add' && !$cancel && $permissiontoadd) {
193 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"DatePayment")),
null,
'errors');
197 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"PeriodEndDate")),
null,
'errors');
200 if (!empty($auto_create_payment) && (empty(
$object->type_payment) ||
$object->type_payment < 0)) {
201 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"PaymentMode")),
null,
'errors');
205 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Amount")),
null,
'errors');
208 if (!empty($auto_create_payment) && (
$object->fk_account <= 0)) {
209 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountToCredit")),
null,
'errors');
220 if (!empty($auto_create_payment) && !$error) {
226 $paiement->datepaye = $datep;
227 $paiement->amounts = array(
$object->id => $amount);
228 $paiement->paiementtype =
GETPOST(
"type_payment",
'alphanohtml');
229 $paiement->num_payment =
GETPOST(
"num_payment",
'alphanohtml');
230 $paiement->note =
GETPOST(
"note",
'restricthtml');
231 $paiement->note_private =
GETPOST(
"note",
'restricthtml');
234 $paymentid = $paiement->create($user, (
int)
GETPOST(
'closepaidtva'));
235 if ($paymentid < 0) {
243 $result = $paiement->addPaymentToBank($user,
'payment_vat',
'(VATPayment)',
GETPOSTINT(
'accountid'),
'',
'');
244 if (!($result > 0)) {
257 header(
"Location: card.php?id=" .
$object->id);
265 if ($action ==
'confirm_delete' && $confirm ==
'yes' && $permissiontodelete) {
267 $totalpaid =
$object->getSommePaiement();
269 if (empty($totalpaid)) {
276 $result = $accountline->fetch(
$object->fk_bank);
278 $result = $accountline->delete($user);
284 header(
"Location: ".DOL_URL_ROOT.
'/compta/tva/list.php');
287 $object->error = $accountline->error;
300 if ($action ==
'update' && !
GETPOST(
"cancel") && $user->hasRight(
'tax',
'charges',
'creer')) {
303 if (empty($amount)) {
304 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
306 } elseif (!is_numeric($amount)) {
307 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
314 $result =
$object->update($user);
322 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
326 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $user->hasRight(
'tax',
'charges',
'creer')) {
338 if (
GETPOST(
'amount',
'alphanohtml')) {
342 if (
GETPOST(
'clone_label',
'alphanohtml')) {
349 if ($newdateperiod) {
350 $object->datev = $newdateperiod;
359 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
375 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
383$form =
new Form($db);
387$title = $langs->trans(
"VAT").
" - ".$langs->trans(
"Card");
392if ($action ==
'create') {
395 if (!empty($conf->use_javascript_ajax)) {
396 print
"\n".
'<script type="text/javascript">';
398 $(document).ready(function () {
399 let onAutoCreatePaiementChange = function () {
400 if($("#auto_create_paiement").is(":checked")) {
401 $("#label_fk_account").addClass("fieldrequired");
402 $("#label_type_payment").addClass("fieldrequired");
403 $(".hide_if_no_auto_create_payment").show();
405 $("#label_fk_account").removeClass("fieldrequired");
406 $("#label_type_payment").removeClass("fieldrequired");
407 $(".hide_if_no_auto_create_payment").hide();
410 $("#radiopayment").click(function() {
411 $("#label").val($(this).data("label"));
413 $("#radiorefund").click(function() {
414 $("#label").val($(this).data("label"));
417 $("#auto_create_paiement").click(function () {
418 onAutoCreatePaiementChange();
420 onAutoCreatePaiementChange();
424 print
'</script>'.
"\n";
427 print
'<form name="add" action="'.$_SERVER[
"PHP_SELF"].
'" name="formvat" method="post">';
428 print
'<input type="hidden" name="token" value="'.newToken().
'">';
429 print
'<input type="hidden" name="action" value="add">';
433 print
'<table class="border centpercent">';
435 print
'<tr><td class="titlefieldcreate fieldrequired">';
439 print
'<div id="selectmethod">';
440 print
'<label for="radiopayment">';
441 print
'<input type="radio" id="radiopayment" data-label="'.$langs->trans(
'VATPayment').
'" class="flat" name="refund" value="0"'.($refund ?
'' :
' checked="checked"').
'>';
443 print $langs->trans(
"Payment");
445 print
' ';
446 print
'<label for="radiorefund">';
447 print
'<input type="radio" id="radiorefund" data-label="'.$langs->trans(
'VATRefund').
'" class="flat" name="refund" value="1"'.($refund ?
' checked="checked"' :
'').
'>';
449 print $langs->trans(
"Refund");
458 $label = $langs->trans(
"VATRefund");
460 $label = $langs->trans(
"VATPayment");
462 print
'<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans(
"Label").
'</td><td><input class="minwidth300" name="label" id="label" value="'.(GETPOSTISSET(
"label") ?
GETPOST(
"label",
'', 2) : $label).
'" autofocus></td></tr>';
464 print
'<tr><td class="titlefieldcreate fieldrequired">'.$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
'</td><td>';
465 print $form->selectDate((
GETPOSTINT(
"datevmonth") ? $datev : -1),
"datev", 0, 0, 0,
'add', 1, 1);
469 print
'<tr><td class="fieldrequired">'.$langs->trans(
"Amount").
'</td><td><input name="amount" class="right width75" value="'.
GETPOST(
"amount",
"alpha").
'"></td></tr>';
471 print
'<tr><td colspan="2"><hr></td></tr>';
474 print
'<tr><td><label for="auto_create_paiement">'.$langs->trans(
'AutomaticCreationPayment').
'</label></td>';
475 print
'<td><input id="auto_create_paiement" name="auto_create_paiement" type="checkbox" ' . (empty($auto_create_payment) ?
'' :
'checked="checked"') .
' value="1"></td></tr>'.
"\n";
477 print
'<tr class="hide_if_no_auto_create_payment">';
478 print
'<td class="fieldrequired">'.$langs->trans(
"DatePayment").
'</td><td>';
479 print $form->selectDate($datep,
"datep", 0, 0, 0,
'add', 1, 1);
483 print
'<tr><td class="fieldrequired" id="label_type_payment">'.$langs->trans(
"PaymentMode").
'</td><td>';
484 print $form->select_types_paiements(
GETPOSTINT(
"type_payment"),
"type_payment",
'', 0, 1, 0, 0, 1,
'maxwidth500 widthcentpercentminusx', 1);
488 if (isModEnabled(
"bank")) {
490 print
'<tr><td class="fieldrequired" id="label_fk_account">'.$langs->trans(
"BankAccount").
'</td><td>';
491 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"');
492 $form->select_comptes(
GETPOSTINT(
"accountid"),
"accountid", 0,
"courant=1", 1,
'', 0,
'maxwidth500 widthcentpercentminusx');
497 print
'<tr class="hide_if_no_auto_create_payment"><td>'.$langs->trans(
'Numero');
498 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
499 print
'<td><input name="num_payment" type="text" value="'.GETPOST(
"num_payment").
'"></td></tr>'.
"\n";
502 print
'<tr class="hide_if_no_auto_create_payment">';
503 print
'<td class="tdtop">'.$langs->trans(
"Comments").
'</td>';
504 print
'<td class="tdtop"><textarea name="note" wrap="soft" rows="'.ROWS_3.
'" class="quatrevingtpercent">'.
GETPOST(
'note',
'restricthtml').
'</textarea></td>';
508 $parameters = array();
509 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
510 print $hookmanager->resPrint;
516 print
'<div class="center">';
517 print
'<div class="hide_if_no_auto_create_payment paddingbottom">';
518 print
'<input type="checkbox" checked value="1" name="closepaidtva"> <span class="">'.$langs->trans(
"ClosePaidVATAutomatically").
'</span>';
522 print
'<input type="submit" class="button button-save" value="'.$langs->trans(
"Save").
'">';
523 print
' ';
524 print
'<input type="submit" class="button button-cancel" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
536 $totalpaid =
$object->getSommePaiement();
539 if ($action ===
'clone') {
540 $formquestion = array(
541 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label),
545 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
546 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
548 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneVAT',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 240);
551 if ($action ==
'paid') {
552 $text = $langs->trans(
'ConfirmPayVAT');
553 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PayVAT'), $text,
"confirm_paid",
'',
'', 2);
556 if ($action ==
'delete') {
557 $text = $langs->trans(
'ConfirmDeleteVAT');
558 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteVAT'), $text,
'confirm_delete',
'',
'', 2);
561 if ($action ==
'edit') {
562 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
563 print
'<input type="hidden" name="token" value="'.newToken().
'">';
564 print
'<input type="hidden" name="action" value="update">';
567 $parameters = array(
'formConfirm' => $formconfirm);
568 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
569 if (empty($reshook)) {
570 $formconfirm .= $hookmanager->resPrint;
571 } elseif ($reshook > 0) {
572 $formconfirm = $hookmanager->resPrint;
575 print
dol_get_fiche_head($head,
'card', $langs->trans(
"VATPayment"), -1,
'payment', 0,
'',
'', 0,
'', 1);
580 $morehtmlref =
'<div class="refidno">';
582 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
583 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
585 $morehtmlref .=
'</div>';
587 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/tva/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
589 $object->totalpaid = $totalpaid;
591 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
593 print
'<div class="fichecenter">';
594 print
'<div class="fichehalfleft">';
595 print
'<div class="underbanner clearboth"></div>';
597 print
'<table class="border centpercent">';
608 print $form->editfieldkey($form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")),
'datev',
$object->datev,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'day');
610 print $form->editfieldval(
"PeriodEndDate",
'datev',
$object->datev,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'day');
614 if ($action ==
'edit') {
615 print
'<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
617 print
'<tr><td>' . $langs->trans(
"Amount") .
'</td><td>' .
price(
$object->amount) .
'</td></tr>';
622 print
'<table class="nobordernopadding" width="100%"><tr><td>';
623 print $langs->trans(
'PaymentMode');
625 if ($action !=
'editmode') {
626 print
'<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editmode&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetMode'), 1).
'</a></td>';
628 print
'</tr></table>';
630 if ($action ==
'editmode') {
631 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'mode_reglement_id');
633 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'none');
638 if (isModEnabled(
"bank")) {
639 print
'<tr><td class="nowrap">';
640 print
'<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
641 print $langs->trans(
'BankAccount');
643 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
644 print
'<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editbankaccount&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetBankAccount'), 1).
'</a></td>';
646 print
'</tr></table>';
648 if ($action ==
'editbankaccount') {
649 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
651 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
658 $parameters = array();
659 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
660 print $hookmanager->resPrint;
666 print
'<div class="fichehalfright">';
669 if (isModEnabled(
"bank")) {
676 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
677 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
678 $sql .=
' ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.currency_code as bacurrency_code, ba.fk_accountancy_journal';
679 $sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_vat as p";
680 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
681 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
682 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
683 $sql .=
", ".MAIN_DB_PREFIX.
"tva as tva";
684 $sql .=
" WHERE p.fk_tva = ".((int) $id);
685 $sql .=
" AND p.fk_tva = tva.rowid";
686 $sql .=
" AND tva.entity IN (".getEntity(
'tax').
")";
687 $sql .=
" ORDER BY dp DESC";
690 $resql = $db->query($sql);
694 $num = $db->num_rows($resql);
698 print
'<div class="div-table-responsive-no-min">';
699 print
'<table class="noborder paymenttable">';
700 print
'<tr class="liste_titre">';
701 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
702 print
'<td>'.$langs->trans(
"Date").
'</td>';
703 print
'<td>'.$langs->trans(
"Type").
'</td>';
704 if (isModEnabled(
"bank")) {
705 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
707 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
711 $bankaccountstatic =
new Account($db);
713 $objp = $db->fetch_object($resql);
715 print
'<tr class="oddeven"><td>';
716 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a>';
718 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
719 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
720 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
721 if (isModEnabled(
"bank")) {
722 $bankaccountstatic->id = $objp->baid;
723 $bankaccountstatic->ref = $objp->baref;
724 $bankaccountstatic->label = $objp->baref;
725 $bankaccountstatic->number = $objp->banumber;
726 $bankaccountstatic->currency_code = $objp->bacurrency_code;
728 if (isModEnabled(
'accounting')) {
729 $bankaccountstatic->account_number = $objp->account_number;
732 $accountingjournal->fetch($objp->fk_accountancy_journal);
733 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
736 print
'<td class="right">';
737 if ($bankaccountstatic->id) {
738 print $bankaccountstatic->getNomUrl(1,
'transactions');
742 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
744 $totalpaid += $objp->amount;
748 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
749 print
'<td></td><td></td><td></td><td></td>';
753 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
" :</td><td class=\"right\">".
price($totalpaid).
"</td></tr>\n";
754 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
" :</td><td class=\"right\">".
price(
$object->amount).
"</td></tr>\n";
756 $resteapayer =
$object->amount - $totalpaid;
757 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
759 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
760 print
'<td class="right'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
773 print
'<div class="clearboth"></div>';
777 if ($action ==
'edit') {
778 print $form->buttonsSaveCancel();
786 print
'<div class="tabsAction">'.
"\n";
788 if ($action !=
'edit') {
790 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
791 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&action=reopen&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
"</a></div>";
795 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
796 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
"</a></div>";
801 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/paiement_vat.php?id='.
$object->id.
'&action=create&token='.
newToken().
'">'.$langs->trans(
"DoPayment").
'</a></div>';
807 (round($resteapayer) <= 0 &&
$object->amount > 0)
808 || (round($resteapayer) >= 0 &&
$object->amount < 0)
810 && $user->hasRight(
'tax',
'charges',
'creer')) {
811 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&token='.
newToken().
'&action=paid">'.$langs->trans(
"ClassifyPaid").
"</a></div>";
815 if ($user->hasRight(
'tax',
'charges',
'creer')) {
816 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&token='.
newToken().
'&action=clone">'.$langs->trans(
"ToClone").
"</a></div>";
819 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
820 print
'<div class="inline-block divButAction"><a class="butActionDelete" href="card.php?id='.$object->id.
'&action=delete&token='.
newToken().
'">'.$langs->trans(
"Delete").
'</a></div>';
822 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
830 if (
GETPOST(
'modelselected')) {
834 if ($action !=
'presend') {
835 print
'<div class="fichecenter"><div class="fichehalfleft">';
836 print
'<a name="builddoc"></a>';
838 $includedocgeneration = 1;
841 if ($includedocgeneration) {
843 $relativepath = $objref.
'/'.$objref.
'.pdf';
844 $filedir = $conf->tax->dir_output.
'/vat/'.$objref;
845 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
847 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
848 print $formfile->showdocuments(
'tax-vat', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
856 print
'</div><div class="fichehalfright">';
869 print
'</div></div>';
873 if (
GETPOST(
'modelselected')) {
879 $defaulttopic =
'InformationMessage';
880 $diroutput = $conf->tax->dir_output;
881 $trackid =
'vat'.$object->id;
883 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage bank accounts.
Class to manage bank transaction lines.
Class to manage accounting journals.
Class to manage payments of social contributions.
Class to manage VAT - Value-added tax (also known in French as TVA - Taxe sur la valeur ajoutée)
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
vat_prepare_head($object)
Prepare array with list of tabs.