Merge remote-tracking branch 'Dolibarr/12.0' into 12

This commit is contained in:
Francis Appels 2020-07-10 14:05:45 +02:00
commit 73aa91af8b
1235 changed files with 16160 additions and 14802 deletions

View File

@ -3,6 +3,42 @@ English Dolibarr ChangeLog
--------------------------------------------------------------
***** ChangeLog for 12.0.1 compared to 12.0.0 *****
FIX: reposition was broken if url end with #anchor
FIX: $_POST must be GETPOST
FIX: 10.0 - fatal with postgreSQL
FIX: #14109
FIX: #14112
FIX: #14142
FIX: all extrafields cleared after update of one of them
FIX: Avoid warning when creating a module with already existing files
FIX: change selected fields on company card
FIX: Correct ModuleBuilder left menu
FIX: create a deposit with amount using comma didn't work
FIX: CSS
FIX: Entry from stripe intent were reported into SEPA payments
FIX: Filter on status, closing opening status
FIX: html lost on html extrafield
FIX: Label of popup on thirdparty
FIX: missing possibility to change entity when propal cloning
FIX: missing setup of extrafields for MO
FIX: Missing the tooltip when creating bank account
FIX: Missing token
FIX: non numeric value on comm/card.php
FIX: SQL Problem in customer invoice list
FIX: SQL Problem in social contribution list
FIX: SQL Problem in supplier invoice list
FIX: SQL syntax error when editing extrafields
FIX: Sql type
FIX: takepos 12 hook
FIX: Update form erased extrafields that were hidden
FIX: Update of extrafields date
FIX: Update of extrafiels on draft object
FIX: upload documents into manual ECM was reported a permission error
FIX: Use of office365 TLS with SMTPs method.
FIX: wrong origin
FIX: Permission error during import
***** ChangeLog for 12.0.0 compared to 11.0.0 *****
For users:

View File

