35require
'../../main.inc.php';
44require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/tva.class.php';
45require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/paymentvat.class.php';
46require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
47require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/paymentsocialcontribution.class.php';
48require_once DOL_DOCUMENT_ROOT.
'/salaries/class/salary.class.php';
49require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
50require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
53$hookmanager->initHooks(array(
'specialexpensesindex'));
56$langs->loadLangs(array(
'compta',
'bills'));
60 $socid = $user->socid;
62$result =
restrictedArea($user,
'tax|salaries',
'',
'',
'charges|');
64$mode =
GETPOST(
"mode",
'alpha');
66$filtre =
GETPOST(
"filtre",
'alpha');
68 $year =
date(
"Y", time());
70$optioncss =
GETPOST(
'optioncss',
'aZ');
73$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
74$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
76if (empty($page) || $page == -1) {
79$offset = $limit * $page;
83 $sortfield =
"cs.date_ech";
101llxHeader(
'', $langs->trans(
"SpecialExpensesArea"));
103$title = $langs->trans(
"SpecialExpensesArea");
106if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
107 $param .=
'&contextpage='.$contextpage;
109if ($limit > 0 && $limit !=
$conf->liste_limit) {
110 $param .=
'&limit='.$limit;
113 $param .=
'&sortfield='.$sortfield;
116 $param .=
'&sortorder='.$sortorder;
122print
'<form method="POST" action="'.dolBuildUrl($_SERVER[
"PHP_SELF"]).
'">';
123if ($optioncss !=
'') {
124 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
126print
'<input type="hidden" name="token" value="'.newToken().
'">';
127print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
128print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
129print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
130print
'<input type="hidden" name="page" value="'.$page.
'">';
131print
'<input type="hidden" name="mode" value="'.$mode.
'">';
133$nav = ($year ?
'<a href="index.php?year='.($year - 1).$param.
'">'.
img_previous($langs->trans(
"Previous"),
'class="valignbottom"').
"</a> ".$langs->trans(
"Year").
' '.$year.
' <a href="index.php?year='.($year + 1).$param.
'">'.
img_next($langs->trans(
"Next"),
'class="valignbottom"').
"</a>" :
"");
135print_barre_liste($title, $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num, $totalnboflines,
'object_payment', 0, $nav,
'', $limit, 1);
138 $param .=
'&year='.$year;
141print
'<span class="opacitymedium">'.$langs->trans(
"DescTaxAndDividendsArea").
'</span><br>';
144if (
isModEnabled(
'tax') && $user->hasRight(
'tax',
'charges',
'lire')) {
145 $sql =
"SELECT c.id, c.libelle as type_label,";
146 $sql .=
" cs.rowid, cs.libelle as label, cs.fk_type as type, cs.periode as period, cs.date_ech, cs.amount as total,";
147 $sql .=
" pc.rowid as pid, pc.datep, pc.amount as totalpaid, pc.num_paiement as num_payment, pc.fk_bank,";
148 $sql .=
" pct.code as payment_code,";
149 $sql .=
" ba.rowid as bid, ba.ref as bref, ba.number as bnumber, ba.account_number, ba.fk_accountancy_journal, ba.label as blabel";
150 $sql .=
" FROM ".MAIN_DB_PREFIX.
"c_chargesociales as c,";
151 $sql .=
" ".MAIN_DB_PREFIX.
"chargesociales as cs";
152 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"paiementcharge as pc ON pc.fk_charge = cs.rowid";
153 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as pct ON pc.fk_typepaiement = pct.id";
154 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank as b ON pc.fk_bank = b.rowid";
155 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank_account as ba ON b.fk_account = ba.rowid";
156 $sql .=
" WHERE cs.fk_type = c.id";
157 $sql .=
" AND cs.entity IN (".getEntity(
"tax").
")";
166 if (preg_match(
'/^(cs?|pct?)\./', (
string) $sortfield)) {
167 $sql .=
$db->order((
string) $sortfield, (
string) $sortorder);
172 dol_syslog(
"compta/charges/index.php: select payment", LOG_DEBUG);
173 $resql =
$db->query($sql);
175 $num =
$db->num_rows($resql);
179 print
load_fiche_titre($langs->trans(
"SocialContributions").($year ?
' ('.$langs->trans(
"Year").
' '.$year.
')' :
''),
'',
'');
181 print
'<table class="noborder centpercent">';
182 print
'<tr class="liste_titre">';
183 print_liste_field_titre(
"PeriodEndDate", $_SERVER[
"PHP_SELF"],
"cs.date_ech",
"", $param,
'width="120"', $sortfield, $sortorder,
'nowraponall ');
186 print_liste_field_titre(
"ExpectedToPay", $_SERVER[
"PHP_SELF"],
"cs.amount",
"", $param,
'class="right"', $sortfield, $sortorder);
187 print_liste_field_titre(
"RefPayment", $_SERVER[
"PHP_SELF"],
"pc.rowid",
"", $param,
'', $sortfield, $sortorder);
188 print_liste_field_titre(
"DatePayment", $_SERVER[
"PHP_SELF"],
"pc.datep",
"", $param,
'align="center"', $sortfield, $sortorder);
189 print_liste_field_titre(
"PaymentMode", $_SERVER[
"PHP_SELF"],
"pct.code",
"", $param,
'', $sortfield, $sortorder);
191 print_liste_field_titre(
"BankAccount", $_SERVER[
"PHP_SELF"],
"ba.label",
"", $param,
"", $sortfield, $sortorder);
193 print_liste_field_titre(
"PayedByThisPayment", $_SERVER[
"PHP_SELF"],
"pc.amount",
"", $param,
'class="right"', $sortfield, $sortorder);
203 while ($i < $imaxinloop) {
204 $obj =
$db->fetch_object($resql);
206 print
'<tr class="oddeven">';
208 $date = $obj->period;
210 $date = $obj->date_ech;
212 print
'<td>'.dol_print_date($date,
'day').
'</td>';
215 $socialcontrib->id = $obj->rowid;
216 $socialcontrib->ref = $obj->label;
217 $socialcontrib->label = $obj->label;
218 print $socialcontrib->getNomUrl(1,
'20');
221 print
'<td class="tdoverflowmax200"><a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?filtre=cs.fk_type:'.$obj->type.
'">'.$obj->type_label.
'</a></td>';
223 print
'<td class="right"><span class="amount">'.price($obj->total).
'</span></td>';
225 $payment_sc_static->id = $obj->pid;
226 $payment_sc_static->ref = $obj->pid;
227 print
'<td>'.$payment_sc_static->getNomUrl(1).
"</td>\n";
229 print
'<td class="center">'.dol_print_date(
$db->jdate($obj->datep),
'day').
'</td>';
233 if ($obj->payment_code) {
234 $s .= $langs->trans(
"PaymentTypeShort".$obj->payment_code).
' ';
236 $s .= $obj->num_payment;
237 print
'<td class="tdoverflowmax125" title="'.dolPrintHTMLForAttribute($s).
'">';
244 if ($obj->fk_bank > 0) {
246 $accountstatic->id = $obj->bid;
247 $accountstatic->ref = $obj->bref;
248 $accountstatic->number = $obj->bnumber;
249 $accountstatic->account_number = $obj->account_number;
250 $accountstatic->fk_accountancy_journal = $obj->fk_accountancy_journal;
251 $accountstatic->label = $obj->blabel;
253 print $accountstatic->getNomUrl(1);
260 print
'<td class="right">';
261 if ($obj->totalpaid) {
262 print
price($obj->totalpaid);
267 $total += $obj->total;
268 $totalpaid += $obj->totalpaid;
271 print
'<tr class="liste_total">';
273 print
'<td colspan="3" class="liste_total">'.$langs->trans(
"Total").
'</td>';
277 print
'<td class="liste_total right"></td>';
279 print
'<td class="liste_total center"> </td>';
280 print
'<td class="liste_total center"> </td>';
281 print
'<td class="liste_total center"> </td>';
283 print
'<td class="liste_total center"></td>';
285 print
'<td class="liste_total right">'.price($totalpaid).
"</td>";
295if (
isModEnabled(
'tax') && $user->hasRight(
'tax',
'charges',
'lire')) {
296 $sql =
"SELECT ptva.rowid, pv.rowid as id_tva, pv.amount as amount_tva, ptva.amount, pv.label, pv.datev as dm, ptva.datep as date_payment, ptva.fk_bank, ptva.num_paiement as num_payment,";
297 $sql .=
" pct.code as payment_code,";
298 $sql .=
" ba.rowid as bid, ba.ref as bref, ba.number as bnumber, ba.account_number, ba.fk_accountancy_journal, ba.label as blabel";
299 $sql .=
" FROM ".MAIN_DB_PREFIX.
"tva as pv";
300 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"payment_vat as ptva ON ptva.fk_tva = pv.rowid";
301 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank as b ON (ptva.fk_bank = b.rowid)";
302 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank_account as ba ON b.fk_account = ba.rowid";
303 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as pct ON ptva.fk_typepaiement = pct.id";
304 $sql .=
" WHERE pv.entity IN (".getEntity(
"tax").
")";
310 if (preg_match(
'/^(pv|ptva)\./', (
string) $sortfield)) {
311 $sql .=
$db->order((
string) $sortfield, (
string) $sortorder);
314 $result =
$db->query($sql);
316 $num =
$db->num_rows($result);
324 $labeltax = $langs->transcountry(
"VAT",
$mysoc->country_code);
326 print
load_fiche_titre($labeltax.($year ?
' ('.$langs->trans(
"Year").
' '.$year.
')' :
''),
'',
'');
328 print
'<table class="noborder centpercent">';
329 print
'<tr class="liste_titre">';
330 print_liste_field_titre(
"PeriodEndDate", $_SERVER[
"PHP_SELF"],
"pv.datev",
"", $param,
'width="120"', $sortfield, $sortorder,
'nowraponall ');
332 print_liste_field_titre(
"ExpectedToPay", $_SERVER[
"PHP_SELF"],
"pv.amount",
"", $param,
'', $sortfield, $sortorder,
'right ');
333 print_liste_field_titre(
"RefPayment", $_SERVER[
"PHP_SELF"],
"ptva.rowid",
"", $param,
'', $sortfield, $sortorder);
334 print_liste_field_titre(
"DatePayment", $_SERVER[
"PHP_SELF"],
"ptva.datep",
"", $param,
'', $sortfield, $sortorder,
'center ');
335 print_liste_field_titre(
"PaymentMode", $_SERVER[
"PHP_SELF"],
"pct.code",
"", $param,
'', $sortfield, $sortorder);
337 print_liste_field_titre(
"BankAccount", $_SERVER[
"PHP_SELF"],
"ba.label",
"", $param,
"", $sortfield, $sortorder);
339 print_liste_field_titre(
"PayedByThisPayment", $_SERVER[
"PHP_SELF"],
"ptva.amount",
"", $param,
'', $sortfield, $sortorder,
'right ');
345 while ($i < $imaxinloop) {
346 $obj =
$db->fetch_object($result);
348 $totaltopay += $obj->amount_tva;
349 $total += $obj->amount;
351 print
'<tr class="oddeven">';
353 print
'<td class="left">'.dol_print_date(
$db->jdate($obj->dm),
'day').
'</td>'.
"\n";
355 $tva_static->id = $obj->id_tva;
356 $tva_static->ref = $obj->label;
357 print
"<td>".$tva_static->getNomUrl(1).
"</td>\n";
359 print
'<td class="right"><span class="amount">'.price($obj->amount_tva).
"</span></td>";
362 $ptva_static->id = $obj->rowid;
363 $ptva_static->ref = $obj->rowid;
364 print
'<td>'.$ptva_static->getNomUrl(1).
"</td>\n";
367 print
'<td class="center">'.dol_print_date(
$db->jdate($obj->date_payment),
'day').
"</td>\n";
371 if ($obj->payment_code) {
372 $s .= $langs->trans(
"PaymentTypeShort".$obj->payment_code).
' ';
374 $s .= $obj->num_payment;
375 print
'<td class="tdoverflowmax125" title="'.dolPrintHTMLForAttribute($s).
'">';
382 if ($obj->fk_bank > 0) {
384 $accountstatic->id = $obj->bid;
385 $accountstatic->ref = $obj->bref;
386 $accountstatic->number = $obj->bnumber;
387 $accountstatic->account_number = $obj->account_number;
388 $accountstatic->fk_accountancy_journal = $obj->fk_accountancy_journal;
389 $accountstatic->label = $obj->blabel;
391 print $accountstatic->getNomUrl(1);
399 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>";
406 print
'<tr class="liste_total">';
408 print
'<td class="liste_total" colspan="2">'.$langs->trans(
"Total").
'</td>';
412 print
'<td class="liste_total"> </td>';
414 print
'<td class="liste_total"></td>';
415 print
'<td class="liste_total"></td>';
416 print
'<td class="liste_total"></td>';
419 print
'<td class="liste_total"></td>';
422 print
'<td class="liste_total right">'.price($total).
"</td>";
435if (
$mysoc->localtax1_assuj ==
"1" &&
$mysoc->localtax2_assuj ==
"1") {
438} elseif (
$mysoc->localtax1_assuj ==
"1") {
441} elseif (
$mysoc->localtax2_assuj ==
"1") {
452 $labeltax = $langs->transcountry(($j == 1 ?
"LT1" :
"LT2"),
$mysoc->country_code);
454 print
load_fiche_titre($labeltax.($year ?
' ('.$langs->trans(
"Year").
' '.$year.
')' :
''),
'',
'');
457 $sql =
"SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm, pv.datep as dp";
458 $sql .=
" FROM ".MAIN_DB_PREFIX.
"localtax as pv";
459 $sql .=
" WHERE pv.entity = ".$conf->entity.
" AND localtaxtype = ".((int) $j);
465 if (preg_match(
'/^pv/', (
string) $sortfield)) {
466 $sql .=
$db->order((
string) $sortfield, (
string) $sortorder);
469 $result =
$db->query($sql);
471 $num =
$db->num_rows($result);
475 print
'<div class="div-table-responsive-no-min">';
476 print
'<table class="noborder centpercent">';
477 print
'<tr class="liste_titre">';
478 print_liste_field_titre(
"PeriodEndDate", $_SERVER[
"PHP_SELF"],
"pv.datev",
"", $param,
'width="120"', $sortfield, $sortorder);
480 print_liste_field_titre(
"ExpectedToPay", $_SERVER[
"PHP_SELF"],
"pv.amount",
"", $param,
'class="right"', $sortfield, $sortorder);
481 print_liste_field_titre(
"RefPayment", $_SERVER[
"PHP_SELF"],
"pv.rowid",
"", $param,
'', $sortfield, $sortorder);
482 print_liste_field_titre(
"DatePayment", $_SERVER[
"PHP_SELF"],
"pv.datep",
"", $param,
'align="center"', $sortfield, $sortorder);
483 print_liste_field_titre(
"PayedByThisPayment", $_SERVER[
"PHP_SELF"],
"pv.amount",
"", $param,
'class="right"', $sortfield, $sortorder);
487 $obj =
$db->fetch_object($result);
489 $total += $obj->amount;
491 print
'<tr class="oddeven">';
492 print
'<td class="left">'.dol_print_date(
$db->jdate($obj->dm),
'day').
'</td>'.
"\n";
494 print
"<td>".$obj->label.
"</td>\n";
496 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>";
499 $ptva_static->id = $obj->rowid;
500 $ptva_static->ref = $obj->rowid;
501 print
'<td class="left">'.$ptva_static->getNomUrl(1).
"</td>\n";
503 print
'<td class="center">'.dol_print_date(
$db->jdate($obj->dp),
'day').
"</td>\n";
504 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>";
509 print
'<tr class="liste_total"><td colspan="2">'.$langs->trans(
"Total").
'</td>';
510 print
'<td class="right">'.price($total).
"</td>";
511 print
'<td align="center"> </td>';
512 print
'<td align="center"> </td>';
513 print
'<td class="right">'.price($total).
"</td>";
529$parameters = array(
'user' => $user);
530$reshook = $hookmanager->executeHooks(
'dashboardSpecialBills', $parameters, $object);
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
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 for managing the social charges.
Class to manage payments of social contributions.
Class to manage payments of social contributions.
Class to manage salary payments.
Class to manage VAT - Value-added tax (also known in French as TVA)
dol_get_first_day($year, $month=1, $gm=false)
Return GMT time for first day of a month or year.
dol_get_last_day($year, $month=12, $gm=false)
Return GMT time for last day of a month or year.
print_liste_field_titre($name, $file="", $field="", $begin="", $param="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
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.
img_previous($titlealt='default', $moreatt='')
Show previous logo.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
img_next($titlealt='default', $moreatt='')
Show next logo.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
isModEnabled($module)
Is Dolibarr module enabled.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
print $langs trans("Show") . '< td style="' . $timeColor . '" align="center"> s</td > badge status0 badge status4 badge status3 Error badge status8< td align="center">< span class="badge ' . $badge . '"></span ></td >< td align="center">< a href="#" class="button button-small" onclick="openLogModal(this)" data-req="' . dol_escape_htmltag($reqSafe) . '" data-res="' . dol_escape_htmltag($resSafe) . '" data-err="' . dol_escape_htmltag($errSafe) . '">< span class="fa fa-search-plus"></span ></a ></td ></tr >< tr >< td colspan="' . $colspan . '" class="opacitymedium"></td ></tr ></table ></div ></form > logModal none logModal none s a JSON string
buildzip.php
print $langs trans('Date')." left Ref Label right Qty right Price right TotalHT right TotalTTC right right right right right right right right right centpercent right TotalHT right n right VAT right n right TotalVAT right n No sujeto a RE IRPF right TotalLT1 right n right TotalLT2 right n right TotalTTC right n takeposcustomercurrency takeposcustomercurrency takeposcustomercurrency takeposcustomercurrency right TotalTTC takeposcustomercurrency right takeposcustomercurrency n right Paid right PaymentTypeShortLIQ right SELECT p pos_change as p datep as date
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.