29require
'../../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formsocialcontrib.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/paymentsocialcontribution.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/tax.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/user/class/user.class.php';
39if (isModEnabled(
'project')) {
40 include_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
41 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
43if (isModEnabled(
'accounting')) {
44 include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
48$langs->loadLangs(array(
'compta',
'bills',
'banks',
'hrm'));
52$action =
GETPOST(
'action',
'aZ09');
53$confirm =
GETPOST(
'confirm',
'alpha');
54$cancel =
GETPOST(
'cancel',
'aZ09');
55$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
56$backtopage =
GETPOST(
'backtopage',
'alpha');
57$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
58$lineid =
GETPOST(
'lineid',
'int');
60$fk_project = (
GETPOST(
'fk_project') ?
GETPOST(
'fk_project',
'int') : 0);
64$label =
GETPOST(
'label',
'alpha');
65$actioncode =
GETPOST(
'actioncode');
66$fk_user =
GETPOST(
'userid',
'int') > 0 ?
GETPOST(
'userid',
'int') : 0;
69$hookmanager->initHooks(array(
'taxcard',
'globalcard'));
74$diroutputmassaction = $conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
75$hookmanager->initHooks(array(
'taxsocialcontributioncard',
'globalcard'));
77if (empty($action) && empty($id) && empty($ref)) {
83 $object->fetch($id, $ref);
86$permissiontoread = $user->rights->tax->charges->lire;
87$permissiontoadd = $user->rights->tax->charges->creer;
88$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
89$permissionnote = $user->rights->tax->charges->creer;
90$permissiondellink = $user->rights->tax->charges->creer;
91$upload_dir = $conf->tax->multidir_output[isset($object->entity) ? $object->entity : 1];
94$socid =
GETPOST(
'socid',
'int');
96 $socid = $user->socid;
98$result =
restrictedArea($user,
'tax', $object->id,
'chargesociales',
'charges');
106$parameters = array(
'socid' => $socid);
107$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
112if (empty($reshook)) {
114 if ($action ==
'confirm_paid' && $permissiontoadd && $confirm ==
'yes') {
115 $result = $object->setPaid($user);
118 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
120 $result = $object->setUnpaid($user);
122 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
131 if ($action ==
'classin' && $permissiontoadd) {
132 $object->setProject(
GETPOST(
'fk_project'));
135 if ($action ==
'setfk_user' && $permissiontoadd) {
136 $object->fk_user = $fk_user;
137 $object->update($user);
140 if ($action ==
'setlib' && $permissiontoadd) {
141 $result = $object->setValueFrom(
'libelle',
GETPOST(
'lib'),
'',
'',
'text',
'', $user,
'TAX_MODIFY');
148 if ($action ==
'setmode' && $permissiontoadd) {
149 $result = $object->setPaymentMethods(
GETPOST(
'mode_reglement_id',
'int'));
156 if ($action ==
'setbankaccount' && $permissiontoadd) {
157 $result = $object->setBankAccount(
GETPOST(
'fk_account',
'int'));
164 if ($action ==
'confirm_delete' && $permissiontodelete && $confirm ==
'yes') {
165 $totalpaid = $object->getSommePaiement();
166 if (empty($totalpaid)) {
167 $result = $object->delete($user);
169 header(
"Location: list.php");
181 if ($action ==
'add' && $permissiontoadd) {
185 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
187 } elseif (!$dateperiod) {
188 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
190 } elseif (!($actioncode > 0)) {
191 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Type")),
null,
'errors');
193 } elseif (empty($amount)) {
194 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
196 } elseif (!is_numeric($amount)) {
197 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
200 $object->type = $actioncode;
201 $object->label =
GETPOST(
'label',
'alpha');
202 $object->date_ech = $dateech;
203 $object->periode = $dateperiod;
204 $object->period = $dateperiod;
205 $object->amount = $amount;
206 $object->fk_user = $fk_user;
207 $object->mode_reglement_id = (int)
GETPOST(
'mode_reglement_id',
'int');
208 $object->fk_account = (int)
GETPOST(
'fk_account',
'int');
209 $object->fk_project = (int)
GETPOST(
'fk_project',
'int');
211 $id = $object->create($user);
220 if ($action ==
'update' && !$cancel && $permissiontoadd) {
224 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
226 } elseif (!$dateperiod) {
227 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
229 } elseif (empty($amount)) {
230 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
232 } elseif (!is_numeric($amount)) {
233 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
236 $result = $object->fetch($id);
238 $object->date_ech = $dateech;
239 $object->periode = $dateperiod;
240 $object->period = $dateperiod;
241 $object->amount = $amount;
242 $object->fk_user = $fk_user;
244 $result = $object->update($user);
252 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
256 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $permissiontoadd) {
259 $originalId = $object->id;
261 if ($object->id > 0) {
262 $object->id = $object->ref =
null;
264 if (
GETPOST(
'amount',
'alphanohtml')) {
268 if (
GETPOST(
'clone_label',
'alphanohtml')) {
269 $object->label =
GETPOST(
'clone_label',
'alphanohtml');
271 $object->label = $langs->trans(
"CopyOf").
' '.$object->label;
274 if (
GETPOST(
'clone_for_next_month',
'int')) {
282 if ($newdateperiod) {
283 $object->periode = $newdateperiod;
284 $object->period = $newdateperiod;
285 if (empty($newdateech)) {
286 $object->date_ech = $object->periode;
290 $object->date_ech = $newdateech;
291 if (empty($newdateperiod)) {
294 $object->periode = $object->date_ech;
295 $object->period = $object->date_ech;
300 $resultcheck = $object->check();
302 $id = $object->create($user);
307 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
323 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
331$form =
new Form($db);
334$bankaccountstatic =
new Account($db);
335if (isModEnabled(
'project')) {
341$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
342$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
347if ($action ==
'create') {
350 print
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
351 print
'<input type="hidden" name="token" value="'.newToken().
'">';
352 print
'<input type="hidden" name="action" value="add">';
356 print
'<table class="border centpercent tableforfieldcreate">';
360 print
'<td class="titlefieldcreate fieldrequired">';
361 print $langs->trans(
"Label");
363 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
368 print
'<td class="fieldrequired">';
369 print $langs->trans(
"Type");
372 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
"actioncode",
'alpha') ?
GETPOST(
"actioncode",
'alpha') :
'',
'actioncode', 1);
378 print
'<td class="fieldrequired">';
379 print $langs->trans(
"Date");
382 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
388 print
'<td class="fieldrequired">';
389 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
392 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
398 print
'<td class="fieldrequired">';
399 print $langs->trans(
"Amount");
401 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
406 print $langs->trans(
'Employee');
408 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
411 if (isModEnabled(
'project')) {
415 $langs->load(
"projects");
417 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
419 print
img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
425 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
426 $form->select_types_paiements(
GETPOST(
'mode_reglement_id',
'int'),
'mode_reglement_id');
430 if (isModEnabled(
"banque")) {
431 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
432 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOST(
'fk_account',
'int'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
440 print
'<div class="center">';
441 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
442 print
' ';
443 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
456 $totalpaid = $object->getSommePaiement();
459 if ($action ===
'clone') {
460 $formquestion = array(
461 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.$object->label,
'tdclass'=>
'fieldrequired'),
464 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
466 $formquestion[] = array(
'type' =>
'date',
'datenow'=>1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
467 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
468 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price($object->amount),
'morecss' =>
'width100');
471 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax', $object->ref),
'confirm_clone', $formquestion,
'yes', 1, 280);
475 if ($action ==
'paid') {
476 $text = $langs->trans(
'ConfirmPaySocialContribution');
477 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
481 if ($action ==
'delete') {
482 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
483 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
486 if ($action ==
'edit') {
487 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'" method="POST">';
488 print
'<input type="hidden" name="token" value="'.newToken().
'">';
489 print
'<input type="hidden" name="action" value="update">';
492 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
493 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, $object, $action);
494 if (empty($reshook)) {
495 $formconfirm .= $hookmanager->resPrint;
496 } elseif ($reshook > 0) {
497 $formconfirm = $hookmanager->resPrint;
503 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
'bill', 0,
'',
'', 0,
'', 1);
510 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
512 $morehtmlref =
'<div class="refidno">';
514 $morehtmlref .= $form->editfieldkey(
"Label",
'lib', $object->label, $object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
515 $morehtmlref .= $form->editfieldval(
"Label",
'lib', $object->label, $object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
518 if ($action !=
'editfk_user') {
519 if ($object->getSommePaiement() > 0 && $object->fk_user > 0) {
520 $userstatic =
new User($db);
521 $result = $userstatic->fetch($object->fk_user);
523 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
526 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user', $object->label, $object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
527 if ($object->fk_user > 0) {
528 $userstatic =
new User($db);
529 $result = $userstatic->fetch($object->fk_user);
531 $morehtmlref .= $userstatic->getNomUrl(1);
539 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
540 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'">';
541 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
542 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
543 $morehtmlref .= $form->select_dolusers($object->fk_user,
'userid', 1);
544 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
545 $morehtmlref .=
'</form>';
549 if (isModEnabled(
'project')) {
550 $langs->load(
"projects");
551 $morehtmlref .=
'<br>';
552 if ($permissiontoadd) {
553 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
554 if ($action !=
'classify') {
555 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.newToken().
'&id='.((int) $object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
557 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.$object->id, (!
getDolGlobalString(
'PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), $object->fk_project, ($action ==
'classify' ?
'fk_project' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
559 if (!empty($object->fk_project)) {
561 $proj->fetch($object->fk_project);
562 $morehtmlref .= $proj->getNomUrl(1);
564 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
569 $morehtmlref .=
'</div>';
573 $object->totalpaid = $totalpaid;
575 dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'', $morehtmlright);
577 print
'<div class="fichecenter">';
578 print
'<div class="fichehalfleft">';
579 print
'<div class="underbanner clearboth"></div>';
581 print
'<table class="border centpercent tableforfield">';
584 print
'<tr><td class="titlefield">';
585 print $langs->trans(
"Type").
"</td><td>".$object->type_label.
"</td>";
589 if ($action ==
'edit') {
590 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
591 print $form->selectDate($object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
594 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date($object->date_ech,
'day').
"</td></tr>";
598 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
600 if ($action ==
'edit') {
601 print $form->selectDate($object->periode,
'period', 0, 0, 0,
'charge', 1);
608 if ($action ==
'edit') {
609 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
610 print
'<input type="text" name="amount" size="12" class="flat" value="'.price($object->amount).
'">';
613 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price($object->amount, 0, $langs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
618 print
'<table class="nobordernopadding" width="100%"><tr><td>';
619 print $langs->trans(
'DefaultPaymentMode');
621 if ($action !=
'editmode') {
622 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>';
624 print
'</tr></table>';
626 if ($action ==
'editmode') {
627 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
629 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->mode_reglement_id,
'none');
634 if (isModEnabled(
"banque")) {
635 print
'<tr><td class="nowrap">';
636 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
637 print $langs->trans(
'DefaultBankAccount');
639 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
640 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>';
642 print
'</tr></table>';
644 if ($action ==
'editbankaccount') {
645 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->fk_account,
'fk_account', 1);
647 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->fk_account,
'none');
654 $parameters = array();
655 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $object, $action);
656 print $hookmanager->resPrint;
661 print
'<div class="fichehalfright">';
663 print
'<div class="underbanner clearboth"></div>';
666 if (isModEnabled(
"banque")) {
673 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
674 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
675 $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';
676 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
677 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
678 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
679 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
680 $sql .=
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
681 $sql .=
" WHERE p.fk_charge = ".((int) $id);
682 $sql .=
" AND p.fk_charge = cs.rowid";
683 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
684 $sql .=
" ORDER BY dp DESC";
687 $resql = $db->query($sql);
691 $num = $db->num_rows($resql);
695 print
'<div class="div-table-responsive-no-min">';
696 print
'<table class="noborder paymenttable">';
697 print
'<tr class="liste_titre">';
698 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
699 print
'<td>'.$langs->trans(
"Date").
'</td>';
700 print
'<td>'.$langs->trans(
"Type").
'</td>';
701 if (isModEnabled(
"banque")) {
702 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
704 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
711 $objp = $db->fetch_object($resql);
713 $paymentsocialcontributiontmp->id = $objp->rowid;
714 $paymentsocialcontributiontmp->ref = $objp->rowid;
715 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
717 print
'<tr class="oddeven"><td>';
718 print $paymentsocialcontributiontmp->getNomUrl(1);
721 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
722 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
723 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
724 if (isModEnabled(
"banque")) {
725 $bankaccountstatic->id = $objp->baid;
726 $bankaccountstatic->ref = $objp->baref;
727 $bankaccountstatic->label = $objp->baref;
728 $bankaccountstatic->number = $objp->banumber;
729 $bankaccountstatic->currency_code = $objp->bacurrency_code;
731 if (isModEnabled(
'accounting')) {
732 $bankaccountstatic->account_number = $objp->account_number;
735 $accountingjournal->fetch($objp->fk_accountancy_journal);
736 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
739 print
'<td class="right">';
740 if ($bankaccountstatic->id) {
741 print $bankaccountstatic->getNomUrl(1,
'transactions');
745 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
747 $totalpaid += $objp->amount;
751 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
752 print
'<td></td><td></td><td></td><td></td>';
756 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
757 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price($object->amount).
"</td></tr>\n";
759 $resteapayer = $object->amount - $totalpaid;
760 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
762 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
763 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
776 print
'<div class="clearboth"></div>';
780 if ($action ==
'edit') {
781 print $form->buttonsSaveCancel();
790 if ($action !=
'edit') {
791 print
'<div class="tabsAction">'.
"\n";
794 if ($object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
795 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$object->id.
'&action=reopen&token='.newToken().
'">'.$langs->trans(
"ReOpen").
'</a></div>';
799 if ($object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
800 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$object->id.
'&action=edit&token='.newToken().
'">'.$langs->trans(
"Modify").
'</a></div>';
804 if ($object->paye == 0 && ((
price2num($object->amount) < 0 &&
price2num($resteapayer,
'MT') < 0) || (
price2num($object->amount) > 0 &&
price2num($resteapayer,
'MT') > 0)) && $user->hasRight(
'tax',
'charges',
'creer')) {
805 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/paiement_charge.php?id='.$object->id.
'&action=create&token='.newToken().
'">'.$langs->trans(
"DoPayment").
"</a></div>";
809 if ($object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
810 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$object->id.
'&action=paid&token='.newToken().
'">'.$langs->trans(
"ClassifyPaid").
'</a></div>';
814 if ($user->hasRight(
'tax',
'charges',
'creer')) {
815 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$object->id.
'&action=clone&token='.newToken().
'">'.$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="'.DOL_URL_ROOT.
'/compta/sociales/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.
'/'.$objref;
845 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".$object->id;
848 $delallowed = $user->rights->tax->charges->creer;
849 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
857 print
'</div><div class="fichehalfright">';
870 print
'</div></div>';
874 if (
GETPOST(
'modelselected')) {
880 $defaulttopic =
'InformationMessage';
881 $diroutput = $conf->tax->dir_output;
882 $trackid =
'sc'.$object->id;
884 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage bank accounts.
Class to manage accounting journals.
Classe permettant la gestion des paiements des charges La tva collectee n'est calculee que sur les fa...
Class to manage payments of social contributions.
Class to manage projects.
Class to manage Dolibarr users.
dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforendofmonth=0)
Add a delay to a date.
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
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_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
dol_now($mode='auto')
Return date for now.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier 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.
tax_prepare_head(ChargeSociales $object)
Prepare array with list of tabs.