@ -254,6 +254,8 @@ if ($result) {
} else {
$tabpay[$obj->rowid]["lib"] = dol_trunc($obj->label, 60);
}
// Load of url links to the line into llx_bank
$links = $object->get_url($obj->rowid); // Get an array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> )
//var_dump($i);
@ -320,6 +322,7 @@ if ($result) {
$chargestatic->ref = $links[$key]['url_id'];
$tabpay[$obj->rowid]["lib"] .= ' '.$chargestatic->getNomUrl(2);
$reg = array();
if (preg_match('/^\((.*)\)$/i', $links[$key]['label'], $reg)) {
if ($reg[1] == 'socialcontribution')
$reg[1] = 'SocialContribution';
@ -331,11 +334,13 @@ if ($result) {
$tabpay[$obj->rowid]["soclib"] = $chargestatic->getNomUrl(1, 30);
$tabpay[$obj->rowid]["paymentscid"] = $chargestatic->id;
// Retreive the accounting code of the social contribution of the payment from link of payment.
// Note: We have the social contribution id, it can be faster to get accounting code from social contribution id.
$sqlmid = 'SELECT cchgsoc.accountancy_code';
$sqlmid .= " FROM ".MAIN_DB_PREFIX."c_chargesociales cchgsoc ";
$sqlmid .= " FROM ".MAIN_DB_PREFIX."c_chargesociales cchgsoc";
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."bank_url as bkurl ON bkurl.url_id=paycharg.rowid AND bkurl.type = 'payment_sc'";
$sqlmid .= " WHERE bkurl.fk_bank=".$obj->rowid;
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=".$sqlmid, LOG_DEBUG);

View File

@ -0,0 +1,113 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
*
* 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
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/admin/bom_extrafields.php
* \ingroup bom
* \brief Page to setup extra fields of BOM
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/bom/lib/bom.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
// Load translation files required by the page
$langs->loadLangs(array('mrp', 'admin'));
$extrafields = new ExtraFields($db);
$form = new Form($db);
// List of supported format
$tmptype2label = ExtraFields::$type2label;
$type2label = array('');
foreach ($tmptype2label as $key => $val) $type2label[$key] = $langs->transnoentitiesnoconv($val);
$action = GETPOST('action', 'alpha');
$attrname = GETPOST('attrname', 'alpha');
$elementtype = 'bom_bom';
if (!$user->admin) accessforbidden();
/*
* Actions
*/
require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php';
/*
* View
*/
llxHeader('', $langs->trans("BOMsSetup"), $help_url);
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
print load_fiche_titre($langs->trans("BOMsSetup"), $linkback, 'title_setup');
$head = bomAdminPrepareHead(null);
dol_fiche_head($head, 'bom_extrafields', $langs->trans("ExtraFields"), -1, 'account');
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
dol_fiche_end();
// Buttons
if ($action != 'create' && $action != 'edit')
{
print '<div class="tabsAction">';
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?action=create#newattrib\">".$langs->trans("NewAttribute")."</a>";
print "</div>";
}
/*
* Creation of an optional field
*/
if ($action == 'create')
{
print '<br><div id="newattrib"></div>';
print load_fiche_titre($langs->trans('NewAttribute'));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php';
}
/*
* Edition of an optional field
*/
if ($action == 'edit' && !empty($attrname))
{
print "<br>";
print load_fiche_titre($langs->trans("FieldEdition", $attrname));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php';
}
// End of page
llxFooter();
$db->close();

View File

@ -0,0 +1,113 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
*
* 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
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/admin/mrp_extrafields.php
* \ingroup mrp
* \brief Page to setup extra fields of MOs
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/mrp/lib/mrp.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
// Load translation files required by the page
$langs->loadLangs(array('mrp', 'admin'));
$extrafields = new ExtraFields($db);
$form = new Form($db);
// List of supported format
$tmptype2label = ExtraFields::$type2label;
$type2label = array('');
foreach ($tmptype2label as $key => $val) $type2label[$key] = $langs->transnoentitiesnoconv($val);
$action = GETPOST('action', 'alpha');
$attrname = GETPOST('attrname', 'alpha');
$elementtype = 'mrp_mo';
if (!$user->admin) accessforbidden();
/*
* Actions
*/
require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php';
/*
* View
*/
llxHeader('', $langs->trans("MrpSetupPage"), $help_url);
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
print load_fiche_titre($langs->trans("MrpSetupPage"), $linkback, 'title_setup');
$head = mrpAdminPrepareHead(null);
dol_fiche_head($head, 'mrp_extrafields', $langs->trans("ExtraFields"), -1, 'account');
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
dol_fiche_end();
// Buttons
if ($action != 'create' && $action != 'edit')
{
print '<div class="tabsAction">';
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?action=create#newattrib\">".$langs->trans("NewAttribute")."</a>";
print "</div>";
}
/*
* Creation of an optional field
*/
if ($action == 'create')
{
print '<br><div id="newattrib"></div>';
print load_fiche_titre($langs->trans('NewAttribute'));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php';
}
/*
* Edition of an optional field
*/
if ($action == 'edit' && !empty($attrname))
{
print "<br>";
print load_fiche_titre($langs->trans("FieldEdition", $attrname));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php';
}
// End of page
llxFooter();
$db->close();

View File

@ -333,8 +333,10 @@ class BOM extends CommonObject
public function fetch($id, $ref = null)
{
$result = $this->fetchCommon($id, $ref);
if ($result > 0 && !empty($this->table_element_line)) $this->fetchLines();
$this->calculateCosts();
return $result;
}

View File

@ -41,6 +41,11 @@ function bomAdminPrepareHead()
$head[$h][2] = 'settings';
$h++;
$head[$h][0] = dol_buildpath("/admin/bom_extrafields.php", 1);
$head[$h][1] = $langs->trans("ExtraFields");
$head[$h][2] = 'bom_extrafields';
$h++;
/*$head[$h][0] = DOL_URL_ROOT."/bom/admin/about.php";
$head[$h][1] = $langs->trans("About");
$head[$h][2] = 'about';

View File

@ -69,7 +69,7 @@ print '<td class="linecoldisablestockchange right">'.$form->textwithpicto($langs
print '<td class="linecolefficiency right">'.$form->textwithpicto($langs->trans('ManufacturingEfficiency'), $langs->trans('ValueOfMeansLoss')).'</td>';
// Cost
print '<td class="linecolcost right">'.$langs->trans('CostPrice').'</td>';
print '<td class="linecolcost right">'.$form->textwithpicto($langs->trans("TotalCost"), $langs->trans("BOMTotalCost")).'</td>';
print '<td class="linecoledit"></td>'; // No width to allow autodim

View File

@ -113,7 +113,7 @@ if ($this->status == 0 && ($object_rights->write) && $action != 'selectlines') {
$coldisplay++;
if (($line->info_bits & 2) == 2 || !empty($disableedit)) {
} else {
print '<a class="editfielda reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$this->id.'&amp;action=editline&amp;lineid='.$line->id.'#line_'.$line->id.'">'.img_edit().'</a>';
print '<a class="editfielda reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$this->id.'&amp;action=editline&amp;lineid='.$line->id.'">'.img_edit().'</a>';
}
print '</td>';

View File

@ -111,6 +111,7 @@ $parameters = array('socid' => $socid);
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
/*
* Actions
*/
@ -317,7 +318,7 @@ if (empty($reshook) && $action == 'add')
if (GETPOST("doneby") > 0) $object->userdoneid = GETPOST("doneby", "int");
}
$object->note_private = trim(GETPOST("note"));
$object->note_private = trim(GETPOST("note", "none"));
if (isset($_POST["contactid"])) $object->contact = $contact;
@ -465,7 +466,7 @@ if (empty($reshook) && $action == 'update')
$object->contactid = key($object->socpeopleassigned);
}
$object->fk_project = GETPOST("projectid", 'int');
$object->note_private = GETPOST("note", "none");
$object->note_private = trim(GETPOST("note", "none"));
$object->fk_element = GETPOST("fk_element", "int");
$object->elementtype = GETPOST("elementtype", "alphanohtml");
@ -1056,14 +1057,13 @@ if ($action == 'create')
// Project
if (!empty($conf->projet->enabled))
{
// Projet associe
$langs->load("projects");
$projectid = GETPOST('projectid', 'int');
print '<tr><td class="titlefieldcreate">'.$langs->trans("Project").'</td><td id="project-input-container" >';
$numproject = $formproject->select_projects((!empty($societe->id) ? $societe->id : -1), $projectid, 'projectid', 0, 0, 1, 1);
$numproject = $formproject->select_projects((!empty($societe->id) ? $societe->id : -1), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 0, 0, 'maxwidth500');
print ' <a href="'.DOL_URL_ROOT.'/projet/card.php?socid='.$societe->id.'&action=create"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans("AddProject").'"></span></a>';
$urloption = '?action=create&donotclearsession=1';
@ -1118,7 +1118,7 @@ if ($action == 'create')
// Description
print '<tr><td class="tdtop">'.$langs->trans("Description").'</td><td>';
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
$doleditor = new DolEditor('note', (GETPOST('note', 'none') ?GETPOST('note', 'none') : $object->note_private), '', 180, 'dolibarr_notes', 'In', true, true, $conf->fckeditor->enabled, ROWS_4, '90%');
$doleditor = new DolEditor('note', (GETPOST('note', 'none') ? GETPOST('note', 'none') : $object->note_private), '', 180, 'dolibarr_notes', 'In', true, true, $conf->fckeditor->enabled, ROWS_4, '90%');
$doleditor->Create();
print '</td></tr>';

View File

@ -35,8 +35,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/action/rapport.pdf.php';
$langs->loadLangs(array("agenda", "commercial"));
$action = GETPOST('action', 'alpha');
$month = GETPOST('month');
$year = GETPOST('year');
$month = GETPOST('month', 'int');
$year = GETPOST('year', 'int');
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST("sortfield", 'alpha');
@ -119,9 +119,8 @@ if ($resql)
print '<input type="hidden" name="action" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="page" value="'.$page.'">';
print_barre_liste($langs->trans("EventReports"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_agenda', 0, '', '', $limit);
print_barre_liste($langs->trans("EventReports"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_agenda', 0, '', '', $limit, 0, 0, 1);
$moreforfilter = '';
@ -154,7 +153,7 @@ if ($resql)
// Button to build doc
print '<td class="center">';
print '<a href="'.$_SERVER["PHP_SELF"].'?action=builddoc&amp;page='.$page.'&amp;month='.$obj->month.'&amp;year='.$obj->year.'">'.img_picto($langs->trans('BuildDoc'), 'filenew').'</a>';
print '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=builddoc&amp;page='.$page.'&amp;month='.$obj->month.'&amp;year='.$obj->year.'">'.img_picto($langs->trans('BuildDoc'), 'filenew').'</a>';
print '</td>';
$name = "actions-".$obj->month."-".$obj->year.".pdf";

View File

@ -59,9 +59,9 @@ if (GETPOST('action', 'aZ09') == 'setremise')
$discount_type = GETPOST('discount_type', 'int');
if (!empty($discount_type)) {
$result = $object->set_remise_supplier(price2num(GETPOST("remise")), GETPOST("note"), $user);
$result = $object->set_remise_supplier(price2num(GETPOST("remise")), GETPOST("note", "alphanohtml"), $user);
} else {
$result = $object->set_remise_client(price2num(GETPOST("remise")), GETPOST("note"), $user);
$result = $object->set_remise_client(price2num(GETPOST("remise")), GETPOST("note", "alphanohtml"), $user);
}
if ($result > 0)
@ -187,7 +187,7 @@ if ($socid > 0)
// Motif/Note
print '<tr><td class="fieldrequired">';
print $langs->trans("NoteReason").'</td><td><input type="text" size="60" name="note" value="'.dol_escape_htmltag(GETPOST("note")).'"></td></tr>';
print $langs->trans("NoteReason").'</td><td><input type="text" size="60" name="note" value="'.dol_escape_htmltag(GETPOST("note", "alphanohtml")).'"></td></tr>';
print "</table>";

View File

@ -180,7 +180,7 @@ if ($result)
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print_barre_liste($langs->trans("VariousPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $newcardbutton, '', $limit, 0, 0, 1);
print_barre_liste($langs->trans("MenuVariousPayment"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $newcardbutton, '', $limit, 0, 0, 1);
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";

View File

@ -465,6 +465,7 @@ while ($j < $numlt)
// Payment Salary
/*
if (!empty($conf->salaries->enabled) && !empty($user->rights->salaries->read))
{
if (!$mode || $mode != 'sconly')
@ -575,6 +576,7 @@ if (!empty($conf->salaries->enabled) && !empty($user->rights->salaries->read))
}
}
}
*/
print '</form>';

View File

@ -1349,7 +1349,7 @@ class FactureRec extends CommonInvoice
$result = '';
$label = '<u>'.$langs->trans("ShowInvoice").'</u>';
$label = '<u>'.$langs->trans("RepeatableInvoice").'</u>';
if (!empty($this->ref)) {
$label .= '<br><b>'.$langs->trans('Ref').':</b> '.$this->ref;
}

View File

@ -375,9 +375,10 @@ if ($action == 'new')
$now = dol_now();
print $langs->trans("SelectChequeTransactionAndGenerate").'<br><br>'."\n";
print '<span class="opacitymedium">'.$langs->trans("SelectChequeTransactionAndGenerate").'</span><br><br>'."\n";
print '<form class="nocellnopadd" action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="new">';
dol_fiche_head();

View File

@ -819,7 +819,7 @@ class BonPrelevement extends CommonObject
* @param string $executiondate Date to execute the transfer
* @param int $notrigger Disable triggers
* @param string $type 'direct-debit' or 'bank-transfer'
* @return int <0 if KO, nbre of invoice withdrawed if OK
* @return int <0 if KO, No of invoice included into file if OK
*/
public function create($banque = 0, $agence = 0, $mode = 'real', $format = 'ALL', $executiondate = '', $notrigger = 0, $type = 'direct-debit')
{
@ -831,7 +831,12 @@ class BonPrelevement extends CommonObject
require_once DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php";
require_once DOL_DOCUMENT_ROOT."/societe/class/societe.class.php";
if (empty($format)) return 'ErrorBadParametersForDirectDebitFileCreate';
if ($type != 'bank-transfer') {
if (empty($format)) {
$this->error = 'ErrorBadParametersForDirectDebitFileCreate';
return -1;
}
}
$error = 0;
@ -1091,6 +1096,7 @@ class BonPrelevement extends CommonObject
// Fetch invoice
$fact = new Facture($this->db);
$fact->fetch($fac[0]);
/*
* Add standing order
*
@ -1163,14 +1169,15 @@ class BonPrelevement extends CommonObject
$this->context['factures_prev'] = $factures_prev;
// Generation of SEPA file $this->filename
$result = $this->generate($format, $executiondate);
// This also the the property $this->total that is included into file
$result = $this->generate($format, $executiondate, $type);
}
dol_syslog(__METHOD__."::End withdraw receipt, file ".$this->filename, LOG_DEBUG);
}
//var_dump($factures_prev);exit;
/*
* Update total
* Update total defined after generation of file
*/
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons";
$sql .= " SET amount = ".price2num($this->total);
@ -1455,7 +1462,7 @@ class BonPrelevement extends CommonObject
/**
* Generate a withdrawal file.
* Generate a direct debit or credit transfer file.
* Generation Formats:
* - Europe: SEPA (France: CFONB no more supported, Spain: AEB19 if external module EsAEB is enabled)
* - Others countries: Warning message
@ -1463,9 +1470,10 @@ class BonPrelevement extends CommonObject
*
* @param string $format FRST, RCUR or ALL
* @param string $executiondate Date to execute transfer
* @param string $type 'direct-debit' or 'credit-transfer'
* @return int >=0 if OK, <0 if KO
*/
public function generate($format = 'ALL', $executiondate = '')
public function generate($format = 'ALL', $executiondate = '', $type = 'direct-debit')
{
global $conf, $langs, $mysoc;
@ -1473,7 +1481,7 @@ class BonPrelevement extends CommonObject
$result = 0;
dol_syslog(get_class($this)."::generate build file ".$this->filename);
dol_syslog(get_class($this)."::generate build file=".$this->filename." type=".$type);
$this->file = fopen($this->filename, "w");
if (empty($this->file))
@ -1483,153 +1491,191 @@ class BonPrelevement extends CommonObject
}
$found = 0;
$this->total = 0;
// Build file for European countries
if ($mysoc->isInEEC())
{
$found++;
/**
* SECTION CREATION FICHIER SEPA
*/
// SEPA Initialisation
$CrLf = "\n";
if ($type == 'bank-transfer') {
print 'TODO';
exit;
} else {
/**
* SECTION CREATION FICHIER SEPA
*/
// SEPA Initialisation
$CrLf = "\n";
$now = dol_now();
$now = dol_now();
$dateTime_ECMA = dol_print_date($now, '%Y-%m-%dT%H:%M:%S');
$dateTime_ECMA = dol_print_date($now, '%Y-%m-%dT%H:%M:%S');
$date_actu = $now;
if (!empty($executiondate)) $date_actu = $executiondate;
$date_actu = $now;
if (!empty($executiondate)) $date_actu = $executiondate;
$dateTime_YMD = dol_print_date($date_actu, '%Y%m%d');
$dateTime_YMDHMS = dol_print_date($date_actu, '%Y%m%d%H%M%S');
$fileDebiteurSection = '';
$fileEmetteurSection = '';
$i = 0;
$this->total = 0;
$dateTime_YMD = dol_print_date($date_actu, '%Y%m%d');
$dateTime_YMDHMS = dol_print_date($date_actu, '%Y%m%d%H%M%S');
$fileDebiteurSection = '';
$fileEmetteurSection = '';
$i = 0;
/*
* Section Debitor (sepa Debiteurs bloc lines)
*/
/*
* Section Debitor (sepa Debiteurs bloc lines)
*/
$sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, c.code as country_code,";
$sql .= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,";
$sql .= " f.ref as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum, rib.rum, rib.date_rum";
$sql .= " FROM";
$sql .= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql .= " ".MAIN_DB_PREFIX."facture as f,";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture as pf,";
$sql .= " ".MAIN_DB_PREFIX."societe as soc,";
$sql .= " ".MAIN_DB_PREFIX."c_country as c,";
$sql .= " ".MAIN_DB_PREFIX."societe_rib as rib";
$sql .= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql .= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql .= " AND pf.fk_facture = f.rowid";
$sql .= " AND soc.fk_pays = c.rowid";
$sql .= " AND soc.rowid = f.fk_soc";
$sql .= " AND rib.fk_soc = f.fk_soc";
$sql .= " AND rib.default_rib = 1";
$sql .= " AND rib.type = 'ban'";
//print $sql;
$sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, c.code as country_code,";
$sql .= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,";
$sql .= " f.ref as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum, rib.rum, rib.date_rum";
$sql .= " FROM";
$sql .= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql .= " ".MAIN_DB_PREFIX."facture as f,";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture as pf,";
$sql .= " ".MAIN_DB_PREFIX."societe as soc,";
$sql .= " ".MAIN_DB_PREFIX."c_country as c,";
$sql .= " ".MAIN_DB_PREFIX."societe_rib as rib";
$sql .= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql .= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql .= " AND pf.fk_facture = f.rowid";
$sql .= " AND soc.fk_pays = c.rowid";
$sql .= " AND soc.rowid = f.fk_soc";
$sql .= " AND rib.fk_soc = f.fk_soc";
$sql .= " AND rib.default_rib = 1";
$sql .= " AND rib.type = 'ban'";
//print $sql;
// Define $fileDebiteurSection. One section DrctDbtTxInf per invoice.
$resql = $this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
while ($i < $num)
// Define $fileDebiteurSection. One section DrctDbtTxInf per invoice.
$resql = $this->db->query($sql);
if ($resql)
{
$obj = $this->db->fetch_object($resql);
$daterum = (!empty($obj->date_rum)) ? $this->db->jdate($obj->date_rum) : $this->db->jdate($obj->datec);
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->fac, $obj->idfac, $obj->iban, $obj->bic, $daterum, $obj->drum, $obj->rum);
$this->total = $this->total + $obj->somme;
$i++;
$num = $this->db->num_rows($resql);
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$daterum = (!empty($obj->date_rum)) ? $this->db->jdate($obj->date_rum) : $this->db->jdate($obj->datec);
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->fac, $obj->idfac, $obj->iban, $obj->bic, $daterum, $obj->drum, $obj->rum);
$this->total = $this->total + $obj->somme;
$i++;
}
$nbtotalDrctDbtTxInf = $i;
}
else
{
fputs($this->file, 'ERROR DEBITOR '.$sql.$CrLf); // DEBITOR = Customers
$result = -2;
}
$nbtotalDrctDbtTxInf = $i;
}
else
{
fputs($this->file, 'ERROR DEBITOR '.$sql.$CrLf); // DEBITOR = Customers
$result = -2;
}
// Define $fileEmetteurSection. Start of bloc PmtInf. Will contains all DrctDbtTxInf
if ($result != -2)
{
$fileEmetteurSection .= $this->EnregEmetteurSEPA($conf, $date_actu, $nbtotalDrctDbtTxInf, $this->total, $CrLf, $format);
}
else
{
fputs($this->file, 'ERROR CREDITOR'.$CrLf); // CREDITOR = My company
}
// Define $fileEmetteurSection. Start of bloc PmtInf. Will contains all DrctDbtTxInf
if ($result != -2)
{
$fileEmetteurSection .= $this->EnregEmetteurSEPA($conf, $date_actu, $nbtotalDrctDbtTxInf, $this->total, $CrLf, $format);
}
else
{
fputs($this->file, 'ERROR CREDITOR'.$CrLf); // CREDITOR = My company
}
/**
* SECTION CREATION SEPA FILE
*/
// SEPA File Header
fputs($this->file, '<'.'?xml version="1.0" encoding="UTF-8" standalone="yes"?'.'>'.$CrLf);
fputs($this->file, '<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$CrLf);
fputs($this->file, ' <CstmrDrctDbtInitn>'.$CrLf);
// SEPA Group header
fputs($this->file, ' <GrpHdr>'.$CrLf);
fputs($this->file, ' <MsgId>'.('PREL'.$dateTime_YMD.'/REF'.$this->id).'</MsgId>'.$CrLf);
fputs($this->file, ' <CreDtTm>'.$dateTime_ECMA.'</CreDtTm>'.$CrLf);
fputs($this->file, ' <NbOfTxs>'.$i.'</NbOfTxs>'.$CrLf);
fputs($this->file, ' <CtrlSum>'.$this->total.'</CtrlSum>'.$CrLf);
fputs($this->file, ' <InitgPty>'.$CrLf);
fputs($this->file, ' <Nm>'.strtoupper(dol_string_unaccent($this->raison_sociale)).'</Nm>'.$CrLf);
fputs($this->file, ' <Id>'.$CrLf);
fputs($this->file, ' <PrvtId>'.$CrLf);
fputs($this->file, ' <Othr>'.$CrLf);
fputs($this->file, ' <Id>'.$conf->global->PRELEVEMENT_ICS.'</Id>'.$CrLf);
fputs($this->file, ' </Othr>'.$CrLf);
fputs($this->file, ' </PrvtId>'.$CrLf);
fputs($this->file, ' </Id>'.$CrLf);
fputs($this->file, ' </InitgPty>'.$CrLf);
fputs($this->file, ' </GrpHdr>'.$CrLf);
// SEPA File Emetteur
if ($result != -2)
{ fputs($this-> file, $fileEmetteurSection); }
// SEPA File Debiteurs
if ($result != -2)
{ fputs($this-> file, $fileDebiteurSection); }
// SEPA FILE FOOTER
fputs($this->file, ' </PmtInf>'.$CrLf);
fputs($this->file, ' </CstmrDrctDbtInitn>'.$CrLf);
fputs($this->file, '</Document>'.$CrLf);
/**
* SECTION CREATION SEPA FILE
*/
// SEPA File Header
fputs($this->file, '<'.'?xml version="1.0" encoding="UTF-8" standalone="yes"?'.'>'.$CrLf);
fputs($this->file, '<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$CrLf);
fputs($this->file, ' <CstmrDrctDbtInitn>'.$CrLf);
// SEPA Group header
fputs($this->file, ' <GrpHdr>'.$CrLf);
fputs($this->file, ' <MsgId>'.('PREL'.$dateTime_YMD.'/REF'.$this->id).'</MsgId>'.$CrLf);
fputs($this->file, ' <CreDtTm>'.$dateTime_ECMA.'</CreDtTm>'.$CrLf);
fputs($this->file, ' <NbOfTxs>'.$i.'</NbOfTxs>'.$CrLf);
fputs($this->file, ' <CtrlSum>'.$this->total.'</CtrlSum>'.$CrLf);
fputs($this->file, ' <InitgPty>'.$CrLf);
fputs($this->file, ' <Nm>'.strtoupper(dol_string_unaccent($this->raison_sociale)).'</Nm>'.$CrLf);
fputs($this->file, ' <Id>'.$CrLf);
fputs($this->file, ' <PrvtId>'.$CrLf);
fputs($this->file, ' <Othr>'.$CrLf);
fputs($this->file, ' <Id>'.$conf->global->PRELEVEMENT_ICS.'</Id>'.$CrLf);
fputs($this->file, ' </Othr>'.$CrLf);
fputs($this->file, ' </PrvtId>'.$CrLf);
fputs($this->file, ' </Id>'.$CrLf);
fputs($this->file, ' </InitgPty>'.$CrLf);
fputs($this->file, ' </GrpHdr>'.$CrLf);
// SEPA File Emetteur
if ($result != -2)
{ fputs($this-> file, $fileEmetteurSection); }
// SEPA File Debiteurs
if ($result != -2)
{ fputs($this-> file, $fileDebiteurSection); }
// SEPA FILE FOOTER
fputs($this->file, ' </PmtInf>'.$CrLf);
fputs($this->file, ' </CstmrDrctDbtInitn>'.$CrLf);
fputs($this->file, '</Document>'.$CrLf);
}
}
// Build file for Other Countries with unknow format
if (!$found)
{
$this->total = 0;
$sql = "SELECT pl.amount";
$sql .= " FROM";
$sql .= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql .= " ".MAIN_DB_PREFIX."facture as f,";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql .= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql .= " AND pf.fk_facture = f.rowid";
if ($type == 'bank-transfer') {
$sql = "SELECT pl.amount";
$sql .= " FROM";
$sql .= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql .= " ".MAIN_DB_PREFIX."facture_fourn as f,";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql .= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql .= " AND pf.fk_facture_fourn = f.rowid";
//Lines
$i = 0;
$resql = $this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
while ($i < $num)
// Lines
$i = 0;
$resql = $this->db->query($sql);
if ($resql)
{
$obj = $this->db->fetch_object($resql);
$this->total = $this->total + $obj->amount;
$i++;
$num = $this->db->num_rows($resql);
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$this->total = $this->total + $obj->amount;
// TODO Write record into file
$i++;
}
}
else
{
$result = -2;
}
} else {
$sql = "SELECT pl.amount";
$sql .= " FROM";
$sql .= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql .= " ".MAIN_DB_PREFIX."facture as f,";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql .= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql .= " AND pf.fk_facture = f.rowid";
// Lines
$i = 0;
$resql = $this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$this->total = $this->total + $obj->amount;
// TODO Write record into file
$i++;
}
}
else
{
$result = -2;
}
}
else
{
$result = -2;
}
$langs->load('withdrawals');

View File

@ -191,7 +191,8 @@ print '<input type="hidden" name="type" value="'.$type.'">';
if ($nb) {
if ($pricetowithdraw) {
print $langs->trans('ExecutionDate').' ';
print $form->selectDate();
$datere = dol_mktime(0, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
print $form->selectDate($datere, 're');
if ($mysoc->isInEEC()) {
$title = $langs->trans("CreateForSepa");
@ -200,7 +201,10 @@ if ($nb) {
}
if ($type != 'bank-transfer') {
print '<select name="format"><option value="FRST">'.$langs->trans('SEPAFRST').'</option><option value="RCUR">'.$langs->trans('SEPARCUR').'</option></select>';
print '<select name="format">';
print '<option value="FRST"'.(GETPOST('format', 'aZ09') == 'FRST' ? ' selected="selected"' : '').'>'.$langs->trans('SEPAFRST').'</option>';
print '<option value="RCUR"'.(GETPOST('format', 'aZ09') == 'RCUR' ? ' selected="selected"' : '').'>'.$langs->trans('SEPARCUR').'</option>';
print '</select>';
}
print '<input class="butAction" type="submit" value="'.$title.'"/>';
} else {

View File

@ -500,7 +500,7 @@ elseif ($modecompta == "BOOKKEEPING")
}
/*
* Charges sociales non deductibles
* Social contributions
*/
$subtotal_ht = 0;
@ -513,7 +513,6 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom
$sql .= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c";
$sql .= ", ".MAIN_DB_PREFIX."chargesociales as cs";
$sql .= " WHERE cs.fk_type = c.id";
$sql .= " AND c.deductible = 0";
if (!empty($date_start) && !empty($date_end))
$sql .= " AND cs.date_ech >= '".$db->idate($date_start)."' AND cs.date_ech <= '".$db->idate($date_end)."'";
}
@ -525,7 +524,6 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom
$sql .= ", ".MAIN_DB_PREFIX."paiementcharge as p";
$sql .= " WHERE p.fk_charge = cs.rowid";
$sql .= " AND cs.fk_type = c.id";
$sql .= " AND c.deductible = 0";
if (!empty($date_start) && !empty($date_end))
$sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'";
}
@ -533,69 +531,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom
$sql .= " AND cs.entity = ".$conf->entity;
$sql .= " GROUP BY c.libelle, dm";
dol_syslog("get social contributions deductible=0 ", LOG_DEBUG);
$result = $db->query($sql);
if ($result) {
$num = $db->num_rows($result);
$i = 0;
if ($num) {
while ($i < $num) {
$obj = $db->fetch_object($result);
if (!isset($decaiss[$obj->dm])) $decaiss[$obj->dm] = 0;
$decaiss[$obj->dm] += $obj->amount;
if (!isset($decaiss_ttc[$obj->dm])) $decaiss_ttc[$obj->dm] = 0;
$decaiss_ttc[$obj->dm] += $obj->amount;
$i++;
}
}
} else {
dol_print_error($db);
}
}
elseif ($modecompta == "BOOKKEEPING")
{
// Nothing from this table
}
/*
* Charges sociales deductibles
*/
$subtotal_ht = 0;
$subtotal_ttc = 0;
if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES"))
{
if ($modecompta == 'CREANCES-DETTES')
{
$sql = "SELECT c.libelle as nom, date_format(cs.date_ech,'%Y-%m') as dm, sum(cs.amount) as amount";
$sql .= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c";
$sql .= ", ".MAIN_DB_PREFIX."chargesociales as cs";
$sql .= " WHERE cs.fk_type = c.id";
$sql .= " AND c.deductible = 1";
if (!empty($date_start) && !empty($date_end))
$sql .= " AND cs.date_ech >= '".$db->idate($date_start)."' AND cs.date_ech <= '".$db->idate($date_end)."'";
}
elseif ($modecompta == "RECETTES-DEPENSES")
{
$sql = "SELECT c.libelle as nom, date_format(p.datep,'%Y-%m') as dm, sum(p.amount) as amount";
$sql .= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c";
$sql .= ", ".MAIN_DB_PREFIX."chargesociales as cs";
$sql .= ", ".MAIN_DB_PREFIX."paiementcharge as p";
$sql .= " WHERE p.fk_charge = cs.rowid";
$sql .= " AND cs.fk_type = c.id";
$sql .= " AND c.deductible = 1";
if (!empty($date_start) && !empty($date_end))
$sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'";
}
$sql .= " AND cs.entity = ".$conf->entity;
$sql .= " GROUP BY c.libelle, dm";
dol_syslog("get social contributions paid deductible=1", LOG_DEBUG);
dol_syslog("get social contributions", LOG_DEBUG);
$result = $db->query($sql);
if ($result) {
$num = $db->num_rows($result);
@ -735,7 +671,7 @@ elseif ($modecompta == 'BOOKKEEPING') {
/*
* Donation get dunning paiement
* Donation get dunning payments
*/
if (!empty($conf->don->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES"))

View File

@ -2128,13 +2128,6 @@ else
else print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Modify").'</a></div>';
}
if (!empty($conf->facture->enabled) && $object->statut > 0)
{
$langs->load("bills");
if ($user->rights->facture->creer) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture/card.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->thirdparty->id.'">'.$langs->trans("CreateBill").'</a></div>';
else print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("CreateBill").'</a></div>';
}
if (!empty($conf->commande->enabled) && $object->statut > 0 && $object->nbofservicesclosed < $nbofservices)
{
$langs->load("orders");
@ -2142,9 +2135,11 @@ else
else print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("CreateOrder").'</a></div>';
}
// Clone
if ($user->rights->contrat->creer) {
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&amp;socid='.$object->socid.'&amp;action=clone&amp;object='.$object->element.'">'.$langs->trans("ToClone").'</a></div>';
if (!empty($conf->facture->enabled) && $object->statut > 0)
{
$langs->load("bills");
if ($user->rights->facture->creer) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture/card.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->thirdparty->id.'">'.$langs->trans("CreateBill").'</a></div>';
else print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("CreateBill").'</a></div>';
}
if ($object->nbofservicesclosed > 0 || $object->nbofserviceswait > 0)
@ -2178,10 +2173,13 @@ else
//}
}
// On peut supprimer entite si
// - Droit de creer + mode brouillon (erreur creation)
// - Droit de supprimer
if (($user->rights->contrat->creer && $object->statut == 0) || $user->rights->contrat->supprimer)
// Clone
if ($user->rights->contrat->creer) {
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&amp;socid='.$object->socid.'&amp;action=clone&amp;object='.$object->element.'">'.$langs->trans("ToClone").'</a></div>';
}
// Delete
if (($user->rights->contrat->creer && $object->statut == $object::STATUS_DRAFT) || $user->rights->contrat->supprimer)
{
print '<div class="inline-block divButAction"><a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete">'.$langs->trans("Delete").'</a></div>';
}

View File

@ -96,6 +96,12 @@ if ($action == 'add' && !empty($permissiontoadd))
}
}
// Fill array 'array_options' with data from add form
if (!$error) {
$ret = $extrafields->setOptionalsFromPost(null, $object);
if ($ret < 0) $error++;
}
if (!$error)
{
$result = $object->create($user);
@ -174,6 +180,12 @@ if ($action == 'update' && !empty($permissiontoadd))
}
}
// Fill array 'array_options' with data from add form
if (!$error) {
$ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
if ($ret < 0) $error++;
}
if (!$error)
{
$result = $object->update($user);
@ -201,7 +213,14 @@ if ($action == "update_extras" && !empty($permissiontoadd))
$attributekey = GETPOST('attribute', 'alpha');
$attributekeylong = 'options_'.$attributekey;
$object->array_options['options_'.$attributekey] = GETPOST($attributekeylong, ' alpha');
if (GETPOSTISSET($attributekeylong.'day') && GETPOSTISSET($attributekeylong.'month') && GETPOSTISSET($attributekeylong.'year')) {
// This is properties of a date
$object->array_options['options_'.$attributekey] = dol_mktime(GETPOST($attributekeylong.'hour', 'int'), GETPOST($attributekeylong.'min', 'int'), GETPOST($attributekeylong.'sec', 'int'), GETPOST($attributekeylong.'month', 'int'), GETPOST($attributekeylong.'day', 'int'), GETPOST($attributekeylong.'year', 'int'));
//var_dump(dol_print_date($object->array_options['options_'.$attributekey]));exit;
} else {
$object->array_options['options_'.$attributekey] = GETPOST($attributekeylong, ' alpha');
}
$result = $object->insertExtraFields(empty($triggermodname) ? '' : $triggermodname, $user);
if ($result > 0)

View File

@ -47,8 +47,10 @@ if (($id > 0 || (!empty($ref) && !in_array($action, array('create', 'createtask'
setEventMessages('Fetch on object (type '.get_class($object).') return an error without filling $object->error nor $object->errors', null, 'errors');
}
}
else setEventMessages($object->error, $object->errors, 'errors');
$action = '';
else {
setEventMessages($object->error, $object->errors, 'errors');
}
$action = '';
}
}
}

View File

@ -47,8 +47,8 @@ top_httphead();
print '<!-- Ajax page called with url '.dol_escape_htmltag($_SERVER["PHP_SELF"]).'?'.dol_escape_htmltag($_SERVER["QUERY_STRING"]).' -->'."\n";
// Registering the location of boxes
if ((!empty($_POST['roworder'])) && (!empty($_POST['table_element_line']))
&& (!empty($_POST['fk_element'])) && (!empty($_POST['element_id'])))
if (GETPOST('roworder', 'alpha') && GETPOST('table_element_line', 'alpha', 2)
&& GETPOST('fk_element', 'alpha', 2) && GETPOST('element_id', 'int', 2))
{
$roworder = GETPOST('roworder', 'alpha', 2);
$table_element_line = GETPOST('table_element_line', 'alpha', 2);

View File

@ -143,7 +143,7 @@ class box_services_contracts extends ModeleBoxes
$thirdpartytmp->code_compta_fournisseur = $objp->code_compta_fournisseur;
$dateline = $this->db->jdate($objp->date_line);
if ($contractstatic->statut == Contrat::STATUS_VALIDATED && $objp->statut == ContratLigne::STATUS_OPEN && ($dateline + $conf->contrat->services->expires->warning_delay) < $now) $late = img_warning($langs->trans("Late"));
if ($contractstatic->statut == Contrat::STATUS_VALIDATED && $objp->statut == ContratLigne::STATUS_OPEN && !empty($dateline) && ($dateline + $conf->contrat->services->expires->warning_delay) < $now) $late = img_warning($langs->trans("Late"));
// Multilangs
if (!empty($conf->global->MAIN_MULTILANGS) && $objp->product_id > 0) // if option multilang is on

View File

@ -5848,7 +5848,7 @@ abstract class CommonObject
* Update an extra field value for the current object.
* Data to describe values to update are stored into $this->array_options=array('options_codeforfield1'=>'valueforfield1', 'options_codeforfield2'=>'valueforfield2', ...)
*
* @param string $key Key of the extrafield (without starting 'options_')
* @param string $key Key of the extrafield to update (without starting 'options_')
* @param string $trigger If defined, call also the trigger (for example COMPANY_MODIFY)
* @param User $userused Object user
* @return int -1=error, O=did nothing, 1=OK
@ -7159,8 +7159,6 @@ abstract class CommonObject
$html_id = (empty($this->id) ? '' : 'extrarow-'.$this->element.'_'.$key.'_'.$this->id);
$out .= '<tr '.($html_id ? 'id="'.$html_id.'" ' : '').$csstyle.' class="'.$class.$this->element.'_extras_'.$key.' trextrafields_collapse'.$extrafields_collapse_num.'" '.$domData.' >';
if (!empty($conf->global->MAIN_EXTRAFIELDS_USE_TWO_COLUMS) && ($e % 2) == 0) { $colspan = '0'; }
if ($action == 'selectlines') { $colspan++; }
@ -7190,6 +7188,7 @@ abstract class CommonObject
$labeltoshow = $langs->trans($label);
$helptoshow = $langs->trans($extrafields->attributes[$this->table_element]['help'][$key]);
$out .= '<tr '.($html_id ? 'id="'.$html_id.'" ' : '').$csstyle.' class="'.$class.$this->element.'_extras_'.$key.' trextrafields_collapse'.$extrafields_collapse_num.'" '.$domData.' >';
$out .= '<td class="';
//$out .= "titlefield";
//if (GETPOST('action', 'none') == 'create') $out.='create';
@ -8114,6 +8113,11 @@ abstract class CommonObject
if ($obj)
{
$this->setVarsFromFetchObj($obj);
// Retreive all extrafield
// fetch optionals attributes and labels
$this->fetch_optionals();
return $this->id;
}
else
@ -8150,6 +8154,9 @@ abstract class CommonObject
$sql .= ' FROM '.MAIN_DB_PREFIX.$objectline->table_element;
$sql .= ' WHERE fk_'.$this->element.' = '.$this->id;
if ($morewhere) $sql .= $morewhere;
if (isset($objectline->fields['position'])) {
$sql .= $this->db->order('position', 'ASC');
}
$resql = $this->db->query($sql);
if ($resql)

View File

@ -2017,7 +2017,9 @@ class ExtraFields
*
* @param array $extralabels Deprecated (old $array of extrafields, now set this to null)
* @param object $object Object
* @param string $onlykey Only the following key is filled. When we make update of only one extrafield ($action = 'update_extras'), calling page must set this to avoid to have other extrafields being reset.
* @param string $onlykey Only some keys are filled:$this
* 'string' => When we make update of only one extrafield ($action = 'update_extras'), calling page can set this to avoid to have other extrafields being reset.
* '@GETPOSTISSET' => When we make update of extrafields ($action = 'update'), calling page can set this to avoid to have fields not into POST being reset.
* @return int 1 if array_options set, 0 if no value, -1 if error (field required missing for example)
*/
public function setOptionalsFromPost($extralabels, &$object, $onlykey = '')
@ -2034,7 +2036,8 @@ class ExtraFields
// Get extra fields
foreach ($extralabels as $key => $value)
{
if (!empty($onlykey) && $key != $onlykey) continue;
if (!empty($onlykey) && $onlykey != '@GETPOSTISSET' && $key != $onlykey) continue;
if (!empty($onlykey) && $onlykey == '@GETPOSTISSET' && ! GETPOSTISSET('options_'.$key)) continue;
$key_type = $this->attributes[$object->table_element]['type'][$key];
if ($key_type == 'separate') continue;

View File

@ -184,7 +184,8 @@ print '
{
if (this.href)
{
this.href=this.href+\'&page_y=\'+page_y;
var hrefarray = this.href.split("#", 2);
this.href=hrefarray[0]+\'&page_y=\'+page_y;
console.log("We click on tag with .reposition class. this.ref is now "+this.href);
}
else

View File

@ -61,7 +61,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
$script .= '<script>'."\n";
$script .= '$(document).ready(function() {
var autoselect = '.$autoselect.';
var options = '.json_encode($ajaxoptions).';
var options = '.json_encode($ajaxoptions).'; /* Option of actions to do after keyup, or after select */
/* Remove selected id as soon as we type or delete a char (it means old selection is wrong). Use keyup/down instead of change to avoid loosing the product id. This is needed only for select of predefined product */
$("input#search_'.$htmlname.'").keydown(function(e) {
@ -131,7 +131,9 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
textarea[key] = item[value];
});
}
return { label: label, value: item.value, id: item.key, update: update, textarea: textarea, disabled: item.disabled }
return { label: label, value: item.value, id: item.key, disabled: item.disabled,
update: update, textarea: textarea,
pbq: item.pbq, type: item.type, qty: item.qty, discount: item.discount, pricebasetype: item.pricebasetype, price_ht: item.price_ht, price_ttc: item.price_ttc }
}));
}
else console.error("Error: Ajax url '.$url.($urloption ? '?'.$urloption : '').' has returned an empty page. Should be an empty json array.");
@ -142,6 +144,14 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
select: function( event, ui ) { // Function ran once new value has been selected into javascript combo
console.log("Call change on input '.$htmlname.' because of select definition of autocomplete select call on input#search_'.$htmlname.'");
console.log("Selected id = "+ui.item.id+" - If this value is null, it means you select a record with key that is null so selection is not effective");
//console.log(ui.item);
$("#'.$htmlname.'").attr("data-pbq", ui.item.pbq);
$("#'.$htmlname.'").attr("data-pbqup", ui.item.price_ht);
$("#'.$htmlname.'").attr("data-pbqbase", ui.item.pricebasetype);
$("#'.$htmlname.'").attr("data-pbqqty", ui.item.qty);
$("#'.$htmlname.'").attr("data-pbqpercent", ui.item.discount);
$("#'.$htmlname.'").val(ui.item.id).trigger("change"); // Select new value
// Disable an element
if (options.option_disabled) {

View File

@ -35,7 +35,7 @@ function holiday_prepare_head($object)
$head = array();
$head[$h][0] = DOL_URL_ROOT.'/holiday/card.php?id='.$object->id;
$head[$h][1] = $langs->trans("Holiday");
$head[$h][1] = $langs->trans("Leave");
$head[$h][2] = 'card';
$h++;

View File

@ -222,27 +222,32 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'billing', '', 2000__+MAX_llx_menu__, '/don/list.php?mainmenu=billing&amp;leftmenu=donations', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__);
-- insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'billing', '', 2000__+MAX_llx_menu__, '/don/stats/index.php?mainmenu=billing&amp;leftmenu=donations', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__);
-- Special expenses
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled || $conf->loan->enabled || $conf->banque->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'billing', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?mainmenu=billing&amp;leftmenu=tax', 'MenuSpecialExpenses', 0, 'compta', '(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read)) || (! empty($conf->loan->enabled) && $user->rights->loan->read) || (! empty($conf->banque->enabled) && $user->rights->banque->lire)', '', 0, 6, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled', __HANDLER__, 'left', 2210__+MAX_llx_menu__, 'billing', 'tax_sal', 2200__+MAX_llx_menu__, '/salaries/list.php?mainmenu=billing&amp;leftmenu=tax_salary', 'Salaries', 1, 'salaries', '$user->rights->salaries->read', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2211__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/card.php?mainmenu=billing&amp;leftmenu=tax_salary&amp;action=create', 'NewPayment', 2, 'companies', '$user->rights->salaries->write', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2212__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/list.php?mainmenu=billing&amp;leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->salaries->read', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2213__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/stats/index.php?mainmenu=billing&amp;leftmenu=tax_salary', 'Statistics', 2, 'companies', '$user->rights->salaries->read', '', 0, 4, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled', __HANDLER__, 'left', 2220__+MAX_llx_menu__, 'billing', 'tax_loan', 2200__+MAX_llx_menu__, '/loan/list.php?mainmenu=billing&amp;leftmenu=tax_loan', 'Loans', 1, 'loan', '$user->rights->loan->read', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2221__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/card.php?mainmenu=billing&amp;leftmenu=tax_loan&amp;action=create', 'NewLoan', 2, 'loan', '$user->rights->loan->write', '', 0, 2, __ENTITY__);
--insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2222__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/payment/list.php?mainmenu=billing&amp;leftmenu=tax_loan', 'Payments', 2, 'companies', '$user->rights->loan->read', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)', __HANDLER__, 'left', 2223__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/calc.php?mainmenu=billing&amp;leftmenu=tax_loan', 'Calculator', 2, 'companies', '$user->rights->loan->calc', '', 0, 4, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled || $conf->loan->enabled || $conf->banque->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'billing', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?mainmenu=billing&amp;leftmenu=tax', 'MenuTaxesAndSpecialExpenses', 0, 'compta', '(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read)) || (! empty($conf->loan->enabled) && $user->rights->loan->read) || (! empty($conf->banque->enabled) && $user->rights->banque->lire)', '', 0, 6, __ENTITY__);
-- Social contributions
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'billing', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/list.php?mainmenu=billing&amp;leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'billing', '', 2250__+MAX_llx_menu__, '/compta/sociales/card.php?mainmenu=billing&amp;leftmenu=tax_social&amp;action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'billing', '', 2250__+MAX_llx_menu__, '/compta/sociales/payments.php?mainmenu=billing&amp;leftmenu=tax_social&amp;mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
-- VAT
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)', __HANDLER__, 'left', 2300__+MAX_llx_menu__, 'billing', 'tax_vat', 2200__+MAX_llx_menu__, '/compta/tva/list.php?mainmenu=billing&amp;leftmenu=tax_vat', 'VAT', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 7, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2301__+MAX_llx_menu__, 'billing', '', 2300__+MAX_llx_menu__, '/compta/tva/card.php?mainmenu=billing&amp;leftmenu=tax_vat&amp;action=create', 'New', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 0, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'billing', '', 2300__+MAX_llx_menu__, '/compta/tva/list.php?mainmenu=billing&amp;leftmenu=tax_vat', 'List', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2303__+MAX_llx_menu__, 'billing', '', 2300__+MAX_llx_menu__, '/compta/tva/index.php?mainmenu=billing&amp;leftmenu=tax_vat', 'ReportByMonth', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2304__+MAX_llx_menu__, 'billing', '', 2300__+MAX_llx_menu__, '/compta/tva/clients.php?mainmenu=billing&amp;leftmenu=tax_vat', 'ReportByCustomers', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2305__+MAX_llx_menu__, 'billing', '', 2300__+MAX_llx_menu__, '/compta/tva/quadri_detail.php?mainmenu=billing&amp;leftmenu=tax_vat', 'ReportByQuarter', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 4, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)', __HANDLER__, 'left', 2350__+MAX_llx_menu__, 'billing', 'tax_various', 2200__+MAX_llx_menu__, '/compta/bank/various_payment/list.php?mainmenu=billing&amp;leftmenu=tax_various', 'MenuVariousPayment', 1, 'banks', '$user->rights->banque->lire', '', 0, 1, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && $leftmenu=="tax_various"', __HANDLER__, 'left', 2351__+MAX_llx_menu__, 'billing', '', 2350__+MAX_llx_menu__, '/compta/bank/various_payment/card.php?mainmenu=billing&amp;leftmenu=tax_various&amp;action=create', 'New', 2, 'various_payment', '$user->rights->banque->modifier', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && $leftmenu=="tax_various"', __HANDLER__, 'left', 2352__+MAX_llx_menu__, 'billing', '', 2350__+MAX_llx_menu__, '/compta/bank/various_payment/list.php?mainmenu=billing&amp;leftmenu=tax_various', 'List', 2, 'various_payment', '$user->rights->banque->lire', '', 0, 3, __ENTITY__);
-- Salary
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled', __HANDLER__, 'left', 2210__+MAX_llx_menu__, 'billing', 'tax_sal', 6__+MAX_llx_menu__, '/salaries/list.php?mainmenu=billing&amp;leftmenu=tax_salary', 'Salaries', 0, 'salaries', '$user->rights->salaries->read', '', 0, 10, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2211__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/card.php?mainmenu=billing&amp;leftmenu=tax_salary&amp;action=create', 'NewPayment', 1, 'companies', '$user->rights->salaries->write', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2212__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/list.php?mainmenu=billing&amp;leftmenu=tax_salary', 'Payments', 1, 'companies', '$user->rights->salaries->read', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2213__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/stats/index.php?mainmenu=billing&amp;leftmenu=tax_salary', 'Statistics', 1, 'companies', '$user->rights->salaries->read', '', 0, 4, __ENTITY__);
-- Loan
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled', __HANDLER__, 'left', 2220__+MAX_llx_menu__, 'billing', 'tax_loan', 6__+MAX_llx_menu__, '/loan/list.php?mainmenu=billing&amp;leftmenu=tax_loan', 'Loans', 0, 'loan', '$user->rights->loan->read', '', 0, 20, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2221__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/card.php?mainmenu=billing&amp;leftmenu=tax_loan&amp;action=create', 'NewLoan', 1, 'loan', '$user->rights->loan->write', '', 0, 2, __ENTITY__);
--insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2222__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/payment/list.php?mainmenu=billing&amp;leftmenu=tax_loan', 'Payments', 1, 'companies', '$user->rights->loan->read', '', 0, 3, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)', __HANDLER__, 'left', 2223__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/calc.php?mainmenu=billing&amp;leftmenu=tax_loan', 'Calculator', 1, 'companies', '$user->rights->loan->calc', '', 0, 4, __ENTITY__);
-- Various payments
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)', __HANDLER__, 'left', 2350__+MAX_llx_menu__, 'billing', 'tax_various', 6__+MAX_llx_menu__, '/compta/bank/various_payment/list.php?mainmenu=billing&amp;leftmenu=tax_various', 'MenuVariousPayment', 0, 'banks', '$user->rights->banque->lire', '', 0, 30, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && $leftmenu=="tax_various"', __HANDLER__, 'left', 2351__+MAX_llx_menu__, 'billing', '', 2350__+MAX_llx_menu__, '/compta/bank/various_payment/card.php?mainmenu=billing&amp;leftmenu=tax_various&amp;action=create', 'New', 1, 'various_payment', '$user->rights->banque->modifier', '', 0, 2, __ENTITY__);
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && $leftmenu=="tax_various"', __HANDLER__, 'left', 2352__+MAX_llx_menu__, 'billing', '', 2350__+MAX_llx_menu__, '/compta/bank/various_payment/list.php?mainmenu=billing&amp;leftmenu=tax_various', 'List', 1, 'various_payment', '$user->rights->banque->lire', '', 0, 3, __ENTITY__);
-- Accounting (Double entries)
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2400__+MAX_llx_menu__, 'accountancy', 'accountancy', 9__+MAX_llx_menu__, '/accountancy/index.php?mainmenu=accountancy&amp;leftmenu=accountancy', 'MenuAccountancy', 0, 'main', '! empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire', '', 0, 7, __ENTITY__);
-- Setup

