diff --git a/htdocs/accountancy/admin/fiscalyear.php b/htdocs/accountancy/admin/fiscalyear.php index 817905f7b56e938b2bbb61d2dac2b27362c5f0fb..4b2b57ee7dbd67a32bbd000256386d22403822ce 100644 --- a/htdocs/accountancy/admin/fiscalyear.php +++ b/htdocs/accountancy/admin/fiscalyear.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index 2c22d8f191a9186ed69de16e8cb1ac9f898c4fe1..7a8ab0673a7602369b126a1a2b5ae63d112bd1ec 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@zendsi.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -176,13 +176,15 @@ if ($action == 'create') print $form->select_date(($date_end ? $date_end : - 1), 'fiscalyearend'); print '</td></tr>'; + /* // Statut print '<tr>'; print '<td class="fieldrequired">' . $langs->trans("Status") . '</td>'; print '<td class="valeur">'; print $form->selectarray('statut', $statut2label, GETPOST('statut')); print '</td></tr>'; - + */ + print '</table>'; dol_fiche_end(); @@ -232,7 +234,8 @@ if ($action == 'create') // Statut print '<tr><td>' . $langs->trans("Statut") . '</td><td>'; - print $form->selectarray('statut', $statut2label, $object->statut); + // print $form->selectarray('statut', $statut2label, $object->statut); + print $object->getLibStatut(4); print '</td></tr>'; print '</table>'; @@ -304,7 +307,7 @@ if ($action == 'create') print '<a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?action=edit&id=' . $id . '">' . $langs->trans('Modify') . '</a>'; - print '<a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?action=delete&id=' . $id . '">' . $langs->trans('Delete') . '</a>'; + // print '<a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?action=delete&id=' . $id . '">' . $langs->trans('Delete') . '</a>'; print '</div>'; } diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 407a6e36b920f773cf636e4dc12acd14cb6f9ab4..8bfda274d80bdb7625a9c98e6b784c91b7593cc3 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -4556,7 +4556,7 @@ abstract class CommonObject var parent = $(this).find("option[parent]:first").attr("parent"); var infos = parent.split(":"); var parent_list = infos[0]; - $("select[name=\"options_"+parent_list+"\"]").change(function() { + $("select[name=\""+parent_list+"\"]").change(function() { showOptions(child_list, parent_list); }); }); diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index ef990d8edf3be05ce219b4ea28b091398e68c2cb..912c1e34879aaea3f9f755a1728fbc4a0af16b6c 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014-2017 Alexandre Spangaro <aspangaro@zendsi.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -89,7 +89,7 @@ class Fiscalyear extends CommonObject $sql.= " '".$this->label."'"; $sql.= ", '".$this->db->idate($this->date_start)."'"; $sql.= ", ".($this->date_end ? "'".$this->db->idate($this->date_end)."'":"null"); - $sql.= ", ".$this->statut; + $sql.= ", 0"; $sql.= ", ".$conf->entity; $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", ". $user->id; diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index abc40f23005e7b7a792b65407d63f2d7c9951265..56204fda6bb386cc84a5155249845936745945da 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -284,7 +284,7 @@ class pdf_standard extends ModeleExpenseReport } $iniY = $tab_top + 7; - $curY = $tab_top + 7; + $initialY = $tab_top + 7; $nexY = $tab_top + 7; // Loop on each lines @@ -292,43 +292,41 @@ class pdf_standard extends ModeleExpenseReport { $piece_comptable = $i +1; - $curY = $nexY; $pdf->SetFont('','', $default_font_size - 2); // Into loop to work with multipage $pdf->SetTextColor(0,0,0); $pdf->setTopMargin($tab_top_newpage); $pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext+$heightforinfotot); // The only function to edit the bottom margin of current page to set it. $pageposbefore=$pdf->getPage(); - - // Description of product line - $curX = $this->posxcomment-1; - - $showpricebeforepagebreak=1; + $curY = $nexY; $pdf->SetFont('','', $default_font_size - 1); - // Accountancy piece - $pdf->SetXY($this->posxpiece, $curY); - $pdf->writeHTMLCell($this->posxcomment-$this->posxpiece-0.8, 4, $this->posxpiece-1, $curY, $piece_comptable, 0, 1); - - // Comments - $pdf->SetXY($this->posxcomment, $curY); - $pdf->writeHTMLCell($this->posxdate-$this->posxcomment-0.8, 4, $this->posxcomment-1, $curY, $object->lines[$i]->comments, 0, 1); + // Accountancy piece + $pdf->SetXY($this->posxpiece, $curY); + $pdf->writeHTMLCell($this->posxcomment-$this->posxpiece-0.8, 4, $this->posxpiece-1, $curY, $piece_comptable, 0, 1); + $curY = ($pdf->PageNo() > $pageposbefore) ? $pdf->GetY()-4 : $curY; - //nexY - $nexY = $pdf->GetY(); - $pageposafter=$pdf->getPage(); - $pdf->setPage($pageposbefore); - $pdf->setTopMargin($this->marge_haute); - $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + // Comments + $pdf->SetXY($this->posxcomment, $curY ); + $pdf->writeHTMLCell($this->posxdate-$this->posxcomment-0.8, 4, $this->posxcomment-1, $curY, $object->lines[$i]->comments, 0, 1); + $curY = ($pdf->PageNo() > $pageposbefore) ? $pdf->GetY()-4 : $curY; - // Date + // Date $pdf->SetXY($this->posxdate -1, $curY); $pdf->MultiCell($this->posxtype-$this->posxdate-0.8, 4, dol_print_date($object->lines[$i]->date,"day",false,$outputlangs), 0, 'C'); - // Type + // Type $pdf->SetXY($this->posxtype -1, $curY); - $pdf->MultiCell($this->posxprojet-$this->posxtype-0.8, 4, dol_trunc($outputlangs->transnoentities($object->lines[$i]->type_fees_code), 12), 0, 'C'); + $nextColumnPosX = $this->posxup; + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { + $nextColumnPosX = $this->posxtva; + } + if (!empty($conf->projet->enabled)) { + $nextColumnPosX = $this->posxprojet; + } + + $pdf->MultiCell($nextColumnPosX-$this->posxtype-0.8, 4, dol_trunc($outputlangs->transnoentities($object->lines[$i]->type_fees_code), 12), 0, 'C'); // Project if (! empty($conf->projet->enabled)) @@ -344,34 +342,43 @@ class pdf_standard extends ModeleExpenseReport $vat_rate = pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails); $pdf->SetXY($this->posxtva, $curY); $pdf->MultiCell($this->posxup-$this->posxtva-0.8, 4,$vat_rate, 0, 'C'); - } + } // Unit price $pdf->SetXY($this->posxup, $curY); $pdf->MultiCell($this->posxqty-$this->posxup-0.8, 4,price($object->lines[$i]->value_unit), 0, 'R'); - // Quantity + // Quantity $pdf->SetXY($this->posxqty, $curY); $pdf->MultiCell($this->postotalttc-$this->posxqty-0.8, 4,$object->lines[$i]->qty, 0, 'R'); - // Total with all taxes + // Total with all taxes $pdf->SetXY($this->postotalttc-1, $curY); $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->postotalttc, 4, price($object->lines[$i]->total_ttc), 0, 'R'); - // Cherche nombre de lignes a venir pour savoir si place suffisante + //nexY + $nexY = $pdf->GetY(); + $pageposafter=$pdf->getPage(); + $pdf->setPage($pageposbefore); + $pdf->setTopMargin($this->marge_haute); + $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + + $nblineFollowComment = 1; + // Cherche nombre de lignes a venir pour savoir si place suffisante if ($i < ($nblignes - 1)) // If it's not last line { - //on recupere la description du produit suivant - $follow_comment = $object->lines[$i+1]->comments; + //Fetch current description to know on which line the next one should be placed + $follow_comment = $object->lines[$i]->comments; + $follow_type = $object->lines[$i]->type_fees_code; + //on compte le nombre de ligne afin de verifier la place disponible (largeur de ligne 52 caracteres) - $nblineFollowComment = dol_nboflines_bis($follow_comment,52,$outputlangs->charset_output)*4; - } - else // If it's last line - { - $nblineFollowComment = 0; + $nbLineCommentNeed = dol_nboflines_bis($follow_comment,52,$outputlangs->charset_output); + $nbLineTypeNeed = dol_nboflines_bis($follow_type,4,$outputlangs->charset_output); + + $nblineFollowComment = max($nbLineCommentNeed, $nbLineTypeNeed); } - $nexY+=4; // Passe espace entre les lignes + $nexY+=$nblineFollowComment*($pdf->getFontSize()*1.3); // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages while ($pagenb < $pageposafter) @@ -426,7 +433,7 @@ class pdf_standard extends ModeleExpenseReport $pdf->SetFont('','', 10); // Show total area box - $posy=$bottomlasttab+5;//$nexY+95; + $posy=$bottomlasttab+5; $pdf->SetXY(100, $posy); $pdf->MultiCell(60, 5, $outputlangs->transnoentities("TotalHT"), 1, 'L'); $pdf->SetXY(160, $posy); diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index e9c7fb309ad50c0929141edb5b5113e153b6222a..92e63d8bf7c22a8817ec52d16129c332e05a088d 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -72,7 +72,7 @@ class modAccounting extends DolibarrModules $this->conflictwith = array("modComptabilite"); // List of modules are in conflict with this module $this->phpmin = array(5, 3); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 9); // Minimum version of Dolibarr required by module - $this->langfiles = array("accountancy"); + $this->langfiles = array("accountancy","compta"); // Constants $this->const = array(); @@ -288,6 +288,23 @@ class modAccounting extends DolibarrModules // Menus //------- $this->menu = 1; // This module add menu entries. They are coded into menu manager. + + // Exports + //-------- + $r=0; + + $r++; + $this->export_code[$r]=$this->rights_class.'_'.$r; + $this->export_label[$r]='Chartofaccounts'; + $this->export_icon[$r]='accounting'; + $this->export_permission[$r]=array(array("accounting","chartofaccount")); + $this->export_fields_array[$r]=array('ac.rowid'=>'ChartofaccountsId','ac.pcg_version'=>'Chartofaccounts','aa.rowid'=>'Id','aa.account_number'=>"AccountAccounting",'aa.label'=>"Label",'aa.account_parent'=>"Accountparent",'aa.pcg_type'=>"Pcgtype",'aa.pcg_subtype'=>'Pcgsubtype','aa.active'=>'Status'); + $this->export_TypeFields_array[$r]=array('ac.rowid'=>'List:accounting_system:pcg_version','aa.account_number'=>"Text",'aa.label'=>"Text",'aa.pcg_type'=>'Text','aa.pcg_subtype'=>'Text','aa.active'=>'Status'); + $this->export_entities_array[$r]=array('ac.rowid'=>"accounting",'ac.pcg_version'=>"accounting",'aa.rowid'=>'accounting','aa.account_number'=>"accounting",'aa.label'=>"accounting",'aa.accountparent'=>"accounting",'aa.pcg_type'=>"accounting",'aa.pcgsubtype'=>"accounting",'aa_active'=>"accounting"); + + $this->export_sql_start[$r]='SELECT DISTINCT '; + $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'accounting_account as aa, '.MAIN_DB_PREFIX.'accounting_system as ac'; + $this->export_sql_end[$r] .=' WHERE ac.pcg_version = aa.fk_pcg_version AND aa.entity IN ('.getEntity('accounting', 1).') '; } } diff --git a/htdocs/core/modules/syslog/mod_syslog_file.php b/htdocs/core/modules/syslog/mod_syslog_file.php index b1060677c6fda1b45c1f32463a0ab6417668b59a..1e8d2b3a91c9da533fb633e9efb19259e2b9c974 100644 --- a/htdocs/core/modules/syslog/mod_syslog_file.php +++ b/htdocs/core/modules/syslog/mod_syslog_file.php @@ -8,6 +8,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php'; class mod_syslog_file extends LogHandler implements LogHandlerInterface { var $code = 'file'; + var $lastTime = 0; /** * Return name of logger @@ -145,9 +146,16 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface LOG_INFO => 'INFO', LOG_DEBUG => 'DEBUG' ); - - $message = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".sprintf("%-7s", $logLevels[$content['level']])." ".sprintf("%-15s", $content['ip'])." ".($this->ident>0?str_pad('',$this->ident,' '):'').$content['message']; - + + $delay = ""; + if (!empty($conf->global->MAIN_SYSLOG_SHOW_DELAY)) + { + $now = microtime(true); + $delay = " ".sprintf("%05.3f", $this->lastTime != 0 ? $now - $this->lastTime : 0); + $this->lastTime = $now; + } + + $message = dol_print_date(time(),"%Y-%m-%d %H:%M:%S").$delay." ".sprintf("%-7s", $logLevels[$content['level']])." ".sprintf("%-15s", $content['ip'])." ".($this->ident>0?str_pad('',$this->ident,' '):'').$content['message']; fwrite($filefd, $message."\n"); fclose($filefd); @chmod($logfile, octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK)); diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index cb54414fe35c725e933975bdfbc19cec5f2e5ee7..13b95311dee2dab493089a66d314c72edd076509 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -543,7 +543,7 @@ if ($resql) if (!empty($obj->note_private) || !empty($obj->note_public)) { print ' <span class="note">'; - print '<a href="'.DOL_URL_ROOT.'/commande/note.php?id='.$obj->rowid.'">'.img_picto($langs->trans("ViewPrivateNote"),'object_generic').'</a>'; + print '<a href="'.DOL_URL_ROOT.'/expensereport/note.php?id='.$obj->rowid.'">'.img_picto($langs->trans("ViewPrivateNote"),'object_generic').'</a>'; print '</span>'; } print '</td>'; diff --git a/htdocs/install/mysql/data/llx_c_payment_term.sql b/htdocs/install/mysql/data/llx_c_payment_term.sql index 783bf1e0dafe288c6254e30928fbbcd72718bc13..c7fd08a62d6c3721f7339315a6549a35428f08a6 100644 --- a/htdocs/install/mysql/data/llx_c_payment_term.sql +++ b/htdocs/install/mysql/data/llx_c_payment_term.sql @@ -35,3 +35,9 @@ insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_ insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (6,'PT_ORDER', 6,1, 'A réception de commande','A réception de commande',0,1); insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (7,'PT_DELIVERY', 7,1, 'Livraison','Règlement à la livraison',0,1); insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (8,'PT_5050', 8,1, '50 et 50','Règlement 50% à la commande, 50% à la livraison',0,1); + +-- add additional payment terms often needed in Austria +insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (9,'10D', 9,1, '10 jours','Réglement à 10 jours',0,10); +insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (10,'10DENDMONTH', 10,1, '10 jours fin de mois','Réglement à 10 jours fin de mois',1,10); +insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (11,'14D', 11,1, '14 jours','Réglement à 14 jours',0,14); +insert into llx_c_payment_term(rowid, code, sortorder, active, libelle, libelle_facture, type_cdr, nbjour) values (12,'14DENDMONTH', 12,1, '14 jours fin de mois','Réglement à 14 jours fin de mois',1,14); diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 16a9b566bf552a1c854a589169d280c17784936c..456d5942549aa5e65a30bdeb5e599751716aff95 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -286,4 +286,4 @@ CREATE TABLE llx_product_attribute_value value VARCHAR(255) DEFAULT NULL, entity INT DEFAULT 1 NOT NULL ); -ALTER TABLE llx_product_attribute_value ADD CONSTRAINT unique_ref UNIQUE (fk_product_attribute,ref); \ No newline at end of file +ALTER TABLE llx_product_attribute_value ADD CONSTRAINT unique_ref UNIQUE (fk_product_attribute,ref); diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index 261da362f7a52fc327567d80adc30e9ed4e73ba3..00d5052330ccd99063007d3c522428ab6838fc08 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -351,6 +351,14 @@ PaymentConditionShortPT_ORDER=Bestellung PaymentConditionPT_ORDER=Bei Bestellung PaymentConditionShortPT_5050=50-50 PaymentConditionPT_5050=50%% im Voraus, 50%% bei Lieferung +PaymentConditionShort10D=10 Tage +PaymentCondition10D=10 Tage netto +PaymentConditionShort10DENDMONTH=10 Tage ab Monatsende +PaymentCondition10DENDMONTH=Innerhalb von 10 Tagen, nach Monatsende +PaymentConditionShort14D=14 Tage +PaymentCondition14D=14 Tage netto +PaymentConditionShort14DENDMONTH=14 Tage ab Monatsende +PaymentCondition14DENDMONTH=Innerhalb von 14 Tagen, nach Monatsende FixAmount=Fester Betrag VarAmount=Variabler Betrag (%% tot.) # PaymentType diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 5ee68e605cd879123d4efc89b4c749ad6e98337d..b56efc312e7acac6fd4d25b7659f0daff40b72d0 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -211,6 +211,7 @@ Modelcsv_ciel=Export towards Sage Ciel Compta or Compta Evolution Modelcsv_quadratus=Export towards Quadratus QuadraCompta Modelcsv_ebp=Export towards EBP Modelcsv_cogilog=Export towards Cogilog +ChartofaccountsId=Chart of accounts Id ## Tools - Init accounting account on product / service InitAccountancy=Init accountancy diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 951e2b68c05f0cca10d37740e364daca277e1d9e..2597a995043386a05d115f3fe29958b7ca77fba0 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -379,11 +379,11 @@ ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldLink=Link to an object -ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key +ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another complementary attribute list :<br>1,value1|options_<i>parent_list_code</i>:parent_key<br>2,value2|options_<i>parent_list_code</i>:parent_key <br><br>In order to have the list depending on another list :<br>1,value1|<i>parent_list_code</i>:parent_key<br>2,value2|<i>parent_list_code</i>:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>... ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>... -ExtrafieldParamHelpsellist=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value<br>You can also use $ID$ in filter witch is the current id of current object<br>To do a SELECT in filter use $SEL$<br>if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelpchkbxlst=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value<br>You can also use $ID$ in filter witch is the current id of current object<br>To do a SELECT in filter use $SEL$<br>if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpsellist=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value<br>You can also use $ID$ in filter witch is the current id of current object<br>To do a SELECT in filter use $SEL$<br>if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another complementary attribute list:<br>c_typent:libelle:id:options_<i>parent_list_code</i>|parent_column:filter <br><br>In order to have the list depending on another list:<br>c_typent:libelle:id:<i>parent_list_code</i>|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value<br>You can also use $ID$ in filter witch is the current id of current object<br>To do a SELECT in filter use $SEL$<br>if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another complementary attribute list :<br>c_typent:libelle:id:options_<i>parent_list_code</i>|parent_column:filter <br><br>In order to have the list depending on another list:<br>c_typent:libelle:id:<i>parent_list_code</i>|parent_column:filter ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath<br>Syntax : ObjectName:Classpath<br>Example : Societe:societe/class/societe.class.php LibraryToBuildPDF=Library used for PDF generation WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b> diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 837d09a79b340927a8d959115972213bc1aad833..1cd65446b9082237db053a16cc5f7c5cdca26e6a 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -355,6 +355,14 @@ PaymentConditionShortPT_ORDER=Order PaymentConditionPT_ORDER=On order PaymentConditionShortPT_5050=50-50 PaymentConditionPT_5050=50%% in advance, 50%% on delivery +PaymentConditionShort10D=10 days +PaymentCondition10D=10 days +PaymentConditionShort10DENDMONTH=10 days of month-end +PaymentCondition10DENDMONTH=Within 10 days following the end of the month +PaymentConditionShort14D=14 days +PaymentCondition14D=14 days +PaymentConditionShort14DENDMONTH=14 days of month-end +PaymentCondition14DENDMONTH=Within 14 days following the end of the month FixAmount=Fix amount VarAmount=Variable amount (%% tot.) # PaymentType diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index e0aefbecd97c1f91a25a419e7e17af1becb23b0f..603aff0000fae02e60c367c74d1544d8a4660028 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -756,6 +756,7 @@ SomeTranslationAreUncomplete=Some languages may be partially translated or may c DirectDownloadLink=Direct download link Download=Download ActualizeCurrency=Update currency rate +Fiscalyear=Fiscal year # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 7f58225576ac56ecc2313200aaafaf02f8a24ca0..f0473d737faf4762f34db2d12151988f43457b05 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -351,6 +351,14 @@ PaymentConditionShortPT_ORDER=A commande PaymentConditionPT_ORDER=À réception de commande PaymentConditionShortPT_5050=50/50 PaymentConditionPT_5050=Règlement 50%% d'avance, 50%% à la livraison +PaymentConditionShort10D=10 jours +PaymentCondition10D=Règlement à 10 jours +PaymentConditionShort10DENDMONTH=10 jours fin de mois +PaymentCondition10DENDMONTH=Règlement à 10 jours fin de mois +PaymentConditionShort14D=14 jours +PaymentCondition14D=Règlement à 14 jours +PaymentConditionShort14DENDMONTH=14 jours fin de mois +PaymentCondition14DENDMONTH=Règlement à 14 jours fin de mois FixAmount=Montant Fixe VarAmount=Montant variable (%% tot.) # PaymentType @@ -492,4 +500,4 @@ ConfirmDeleteRepeatableInvoice=Est-ce votre sûr de vouloir supprimer la facture CreateOneBillByThird=Créer une facture par tiers (sinon, une facture par commande) BillCreated=%s facture(s) créée(s) WithdrawRequest=Demande de prélèvement -BadPaymentMethod=Mauvais mode de paiement \ No newline at end of file +BadPaymentMethod=Mauvais mode de paiement