65 print
"Error, template page can't be called as URL";
70@phan-var-force PropaleLigne|ContratLigne|CommonObjectLine|CommonInvoiceLine|CommonOrderLine|ExpeditionLigne|DeliveryLine|FactureFournisseurLigneRec|SupplierInvoiceLine|SupplierProposalLine $line
71@phan-var-force CommonObject $this
72@phan-var-force Propal|Contrat|Commande|Facture|Expedition|Delivery|FactureFournisseur|FactureFournisseur|SupplierProposal $object
73@phan-var-force 0|1 $forceall
74@phan-var-force int $num
75@phan-var-force ?Product $product_static
76@phan-var-force string $text
77@phan-var-force string $description
81global $forceall, $senderissupplier, $inputalsopricewithtax, $outputalsopricetotalwithtax;
84if (isModEnabled(
'margin') && !empty(
$object->element) && in_array(
$object->element, array(
'facture',
'facturerec',
'propal',
'commande'))) {
88if (empty($dateSelector)) {
91if (empty($forceall)) {
94if (empty($senderissupplier)) {
95 $senderissupplier = 0;
97if (empty($inputalsopricewithtax)) {
98 $inputalsopricewithtax = 0;
100if (empty($outputalsopricetotalwithtax)) {
101 $outputalsopricetotalwithtax = 0;
105$domData =
' data-element="'.$line->element.
'"';
106$domData .=
' data-id="'.$line->id.
'"';
107$domData .=
' data-qty="'.$line->qty.
'"';
108$domData .=
' data-product_type="'.$line->product_type.
'"';
111if (
getDolGlobalString(
'INVOICE_POSITIVE_CREDIT_NOTE_SCREEN') && in_array(
$object->element, array(
'facture',
'invoice_supplier'))) {
114 if (
$object->type == $object::TYPE_CREDIT_NOTE) {
122<!-- BEGIN PHP TEMPLATE objectline_view.tpl.php -->
123<tr
id=
"row-<?php print $line->id?>" class=
"drag drop oddeven" <?php print $domData; ?> >
125 <td
class=
"linecolnum center"><span
class=
"opacitymedium"><?php $coldisplay++; ?><?php print($i + 1); ?></span></td>
127 <td
class=
"linecoldescription minwidth300imp"><?php $coldisplay++; ?><div
id=
"line_<?php print $line->id; ?>"></div>
129if (($line->info_bits & 2) == 2) {
130 print
'<a href="'.DOL_URL_ROOT.
'/comm/remx.php?id='.$this->socid.
'">';
132 print
img_object($langs->trans(
"ShowReduc"),
'reduc').
' ';
133 if ($line->description ==
'(DEPOSIT)') {
134 $txt = $langs->trans(
"Deposit");
135 } elseif ($line->description ==
'(EXCESS RECEIVED)') {
136 $txt = $langs->trans(
"ExcessReceived");
137 } elseif ($line->description ==
'(EXCESS PAID)') {
138 $txt = $langs->trans(
"ExcessPaid");
143 if ($line->description) {
144 if ($line->description ==
'(CREDIT_NOTE)' && $line->fk_remise_except > 0) {
145 include_once DOL_DOCUMENT_ROOT.
'/core/class/discount.class.php';
147 $discount->fetch($line->fk_remise_except);
148 print($txt ?
' - ' :
'').$langs->transnoentities(
"DiscountFromCreditNote", $discount->getNomUrl(0));
149 } elseif ($line->description ==
'(DEPOSIT)' && $line->fk_remise_except > 0) {
150 include_once DOL_DOCUMENT_ROOT.
'/core/class/discount.class.php';
152 $discount->fetch($line->fk_remise_except);
153 print($txt ?
' - ' :
'').$langs->transnoentities(
"DiscountFromDeposit", $discount->getNomUrl(0));
156 print
' ('.dol_print_date($discount->datec).
')';
158 } elseif ($line->description ==
'(EXCESS RECEIVED)' && $objp->fk_remise_except > 0) {
159 include_once DOL_DOCUMENT_ROOT.
'/core/class/discount.class.php';
161 $discount->fetch($line->fk_remise_except);
162 print($txt ?
' - ' :
'').$langs->transnoentities(
"DiscountFromExcessReceived", $discount->getNomUrl(0));
163 } elseif ($line->description ==
'(EXCESS PAID)' && $objp->fk_remise_except > 0) {
164 include_once DOL_DOCUMENT_ROOT.
'/core/class/discount.class.php';
166 $discount->fetch($line->fk_remise_except);
167 print($txt ?
' - ' :
'').$langs->transnoentities(
"DiscountFromExcessPaid", $discount->getNomUrl(0));
175 if ($line->fk_product > 0) {
177 print (!empty($line->fk_parent_line) ?
img_picto(
'',
'rightarrow') :
'') . $text;
179 print $form->textwithpicto(
'', $description);
182 print $form->textwithtooltip($text, $description, 3, 0,
'', $i, 0, (!empty($line->fk_parent_line) ?
img_picto(
'',
'rightarrow') :
''));
185 $type = (!empty($line->product_type) ? $line->product_type : $line->fk_product_type);
187 $text =
img_object($langs->trans(
'Service'),
'service');
189 $text =
img_object($langs->trans(
'Product'),
'product');
192 if (!empty($line->label)) {
193 $text .=
' <strong>'.$line->label.
'</strong>';
194 print $form->textwithtooltip($text,
dol_htmlentitiesbr($line->description), 3, 0,
'', $i, 0, (!empty($line->fk_parent_line) ?
img_picto(
'',
'rightarrow') :
''));
196 if (!empty($line->fk_parent_line)) {
199 if (preg_match(
'/^\(DEPOSIT\)/', $line->description)) {
200 $newdesc = preg_replace(
'/^\(DEPOSIT\)/', $langs->trans(
"Deposit"), $line->description);
209 if ($line->element ==
'facturedetrec' || $line->element ==
'invoice_supplier_det_rec') {
211 $line->date_start_fill = $line->date_start;
212 $line->date_end_fill = $line->date_end;
214 if ($line->date_start_fill || $line->date_end_fill) {
215 print
'<div class="clearboth nowraponall daterangeofline-facturedetrec">';
217 if ($line->date_start_fill) {
218 print
'<span class="opacitymedium" title="'.dol_escape_htmltag($langs->trans(
"AutoFillDateFrom")).
'">'.$langs->trans(
'AutoFillDateFromShort').
':</span> '.
yn($line->date_start_fill);
220 if ($line->date_start_fill && $line->date_end_fill) {
223 if ($line->date_end_fill) {
224 print
'<span class="opacitymedium" title="'.dol_escape_htmltag($langs->trans(
"AutoFillDateTo")).
'">'.$langs->trans(
'AutoFillDateToShort').
':</span> '.
yn($line->date_end_fill);
226 if ($line->date_start_fill || $line->date_end_fill) {
230 if ($line->date_start || $line->date_end) {
231 print
'<div class="clearboth nowraponall opacitymedium daterangeofline">'.get_date_range($line->date_start, $line->date_end, $format).
'</div>';
234 if (!$line->date_start || !$line->date_end) {
237 if (
$object->element ==
'propal' ||
$object->element ==
'order' ||
$object->element ==
'facture' ||
$object->element ==
'propal_supplier' ||
$object->element ==
'supplier_proposal' ||
$object->element ==
'commande') {
238 $res = $line->fetch_product();
240 if ($line->product->isService() && $line->product->isMandatoryPeriod()) {
241 print
'<div><span class="clearboth nowraponall warning">'.$langs->trans(
"mandatoryPeriodNeedTobeSet").
'</span></div>';
248 if (basename($_SERVER[
"PHP_SELF"]) ==
'card-rec.php') {
249 $default_start_fill =
getDolGlobalInt(
'INVOICEREC_SET_AUTOFILL_DATE_START');
250 $default_end_fill =
getDolGlobalInt(
'INVOICEREC_SET_AUTOFILL_DATE_END');
251 print
'<div class="clearboth nowraponall daterangeofline-facturedetrec">';
252 print
'<span class="opacitymedium" title="'.dol_escape_htmltag($langs->trans(
"AutoFillDateFrom")).
'">'.$langs->trans(
'AutoFillDateFromShort').
':</span> '.
yn($default_start_fill);
254 print
'<span class="opacitymedium" title="'.dol_escape_htmltag($langs->trans(
"AutoFillDateTo")).
'">'.$langs->trans(
'AutoFillDateToShort').
':</span> '.
yn($default_end_fill);
260 if ($line->fk_product > 0 &&
getDolGlobalInt(
'PRODUIT_DESC_IN_FORM_ACCORDING_TO_DEVICE')) {
261 if ($line->element ==
'facturedetrec') {
262 print (!empty($line->description) && $line->description != $line->product_label) ? (($line->date_start_fill || $line->date_end_fill) ?
'' :
'<br>').
'<br>'.
dol_htmlentitiesbr($line->
description) :
'';
263 } elseif ($line->element ==
'invoice_supplier_det_rec') {
264 print (!empty($line->description) && $line->description != $line->label) ? (($line->date_start || $line->date_end) ?
'' :
'<br>').
'<br>'.
dol_htmlentitiesbr($line->
description) :
'';
266 print (!empty($line->description) && $line->description != $line->product_label) ? (($line->date_start || $line->date_end) ?
'' :
'<br>').
'<br>'.
dol_htmlentitiesbr($line->
description) :
'';
271 if (!empty($extrafields)) {
272 $temps = $line->showOptionals($extrafields,
'view', array(),
'',
'', 1,
'line');
273 if (!empty($temps)) {
274 print
'<div style="padding-top: 10px" id="extrafield_lines_area_'.$line->id.
'" name="extrafield_lines_area_'.$line->id.
'">';
281if ($user->hasRight(
'fournisseur',
'lire') && isset($line->fk_fournprice) && $line->fk_fournprice > 0 && !
getDolGlobalString(
'SUPPLIER_HIDE_SUPPLIER_OBJECTLINES')) {
282 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.product.class.php';
284 $productfourn->fetch_product_fournisseur_price($line->fk_fournprice);
285 print
'<div class="clearboth"></div>';
286 print
'<span class="opacitymedium">'.$langs->trans(
'Supplier').
' : </span>'.$productfourn->getSocNomUrl(1,
'supplier').
' - <span class="opacitymedium">'.$langs->trans(
'Ref').
' : </span>';
288 if ($user->hasRight(
'produit',
'creer') || $user->hasRight(
'service',
'creer')) {
289 print $productfourn->getNomUrl();
291 print $productfourn->ref_supplier;
295if (isModEnabled(
'accounting') && !empty($line->fk_accounting_account) && $line->fk_accounting_account > 0) {
297 $accountingaccount->fetch($line->fk_accounting_account);
298 print
'<div class="clearboth"></div><br><span class="opacitymedium">'.$langs->trans(
'AccountingAffectation').
' : </span>'.$accountingaccount->getNomUrl(0, 1, 1);
304if (
$object->element ==
'supplier_proposal' ||
$object->element ==
'order_supplier' ||
$object->element ==
'invoice_supplier' ||
$object->element ==
'invoice_supplier_rec') {
305 print
'<td class="linecolrefsupplier">';
306 print($line->ref_fourn ? $line->ref_fourn : $line->ref_supplier);
313$tooltiponpricemultiprice =
'';
314$tooltiponpriceend =
'';
315$tooltiponpriceendmultiprice =
'';
317 $tooltiponprice .= $langs->transcountry(
"TotalHT", $mysoc->country_code).
'='.
price($line->total_ht, 0,
'', 0, 0);
318 $tooltiponpricemultiprice .= $langs->transcountry(
"TotalHT", $mysoc->country_code).
'='.
price($line->multicurrency_total_ht, 0,
'', 0, 0);
319 $tooltiponprice .=
'<br>'.$langs->transcountry(
"TotalVAT", ($senderissupplier ?
$object->thirdparty->country_code : $mysoc->country_code)).
'='.
price($line->total_tva, 0,
'', 0, 0);
320 $tooltiponpricemultiprice .=
'<br>'.$langs->transcountry(
"TotalVAT", ($senderissupplier ?
$object->thirdparty->country_code : $mysoc->country_code)).
'='.
price($line->multicurrency_total_tva, 0,
'', 0, 0);
321 if (is_object(
$object->thirdparty)) {
322 if ($senderissupplier) {
330 if ($mysoc->useLocalTax(1)) {
331 if (($seller->country_code == $buyer->country_code) || $line->total_localtax1 || $seller->useLocalTax(1)) {
332 $tooltiponprice .=
'<br>'.$langs->transcountry(
"TotalLT1", $seller->country_code).
'='.
price($line->total_localtax1, 0,
'', 0, 0);
333 $tooltiponpricemultiprice .=
'<br>'.$langs->transcountry(
"TotalLT1", $seller->country_code).
'='.
price($line->multicurrency_total_localtax1, 0,
'', 0, 0);
335 $tooltiponprice .=
'<br>'.$langs->transcountry(
"TotalLT1", $seller->country_code).
'=<span class="opacitymedium">'.$langs->trans($senderissupplier ?
"NotUsedForThisVendor" :
"NotUsedForThisCustomer").
'</span>';
336 $tooltiponpricemultiprice .=
'<br>'.$langs->transcountry(
"TotalLT1", $seller->country_code).
'=<span class="opacitymedium">'.$langs->trans($senderissupplier ?
"NotUsedForThisVendor" :
"NotUsedForThisCustomer").
'</span>';
339 if ($mysoc->useLocalTax(2)) {
340 if ((isset($seller->country_code) && isset($buyer->thirdparty->country_code) && $seller->country_code == $buyer->thirdparty->country_code) || $line->total_localtax2 || $seller->useLocalTax(2)) {
341 $tooltiponprice .=
'<br>'.$langs->transcountry(
"TotalLT2", $seller->country_code).
'='.
price($line->total_localtax2, 0,
'', 0, 0);
342 $tooltiponpricemultiprice .=
'<br>'.$langs->transcountry(
"TotalLT2", $seller->country_code).
'='.
price($line->multicurrency_total_localtax2, 0,
'', 0, 0);
344 $tooltiponprice .=
'<br>'.$langs->transcountry(
"TotalLT2", $seller->country_code).
'=<span class="opacitymedium">'.$langs->trans($senderissupplier ?
"NotUsedForThisVendor" :
"NotUsedForThisCustomer").
'</span>';
345 $tooltiponpricemultiprice .=
'<br>'.$langs->transcountry(
"TotalLT2", $seller->country_code).
'=<span class="opacitymedium">'.$langs->trans($senderissupplier ?
"NotUsedForThisVendor" :
"NotUsedForThisCustomer").
'</span>';
349 $tooltiponprice .=
'<br>'.$langs->transcountry(
"TotalTTC", $mysoc->country_code).
'='.
price($line->total_ttc, 0,
'', 0, 0);
350 $tooltiponpricemultiprice .=
'<br>'.$langs->transcountry(
"TotalTTC", $mysoc->country_code).
'='.
price($line->multicurrency_total_ttc, 0,
'', 0, 0);
352 if (!empty($line->special_code) || $line->product_type == 9) {
353 $tooltiponprice .=
'<br>';
354 $tooltiponpricemultiprice .=
'<br>';
355 if (!empty($line->special_code)) {
356 $tooltiponprice .=
'<br>'.$langs->trans(
"SpecialLine").
' : '.
getLabelSpecialCode($line->special_code);
357 $tooltiponpricemultiprice .=
'<br>'.$langs->trans(
"SpecialLine").
' : '.
getLabelSpecialCode($line->special_code);
359 if ($line->product_type == 9) {
360 $tooltiponprice .=
'<br>'.$langs->trans(
"SpecialLine").
' : '.$langs->trans(
"GroupingLine");
361 $tooltiponpricemultiprice .=
'<br>'.$langs->trans(
"SpecialLine").
' : '.$langs->trans(
"GroupingLine");
365 $tooltiponprice =
'<span class="classfortooltip" title="'.dol_escape_htmltag($tooltiponprice).
'">';
366 $tooltiponpricemultiprice =
'<span class="classfortooltip" title="'.dol_escape_htmltag($tooltiponpricemultiprice).
'">';
368 $tooltiponpriceend =
'</span>';
369 $tooltiponpriceendmultiprice =
'</span>';
373print
'<td class="linecolvat nowrap right">';
377 $positiverates .= ($positiverates ?
'/' :
'').
price2num($line->tva_tx);
380 $positiverates .= ($positiverates ?
'/' :
'').
price2num($line->localtax1_tx);
383 $positiverates .= ($positiverates ?
'/' :
'').
price2num($line->localtax2_tx);
385if (empty($positiverates)) {
386 $positiverates =
'0';
388print $tooltiponprice;
389print
vatrate($positiverates.($line->vat_src_code ?
' ('.$line->vat_src_code.
')' :
''), true, $line->info_bits);
390print $tooltiponpriceend;
393 <td
class=
"linecoluht nowraponall right"><?php $coldisplay++; ?><?php print
price($sign * $line->subprice); ?></td>
395<?php
if (isModEnabled(
"multicurrency") && $this->multicurrency_code !=
$conf->currency) { ?>
396 <td
class=
"linecoluht_currency nowraponall right"><?php $coldisplay++; ?><?php print
price($sign * $line->multicurrency_subprice); ?></td>
399if (!empty($inputalsopricewithtax) && !
getDolGlobalInt(
'MAIN_NO_INPUT_PRICE_WITH_TAX')) { ?>
400 <td
class=
"linecoluttc nowraponall right"><?php $coldisplay++; ?><?php
401 $upinctax = isset($line->pu_ttc) ? $line->pu_ttc :
null;
403 $upinctax =
price2num($line->total_ttc / (
float) $line->qty,
'MU');
405 print(isset($upinctax) ?
price($sign * $upinctax) :
price($sign * $line->subprice));
409 <td
class=
"linecolqty nowraponall right"><?php $coldisplay++; ?>
411if ((($line->info_bits & 2) != 2) && $line->special_code != 3) {
416 print
price($line->qty, 0,
'', 0, 0);
423 print
'<td class="linecoluseunit nowrap left">';
424 $label = $line->getLabelOfUnit(
'short');
426 print $langs->trans($label);
430if (!empty($line->remise_percent) && $line->special_code != 3) {
431 print
'<td class="linecoldiscount right">';
433 include_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
437 print
'<td class="linecoldiscount"> </td>';
442if (isset($this->situation_cycle_ref) && $this->situation_cycle_ref) {
443 include_once DOL_DOCUMENT_ROOT.
'/core/lib/price.lib.php';
446 $previous_progress = $line->getAllPrevProgress(
$object->id);
447 $current_progress = $previous_progress + floatval($line->situation_percent);
448 print
'<td class="linecolcycleref nowrap right">'.$current_progress.
'%</td>';
450 print
'<td class="nowrap right">'.$line->situation_percent.
'%</td>';
452 $locataxes_array =
getLocalTaxesFromRate($line->tva.($line->vat_src_code ?
' ('.$line->vat_src_code.
')' :
''), 0, ($senderissupplier ? $mysoc :
$object->thirdparty), ($senderissupplier ?
$object->thirdparty : $mysoc));
453 $tmp =
calcul_price_total($line->qty, $line->pu, $line->remise_percent, $line->txtva, -1, -1, 0,
'HT', $line->info_bits, $line->type, ($senderissupplier ?
$object->thirdparty : $mysoc), $locataxes_array, 100,
$object->multicurrency_tx, $line->multicurrency_subprice);
454 print
'<td class="linecolcycleref2 right nowrap">'.price($sign * (
float) $tmp[0]).
'</td>';
456 print
'<td class="linecolcycleref nowrap right">'.$line->situation_percent.
'%</td>';
458 $locataxes_array =
getLocalTaxesFromRate($line->tva.($line->vat_src_code ?
' ('.$line->vat_src_code.
')' :
''), 0, ($senderissupplier ? $mysoc :
$object->thirdparty), ($senderissupplier ?
$object->thirdparty : $mysoc));
459 $tmp =
calcul_price_total($line->qty, $line->pu, $line->remise_percent, $line->txtva, -1, -1, 0,
'HT', $line->info_bits, $line->type, ($senderissupplier ?
$object->thirdparty : $mysoc), $locataxes_array, 100,
$object->multicurrency_tx, $line->multicurrency_subprice);
460 print
'<td class="linecolcycleref2 right nowrap">'.price($sign * (
float) $tmp[0]).
'</td>';
464if ($usemargins && isModEnabled(
'margin') && empty($user->socid)) {
465 if ($user->hasRight(
'margins',
'creer')) { ?>
466 <td
class=
"linecolmargin1 nowrap margininfos right"><?php $coldisplay++; ?><?php print
price($line->pa_ht); ?></td>
468 if (
getDolGlobalString(
'DISPLAY_MARGIN_RATES') && $user->hasRight(
'margins',
'liretous')) { ?>
469 <td
class=
"linecolmargin2 nowrap margininfos right"><?php $coldisplay++; ?><?php print(($line->pa_ht == 0) ?
'n/a' :
price(
price2num($line->marge_tx,
'MT')).
'%'); ?></td>
471 if (
getDolGlobalString(
'DISPLAY_MARK_RATES') && $user->hasRight(
'margins',
'liretous')) {?>
472 <td
class=
"linecolmark1 nowrap margininfos right"><?php $coldisplay++; ?><?php print
price(
price2num($line->marque_tx,
'MT')).
'%'; ?></td>
477if ($line->special_code == 3) {
479 $colspanOptions =
'';
480 if (isModEnabled(
'multicurrency') &&
$object->multicurrency_code !=
$conf->currency) {
482 $colspanOptions =
' colspan="2"';
484 print
'<td class="linecoloption nowrap right"'.$colspanOptions.
'>'.$langs->trans(
'Option').
'</td>';
486 print
'<td class="linecolht nowrap right">';
488 print $tooltiponprice;
489 print
price($sign * $line->total_ht);
490 print $tooltiponpriceend;
492 if (isModEnabled(
"multicurrency") && $this->multicurrency_code !=
$conf->currency) {
493 print
'<td class="linecolutotalht_currency nowrap right">';
494 print $tooltiponpricemultiprice;
495 print
price($sign * $line->multicurrency_total_ht);
496 print $tooltiponpriceendmultiprice;
503if ($outputalsopricetotalwithtax) {
504 print
'<td class="linecolht nowrap right">'.price($sign * $line->total_ttc).
'</td>';
509$objectRights = $this->getRights();
510$tmppermtoedit = $objectRights->creer;
512if ($this->
status == 0 && $tmppermtoedit && $action !=
'selectlines') {
513 $situationinvoicelinewithparent = 0;
514 if (isset($line->fk_prev_id) && in_array(
$object->element, array(
'facture',
'facturedet'))) {
517 if (
$object->type == $object::TYPE_SITUATION) {
519 $situationinvoicelinewithparent = 1;
524 if (isModEnabled(
'asset') &&
$object->element ==
'invoice_supplier') {
525 print
'<td class="linecolasset center">';
528 $product_static !==
null
531 !empty($product_static->accountancy_code_buy) ||
532 !empty($product_static->accountancy_code_buy_intra) ||
533 !empty($product_static->accountancy_code_buy_export)
538 if (!empty($product_static->accountancy_code_buy)) {
539 $filters[] =
"account_number = '" . $this->db->escape($product_static->accountancy_code_buy) .
"'";
541 if (!empty($product_static->accountancy_code_buy_intra)) {
542 $filters[] =
"account_number = '" . $this->db->escape($product_static->accountancy_code_buy_intra) .
"'";
544 if (!empty($product_static->accountancy_code_buy_export)) {
545 $filters[] =
"account_number = '" . $this->db->escape($product_static->accountancy_code_buy_export) .
"'";
547 $sql =
"SELECT COUNT(*) AS found";
548 $sql .=
" FROM " . MAIN_DB_PREFIX .
"accounting_account";
549 $sql .=
" WHERE pcg_type = '" . $this->db->escape(
$conf->global->ASSET_ACCOUNTANCY_CATEGORY) .
"'";
550 $sql .=
" AND (" . implode(
' OR ', $filters).
")";
551 $resql_asset = $this->db->query($sql);
553 print
'Error SQL: ' . $this->db->lasterror();
554 } elseif ($obj = $this->db->fetch_object($resql_asset)) {
555 if (!empty($obj->found)) {
556 print
'<a class="reposition" href="' . DOL_URL_ROOT .
'/asset/card.php?action=create&token='.newToken().
'&supplier_invoice_id='.
$object->id.
'">';
565 print
'<td class="linecoledit center">';
567 if (($line->info_bits & 2) == 2 || !empty($disableedit)) {
569 <a
class=
"editfielda reposition" href=
"<?php print $_SERVER["PHP_SELF
"].'?id='.$this->id.'&action=editline&token='.newToken().'&lineid='.$line->id; ?>">
575 print
'<td class="linecoldelete center">';
577 if (!$situationinvoicelinewithparent && empty($disableremove)) {
578 print
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$this->
id.
'&action=ask_deleteline&token='.
newToken().
'&lineid='.$line->id.
'">';
585 if ($num > 1 &&
$conf->browser->layout !=
'phone' && ((property_exists($this,
'situation_counter') && $this->situation_counter == 1) || empty($this->situation_cycle_ref)) && empty($disablemove)) {
586 print
'<td class="linecolmove tdlineupdown center">';
589 <a
class=
"lineupdown" href=
"<?php print $_SERVER["PHP_SELF
"].'?id='.$this->id.'&action=up&token='.newToken().'&rowid='.$line->id; ?>">
590 <?php print
img_up(
'default', 0,
'imgupforline'); ?>
593 if ($i < $num - 1) { ?>
594 <a
class=
"lineupdown" href=
"<?php print $_SERVER["PHP_SELF
"].'?id='.$this->id.'&action=down&token='.newToken().'&rowid='.$line->id; ?>">
595 <?php print
img_down(
'default', 0,
'imgdownforline'); ?>
600 print
'<td '.(($conf->browser->layout !=
'phone' && empty($disablemove)) ?
' class="linecolmove tdlineupdown center"' :
' class="linecolmove center"').
'></td>';
605 if (isModEnabled(
'asset') &&
$object->element ==
'invoice_supplier') {
608 print
'<td colspan="'.$colspan.
'"></td>';
609 $coldisplay += $colspan;
612if ($action ==
'selectlines') { ?>
613 <td
class=
"linecolcheck center"><input
type=
"checkbox" class=
"linecheckbox" name=
"line_checkbox[<?php print $i + 1; ?>]" value=
"<?php print $line->id; ?>" ></td>
618print
"<!-- END PHP TEMPLATE objectline_view.tpl.php -->\n";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Class to manage accounting accounts.
Class to manage absolute discounts.
Class to manage predefined suppliers products.
const TYPE_PRODUCT
Regular product.
print $langs trans("Ref").' m titre as m m statut as status
Or an array listing all the potential status of the object: array: int of the status => translated la...
print $script_file $mode $langs defaultlang(is_numeric($duration_value) ? " delay=". $duration_value :"").(is_numeric($duration_value2) ? " after cd cd cd description as description
Only used if Module[ID]Desc translation string is not found.
dol_print_reduction($reduction, $langs)
Returns formatted reduction.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
vatrate($rate, $addpercent=false, $info_bits=0, $usestarfornpr=0, $html=0)
Return a string with VAT rate label formatted for view output Used into pdf and HTML pages.
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
getLabelSpecialCode($idcode)
Make content of an input box selected when we click into input field.
img_down($titlealt='default', $selected=0, $moreclass='')
Show down arrow logo.
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.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
getLocalTaxesFromRate($vatrate, $local, $buyer, $seller, $firstparamisid=0)
Get type and rate of localtaxes for a particular vat rate/country of a thirdparty.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
yn($yesno, $format=1, $color=0)
Return yes or no in current language.
dol_htmlentitiesbr($stringtoencode, $nl2brmode=0, $pagecodefrom='UTF-8', $removelasteolbr=1)
This function is called to encode a string into a HTML string but differs from htmlentities because a...
img_edit_add($titlealt='default', $other='')
Show logo +.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
img_up($titlealt='default', $selected=0, $moreclass='')
Show top arrow logo.
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocaltax1_rate, $uselocaltax2_rate, $remise_percent_global, $price_base_type, $info_bits, $type, $seller='', $localtaxes_array=[], $progress=100, $multicurrency_tx=1, $pu_devise=0, $multicurrency_code='')
Calculate totals (net, vat, ...) of a line.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
$conf db name
Only used if Module[ID]Name translation string is not found.