View File

@ -1096,7 +1096,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
global $mysoc;
$permtoshowmenu = ((!empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (!empty($conf->salaries->enabled) && !empty($user->rights->salaries->read)) || (!empty($conf->loan->enabled) && $user->rights->loan->read) || (!empty($conf->banque->enabled) && $user->rights->banque->lire));
$newmenu->add("/compta/charges/index.php?leftmenu=tax&amp;mainmenu=billing", $langs->trans("MenuSpecialExpenses"), 0, $permtoshowmenu, '', $mainmenu, 'tax');
$newmenu->add("/compta/charges/index.php?leftmenu=tax&amp;mainmenu=billing", $langs->trans("MenuTaxesAndSpecialExpenses"), 0, $permtoshowmenu, '', $mainmenu, 'tax');
// Social contributions
if (!empty($conf->tax->enabled))
@ -1151,11 +1151,11 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
if (!empty($conf->salaries->enabled))
{
$langs->load("salaries");
$newmenu->add("/salaries/list.php?leftmenu=tax_salary&amp;mainmenu=billing", $langs->trans("Salaries"), 1, $user->rights->salaries->read, '', $mainmenu, 'tax_salary');
$newmenu->add("/salaries/list.php?leftmenu=tax_salary&amp;mainmenu=billing", $langs->trans("Salaries"), 0, $user->rights->salaries->read, '', $mainmenu, 'tax_salary');
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_salary/i', $leftmenu)) {
$newmenu->add("/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans("NewPayment"), 2, $user->rights->salaries->write);
$newmenu->add("/salaries/list.php?leftmenu=tax_salary", $langs->trans("Payments"), 2, $user->rights->salaries->read);
$newmenu->add("/salaries/stats/index.php?leftmenu=tax_salary", $langs->trans("Statistics"), 2, $user->rights->salaries->read);
$newmenu->add("/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans("NewPayment"), 1, $user->rights->salaries->write);
$newmenu->add("/salaries/list.php?leftmenu=tax_salary", $langs->trans("Payments"), 1, $user->rights->salaries->read);
$newmenu->add("/salaries/stats/index.php?leftmenu=tax_salary", $langs->trans("Statistics"), 1, $user->rights->salaries->read);
}
}
@ -1163,9 +1163,9 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
if (!empty($conf->loan->enabled))
{
$langs->load("loan");
$newmenu->add("/loan/list.php?leftmenu=tax_loan&amp;mainmenu=billing", $langs->trans("Loans"), 1, $user->rights->loan->read, '', $mainmenu, 'tax_loan');
$newmenu->add("/loan/list.php?leftmenu=tax_loan&amp;mainmenu=billing", $langs->trans("Loans"), 0, $user->rights->loan->read, '', $mainmenu, 'tax_loan');
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_loan/i', $leftmenu)) {
$newmenu->add("/loan/card.php?leftmenu=tax_loan&action=create", $langs->trans("NewLoan"), 2, $user->rights->loan->write);
$newmenu->add("/loan/card.php?leftmenu=tax_loan&action=create", $langs->trans("NewLoan"), 1, $user->rights->loan->write);
//$newmenu->add("/loan/payment/list.php?leftmenu=tax_loan",$langs->trans("Payments"),2,$user->rights->loan->read);
}
}
@ -1174,10 +1174,10 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
if (!empty($conf->banque->enabled) && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT))
{
$langs->load("banks");
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various&amp;mainmenu=billing", $langs->trans("MenuVariousPayment"), 1, $user->rights->banque->lire, '', $mainmenu, 'tax_various');
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various&amp;mainmenu=billing", $langs->trans("MenuVariousPayment"), 0, $user->rights->banque->lire, '', $mainmenu, 'tax_various');
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_various/i', $leftmenu)) {
$newmenu->add("/compta/bank/various_payment/card.php?leftmenu=tax_various&action=create", $langs->trans("New"), 2, $user->rights->banque->modifier);
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various", $langs->trans("List"), 2, $user->rights->banque->lire);
$newmenu->add("/compta/bank/various_payment/card.php?leftmenu=tax_various&action=create", $langs->trans("New"), 1, $user->rights->banque->modifier);
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various", $langs->trans("List"), 1, $user->rights->banque->lire);
}
}
}

View File

@ -147,8 +147,11 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element]
if ($object->element == 'shipping') $permok = $user->rights->expedition->creer;
if ($object->element == 'delivery') $permok = $user->rights->expedition->livraison->creer;
if ($object->element == 'productlot') $permok = $user->rights->stock->creer;
if ($object->element == 'facturerec') $permok = $user->rights->facture->creer;
if (($object->statut == 0 || !empty($extrafields->attributes[$object->table_element]['alwayseditable'][$key]))
if ($object->element == 'facturerec') $permok = $user->rights->facture->creer;
if ($object->element == 'mo') $permok = $user->rights->mrp->write;
$isdraft = ((isset($object->statut) && $object->statut == 0) || (isset($object->status) && $object->status == 0));
if (($isdraft || !empty($extrafields->attributes[$object->table_element]['alwayseditable'][$key]))
&& $permok && $enabled != 5 && ($action != 'edit_extras' || GETPOST('attribute') != $key)
&& empty($extrafields->attributes[$object->table_element]['computed'][$key]))
{

View File

@ -631,13 +631,16 @@ if (!empty($usemargins) && $user->rights->margins->creer)
if (empty($conf->global->MAIN_DISABLE_EDIT_PREDEF_PRICEHT) && empty($senderissupplier))
{
?>
var pbq = parseInt($('option:selected', this).attr('data-pbq'));
var pbq = parseInt($('option:selected', this).attr('data-pbq')); /* If product was selected with a HTML select */
if (isNaN(pbq)) { pbq = jQuery('#idprod').attr('data-pbq'); } /* If product was selected with a HTML input with autocomplete */
//console.log(pbq);
if ((jQuery('#idprod').val() > 0 || jQuery('#idprodfournprice').val()) && ! isNaN(pbq) && pbq > 0)
{
console.log("We are in a price per qty context, we do not call ajax/product");
console.log("We are in a price per qty context, we do not call ajax/product, init of fields is done few lines later");
} else {
<?php if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { ?>
if (isNaN(pbq)) { console.log("We use experimental option PRODUIT_CUSTOMER_PRICES_BY_QTY or PRODUIT_CUSTOMER_PRICES_BY_QTY but we are not yet able to get the id of pbq from product combo list, so load of price may be 0 if product has differet prices"); }
if (isNaN(pbq)) { console.log("We use experimental option PRODUIT_CUSTOMER_PRICES_BY_QTY or PRODUIT_CUSTOMER_PRICES_BY_QTY but we could not get the id of pbq from product combo list, so load of price may be 0 if product has differet prices"); }
<?php } ?>
// Get the HT price for the product and display it
console.log("Load unit price without tax and set it into #price_ht for product id="+$(this).val()+" socid=<?php print $object->socid; ?>");
@ -760,11 +763,16 @@ if (!empty($usemargins) && $user->rights->margins->creer)
?>
/* To process customer price per quantity (CUSTOMER_PRICE_PER_QTY works only if combo product is not an ajax after x key pressed) */
var pbq = parseInt($('option:selected', this).attr('data-pbq'));
var pbq = parseInt($('option:selected', this).attr('data-pbq')); // When select is done from HTML select
if (isNaN(pbq)) { pbq = jQuery('#idprod').attr('data-pbq'); } // When select is done from HTML input with autocomplete
var pbqup = parseFloat($('option:selected', this).attr('data-pbqup'));
if (isNaN(pbqup)) { pbqup = jQuery('#idprod').attr('data-pbqup'); }
var pbqbase = $('option:selected', this).attr('data-pbqbase');
if (isNaN(pbqbase)) { pbqbase = jQuery('#idprod').attr('data-pbqbase'); }
var pbqqty = parseFloat($('option:selected', this).attr('data-pbqqty'));
if (isNaN(pbqqty)) { pbqqty = jQuery('#idprod').attr('data-pbqqty'); }
var pbqpercent = parseFloat($('option:selected', this).attr('data-pbqpercent'));
if (isNaN(pbqpercent)) { pbqpercent = jQuery('#idprod').attr('data-pbqpercent'); }
if ((jQuery('#idprod').val() > 0 || jQuery('#idprodfournprice').val()) && ! isNaN(pbq) && pbq > 0)
{

View File

@ -31,7 +31,7 @@
*/
if (!defined('DOL_APPLICATION_TITLE')) define('DOL_APPLICATION_TITLE', 'Dolibarr');
if (!defined('DOL_VERSION')) define('DOL_VERSION', '12.0.1'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
if (!defined('DOL_VERSION')) define('DOL_VERSION', '12.0.2'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
if (!defined('EURO')) define('EURO', chr(128));

View File

@ -332,7 +332,7 @@ class CommandeFournisseur extends CommonOrder
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as p ON c.fk_mode_reglement = p.id";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_input_method as cm ON cm.rowid = c.fk_input_method";
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON c.fk_incoterms = i.rowid';
$sql .= " WHERE c.entity = ".$conf->entity;
$sql .= " WHERE c.entity IN (".getEntity('supplier_order').")";
if ($ref) $sql .= " AND c.ref='".$this->db->escape($ref)."'";
else $sql .= " AND c.rowid=".$id;
@ -907,6 +907,7 @@ class CommandeFournisseur extends CommonOrder
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur SET billed = 1';
$sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > '.self::STATUS_DRAFT;
if ($this->db->query($sql))
{
if (!$error)

View File

@ -81,6 +81,8 @@ delete from llx_const where name in ('PROJECT_HIDE_TASKS', 'MAIN_BUGTRACK_ENABLE
-- For v12
ALTER TABLE llx_bom_bom MODIFY COLUMN duration double(24,8);
ALTER TABLE llx_prelevement_bons ADD COLUMN type varchar(16) DEFAULT 'debit-order';
ALTER TABLE llx_ecm_files MODIFY COLUMN src_object_type varchar(64);

View File

@ -543,7 +543,7 @@ Module54Desc=Management of contracts (services or recurring subscriptions)
Module55Name=Barcodes
Module55Desc=Barcode management
Module56Name=Payment by credit transfer
Module56Desc=Management of payment by credit transfer orders. It includes generation of SEPA file for European countries.
Module56Desc=Management of payment of suppliers by credit transfer orders. It includes generation of SEPA file for European countries.
Module57Name=Bank Direct Debit payments
Module57Desc=Management of Direct Debit payment orders. It includes generation of SEPA file for European countries.
Module58Name=ClickToDial
@ -1983,7 +1983,7 @@ SmallerThan=Smaller than
LargerThan=Larger than
IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID is found into incoming email, the event will be automatically linked to the related objects.
WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set a value here to use this feature. Note that you must also use a read/write login account.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account.
EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body.
EndPointFor=End point for %s : %s
DeleteEmailCollector=Delete email collector

View File

@ -63,6 +63,7 @@ ShipmentClassifyClosedInDolibarr=Shipment %s classified billed
ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open
ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status
ShipmentDeletedInDolibarr=Shipment %s deleted
ReceptionValidatedInDolibarr=Reception %s validated
OrderCreatedInDolibarr=Order %s created
OrderValidatedInDolibarr=Order %s validated
OrderDeliveredInDolibarr=Order %s classified delivered

View File

@ -37,6 +37,7 @@ IbanValid=BAN valid
IbanNotValid=BAN not valid
StandingOrders=Direct debit orders
StandingOrder=Direct debit order
PaymentByDirectDebit=Payment by direct debit
PaymentByBankTransfers=Payments by credit transfer
PaymentByBankTransfer=Payment by credit transfer
AccountStatement=Account statement
@ -105,8 +106,8 @@ SupplierInvoicePayment=Vendor payment
SubscriptionPayment=Subscription payment
WithdrawalPayment=Debit payment order
SocialContributionPayment=Social/fiscal tax payment
BankTransfer=Bank transfer
BankTransfers=Bank transfers
BankTransfer=Credit transfer
BankTransfers=Credit transfers
MenuBankInternalTransfer=Internal transfer
TransferDesc=Transfer from one account to another, Dolibarr will write two records (a debit in source account and a credit in target account). The same amount (except sign), label and date will be used for this transaction)
TransferFrom=From

View File

@ -441,6 +441,8 @@ BankAccountNumberKey=Checksum
Residence=Address
IBANNumber=IBAN account number
IBAN=IBAN
CustomerIBAN=IBAN of customer
SupplierIBAN=IBAN of vendor
BIC=BIC/SWIFT
BICNumber=BIC/SWIFT code
ExtraInfos=Extra infos

View File

@ -107,6 +107,13 @@ OrderPrinterToUse=Order printer to use
MainTemplateToUse=Main template to use
OrderTemplateToUse=Order template to use
BarRestaurant=Bar Restaurant
AutoOrder=Customer auto order
AutoOrder=Order by the customer himself
RestaurantMenu=Menu
CustomerMenu=Customer menu
ScanToMenu=Scan QR code to see the menu
ScanToOrder=Scan QR code to order
Appearance=Appearance
HideCategoryImages=Hide Category Images
HideProductImages=Hide Product Images
NumberOfLinesToShow=Number of lines to show in image box
DefineTablePlan=Define table plan

View File

@ -99,3 +99,6 @@ TypeContact_contrat_internal_SALESREPFOLL=Sales representative following-up cont
TypeContact_contrat_external_BILLING=Billing customer contact
TypeContact_contrat_external_CUSTOMER=Follow-up customer contact
TypeContact_contrat_external_SALESREPSIGN=Signing contract customer contact
HideClosedServiceByDefault=Hide closed services by default
ShowClosedServices=Show Closed Services
HideClosedServices=Hide Closed Services

View File

@ -36,6 +36,7 @@ ErrorBadSupplierCodeSyntax=Bad syntax for vendor code
ErrorSupplierCodeRequired=Vendor code required
ErrorSupplierCodeAlreadyUsed=Vendor code already used
ErrorBadParameters=Bad parameters
ErrorWrongParameters=Wrong or missing parameters
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format)
ErrorBadDateFormat=Value '%s' has wrong date format
@ -119,7 +120,7 @@ ErrorLoginHasNoEmail=This user has no email address. Process aborted.
ErrorBadValueForCode=Bad value for security code. Try again with new value...
ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a given VAT rate.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%).
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so.
ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative
ErrorWebServerUserHasNotPermission=User account <b>%s</b> used to execute web server has no permission for that
@ -183,6 +184,7 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In
ErrorSavingChanges=An error has occurred when saving the changes
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
ErrorFileMustHaveFormat=File must have format %s
ErrorFilenameCantStartWithDot=Filename can't start with a '.'
ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first.
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order.

View File

@ -15,6 +15,7 @@ CancelCP=Canceled
RefuseCP=Refused
ValidatorCP=Approbator
ListeCP=List of leave
Leave=Leave request
LeaveId=Leave ID
ReviewedByCP=Will be approved by
UserID=User ID

View File

@ -23,6 +23,9 @@ AddLoan=Create loan
FinancialCommitment=Financial commitment
InterestAmount=Interest
CapitalRemain=Capital remain
TermPaidAllreadyPaid = This term is allready paid
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule
# Admin
ConfigLoan=Configuration of the module loan
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default

View File

@ -7,7 +7,7 @@ ProjectsArea=Projects Area
ProjectStatus=Project status
SharedProject=Everybody
PrivateProject=Project contacts
ProjectsImContactFor=Projects for I am explicitly a contact
ProjectsImContactFor=Projects for which I am explicitly a contact
AllAllowedProjects=All project I can read (mine + public)
AllProjects=All projects
MyProjectsDesc=This view is limited to projects you are a contact for

View File

@ -84,3 +84,4 @@ DefaultModelPropalClosed=Default template when closing a business proposal (unbi
ProposalCustomerSignature=Written acceptance, company stamp, date and signature
ProposalsStatisticsSuppliers=Vendor proposals statistics
CaseFollowedBy=Case followed by
SignedOnly=Signed only

View File

@ -56,16 +56,15 @@ DOL_UNDERLINE=Enable underline
DOL_UNDERLINE_DISABLED=Disable underline
DOL_BEEP=Beed sound
DOL_PRINT_TEXT=Print text
DOL_VALUE_DATE=Invoice date
DOL_VALUE_DATE_TIME=Invoice date and time
DOL_VALUE_YEAR=Invoice year
DateInvoiceWithTime=Invoice date and time
YearInvoice=Invoice year
DOL_VALUE_MONTH_LETTERS=Invoice month in letters
DOL_VALUE_MONTH=Invoice month
DOL_VALUE_DAY=Invoice day
DOL_VALUE_DAY_LETTERS=Inovice day in letters
DOL_LINE_FEED_REVERSE=Line feed reverse
DOL_VALUE_OBJECT_ID=Invoice ID
DOL_VALUE_OBJECT_REF=Invoice ref
InvoiceID=Invoice ID
InvoiceRef=Invoice ref
DOL_PRINT_OBJECT_LINES=Invoice lines
DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name
DOL_VALUE_CUSTOMER_LASTNAME=Customer last name
@ -76,20 +75,8 @@ DOL_VALUE_CUSTOMER_SKYPE=Customer Skype
DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number
DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance
DOL_VALUE_MYSOC_NAME=Your company name
DOL_VALUE_MYSOC_ADDRESS=Your company address
DOL_VALUE_MYSOC_ZIP=Your zip code
DOL_VALUE_MYSOC_TOWN=Your town
DOL_VALUE_MYSOC_COUNTRY=Your country
DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1
DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2
DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3
DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4
DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5
DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6
DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID
DOL_VALUE_MYSOC_CAPITAL=Capital
DOL_VALUE_VENDOR_LASTNAME=Vendor last name
DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name
DOL_VALUE_VENDOR_MAIL=Vendor mail
VendorLastname=Vendor last name
VendorFirstname=Vendor first name
VendorEmail=Vendor email
DOL_VALUE_CUSTOMER_POINTS=Customer points
DOL_VALUE_OBJECT_POINTS=Object points

View File

@ -17,6 +17,10 @@ CancelSending=Cancel sending
DeleteSending=Delete sending
Stock=Stock
Stocks=Stocks
MissingStocks=Missing stocks
StockAtDate=Stock at date
StockAtDateInPast=Date in past
StockAtDateInFuture=Date in future
StocksByLotSerial=Stocks by lot/serial
LotSerial=Lots/Serials
LotSerialList=List of lot/serials
@ -30,6 +34,7 @@ StockMovementForId=Movement ID %d
ListMouvementStockProject=List of stock movements associated to project
StocksArea=Warehouses area
AllWarehouses=All warehouses
IncludeEmptyDesiredStock=Include also undefined desired stock
IncludeAlsoDraftOrders=Include also draft orders
Location=Location
LocationSummary=Short name location
@ -59,10 +64,9 @@ AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock pe
RuleForWarehouse=Rule for warehouses
WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders
UserDefaultWarehouse=Set a warehouse on Users
DefaultWarehouseActive=Default warehouse active
MainDefaultWarehouse=Default warehouse
MainDefaultWarehouseUser=Use user warehouse asign default
MainDefaultWarehouseUserDesc=/!\\ By activating this option the gold of the creation of an article, the warehouse assigned to the user will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
MainDefaultWarehouseUser=Use a default warehouse for each user
MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
IndependantSubProductStock=Product stock and subproduct stock are independent
QtyDispatched=Quantity dispatched
QtyDispatchedShort=Qty dispatched
@ -126,6 +130,7 @@ CurentlyUsingPhysicalStock=Physical stock
RuleForStockReplenishment=Rule for stocks replenishment
SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor
AlertOnly= Alerts only
IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0
WarehouseForStockDecrease=The warehouse <b>%s</b> will be used for stock decrease
WarehouseForStockIncrease=The warehouse <b>%s</b> will be used for stock increase
ForThisWarehouse=For this warehouse
@ -227,3 +232,6 @@ InventoryForASpecificProduct=Inventory for a specific product
StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use
ForceTo=Force to
AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances)
StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past
StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in future
CurrentStock=Current stock

View File

@ -58,7 +58,10 @@ NoPageYet=No pages yet
YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template
SyntaxHelp=Help on specific syntax tips
YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br><br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br>
#YouCanEditHtmlSource2=<br><span class="fa fa-picture-o"></span> To include a <strong>image</strong> shared publicaly, use the <strong>viewimage.php</strong> wrapper:<br>Example with a shared key 123456789, syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSourceMore=<br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
ClonePage=Clone page/container
CloneSite=Clone site
SiteAdded=Website added

View File

@ -10,8 +10,8 @@ PaymentByBankTransferReceipts=Credit transfer orders
PaymentByBankTransferLines=Credit transfer order lines
WithdrawalsReceipts=Direct debit orders
WithdrawalReceipt=Direct debit order
BankTransferReceipts=Credit transfer receipts
BankTransferReceipt=Credit transfer receipt
BankTransferReceipts=Credit transfer order
BankTransferReceipt=Credit transfer order
LatestBankTransferReceipts=Latest %s credit transfer orders
LastWithdrawalReceipts=Latest %s direct debit files
WithdrawalsLine=Direct debit order line
@ -34,12 +34,13 @@ NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoi
NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request.
ResponsibleUser=User Responsible
WithdrawalsSetup=Direct debit payment setup
CreditTransferSetup=Crebit transfer setup
CreditTransferSetup=Credit transfer setup
WithdrawStatistics=Direct debit payment statistics
CreditTransferStatistics=Credit transfer statistics
Rejects=Rejects
LastWithdrawalReceipt=Latest %s direct debit receipts
MakeWithdrawRequest=Make a direct debit payment request
MakeBankTransferOrder=Make a credit transfer request
WithdrawRequestsDone=%s direct debit payment requests recorded
ThirdPartyBankCode=Third-party bank code
NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode <strong>%s</strong>.
@ -92,7 +93,8 @@ CreditDate=Credit on
WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported)
ShowWithdraw=Show Direct Debit Order
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to manage the direct debit payment order. When payment order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to generate and manage the direct debit payment order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Credit transfer orders to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
WithdrawalFile=Withdrawal file
SetToStatusSent=Set to status "File Sent"
ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null
@ -103,6 +105,7 @@ RUMLong=Unique Mandate Reference
RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved.
WithdrawMode=Direct debit mode (FRST or RECUR)
WithdrawRequestAmount=Amount of Direct debit request:
BankTransferAmount=Amount of Credit Transfer request:
WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount.
SepaMandate=SEPA Direct Debit Mandate
SepaMandateShort=SEPA Mandate
@ -128,7 +131,7 @@ ICS=Creditor Identifier CI
END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction
USTRD="Unstructured" SEPA XML tag
ADDDAYS=Add days to Execution Date
NoDefaultIBANFound=No default IBAN found for this third party
### Notifications
InfoCreditSubject=Payment of direct debit payment order %s by the bank
InfoCreditMessage=The direct debit payment order %s has been paid by the bank<br>Data of payment: %s

View File

@ -543,7 +543,7 @@ Module54Desc=Management of contracts (services or recurring subscriptions)
Module55Name=Barcodes
Module55Desc=Barcodes إدارة
Module56Name=Payment by credit transfer
Module56Desc=Management of payment by credit transfer orders. It includes generation of SEPA file for European countries.
Module56Desc=Management of payment of suppliers by credit transfer orders. It includes generation of SEPA file for European countries.
Module57Name=Bank Direct Debit payments
Module57Desc=Management of Direct Debit payment orders. It includes generation of SEPA file for European countries.
Module58Name=انقر للاتصال
@ -1983,7 +1983,7 @@ SmallerThan=Smaller than
LargerThan=Larger than
IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID is found into incoming email, the event will be automatically linked to the related objects.
WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set a value here to use this feature. Note that you must also use a read/write login account.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account.
EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body.
EndPointFor=End point for %s : %s
DeleteEmailCollector=Delete email collector

View File

@ -63,6 +63,7 @@ ShipmentClassifyClosedInDolibarr=الشحنة %sتم تصنيفها مدفوعة
ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open
ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status
ShipmentDeletedInDolibarr=الشحنة%sتم حذفها
ReceptionValidatedInDolibarr=Reception %s validated
OrderCreatedInDolibarr=الطلب %s تم إنشاؤة
OrderValidatedInDolibarr=الطلب %s تم التحقق منه
OrderDeliveredInDolibarr=الطلب %s مصنف تم التوصيل

View File

@ -37,6 +37,7 @@ IbanValid=بان صالحة
IbanNotValid=بان غير صالح
StandingOrders=Direct debit orders
StandingOrder=أمر الخصم المباشر
PaymentByDirectDebit=Payment by direct debit
PaymentByBankTransfers=Payments by credit transfer
PaymentByBankTransfer=Payment by credit transfer
AccountStatement=كشف الحساب
@ -105,8 +106,8 @@ SupplierInvoicePayment=Vendor payment
SubscriptionPayment=دفع الاشتراك
WithdrawalPayment=Debit payment order
SocialContributionPayment=مدفوعات الضرائب الاجتماعية / المالية
BankTransfer=حوالة مصرفية
BankTransfers=حوالات المصرفية
BankTransfer=Credit transfer
BankTransfers=Credit transfers
MenuBankInternalTransfer=حوالة داخلية
TransferDesc=Transfer from one account to another, Dolibarr will write two records (a debit in source account and a credit in target account). The same amount (except sign), label and date will be used for this transaction)
TransferFrom=من

View File

@ -441,6 +441,8 @@ BankAccountNumberKey=Checksum
Residence=عنوان
IBANNumber=IBAN account number
IBAN=إيبان
CustomerIBAN=IBAN of customer
SupplierIBAN=IBAN of vendor
BIC=بيك / سويفت
BICNumber=BIC/SWIFT code
ExtraInfos=معلومات اضافية

View File

@ -107,6 +107,13 @@ OrderPrinterToUse=Order printer to use
MainTemplateToUse=Main template to use
OrderTemplateToUse=Order template to use
BarRestaurant=Bar Restaurant
AutoOrder=Customer auto order
AutoOrder=Order by the customer himself
RestaurantMenu=Menu
CustomerMenu=Customer menu
ScanToMenu=Scan QR code to see the menu
ScanToOrder=Scan QR code to order
Appearance=Appearance
HideCategoryImages=Hide Category Images
HideProductImages=Hide Product Images
NumberOfLinesToShow=Number of lines to show in image box
DefineTablePlan=Define table plan

View File

@ -99,3 +99,6 @@ TypeContact_contrat_internal_SALESREPFOLL=ممثل مبيعات متابعة ا
TypeContact_contrat_external_BILLING=فواتير العملاء الاتصال
TypeContact_contrat_external_CUSTOMER=متابعة العملاء الاتصال
TypeContact_contrat_external_SALESREPSIGN=توقيع عقد خدمات العملاء
HideClosedServiceByDefault=Hide closed services by default
ShowClosedServices=Show Closed Services
HideClosedServices=Hide Closed Services

View File

@ -36,6 +36,7 @@ ErrorBadSupplierCodeSyntax=Bad syntax for vendor code
ErrorSupplierCodeRequired=Vendor code required
ErrorSupplierCodeAlreadyUsed=Vendor code already used
ErrorBadParameters=بارامترات سيئة
ErrorWrongParameters=Wrong or missing parameters
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد (PHP لديك لا يدعم وظائف لتحويل الصور من هذا الشكل)
ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ
@ -119,7 +120,7 @@ ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البر
ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة أخرى مع القيمة الجديدة ...
ErrorBothFieldCantBeNegative=ويمكن لحقول %s و%s لا تكون سلبية
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a given VAT rate.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%).
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so.
ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير العملاء لا يمكن أن يكون سلبيا
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
@ -183,6 +184,7 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائم
ErrorSavingChanges=An error has occurred when saving the changes
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
ErrorFileMustHaveFormat=File must have format %s
ErrorFilenameCantStartWithDot=Filename can't start with a '.'
ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first.
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order.

View File

@ -15,6 +15,7 @@ CancelCP=ألغيت
RefuseCP=رفض
ValidatorCP=Approbator
ListeCP=List of leave
Leave=ترك الطلب
LeaveId=Leave ID
ReviewedByCP=سيتم مراجعتها من قبل
UserID=User ID

View File

@ -23,6 +23,9 @@ AddLoan=Create loan
FinancialCommitment=Financial commitment
InterestAmount=اهتمام
CapitalRemain=Capital remain
TermPaidAllreadyPaid = This term is allready paid
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule
# Admin
ConfigLoan=التكوين للقرض وحدة
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default

View File

@ -7,7 +7,7 @@ ProjectsArea=Projects Area
ProjectStatus=حالة المشروع
SharedProject=مشاريع مشتركة
PrivateProject=مشروع اتصالات
ProjectsImContactFor=Projects for I am explicitly a contact
ProjectsImContactFor=Projects for which I am explicitly a contact
AllAllowedProjects=All project I can read (mine + public)
AllProjects=جميع المشاريع
MyProjectsDesc=This view is limited to projects you are a contact for

View File

@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=الزبون فاتورة الاتصال
TypeContact_propal_external_CUSTOMER=اتصل العملاء اقتراح متابعة
TypeContact_propal_external_SHIPPING=Customer contact for delivery
# Document models
DocModelAzurDescription=A complete proposal model
DocModelAzurDescription=A complete proposal model (old implementation of Cyan template)
DocModelCyanDescription=A complete proposal model
DefaultModelPropalCreate=إنشاء نموذج افتراضي
DefaultModelPropalToBill=القالب الافتراضي عند إغلاق الأعمال المقترح (أن الفاتورة)
@ -84,3 +84,4 @@ DefaultModelPropalClosed=القالب الافتراضي عند إغلاق ال
ProposalCustomerSignature=قبول كتابي، ختم الشركة والتاريخ والتوقيع
ProposalsStatisticsSuppliers=Vendor proposals statistics
CaseFollowedBy=Case followed by
SignedOnly=Signed only

View File

@ -56,16 +56,15 @@ DOL_UNDERLINE=Enable underline
DOL_UNDERLINE_DISABLED=Disable underline
DOL_BEEP=Beed sound
DOL_PRINT_TEXT=Print text
DOL_VALUE_DATE=تاريخ الفاتورة
DOL_VALUE_DATE_TIME=Invoice date and time
DOL_VALUE_YEAR=Invoice year
DateInvoiceWithTime=Invoice date and time
YearInvoice=Invoice year
DOL_VALUE_MONTH_LETTERS=Invoice month in letters
DOL_VALUE_MONTH=Invoice month
DOL_VALUE_DAY=Invoice day
DOL_VALUE_DAY_LETTERS=Inovice day in letters
DOL_LINE_FEED_REVERSE=Line feed reverse
DOL_VALUE_OBJECT_ID=Invoice ID
DOL_VALUE_OBJECT_REF=فاتورة المرجع
InvoiceID=Invoice ID
InvoiceRef=فاتورة المرجع
DOL_PRINT_OBJECT_LINES=Invoice lines
DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name
DOL_VALUE_CUSTOMER_LASTNAME=Customer last name
@ -76,20 +75,8 @@ DOL_VALUE_CUSTOMER_SKYPE=Customer Skype
DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number
DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance
DOL_VALUE_MYSOC_NAME=Your company name
DOL_VALUE_MYSOC_ADDRESS=Your company address
DOL_VALUE_MYSOC_ZIP=Your zip code
DOL_VALUE_MYSOC_TOWN=Your town
DOL_VALUE_MYSOC_COUNTRY=Your country
DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1
DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2
DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3
DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4
DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5
DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6
DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID
DOL_VALUE_MYSOC_CAPITAL=عاصمة
DOL_VALUE_VENDOR_LASTNAME=Vendor last name
DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name
DOL_VALUE_VENDOR_MAIL=Vendor mail
VendorLastname=Vendor last name
VendorFirstname=Vendor first name
VendorEmail=Vendor email
DOL_VALUE_CUSTOMER_POINTS=Customer points
DOL_VALUE_OBJECT_POINTS=Object points

View File

@ -17,6 +17,10 @@ CancelSending=الغاء ارسال
DeleteSending=حذف ارسال
Stock=الأسهم
Stocks=الاسهم
MissingStocks=Missing stocks
StockAtDate=Stock at date
StockAtDateInPast=Date in past
StockAtDateInFuture=Date in future
StocksByLotSerial=الأسهم عن طريق القرعة / المسلسل
LotSerial=Lots/Serials
LotSerialList=List of lot/serials
@ -30,6 +34,7 @@ StockMovementForId=Movement ID %d
ListMouvementStockProject=List of stock movements associated to project
StocksArea=منطقة المستودعات
AllWarehouses=All warehouses
IncludeEmptyDesiredStock=Include also undefined desired stock
IncludeAlsoDraftOrders=Include also draft orders
Location=عوضا عن
LocationSummary=باختصار اسم الموقع
@ -59,10 +64,9 @@ AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock pe
RuleForWarehouse=Rule for warehouses
WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders
UserDefaultWarehouse=Set a warehouse on Users
DefaultWarehouseActive=Default warehouse active
MainDefaultWarehouse=Default warehouse
MainDefaultWarehouseUser=Use user warehouse asign default
MainDefaultWarehouseUserDesc=/!\\ By activating this option the gold of the creation of an article, the warehouse assigned to the user will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
MainDefaultWarehouseUser=Use a default warehouse for each user
MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
IndependantSubProductStock=Product stock and subproduct stock are independent
QtyDispatched=ارسال كمية
QtyDispatchedShort=أرسل الكمية
@ -126,6 +130,7 @@ CurentlyUsingPhysicalStock=المخزون المادي
RuleForStockReplenishment=حكم شراء أسهم التجديد
SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor
AlertOnly= التنبيهات فقط
IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0
WarehouseForStockDecrease=سيتم استخدام <b>مستودع٪ الصورة</b> لانخفاض الأسهم
WarehouseForStockIncrease=سيتم استخدام <b>مستودع٪ s للزيادة</b> المخزون
ForThisWarehouse=لهذا المستودع
@ -227,3 +232,6 @@ InventoryForASpecificProduct=Inventory for a specific product
StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use
ForceTo=Force to
AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances)
StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past
StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in future
CurrentStock=Current stock

View File

@ -58,7 +58,10 @@ NoPageYet=No pages yet
YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template
SyntaxHelp=Help on specific syntax tips
YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br><br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br>
#YouCanEditHtmlSource2=<br><span class="fa fa-picture-o"></span> To include a <strong>image</strong> shared publicaly, use the <strong>viewimage.php</strong> wrapper:<br>Example with a shared key 123456789, syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSourceMore=<br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
ClonePage=Clone page/container
CloneSite=Clone site
SiteAdded=Website added

View File

@ -10,8 +10,8 @@ PaymentByBankTransferReceipts=Credit transfer orders
PaymentByBankTransferLines=Credit transfer order lines
WithdrawalsReceipts=Direct debit orders
WithdrawalReceipt=Direct debit order
BankTransferReceipts=Credit transfer receipts
BankTransferReceipt=Credit transfer receipt
BankTransferReceipts=Credit transfer order
BankTransferReceipt=Credit transfer order
LatestBankTransferReceipts=Latest %s credit transfer orders
LastWithdrawalReceipts=Latest %s direct debit files
WithdrawalsLine=Direct debit order line
@ -34,12 +34,13 @@ NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoi
NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request.
ResponsibleUser=User Responsible
WithdrawalsSetup=Direct debit payment setup
CreditTransferSetup=Crebit transfer setup
CreditTransferSetup=Credit transfer setup
WithdrawStatistics=Direct debit payment statistics
CreditTransferStatistics=Credit transfer statistics
Rejects=ترفض
LastWithdrawalReceipt=Latest %s direct debit receipts
MakeWithdrawRequest=Make a direct debit payment request
MakeBankTransferOrder=Make a credit transfer request
WithdrawRequestsDone=%s direct debit payment requests recorded
ThirdPartyBankCode=Third-party bank code
NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode <strong>%s</strong>.
@ -92,7 +93,8 @@ CreditDate=الائتمان على
WithdrawalFileNotCapable=غير قادر على توليد ملف استلام الانسحاب لبلدكم٪ الصورة (لا يتم اعتماد البلد)
ShowWithdraw=Show Direct Debit Order
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to manage the direct debit payment order. When payment order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to generate and manage the direct debit payment order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Credit transfer orders to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
WithdrawalFile=ملف الانسحاب
SetToStatusSent=تعيين إلى حالة "المرسلة ملف"
ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null
@ -103,6 +105,7 @@ RUMLong=Unique Mandate Reference
RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved.
WithdrawMode=Direct debit mode (FRST or RECUR)
WithdrawRequestAmount=Amount of Direct debit request:
BankTransferAmount=Amount of Credit Transfer request:
WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount.
SepaMandate=SEPA Direct Debit Mandate
SepaMandateShort=SEPA Mandate
@ -128,7 +131,7 @@ ICS=Creditor Identifier CI
END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction
USTRD="Unstructured" SEPA XML tag
ADDDAYS=Add days to Execution Date
NoDefaultIBANFound=No default IBAN found for this third party
### Notifications
InfoCreditSubject=Payment of direct debit payment order %s by the bank
InfoCreditMessage=The direct debit payment order %s has been paid by the bank<br>Data of payment: %s

View File

@ -543,7 +543,7 @@ Module54Desc=Management of contracts (services or recurring subscriptions)
Module55Name=Barcodes
Module55Desc=Barcode management
Module56Name=Payment by credit transfer
Module56Desc=Management of payment by credit transfer orders. It includes generation of SEPA file for European countries.
Module56Desc=Management of payment of suppliers by credit transfer orders. It includes generation of SEPA file for European countries.
Module57Name=Bank Direct Debit payments
Module57Desc=Management of Direct Debit payment orders. It includes generation of SEPA file for European countries.
Module58Name=ClickToDial
@ -1983,7 +1983,7 @@ SmallerThan=Smaller than
LargerThan=Larger than
IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID is found into incoming email, the event will be automatically linked to the related objects.
WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set a value here to use this feature. Note that you must also use a read/write login account.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account.
EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body.
EndPointFor=End point for %s : %s
DeleteEmailCollector=Delete email collector

View File

@ -63,6 +63,7 @@ ShipmentClassifyClosedInDolibarr=Shipment %s classified billed
ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open
ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status
ShipmentDeletedInDolibarr=Shipment %s deleted
ReceptionValidatedInDolibarr=Reception %s validated
OrderCreatedInDolibarr=Order %s created
OrderValidatedInDolibarr=Order %s validated
OrderDeliveredInDolibarr=Order %s classified delivered

View File

@ -37,6 +37,7 @@ IbanValid=BAN valid
IbanNotValid=BAN not valid
StandingOrders=Direct debit orders
StandingOrder=Direct debit order
PaymentByDirectDebit=Payment by direct debit
PaymentByBankTransfers=Payments by credit transfer
PaymentByBankTransfer=Payment by credit transfer
AccountStatement=Account statement
@ -105,8 +106,8 @@ SupplierInvoicePayment=Vendor payment
SubscriptionPayment=Subscription payment
WithdrawalPayment=Debit payment order
SocialContributionPayment=Social/fiscal tax payment
BankTransfer=Bank transfer
BankTransfers=Bank transfers
BankTransfer=Credit transfer
BankTransfers=Credit transfers
MenuBankInternalTransfer=Internal transfer
TransferDesc=Transfer from one account to another, Dolibarr will write two records (a debit in source account and a credit in target account). The same amount (except sign), label and date will be used for this transaction)
TransferFrom=From

View File

@ -441,6 +441,8 @@ BankAccountNumberKey=Checksum
Residence=Address
IBANNumber=IBAN account number
IBAN=IBAN
CustomerIBAN=IBAN of customer
SupplierIBAN=IBAN of vendor
BIC=BIC/SWIFT
BICNumber=BIC/SWIFT code
ExtraInfos=Extra infos

View File

@ -107,6 +107,13 @@ OrderPrinterToUse=Order printer to use
MainTemplateToUse=Main template to use
OrderTemplateToUse=Order template to use
BarRestaurant=Bar Restaurant
AutoOrder=Customer auto order
AutoOrder=Order by the customer himself
RestaurantMenu=Menu
CustomerMenu=Customer menu
ScanToMenu=Scan QR code to see the menu
ScanToOrder=Scan QR code to order
Appearance=Appearance
HideCategoryImages=Hide Category Images
HideProductImages=Hide Product Images
NumberOfLinesToShow=Number of lines to show in image box
DefineTablePlan=Define table plan

View File

@ -99,3 +99,6 @@ TypeContact_contrat_internal_SALESREPFOLL=Sales representative following-up cont
TypeContact_contrat_external_BILLING=Billing customer contact
TypeContact_contrat_external_CUSTOMER=Follow-up customer contact
TypeContact_contrat_external_SALESREPSIGN=Signing contract customer contact
HideClosedServiceByDefault=Hide closed services by default
ShowClosedServices=Show Closed Services
HideClosedServices=Hide Closed Services

View File

@ -36,6 +36,7 @@ ErrorBadSupplierCodeSyntax=Bad syntax for vendor code
ErrorSupplierCodeRequired=Vendor code required
ErrorSupplierCodeAlreadyUsed=Vendor code already used
ErrorBadParameters=Bad parameters
ErrorWrongParameters=Wrong or missing parameters
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format)
ErrorBadDateFormat=Value '%s' has wrong date format
@ -119,7 +120,7 @@ ErrorLoginHasNoEmail=This user has no email address. Process aborted.
ErrorBadValueForCode=Bad value for security code. Try again with new value...
ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a given VAT rate.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%).
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so.
ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative
ErrorWebServerUserHasNotPermission=User account <b>%s</b> used to execute web server has no permission for that
@ -183,6 +184,7 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In
ErrorSavingChanges=An error has occurred when saving the changes
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
ErrorFileMustHaveFormat=File must have format %s
ErrorFilenameCantStartWithDot=Filename can't start with a '.'
ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first.
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order.

View File

@ -15,6 +15,7 @@ CancelCP=Canceled
RefuseCP=Refused
ValidatorCP=Approbator
ListeCP=List of leave
Leave=Leave request
LeaveId=Leave ID
ReviewedByCP=Will be approved by
UserID=User ID

View File

@ -23,6 +23,9 @@ AddLoan=Create loan
FinancialCommitment=Financial commitment
InterestAmount=Interest
CapitalRemain=Capital remain
TermPaidAllreadyPaid = This term is allready paid
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule
# Admin
ConfigLoan=Configuration of the module loan
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default

View File

@ -7,7 +7,7 @@ ProjectsArea=Projects Area
ProjectStatus=Project status
SharedProject=Everybody
PrivateProject=Project contacts
ProjectsImContactFor=Projects for I am explicitly a contact
ProjectsImContactFor=Projects for which I am explicitly a contact
AllAllowedProjects=All project I can read (mine + public)
AllProjects=All projects
MyProjectsDesc=This view is limited to projects you are a contact for

View File

@ -84,3 +84,4 @@ DefaultModelPropalClosed=Default template when closing a business proposal (unbi
ProposalCustomerSignature=Written acceptance, company stamp, date and signature
ProposalsStatisticsSuppliers=Vendor proposals statistics
CaseFollowedBy=Case followed by
SignedOnly=Signed only

View File

@ -56,16 +56,15 @@ DOL_UNDERLINE=Enable underline
DOL_UNDERLINE_DISABLED=Disable underline
DOL_BEEP=Beed sound
DOL_PRINT_TEXT=Print text
DOL_VALUE_DATE=Invoice date
DOL_VALUE_DATE_TIME=Invoice date and time
DOL_VALUE_YEAR=Invoice year
DateInvoiceWithTime=Invoice date and time
YearInvoice=Invoice year
DOL_VALUE_MONTH_LETTERS=Invoice month in letters
DOL_VALUE_MONTH=Invoice month
DOL_VALUE_DAY=Invoice day
DOL_VALUE_DAY_LETTERS=Inovice day in letters
DOL_LINE_FEED_REVERSE=Line feed reverse
DOL_VALUE_OBJECT_ID=Invoice ID
DOL_VALUE_OBJECT_REF=Invoice ref
InvoiceID=Invoice ID
InvoiceRef=Invoice ref
DOL_PRINT_OBJECT_LINES=Invoice lines
DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name
DOL_VALUE_CUSTOMER_LASTNAME=Customer last name
@ -76,20 +75,8 @@ DOL_VALUE_CUSTOMER_SKYPE=Customer Skype
DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number
DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance
DOL_VALUE_MYSOC_NAME=Your company name
DOL_VALUE_MYSOC_ADDRESS=Your company address
DOL_VALUE_MYSOC_ZIP=Your zip code
DOL_VALUE_MYSOC_TOWN=Your town
DOL_VALUE_MYSOC_COUNTRY=Your country
DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1
DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2
DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3
DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4
DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5
DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6
DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID
DOL_VALUE_MYSOC_CAPITAL=Capital
DOL_VALUE_VENDOR_LASTNAME=Vendor last name
DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name
DOL_VALUE_VENDOR_MAIL=Vendor mail
VendorLastname=Vendor last name
VendorFirstname=Vendor first name
VendorEmail=Vendor email
DOL_VALUE_CUSTOMER_POINTS=Customer points
DOL_VALUE_OBJECT_POINTS=Object points

View File

@ -17,6 +17,10 @@ CancelSending=Cancel sending
DeleteSending=Delete sending
Stock=Stock
Stocks=Stocks
MissingStocks=Missing stocks
StockAtDate=Stock at date
StockAtDateInPast=Date in past
StockAtDateInFuture=Date in future
StocksByLotSerial=Stocks by lot/serial
LotSerial=Lots/Serials
LotSerialList=List of lot/serials
@ -30,6 +34,7 @@ StockMovementForId=Movement ID %d
ListMouvementStockProject=List of stock movements associated to project
StocksArea=Warehouses area
AllWarehouses=All warehouses
IncludeEmptyDesiredStock=Include also undefined desired stock
IncludeAlsoDraftOrders=Include also draft orders
Location=Location
LocationSummary=Short name location
@ -59,10 +64,9 @@ AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock pe
RuleForWarehouse=Rule for warehouses
WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders
UserDefaultWarehouse=Set a warehouse on Users
DefaultWarehouseActive=Default warehouse active
MainDefaultWarehouse=Default warehouse
MainDefaultWarehouseUser=Use user warehouse asign default
MainDefaultWarehouseUserDesc=/!\\ By activating this option the gold of the creation of an article, the warehouse assigned to the user will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
MainDefaultWarehouseUser=Use a default warehouse for each user
MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
IndependantSubProductStock=Product stock and subproduct stock are independent
QtyDispatched=Quantity dispatched
QtyDispatchedShort=Qty dispatched
@ -126,6 +130,7 @@ CurentlyUsingPhysicalStock=Physical stock
RuleForStockReplenishment=Rule for stocks replenishment
SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor
AlertOnly= Alerts only
IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0
WarehouseForStockDecrease=The warehouse <b>%s</b> will be used for stock decrease
WarehouseForStockIncrease=The warehouse <b>%s</b> will be used for stock increase
ForThisWarehouse=For this warehouse
@ -227,3 +232,6 @@ InventoryForASpecificProduct=Inventory for a specific product
StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use
ForceTo=Force to
AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances)
StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past
StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in future
CurrentStock=Current stock

View File

@ -58,7 +58,10 @@ NoPageYet=No pages yet
YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template
SyntaxHelp=Help on specific syntax tips
YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br><br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br>
#YouCanEditHtmlSource2=<br><span class="fa fa-picture-o"></span> To include a <strong>image</strong> shared publicaly, use the <strong>viewimage.php</strong> wrapper:<br>Example with a shared key 123456789, syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSourceMore=<br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
ClonePage=Clone page/container
CloneSite=Clone site
SiteAdded=Website added

View File

@ -10,8 +10,8 @@ PaymentByBankTransferReceipts=Credit transfer orders
PaymentByBankTransferLines=Credit transfer order lines
WithdrawalsReceipts=Direct debit orders
WithdrawalReceipt=Direct debit order
BankTransferReceipts=Credit transfer receipts
BankTransferReceipt=Credit transfer receipt
BankTransferReceipts=Credit transfer order
BankTransferReceipt=Credit transfer order
LatestBankTransferReceipts=Latest %s credit transfer orders
LastWithdrawalReceipts=Latest %s direct debit files
WithdrawalsLine=Direct debit order line
@ -34,12 +34,13 @@ NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoi
NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request.
ResponsibleUser=User Responsible
WithdrawalsSetup=Direct debit payment setup
CreditTransferSetup=Crebit transfer setup
CreditTransferSetup=Credit transfer setup
WithdrawStatistics=Direct debit payment statistics
CreditTransferStatistics=Credit transfer statistics
Rejects=Rejects
LastWithdrawalReceipt=Latest %s direct debit receipts
MakeWithdrawRequest=Make a direct debit payment request
MakeBankTransferOrder=Make a credit transfer request
WithdrawRequestsDone=%s direct debit payment requests recorded
ThirdPartyBankCode=Third-party bank code
NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode <strong>%s</strong>.
@ -92,7 +93,8 @@ CreditDate=Credit on
WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported)
ShowWithdraw=Show Direct Debit Order
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to manage the direct debit payment order. When payment order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to generate and manage the direct debit payment order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Credit transfer orders to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
WithdrawalFile=Withdrawal file
SetToStatusSent=Set to status "File Sent"
ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null
@ -103,6 +105,7 @@ RUMLong=Unique Mandate Reference
RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved.
WithdrawMode=Direct debit mode (FRST or RECUR)
WithdrawRequestAmount=Amount of Direct debit request:
BankTransferAmount=Amount of Credit Transfer request:
WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount.
SepaMandate=SEPA Direct Debit Mandate
SepaMandateShort=SEPA Mandate
@ -128,7 +131,7 @@ ICS=Creditor Identifier CI
END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction
USTRD="Unstructured" SEPA XML tag
ADDDAYS=Add days to Execution Date
NoDefaultIBANFound=No default IBAN found for this third party
### Notifications
InfoCreditSubject=Payment of direct debit payment order %s by the bank
InfoCreditMessage=The direct debit payment order %s has been paid by the bank<br>Data of payment: %s

View File

@ -543,7 +543,7 @@ Module54Desc=Управление на договори (услуги или п
Module55Name=Баркодове
Module55Desc=Управление на баркодове
Module56Name=Плащане с кредитен превод
Module56Desc=Management of payment by credit transfer orders. It includes generation of SEPA file for European countries.
Module56Desc=Management of payment of suppliers by credit transfer orders. It includes generation of SEPA file for European countries.
Module57Name=Банкови плащания с директен дебит
Module57Desc=Управление на платежни нареждания за директен дебит. Включва генериране на SEPA файл за европейските страни.
Module58Name=ClickToDial
@ -1983,7 +1983,7 @@ SmallerThan=По-малък от
LargerThan=По-голям от
IfTrackingIDFoundEventWillBeLinked=Обърнете внимание, че ако е намерен проследяващ код във входящата електронна поща, събитието ще бъде автоматично свързано със свързаните обекти.
WithGMailYouCanCreateADedicatedPassword=С GMail акаунт, ако сте активирали валидирането в 2 стъпки е препоръчително да създадете специална втора парола за приложението, вместо да използвате своята парола за акаунта от https://myaccount.google.com/.
EmailCollectorTargetDir=В случай, че желаете да преместите имейла в друг таг / директория, когато той е обработен успешно, то просто посочете стойност тук, за да използвате тази функция. Обърнете внимание, че трябва да използвате потребителски профил с права за четене и запис.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account.
EmailCollectorLoadThirdPartyHelp=Може да използвате това действие, за да намерите и заредите съществуващ контрагент във вашата база данни, чрез съдържанието на имейла. Намереният (или създаден) контрагент ще бъде използван при следващи действия, които се нуждаят от това. В полето на параметъра може да използвате, например 'EXTRACT:BODY:Name:\\s([^\\s]*)', ако искате да извлечете името на контрагента от низ 'Name: name to find', който е открит в съдържанието на имейла.
EndPointFor=Крайна точка за %s: %s
DeleteEmailCollector=Изтриване на имейл колекционер

View File

@ -63,6 +63,7 @@ ShipmentClassifyClosedInDolibarr=Пратка %s е фактурирана
ShipmentUnClassifyCloseddInDolibarr=Пратка %s е активна отново
ShipmentBackToDraftInDolibarr=Пратка %s е върната в статус чернова
ShipmentDeletedInDolibarr=Пратка %s е изтрита
ReceptionValidatedInDolibarr=Reception %s validated
OrderCreatedInDolibarr=Поръчка %s е създадена
OrderValidatedInDolibarr=Поръчка %s е валидирана
OrderDeliveredInDolibarr=Поръчка %s е класифицирана като доставена

View File

@ -37,6 +37,7 @@ IbanValid=Валиден IBAN номер
IbanNotValid=Невалиден IBAN номер
StandingOrders=Нареждания с директен дебит
StandingOrder=Поръчка за директен дебит
PaymentByDirectDebit=Payment by direct debit
PaymentByBankTransfers=Плащания с кредитен превод
PaymentByBankTransfer=Плащане с кредитен превод
AccountStatement=Извлечение по сметка
@ -105,8 +106,8 @@ SupplierInvoicePayment=Плащане към доставчик
SubscriptionPayment=Плащане на членски внос
WithdrawalPayment=Платежно нареждане за дебит
SocialContributionPayment=Плащане на социални / фискални такси
BankTransfer=Банков превод
BankTransfers=Банкови преводи
BankTransfer=Credit transfer
BankTransfers=Credit transfers
MenuBankInternalTransfer=Вътрешен превод
TransferDesc=При прехвърляне от една сметка в друга, Dolibarr ще направи два записа (дебит от сметката на източника и кредит в целевата сметка). За тази транзакция ще се използва (с изключение на подписа) същата сума, име и дата.
TransferFrom=От

View File

@ -441,6 +441,8 @@ BankAccountNumberKey=Контролна сума
Residence=Адрес
IBANNumber=IBAN номер на сметка
IBAN=IBAN
CustomerIBAN=IBAN of customer
SupplierIBAN=IBAN of vendor
BIC=BIC / SWIFT
BICNumber=BIC / SWIFT код
ExtraInfos=Допълнителна информация

View File

@ -107,6 +107,13 @@ OrderPrinterToUse=Order printer to use
MainTemplateToUse=Main template to use
OrderTemplateToUse=Order template to use
BarRestaurant=Bar Restaurant
AutoOrder=Customer auto order
AutoOrder=Order by the customer himself
RestaurantMenu=Menu
CustomerMenu=Customer menu
ScanToMenu=Scan QR code to see the menu
ScanToOrder=Scan QR code to order
Appearance=Appearance
HideCategoryImages=Hide Category Images
HideProductImages=Hide Product Images
NumberOfLinesToShow=Number of lines to show in image box
DefineTablePlan=Define table plan

View File

@ -99,3 +99,6 @@ TypeContact_contrat_internal_SALESREPFOLL=Търговски представи
TypeContact_contrat_external_BILLING=Контакт на клиента за фактуриране
TypeContact_contrat_external_CUSTOMER=Контакт на клиента (проследяващ)
TypeContact_contrat_external_SALESREPSIGN=Контакт на клиента (подписващ)
HideClosedServiceByDefault=Hide closed services by default
ShowClosedServices=Show Closed Services
HideClosedServices=Hide Closed Services

View File

@ -36,6 +36,7 @@ ErrorBadSupplierCodeSyntax=Неправилен синтаксис за код
ErrorSupplierCodeRequired=Необходим е код на доставчик
ErrorSupplierCodeAlreadyUsed=Кодът на доставчика вече е използван
ErrorBadParameters=Неправилни параметри
ErrorWrongParameters=Wrong or missing parameters
ErrorBadValueForParameter=Грешна стойност '%s' за параметър '%s'
ErrorBadImageFormat=Файловият формат на изображението не се поддържа (PHP не поддържа функции за конвертиране на изображения от този формат)
ErrorBadDateFormat=Стойността '%s' има грешен формат за дата
@ -119,7 +120,7 @@ ErrorLoginHasNoEmail=Този потребител няма имейл адре
ErrorBadValueForCode=Неправилен защитен код. Опитайте отново ...
ErrorBothFieldCantBeNegative=Полетата %s и %s не може да бъде едновременно отрицателен
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a given VAT rate.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%).
ErrorLinesCantBeNegativeOnDeposits=Редовете не могат да бъдат отрицателни при депозит. Ще се сблъскате с проблеми, когато включите депозита в окончателната фактура.
ErrorQtyForCustomerInvoiceCantBeNegative=Количество за ред в клиентска фактура не може да бъде отрицателно
ErrorWebServerUserHasNotPermission=Потребителски акаунт <b>%s</b> използват за извършване на уеб сървър не разполага с разрешение за това
@ -183,6 +184,7 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Лоша дефиниция на
ErrorSavingChanges=Възникна грешка при запазването на промените
ErrorWarehouseRequiredIntoShipmentLine=Изисква се склад по линията за изпращане
ErrorFileMustHaveFormat=Файлът трябва да има формат %s
ErrorFilenameCantStartWithDot=Filename can't start with a '.'
ErrorSupplierCountryIsNotDefined=Държавата за този доставчик не е дефинирана. Първо коригирайте това.
ErrorsThirdpartyMerge=Неуспешно обединяване на двата записа. Заявката е анулирана.
ErrorStockIsNotEnoughToAddProductOnOrder=Наличността не е достатъчна, за да може продуктът %s да се добави в нова поръчка.

View File

@ -15,6 +15,7 @@ CancelCP=Анулирана
RefuseCP=Отхвърлена
ValidatorCP=Одобряващ
ListeCP=Списък с молби за отпуск
Leave=Молба за отпуск
LeaveId=Идентификатор на молба за отпуск
ReviewedByCP=Ще бъде одобрена от
UserID=Потребител

View File

@ -11,21 +11,24 @@ Insurance=Застраховка
Interest=Лихва
Nbterms=Брой условия
Term=Условие
LoanAccountancyCapitalCode=Счетоводна сметка на капитал
LoanAccountancyInsuranceCode=Счетоводна сметка на застраховка
LoanAccountancyCapitalCode=Счетоводна сметка за капитал
LoanAccountancyInsuranceCode=Счетоводна сметка за застраховка
LoanAccountancyInterestCode=Счетоводна сметка за лихва
ConfirmDeleteLoan=Потвърдете изтриването на този кредит
LoanDeleted=Кредитът е успешно изтрит
ConfirmPayLoan=Потвърдете класифицирането на този кредит като платен
LoanPaid=Платен кредит
LoanPaid=Кредитът е платен
ListLoanAssociatedProject=Списък на кредити, свързани с проекта
AddLoan=Създаване на кредит
FinancialCommitment=Финансово задължение
InterestAmount=Лихва
CapitalRemain=Оставащ капитал
TermPaidAllreadyPaid = This term is allready paid
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule
# Admin
ConfigLoan=Конфигуриране на модула Кредити
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Счетоводна сметка на капитал по подразбиране
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Счетоводна сметка на лихва по подразбиране
LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Счетоводна сметка на застраховка по подразбиране
ConfigLoan=Конфигуриране на модула кредити
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Счетоводна сметка за капитал по подразбиране
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Счетоводна сметка за лихва по подразбиране
LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Счетоводна сметка за застраховка по подразбиране
CreateCalcSchedule=Променяне на финансово задължение

View File

@ -7,7 +7,7 @@ ProjectsArea=Секция с проекти
ProjectStatus=Статус на проект
SharedProject=Всички
PrivateProject=Участници в проекта
ProjectsImContactFor=Проекти, в които съм определен за контакт
ProjectsImContactFor=Projects for which I am explicitly a contact
AllAllowedProjects=Всеки проект, който мога да прочета (мой и публичен)
AllProjects=Всички проекти
MyProjectsDesc=Този изглед е ограничен до проекти, в които сте определен за контакт

View File

@ -3,7 +3,7 @@ Proposals=Търговски предложения
Proposal=Търговско предложение
ProposalShort=Предложение
ProposalsDraft=Чернови търговски предложения
ProposalsOpened=Отворени търговски предложения
ProposalsOpened=Активни търговски предложения
CommercialProposal=Търговско предложение
PdfCommercialProposalTitle=Търговско предложение
ProposalCard=Карта
@ -21,19 +21,19 @@ AllPropals=Всички предложения
SearchAProposal=Търсене na предложение
NoProposal=Няма предложение
ProposalsStatistics=Статистика на търговски предложения
NumberOfProposalsByMonth=Брой предложения на месец
AmountOfProposalsByMonthHT=Обща сума на месец (без ДДС)
NumberOfProposalsByMonth=Брой предложения за месец
AmountOfProposalsByMonthHT=Стойност на предложения за месец (без ДДС)
NbOfProposals=Брой търговски предложения
ShowPropal=Показване на предложение
PropalsDraft=Чернови
PropalsOpened=Отворени
PropalsOpened=Активни
PropalStatusDraft=Чернова (нужно е валидиране)
PropalStatusValidated=Валидирано (отворено)
PropalStatusValidated=Валидирано (активно)
PropalStatusSigned=Подписано (нужно е фактуриране)
PropalStatusNotSigned=Отхвърлено (приключено)
PropalStatusBilled=Фактурирано
PropalStatusDraftShort=Чернова
PropalStatusValidatedShort=Валидирано (отворено)
PropalStatusValidatedShort=Валидирано (активно)
PropalStatusClosedShort=Приключено
PropalStatusSignedShort=Подписано
PropalStatusNotSignedShort=Отхвърлено
@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Получател на фактура
TypeContact_propal_external_CUSTOMER=Получател на предложение
TypeContact_propal_external_SHIPPING=Получател на доставка
# Document models
DocModelAzurDescription=Пълен шаблон на предложение
DocModelAzurDescription=Пълен шаблон на предложение (стара реализация на шаблон Cyan)
DocModelCyanDescription=Пълен модел на предложение
DefaultModelPropalCreate=Създаване на шаблон по подразбиране
DefaultModelPropalToBill=Шаблон по подразбиране, когато се приключва търговско предложение (за да бъде фактурирано)
@ -84,3 +84,4 @@ DefaultModelPropalClosed=Шаблон по подразбиране, когат
ProposalCustomerSignature=Име, фамилия, фирмен печат, дата и подпис
ProposalsStatisticsSuppliers=Статистика на запитвания към доставчици
CaseFollowedBy=Случай, проследяван от
SignedOnly=Signed only

View File

@ -56,16 +56,15 @@ DOL_UNDERLINE=Активиране на подчертаване
DOL_UNDERLINE_DISABLED=Деактивиране на подчертаване
DOL_BEEP=Звуков сигнал
DOL_PRINT_TEXT=Отпечатване на текст
DOL_VALUE_DATE=Дата на документ
DOL_VALUE_DATE_TIME=Дата и час на фактура
DOL_VALUE_YEAR=Година на фактура
DateInvoiceWithTime=Дата и час на фактура
YearInvoice=Година на фактура
DOL_VALUE_MONTH_LETTERS=Месец на фактура с букви
DOL_VALUE_MONTH=Месец на фактура
DOL_VALUE_DAY=Ден на фактура
DOL_VALUE_DAY_LETTERS=Ден на фактура с букви
DOL_LINE_FEED_REVERSE=Line feed reverse
DOL_VALUE_OBJECT_ID=Invoice ID
DOL_VALUE_OBJECT_REF=Съгласно фактура №
InvoiceID=Invoice ID
InvoiceRef=Съгласно фактура №
DOL_PRINT_OBJECT_LINES=Invoice lines
DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name
DOL_VALUE_CUSTOMER_LASTNAME=Customer last name
@ -76,20 +75,8 @@ DOL_VALUE_CUSTOMER_SKYPE=Customer Skype
DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number
DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance
DOL_VALUE_MYSOC_NAME=Your company name
DOL_VALUE_MYSOC_ADDRESS=Your company address
DOL_VALUE_MYSOC_ZIP=Your zip code
DOL_VALUE_MYSOC_TOWN=Your town
DOL_VALUE_MYSOC_COUNTRY=Your country
DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1
DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2
DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3
DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4
DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5
DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6
DOL_VALUE_MYSOC_TVA_INTRA=ДДС №
DOL_VALUE_MYSOC_CAPITAL=Капитал
DOL_VALUE_VENDOR_LASTNAME=Vendor last name
DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name
DOL_VALUE_VENDOR_MAIL=Vendor mail
VendorLastname=Vendor last name
VendorFirstname=Vendor first name
VendorEmail=Vendor email
DOL_VALUE_CUSTOMER_POINTS=Customer points
DOL_VALUE_OBJECT_POINTS=Object points

View File

@ -17,6 +17,10 @@ CancelSending=Анулиране на изпращане
DeleteSending=Изтриване на изпращане
Stock=Наличност
Stocks=Наличности
MissingStocks=Missing stocks
StockAtDate=Stock at date
StockAtDateInPast=Date in past
StockAtDateInFuture=Date in future
StocksByLotSerial=Наличности по партида / сериен №
LotSerial=Партиди / Серийни номера
LotSerialList=Списък на партиди / серийни номера
@ -30,6 +34,7 @@ StockMovementForId=Идентификатор на движение %d
ListMouvementStockProject=Списък на движения на стокови наличности, свързани с проекта
StocksArea=Секция със складове
AllWarehouses=Всички складове
IncludeEmptyDesiredStock=Include also undefined desired stock
IncludeAlsoDraftOrders=Включва чернови поръчки
Location=Местоположение
LocationSummary=Кратко име на местоположение
@ -59,10 +64,9 @@ AllowAddLimitStockByWarehouse=Управляване също и на стойн
RuleForWarehouse=Rule for warehouses
WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders
UserDefaultWarehouse=Set a warehouse on Users
DefaultWarehouseActive=Default warehouse active
MainDefaultWarehouse=Склад по подразбиране
MainDefaultWarehouseUser=Use user warehouse asign default
MainDefaultWarehouseUserDesc=/!\\ By activating this option the gold of the creation of an article, the warehouse assigned to the user will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
MainDefaultWarehouseUser=Use a default warehouse for each user
MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined.
IndependantSubProductStock=Наличностите за продукти и подпродукти са независими
QtyDispatched=Изпратено количество
QtyDispatchedShort=Изпратено кол.
@ -126,6 +130,7 @@ CurentlyUsingPhysicalStock=Физическа наличност
RuleForStockReplenishment=Правило за попълване на наличности
SelectProductWithNotNullQty=Избиране на най-малко един продукт с количество различно от 0 и доставчик
AlertOnly= Само предупреждения
IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0
WarehouseForStockDecrease=Складът <b>%s</b> ще бъде използван за намаляване на наличността
WarehouseForStockIncrease=Складът <b>%s</b> ще бъде използван за увеличаване на наличността
ForThisWarehouse=За този склад
@ -227,3 +232,6 @@ InventoryForASpecificProduct=Инвентаризация за конкрете
StockIsRequiredToChooseWhichLotToUse=Необходима е наличност, за да изберете коя партида да използвате.
ForceTo=Принуждаване до
AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances)
StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past
StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in future
CurrentStock=Current stock

View File

@ -58,7 +58,10 @@ NoPageYet=Все още няма страници
YouCanCreatePageOrImportTemplate=Може да създадете нова страница или да импортирате пълен шаблон на уебсайт
SyntaxHelp=Помощ с конкретни съвети за синтаксиса
YouCanEditHtmlSourceckeditor=Може да редактирате изходния HTML код с помощта на бутона 'Код' в редактора.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br><br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
YouCanEditHtmlSource=<br><span class="fa fa-bug"></span> You can include PHP code into this source using tags <strong>&lt;?php ?&gt;</strong>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.<br><br><span class="fa fa-bug"></span> You can also include content of another Page/Container with the following syntax:<br><strong>&lt;?php includeContainer('alias_of_container_to_include'); ?&gt;</strong><br><br><span class="fa fa-bug"></span> You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):<br><strong>&lt;?php redirectToContainer('alias_of_container_to_redirect_to'); ?&gt;</strong><br><br><span class="fa fa-link"></span> To add a link to another page, use the syntax:<br><strong>&lt;a href="alias_of_page_to_link_to.php"&gt;mylink&lt;a&gt;</strong><br><br><span class="fa fa-download"></span> To include a <strong>link to download</strong> a file stored into the <strong>documents</strong> directory, use the <strong>document.php</strong> wrapper:<br>Example, for a file into documents/ecm (need to be logged), syntax is:<br><strong>&lt;a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file into documents/medias (open directory for public access), syntax is:<br><strong>&lt;a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext"&gt;</strong><br>For a file shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;a href="/document.php?hashp=publicsharekeyoffile"&gt;</strong><br><br><span class="fa fa-picture-o"></span> To include an <strong>image</strong> stored into the <strong>documents</strong> directory, use the <strong>viewimage.php</strong> wrapper:<br>Example, for an image into documents/medias (open directory for public access), syntax is:<br><strong>&lt;img src="/viewimage.php?modulepart=medias&amp;file=[relative_dir/]filename.ext"&gt;</strong><br>
#YouCanEditHtmlSource2=<br><span class="fa fa-picture-o"></span> To include a <strong>image</strong> shared publicaly, use the <strong>viewimage.php</strong> wrapper:<br>Example with a shared key 123456789, syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:<br><strong>&lt;img src="/viewimage.php?hashp=12345679012..."&gt;</strong><br>
YouCanEditHtmlSourceMore=<br>More examples of HTML or dynamic code available on <a href="%s" target="_blank">the wiki documentation</a><br>.
ClonePage=Клониране на страница / контейнер
CloneSite=Клониране на сайт
SiteAdded=Уебсайтът е добавен

View File

@ -10,8 +10,8 @@ PaymentByBankTransferReceipts=Credit transfer orders
PaymentByBankTransferLines=Credit transfer order lines
WithdrawalsReceipts=Нареждания с директен дебит
WithdrawalReceipt=Нареждане с директен дебит
BankTransferReceipts=Credit transfer receipts
BankTransferReceipt=Credit transfer receipt
BankTransferReceipts=Credit transfer order
BankTransferReceipt=Credit transfer order
LatestBankTransferReceipts=Latest %s credit transfer orders
LastWithdrawalReceipts=Файлове с директен дебит: %s последни
WithdrawalsLine=Direct debit order line
@ -34,12 +34,13 @@ NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoi
NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request.
ResponsibleUser=Отговорен потребител
WithdrawalsSetup=Настройка на плащания с директен дебит
CreditTransferSetup=Crebit transfer setup
CreditTransferSetup=Credit transfer setup
WithdrawStatistics=Статистика за плащания с директен дебит
CreditTransferStatistics=Credit transfer statistics
Rejects=Отхвърляния
LastWithdrawalReceipt=Разписки с директен дебит: %s последни
MakeWithdrawRequest=Заявяване на плащане с директен дебит
MakeBankTransferOrder=Make a credit transfer request
WithdrawRequestsDone=%s заявления за плащане с директен дебит са записани
ThirdPartyBankCode=Банков код на контрагента
NoInvoiceCouldBeWithdrawed=Няма успешно дебитирани фактури. Проверете дали фактурите са на фирми с валиден IBAN и дали този IBAN има UMR (Unique Mandate Reference) в режим <strong>%s</strong>.
@ -92,7 +93,8 @@ CreditDate=Кредит на
WithdrawalFileNotCapable=Не може да се генерира файл с разписка за теглене за вашата държава %s (Вашата държава не се поддържа)
ShowWithdraw=Показване на нареждане с директен дебит
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Ако обаче фактурата има поне едно нареждане за плащане с директен дебит, което е все още необработено, то няма да бъде зададено като платено, за да позволи предварително управление на тегленето.
DoStandingOrdersBeforePayments=Този раздел ви позволява да заявите платежно нареждане с директен дебит. След като сте готови отидете в меню Банка -> Нареждания с директен дебит, за да управлявате платежното нареждане с директен дебит. Когато платежното нареждане е приключено, плащането по фактура ще бъде автоматично записано, а фактурата приключена, ако няма остатък за плащане.
DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Direct Debit orders to generate and manage the direct debit payment order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Credit transfer orders to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null.
WithdrawalFile=Файл за теглене
SetToStatusSent=Задаване на статус 'Изпратен файл'
ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null
@ -103,6 +105,7 @@ RUMLong=Unique Mandate Reference
RUMWillBeGenerated=Ако е празно, ще бъде генериран UMR (Unique Mandate Reference), след като бъде запазена информацията за банковата сметка.
WithdrawMode=Режим за директен дебит (FRST или RECUR)
WithdrawRequestAmount=Сума на заявлението за директен дебит:
BankTransferAmount=Amount of Credit Transfer request:
WithdrawRequestErrorNilAmount=Не може да се създаде заявление за директен дебит при липса на сума.
SepaMandate=SEPA нареждане с директен дебит
SepaMandateShort=SEPA нареждане
@ -128,7 +131,7 @@ ICS=Идентификатор на кредитора CI
END_TO_END='EndToEndId' SEPA XML таг - Уникален идентификатор, присвоен на транзакция
USTRD='Unstructured' SEPA XML таг
ADDDAYS=Добавяне на дни към датата на изпълнение
NoDefaultIBANFound=No default IBAN found for this third party
### Notifications
InfoCreditSubject=Плащане на платежно нареждане с директен дебит %s от банката
InfoCreditMessage=Платежното нареждане с директен дебит %s е платено от банката <br> Данни за плащане: %s

View File

@ -543,7 +543,7 @@ Module54Desc=Management of contracts (services or recurring subscriptions)
Module55Name=Barcodes
Module55Desc=Barcode management
Module56Name=Payment by credit transfer
Module56Desc=Management of payment by credit transfer orders. It includes generation of SEPA file for European countries.
Module56Desc=Management of payment of suppliers by credit transfer orders. It includes generation of SEPA file for European countries.
Module57Name=Bank Direct Debit payments
Module57Desc=Management of Direct Debit payment orders. It includes generation of SEPA file for European countries.
Module58Name=ClickToDial
@ -1983,7 +1983,7 @@ SmallerThan=Smaller than
LargerThan=Larger than
IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID is found into incoming email, the event will be automatically linked to the related objects.
WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set a value here to use this feature. Note that you must also use a read/write login account.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account.
EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body.
EndPointFor=End point for %s : %s
DeleteEmailCollector=Delete email collector

View File

@ -63,6 +63,7 @@ ShipmentClassifyClosedInDolibarr=Shipment %s classified billed
ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open
ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status
ShipmentDeletedInDolibarr=Shipment %s deleted
ReceptionValidatedInDolibarr=Reception %s validated
OrderCreatedInDolibarr=Order %s created
OrderValidatedInDolibarr=Order %s validated
OrderDeliveredInDolibarr=Order %s classified delivered

View File

@ -37,6 +37,7 @@ IbanValid=BAN valid
IbanNotValid=BAN not valid
StandingOrders=Direct debit orders
StandingOrder=Direct debit order
PaymentByDirectDebit=Payment by direct debit
PaymentByBankTransfers=Payments by credit transfer
PaymentByBankTransfer=Payment by credit transfer
AccountStatement=Account statement
@ -105,8 +106,8 @@ SupplierInvoicePayment=Vendor payment
SubscriptionPayment=Subscription payment
WithdrawalPayment=Debit payment order
SocialContributionPayment=Social/fiscal tax payment
BankTransfer=Bank transfer
BankTransfers=Bank transfers
BankTransfer=Credit transfer
BankTransfers=Credit transfers
MenuBankInternalTransfer=Internal transfer
TransferDesc=Transfer from one account to another, Dolibarr will write two records (a debit in source account and a credit in target account). The same amount (except sign), label and date will be used for this transaction)
TransferFrom=From

View File

@ -441,6 +441,8 @@ BankAccountNumberKey=Checksum
Residence=Address
IBANNumber=IBAN account number
IBAN=IBAN
CustomerIBAN=IBAN of customer
SupplierIBAN=IBAN of vendor
BIC=BIC/SWIFT
BICNumber=BIC/SWIFT code
ExtraInfos=Extra infos

View File

@ -107,6 +107,13 @@ OrderPrinterToUse=Order printer to use
MainTemplateToUse=Main template to use
OrderTemplateToUse=Order template to use
BarRestaurant=Bar Restaurant
AutoOrder=Customer auto order
AutoOrder=Order by the customer himself
RestaurantMenu=Menu
CustomerMenu=Customer menu
ScanToMenu=Scan QR code to see the menu
ScanToOrder=Scan QR code to order
Appearance=Appearance
HideCategoryImages=Hide Category Images
HideProductImages=Hide Product Images
NumberOfLinesToShow=Number of lines to show in image box
DefineTablePlan=Define table plan

Some files were not shown because too many files have changed in this diff Show More