Merge branch 'develop' of github.com:Dolibarr/dolibarr into New_retained_warranty_develop
This commit is contained in:
commit
9c2e83dcae
35
ChangeLog
35
ChangeLog
@ -499,6 +499,41 @@ Following changes may create regressions for some external modules, but were nec
|
||||
* Remove the no more used and deprecated dol_print_graph function
|
||||
|
||||
|
||||
***** ChangeLog for 8.0.6 compared to 8.0.5 *****
|
||||
FIX: #11244
|
||||
FIX: #11316
|
||||
FIX: Add missing end date of subscription in export
|
||||
FIX: A user may read holiday and expense report without permissions
|
||||
FIX: better syntax
|
||||
FIX: condition
|
||||
FIX: confirmation of mass email sending + option MAILING_NO_USING_PHPMAIL
|
||||
FIX: crabe pdf: bad detailed VAT for situation invoices, in situations S2 and above
|
||||
FIX: default value for duration of validity can be set from generic
|
||||
FIX: do not include tpl from disabled modules
|
||||
FIX: Error management when MAILING_NO_USING_PHPMAIL is set
|
||||
FIX: Even with permission, can't validate leave once validator defined.
|
||||
FIX: extrafield list search: SQL error when field is multiselect
|
||||
FIX: if last char of customercode is accent making the truncate of first
|
||||
FIX: in edit mode, dictionary inputs do not escape the string inside the 'value' attribute, causing errors if there are any double quotes
|
||||
FIX: invalid link on user.fk_user
|
||||
FIX: invoice class: bad SQL request if product type not set
|
||||
FIX: mail presend: can overwrite a file previously uploaded
|
||||
FIX: mail presend: can overwrite a file previously uploaded (Issue #11056)
|
||||
FIX: mass send mail
|
||||
FIX: missing compatibility with multicompany transverse mode
|
||||
FIX: modulebuilder: hardcoded llx_
|
||||
FIX: Not showing Contract and Project columns on ficheinter list
|
||||
FIX: remove isolated transaction commit
|
||||
FIX: security (a user can read leave or holiday of other without perm.
|
||||
FIX: situation invoices: bad detailed VAT in situations following the first one
|
||||
FIX: situation invoices: block progress percentage change for discount lines
|
||||
FIX: syntax error
|
||||
FIX: try to use WHERE EXISTS instead DISTINCT
|
||||
FIX: use dol_sanitizeFileName() function to remove double spaces in filenames, as well as done on document.php when we want to download pdf
|
||||
FIX: var name
|
||||
FIX: we need to fetch fourn invoice with ref in current entity
|
||||
FIX: Wrong stock movement on supplier credit notes
|
||||
|
||||
***** ChangeLog for 8.0.5 compared to 8.0.4 *****
|
||||
FIX: #10381
|
||||
FIX: #10460 compatibility with MariaDB 10.4
|
||||
|
||||
@ -367,7 +367,6 @@ if ($nboftargetok) {
|
||||
{
|
||||
#print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log '.$MAJOR.'.'.$MINOR.'.'.($BUILD-1).'.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/CLOSE/NEW/g\'| sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
||||
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log '.$MAJOR.'.'.$MINOR.'.'.($BUILD-1).'.. | grep -v "Merge branch" | grep -v "Merge pull" | grep "^ " | sed -e "s/^[0-9a-z]* *//" | grep -e \'^FIX\|NEW\|CLOSE\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/CLOSE/NEW/g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
||||
|
||||
}
|
||||
print "\n";
|
||||
if (! $ret)
|
||||
@ -382,11 +381,15 @@ if ($nboftargetok) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Build xml check file
|
||||
#-----------------------
|
||||
if ($CHOOSEDTARGET{'-CHKSUM'})
|
||||
{
|
||||
print "Go to directory $SOURCE\n";
|
||||
$olddir=getcwd();
|
||||
chdir("$SOURCE");
|
||||
|
||||
$ret=`git ls-files . --exclude-standard --others`;
|
||||
if ($ret)
|
||||
{
|
||||
|
||||
@ -37,6 +37,8 @@ require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';
|
||||
// Load translation files required by the page
|
||||
$langs->loadLangs(array("accountancy"));
|
||||
|
||||
$socid = GETPOST('socid', 'int');
|
||||
|
||||
$action = GETPOST('action', 'aZ09');
|
||||
$search_mvt_num = GETPOST('search_mvt_num', 'int');
|
||||
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
||||
@ -97,8 +99,9 @@ $pagenext = $page + 1;
|
||||
if ($sortorder == "") $sortorder = "ASC";
|
||||
if ($sortfield == "") $sortfield = "t.piece_num,t.rowid";
|
||||
|
||||
|
||||
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
||||
$object = new BookKeeping($db);
|
||||
$hookmanager->initHooks(array('bookkeepinglist'));
|
||||
|
||||
$formaccounting = new FormAccounting($db);
|
||||
$formother = new FormOther($db);
|
||||
@ -160,145 +163,151 @@ if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.let
|
||||
if (GETPOST('cancel', 'alpha')) { $action='list'; $massaction=''; }
|
||||
if (! GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; }
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
|
||||
$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');
|
||||
|
||||
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
||||
if (empty($reshook))
|
||||
{
|
||||
$search_mvt_num = '';
|
||||
$search_doc_type = '';
|
||||
$search_doc_ref = '';
|
||||
$search_doc_date = '';
|
||||
$search_accountancy_code = '';
|
||||
$search_accountancy_code_start = '';
|
||||
$search_accountancy_code_end = '';
|
||||
$search_accountancy_aux_code = '';
|
||||
$search_accountancy_aux_code_start = '';
|
||||
$search_accountancy_aux_code_end = '';
|
||||
$search_mvt_label = '';
|
||||
$search_direction = '';
|
||||
$search_ledger_code = '';
|
||||
$search_date_start = '';
|
||||
$search_date_end = '';
|
||||
$search_date_creation_start = '';
|
||||
$search_date_creation_end = '';
|
||||
$search_date_modification_start = '';
|
||||
$search_date_modification_end = '';
|
||||
$search_date_export_start = '';
|
||||
$search_date_export_end = '';
|
||||
$search_debit = '';
|
||||
$search_credit = '';
|
||||
$search_lettering_code = '';
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
|
||||
|
||||
// Must be after the remove filter action, before the export.
|
||||
$param = '';
|
||||
$filter = array ();
|
||||
if (! empty($search_date_start)) {
|
||||
$filter['t.doc_date>='] = $search_date_start;
|
||||
$tmp=dol_getdate($search_date_start);
|
||||
$param .= '&search_date_startmonth=' . $tmp['mon'] . '&search_date_startday=' . $tmp['mday'] . '&search_date_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_end)) {
|
||||
$filter['t.doc_date<='] = $search_date_end;
|
||||
$tmp=dol_getdate($search_date_end);
|
||||
$param .= '&search_date_endmonth=' . $tmp['mon'] . '&search_date_endday=' . $tmp['mday'] . '&search_date_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_doc_date)) {
|
||||
$filter['t.doc_date'] = $search_doc_date;
|
||||
$tmp=dol_getdate($search_doc_date);
|
||||
$param .= '&doc_datemonth=' . $tmp['mon'] . '&doc_dateday=' . $tmp['mday'] . '&doc_dateyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_doc_type)) {
|
||||
$filter['t.doc_type'] = $search_doc_type;
|
||||
$param .= '&search_doc_type=' . urlencode($search_doc_type);
|
||||
}
|
||||
if (! empty($search_doc_ref)) {
|
||||
$filter['t.doc_ref'] = $search_doc_ref;
|
||||
$param .= '&search_doc_ref=' . urlencode($search_doc_ref);
|
||||
}
|
||||
if (! empty($search_accountancy_code)) {
|
||||
$filter['t.numero_compte'] = $search_accountancy_code;
|
||||
$param .= '&search_accountancy_code=' . urlencode($search_accountancy_code);
|
||||
}
|
||||
if (! empty($search_accountancy_code_start)) {
|
||||
$filter['t.numero_compte>='] = $search_accountancy_code_start;
|
||||
$param .= '&search_accountancy_code_start=' . urlencode($search_accountancy_code_start);
|
||||
}
|
||||
if (! empty($search_accountancy_code_end)) {
|
||||
$filter['t.numero_compte<='] = $search_accountancy_code_end;
|
||||
$param .= '&search_accountancy_code_end=' . urlencode($search_accountancy_code_end);
|
||||
}
|
||||
if (! empty($search_accountancy_aux_code)) {
|
||||
$filter['t.subledger_account'] = $search_accountancy_aux_code;
|
||||
$param .= '&search_accountancy_aux_code=' . urlencode($search_accountancy_aux_code);
|
||||
}
|
||||
if (! empty($search_accountancy_aux_code_start)) {
|
||||
$filter['t.subledger_account>='] = $search_accountancy_aux_code_start;
|
||||
$param .= '&search_accountancy_aux_code_start=' . urlencode($search_accountancy_aux_code_start);
|
||||
}
|
||||
if (! empty($search_accountancy_aux_code_end)) {
|
||||
$filter['t.subledger_account<='] = $search_accountancy_aux_code_end;
|
||||
$param .= '&search_accountancy_aux_code_end=' . urlencode($search_accountancy_aux_code_end);
|
||||
}
|
||||
if (! empty($search_mvt_label)) {
|
||||
$filter['t.label_operation'] = $search_mvt_label;
|
||||
$param .= '&search_mvt_label=' . urlencode($search_mvt_label);
|
||||
}
|
||||
if (! empty($search_direction)) {
|
||||
$filter['t.sens'] = $search_direction;
|
||||
$param .= '&search_direction=' . urlencode($search_direction);
|
||||
}
|
||||
if (! empty($search_ledger_code)) {
|
||||
$filter['t.code_journal'] = $search_ledger_code;
|
||||
$param .= '&search_ledger_code=' . urlencode($search_ledger_code);
|
||||
}
|
||||
if (! empty($search_mvt_num)) {
|
||||
$filter['t.piece_num'] = $search_mvt_num;
|
||||
$param .= '&search_mvt_num=' . urlencode($search_mvt_num);
|
||||
}
|
||||
if (! empty($search_date_creation_start)) {
|
||||
$filter['t.date_creation>='] = $search_date_creation_start;
|
||||
$tmp=dol_getdate($search_date_creation_start);
|
||||
$param .= '&date_creation_startmonth=' . $tmp['mon'] . '&date_creation_startday=' . $tmp['mday'] . '&date_creation_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_creation_end)) {
|
||||
$filter['t.date_creation<='] = $search_date_creation_end;
|
||||
$tmp=dol_getdate($search_date_creation_end);
|
||||
$param .= '&date_creation_endmonth=' . $tmp['mon'] . '&date_creation_endday=' . $tmp['mday'] . '&date_creation_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_modification_start)) {
|
||||
$filter['t.tms>='] = $search_date_modification_start;
|
||||
$tmp=dol_getdate($search_date_modification_start);
|
||||
$param .= '&date_modification_startmonth=' . $tmp['mon'] . '&date_modification_startday=' . $tmp['mday'] . '&date_modification_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_modification_end)) {
|
||||
$filter['t.tms<='] = $search_date_modification_end;
|
||||
$tmp=dol_getdate($search_date_modification_end);
|
||||
$param .= '&date_modification_endmonth=' . $tmp['mon'] . '&date_modification_endday=' . $tmp['mday'] . '&date_modification_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_export_start)) {
|
||||
$filter['t.date_export>='] = $search_date_export_start;
|
||||
$tmp=dol_getdate($search_date_export_start);
|
||||
$param .= '&date_export_startmonth=' . $tmp['mon'] . '&date_export_startday=' . $tmp['mday'] . '&date_export_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_export_end)) {
|
||||
$filter['t.date_export<='] = $search_date_export_end;
|
||||
$tmp=dol_getdate($search_date_export_end);
|
||||
$param .= '&date_export_endmonth=' . $tmp['mon'] . '&date_export_endday=' . $tmp['mday'] . '&date_export_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_debit)) {
|
||||
$filter['t.debit'] = $search_debit;
|
||||
$param .= '&search_debit=' . urlencode($search_debit);
|
||||
}
|
||||
if (! empty($search_credit)) {
|
||||
$filter['t.credit'] = $search_credit;
|
||||
$param .= '&search_credit=' . urlencode($search_credit);
|
||||
}
|
||||
if (! empty($search_lettering_code)) {
|
||||
$filter['t.lettering_code'] = $search_lettering_code;
|
||||
$param .= '&search_lettering_code=' . urlencode($search_lettering_code);
|
||||
}
|
||||
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
||||
{
|
||||
$search_mvt_num = '';
|
||||
$search_doc_type = '';
|
||||
$search_doc_ref = '';
|
||||
$search_doc_date = '';
|
||||
$search_accountancy_code = '';
|
||||
$search_accountancy_code_start = '';
|
||||
$search_accountancy_code_end = '';
|
||||
$search_accountancy_aux_code = '';
|
||||
$search_accountancy_aux_code_start = '';
|
||||
$search_accountancy_aux_code_end = '';
|
||||
$search_mvt_label = '';
|
||||
$search_direction = '';
|
||||
$search_ledger_code = '';
|
||||
$search_date_start = '';
|
||||
$search_date_end = '';
|
||||
$search_date_creation_start = '';
|
||||
$search_date_creation_end = '';
|
||||
$search_date_modification_start = '';
|
||||
$search_date_modification_end = '';
|
||||
$search_date_export_start = '';
|
||||
$search_date_export_end = '';
|
||||
$search_debit = '';
|
||||
$search_credit = '';
|
||||
$search_lettering_code = '';
|
||||
}
|
||||
|
||||
// Must be after the remove filter action, before the export.
|
||||
$param = '';
|
||||
$filter = array ();
|
||||
if (! empty($search_date_start)) {
|
||||
$filter['t.doc_date>='] = $search_date_start;
|
||||
$tmp=dol_getdate($search_date_start);
|
||||
$param .= '&search_date_startmonth=' . $tmp['mon'] . '&search_date_startday=' . $tmp['mday'] . '&search_date_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_end)) {
|
||||
$filter['t.doc_date<='] = $search_date_end;
|
||||
$tmp=dol_getdate($search_date_end);
|
||||
$param .= '&search_date_endmonth=' . $tmp['mon'] . '&search_date_endday=' . $tmp['mday'] . '&search_date_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_doc_date)) {
|
||||
$filter['t.doc_date'] = $search_doc_date;
|
||||
$tmp=dol_getdate($search_doc_date);
|
||||
$param .= '&doc_datemonth=' . $tmp['mon'] . '&doc_dateday=' . $tmp['mday'] . '&doc_dateyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_doc_type)) {
|
||||
$filter['t.doc_type'] = $search_doc_type;
|
||||
$param .= '&search_doc_type=' . urlencode($search_doc_type);
|
||||
}
|
||||
if (! empty($search_doc_ref)) {
|
||||
$filter['t.doc_ref'] = $search_doc_ref;
|
||||
$param .= '&search_doc_ref=' . urlencode($search_doc_ref);
|
||||
}
|
||||
if (! empty($search_accountancy_code)) {
|
||||
$filter['t.numero_compte'] = $search_accountancy_code;
|
||||
$param .= '&search_accountancy_code=' . urlencode($search_accountancy_code);
|
||||
}
|
||||
if (! empty($search_accountancy_code_start)) {
|
||||
$filter['t.numero_compte>='] = $search_accountancy_code_start;
|
||||
$param .= '&search_accountancy_code_start=' . urlencode($search_accountancy_code_start);
|
||||
}
|
||||
if (! empty($search_accountancy_code_end)) {
|
||||
$filter['t.numero_compte<='] = $search_accountancy_code_end;
|
||||
$param .= '&search_accountancy_code_end=' . urlencode($search_accountancy_code_end);
|
||||
}
|
||||
if (! empty($search_accountancy_aux_code)) {
|
||||
$filter['t.subledger_account'] = $search_accountancy_aux_code;
|
||||
$param .= '&search_accountancy_aux_code=' . urlencode($search_accountancy_aux_code);
|
||||
}
|
||||
if (! empty($search_accountancy_aux_code_start)) {
|
||||
$filter['t.subledger_account>='] = $search_accountancy_aux_code_start;
|
||||
$param .= '&search_accountancy_aux_code_start=' . urlencode($search_accountancy_aux_code_start);
|
||||
}
|
||||
if (! empty($search_accountancy_aux_code_end)) {
|
||||
$filter['t.subledger_account<='] = $search_accountancy_aux_code_end;
|
||||
$param .= '&search_accountancy_aux_code_end=' . urlencode($search_accountancy_aux_code_end);
|
||||
}
|
||||
if (! empty($search_mvt_label)) {
|
||||
$filter['t.label_operation'] = $search_mvt_label;
|
||||
$param .= '&search_mvt_label=' . urlencode($search_mvt_label);
|
||||
}
|
||||
if (! empty($search_direction)) {
|
||||
$filter['t.sens'] = $search_direction;
|
||||
$param .= '&search_direction=' . urlencode($search_direction);
|
||||
}
|
||||
if (! empty($search_ledger_code)) {
|
||||
$filter['t.code_journal'] = $search_ledger_code;
|
||||
$param .= '&search_ledger_code=' . urlencode($search_ledger_code);
|
||||
}
|
||||
if (! empty($search_mvt_num)) {
|
||||
$filter['t.piece_num'] = $search_mvt_num;
|
||||
$param .= '&search_mvt_num=' . urlencode($search_mvt_num);
|
||||
}
|
||||
if (! empty($search_date_creation_start)) {
|
||||
$filter['t.date_creation>='] = $search_date_creation_start;
|
||||
$tmp=dol_getdate($search_date_creation_start);
|
||||
$param .= '&date_creation_startmonth=' . $tmp['mon'] . '&date_creation_startday=' . $tmp['mday'] . '&date_creation_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_creation_end)) {
|
||||
$filter['t.date_creation<='] = $search_date_creation_end;
|
||||
$tmp=dol_getdate($search_date_creation_end);
|
||||
$param .= '&date_creation_endmonth=' . $tmp['mon'] . '&date_creation_endday=' . $tmp['mday'] . '&date_creation_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_modification_start)) {
|
||||
$filter['t.tms>='] = $search_date_modification_start;
|
||||
$tmp=dol_getdate($search_date_modification_start);
|
||||
$param .= '&date_modification_startmonth=' . $tmp['mon'] . '&date_modification_startday=' . $tmp['mday'] . '&date_modification_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_modification_end)) {
|
||||
$filter['t.tms<='] = $search_date_modification_end;
|
||||
$tmp=dol_getdate($search_date_modification_end);
|
||||
$param .= '&date_modification_endmonth=' . $tmp['mon'] . '&date_modification_endday=' . $tmp['mday'] . '&date_modification_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_export_start)) {
|
||||
$filter['t.date_export>='] = $search_date_export_start;
|
||||
$tmp=dol_getdate($search_date_export_start);
|
||||
$param .= '&date_export_startmonth=' . $tmp['mon'] . '&date_export_startday=' . $tmp['mday'] . '&date_export_startyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_date_export_end)) {
|
||||
$filter['t.date_export<='] = $search_date_export_end;
|
||||
$tmp=dol_getdate($search_date_export_end);
|
||||
$param .= '&date_export_endmonth=' . $tmp['mon'] . '&date_export_endday=' . $tmp['mday'] . '&date_export_endyear=' . $tmp['year'];
|
||||
}
|
||||
if (! empty($search_debit)) {
|
||||
$filter['t.debit'] = $search_debit;
|
||||
$param .= '&search_debit=' . urlencode($search_debit);
|
||||
}
|
||||
if (! empty($search_credit)) {
|
||||
$filter['t.credit'] = $search_credit;
|
||||
$param .= '&search_credit=' . urlencode($search_credit);
|
||||
}
|
||||
if (! empty($search_lettering_code)) {
|
||||
$filter['t.lettering_code'] = $search_lettering_code;
|
||||
$param .= '&search_lettering_code=' . urlencode($search_lettering_code);
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) {
|
||||
|
||||
@ -527,6 +536,11 @@ $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
|
||||
$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
|
||||
if ($massactionbutton) $selectedfields.=$form->showCheckAddButtons('checkforselect', 1);
|
||||
|
||||
$parameters=array();
|
||||
$reshook=$hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
||||
if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint;
|
||||
else $moreforfilter = $hookmanager->resPrint;
|
||||
|
||||
print '<div class="div-table-responsive">';
|
||||
print '<table class="tagtable liste" width="100%">';
|
||||
|
||||
@ -635,6 +649,13 @@ if (! empty($arrayfields['t.code_journal']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre center"><input type="text" name="search_ledger_code" size="3" value="' . $search_ledger_code . '"></td>';
|
||||
}
|
||||
|
||||
|
||||
// Fields from hook
|
||||
$parameters=array('arrayfields'=>$arrayfields);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
|
||||
// Date creation
|
||||
if (! empty($arrayfields['t.date_creation']['checked']))
|
||||
{
|
||||
@ -695,6 +716,10 @@ if (! empty($arrayfields['t.debit']['checked'])) print_liste_field_titre($arr
|
||||
if (! empty($arrayfields['t.credit']['checked'])) print_liste_field_titre($arrayfields['t.credit']['label'], $_SERVER['PHP_SELF'], "t.credit", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
if (! empty($arrayfields['t.lettering_code']['checked'])) print_liste_field_titre($arrayfields['t.lettering_code']['label'], $_SERVER['PHP_SELF'], "t.lettering_code", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['t.code_journal']['checked'])) print_liste_field_titre($arrayfields['t.code_journal']['label'], $_SERVER['PHP_SELF'], "t.code_journal", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
// Hook fields
|
||||
$parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
if (! empty($arrayfields['t.date_creation']['checked'])) print_liste_field_titre($arrayfields['t.date_creation']['label'], $_SERVER['PHP_SELF'], "t.date_creation", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['t.tms']['checked'])) print_liste_field_titre($arrayfields['t.tms']['label'], $_SERVER['PHP_SELF'], "t.tms", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['t.date_export']['checked'])) print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
@ -796,6 +821,11 @@ if ($num > 0)
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
|
||||
// Fields from hook
|
||||
$parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
|
||||
// Creation operation date
|
||||
if (! empty($arrayfields['t.date_creation']['checked']))
|
||||
{
|
||||
@ -853,10 +883,15 @@ if ($num > 0)
|
||||
elseif ($totalarray['totalcreditfield'] == $i) print '<td class="right">'.price($totalarray['totalcredit']).'</td>';
|
||||
else print '<td></td>';
|
||||
}
|
||||
$parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListFooter', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
|
||||
print '</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
print "</table>";
|
||||
print '</div>';
|
||||
|
||||
|
||||
@ -169,7 +169,7 @@ if ($action == 'delete')
|
||||
|
||||
if ($action == 'switch')
|
||||
{
|
||||
// On permute les valeur du champ box_order des 2 lignes de la table boxes
|
||||
// We switch values of field box_order for the 2 lines of table boxes
|
||||
$db->begin();
|
||||
|
||||
$objfrom=new ModeleBoxes($db);
|
||||
|
||||
@ -183,9 +183,9 @@ class BOM extends CommonObject
|
||||
// Translate some data of arrayofkeyval
|
||||
foreach($this->fields as $key => $val)
|
||||
{
|
||||
if (is_array($this->fields[$key]['arrayofkeyval']))
|
||||
if (is_array($val['arrayofkeyval']))
|
||||
{
|
||||
foreach($this->fields[$key]['arrayofkeyval'] as $key2 => $val2)
|
||||
foreach($val['arrayofkeyval'] as $key2 => $val2)
|
||||
{
|
||||
$this->fields[$key]['arrayofkeyval'][$key2]=$langs->trans($val2);
|
||||
}
|
||||
@ -1084,9 +1084,9 @@ class BOMLine extends CommonObject
|
||||
// Translate some data of arrayofkeyval
|
||||
foreach($this->fields as $key => $val)
|
||||
{
|
||||
if (is_array($this->fields[$key]['arrayofkeyval']))
|
||||
if (is_array($val['arrayofkeyval']))
|
||||
{
|
||||
foreach($this->fields[$key]['arrayofkeyval'] as $key2 => $val2)
|
||||
foreach($val['arrayofkeyval'] as $key2 => $val2)
|
||||
{
|
||||
$this->fields[$key]['arrayofkeyval'][$key2]=$langs->trans($val2);
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ $conf_fkaccount_cb = (! empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CB"]))?$_SESSIO
|
||||
|
||||
|
||||
// View parameters
|
||||
$conf_taille_listes = (empty($conf->global->PRODUIT_LIMIT_SIZE)?1000:$conf->global->PRODUIT_LIMIT_SIZE); // Nombre max de lignes a afficher dans les listes
|
||||
$conf_taille_listes = (empty($conf->global->PRODUIT_LIMIT_SIZE)?1000:$conf->global->PRODUIT_LIMIT_SIZE); // Number max of lines to show in lists
|
||||
$conf_nbr_car_listes = 60; // Nombre max de caracteres par ligne dans les listes
|
||||
|
||||
// Add hidden option to force decrease of stock whatever is user setup
|
||||
|
||||
@ -415,7 +415,7 @@ class Propal extends CommonObject
|
||||
* @param float $remise_percent Pourcentage de remise de la ligne
|
||||
* @param string $price_base_type HT or TTC
|
||||
* @param float $pu_ttc Prix unitaire TTC
|
||||
* @param int $info_bits Bits de type de lignes
|
||||
* @param int $info_bits Bits for type of lines
|
||||
* @param int $type Type of line (0=product, 1=service). Not used if fk_product is defined, the type of product is used.
|
||||
* @param int $rang Position of line
|
||||
* @param int $special_code Special code (also used by externals modules!)
|
||||
@ -1615,11 +1615,14 @@ class Propal extends CommonObject
|
||||
/**
|
||||
* Load array lines
|
||||
*
|
||||
* @param int $only_product Return only physical products
|
||||
* @param int $only_product Return only physical products
|
||||
* @param int $loadalsotranslation Return translation for products
|
||||
*
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function fetch_lines($only_product = 0)
|
||||
public function fetch_lines($only_product = 0, $loadalsotranslation = 0)
|
||||
{
|
||||
global $langs, $conf;
|
||||
// phpcs:enable
|
||||
$this->lines=array();
|
||||
|
||||
@ -1713,6 +1716,13 @@ class Propal extends CommonObject
|
||||
|
||||
$line->fetch_optionals();
|
||||
|
||||
// multilangs
|
||||
if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($objp->fk_product) && ! empty($loadalsotranslation)) {
|
||||
$line = new Product($this->db);
|
||||
$line->fetch($objp->fk_product);
|
||||
$line->getMultiLangs();
|
||||
}
|
||||
|
||||
$this->lines[$i] = $line;
|
||||
//dol_syslog("1 ".$line->fk_product);
|
||||
//print "xx $i ".$this->lines[$i]->fk_product;
|
||||
|
||||
@ -734,7 +734,7 @@ if ($socid > 0)
|
||||
print load_fiche_titre($langs->trans("CustomerDiscounts"), '', '');
|
||||
}
|
||||
|
||||
// Remises liees a lignes de factures
|
||||
// Discount linked to invoice lines
|
||||
$sql = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.multicurrency_amount_ht, rc.multicurrency_amount_tva, rc.multicurrency_amount_ttc,";
|
||||
$sql.= " rc.datec as dc, rc.description, rc.fk_facture_line, rc.fk_facture,";
|
||||
$sql.= " rc.fk_facture_source,";
|
||||
@ -904,7 +904,7 @@ if ($socid > 0)
|
||||
print load_fiche_titre($langs->trans("SupplierDiscounts"), '', '');
|
||||
}
|
||||
|
||||
// Remises liees a lignes de factures
|
||||
// Discount linked to invoice lines
|
||||
$sql = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.multicurrency_amount_ht, rc.multicurrency_amount_tva, rc.multicurrency_amount_ttc,";
|
||||
$sql.= " rc.datec as dc, rc.description, rc.fk_invoice_supplier_line, rc.fk_invoice_supplier,";
|
||||
$sql.= " rc.fk_invoice_supplier_source,";
|
||||
|
||||
@ -1312,7 +1312,7 @@ class Commande extends CommonOrder
|
||||
* @param float $txlocaltax2 Local tax 2 rate (deprecated, use instead txtva with code inside)
|
||||
* @param int $fk_product Id of product
|
||||
* @param float $remise_percent Percentage discount of the line
|
||||
* @param int $info_bits Bits de type de lignes
|
||||
* @param int $info_bits Bits of type of lines
|
||||
* @param int $fk_remise_except Id remise
|
||||
* @param string $price_base_type HT or TTC
|
||||
* @param float $pu_ttc Prix unitaire TTC
|
||||
@ -1888,10 +1888,12 @@ class Commande extends CommonOrder
|
||||
* Load array lines
|
||||
*
|
||||
* @param int $only_product Return only physical products
|
||||
* @param int $loadalsotranslation Return translation for products
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function fetch_lines($only_product = 0)
|
||||
public function fetch_lines($only_product = 0, $loadalsotranslation = 0)
|
||||
{
|
||||
global $langs, $conf;
|
||||
// phpcs:enable
|
||||
$this->lines=array();
|
||||
|
||||
@ -1984,6 +1986,13 @@ class Commande extends CommonOrder
|
||||
|
||||
$line->fetch_optionals();
|
||||
|
||||
// multilangs
|
||||
if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($objp->fk_product) && ! empty($loadalsotranslation)) {
|
||||
$line = new Product($this->db);
|
||||
$line->fetch($objp->fk_product);
|
||||
$line->getMultiLangs();
|
||||
}
|
||||
|
||||
$this->lines[$i] = $line;
|
||||
|
||||
$i++;
|
||||
|
||||
@ -181,7 +181,8 @@ if (empty($reshook))
|
||||
// Change status of invoice
|
||||
elseif ($action == 'reopen' && $usercancreate) {
|
||||
$result = $object->fetch($id);
|
||||
if ($object->statut == 2 || ($object->statut == 3 && $object->close_code != 'replaced') || ($object->statut == 1 && $object->paye == 1)) { // ($object->statut == 1 && $object->paye == 1) should not happened but can be found when data are corrupted
|
||||
|
||||
if ($object->statut == Facture::STATUS_CLOSED || ($object->statut == Facture::STATUS_ABANDONED && ($object->close_code != 'replaced' || $object->getIdReplacingInvoice() == 0)) || ($object->statut == Facture::STATUS_VALIDATED && $object->paye == 1)) { // ($object->statut == 1 && $object->paye == 1) should not happened but can be found when data are corrupted
|
||||
$result = $object->set_unpaid($user);
|
||||
if ($result > 0) {
|
||||
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
||||
@ -3014,21 +3015,24 @@ if ($action == 'create')
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
||||
$text = '<label>'.$tmp.$langs->trans("InvoiceFirstSituationAsk") . '</label> ';
|
||||
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
||||
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
||||
print $desc;
|
||||
print '</div></div>';
|
||||
if (! empty($conf->global->INVOICE_USE_SITUATION))
|
||||
{
|
||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
||||
$text = '<label>'.$tmp.$langs->trans("InvoiceFirstSituationAsk") . '</label> ';
|
||||
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
||||
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
||||
print $desc;
|
||||
print '</div></div>';
|
||||
|
||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
||||
$text = '<label>'.$tmp.$langs->trans("InvoiceSituationAsk") . '</label> ';
|
||||
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
||||
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
||||
print $desc;
|
||||
print '</div></div>';
|
||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
||||
$text = '<label>'.$tmp.$langs->trans("InvoiceSituationAsk") . '</label> ';
|
||||
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
||||
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
||||
print $desc;
|
||||
print '</div></div>';
|
||||
}
|
||||
|
||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||
$tmp='<input type="radio" name="type" id="radio_replacement" value="0" disabled> ';
|
||||
@ -4875,7 +4879,7 @@ elseif ($id > 0 || ! empty($ref))
|
||||
&& ($object->statut == 2 || $object->statut == 3 || ($object->statut == 1 && $object->paye == 1)) // Condition ($object->statut == 1 && $object->paye == 1) should not happened but can be found due to corrupted data
|
||||
&& ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || $usercanreopen)) // A paid invoice (partially or completely)
|
||||
{
|
||||
if (! $objectidnext && $object->close_code != 'replaced') // Not replaced by another invoice
|
||||
if ($object->close_code != 'replaced' || (! $objectidnext)) // Not replaced by another invoice or replaced but the replacement invoice has been deleted
|
||||
{
|
||||
print '<div class="inline-block divButAction"><a class="butAction'.($conf->use_javascript_ajax?' reposition':'').'" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
||||
} else {
|
||||
|
||||
@ -510,7 +510,7 @@ class FactureRec extends CommonInvoice
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Recupere les lignes de factures predefinies dans this->lines
|
||||
* Get lines of template invoices into this->lines
|
||||
*
|
||||
* @return int 1 if OK, < 0 if KO
|
||||
*/
|
||||
@ -876,7 +876,7 @@ class FactureRec extends CommonInvoice
|
||||
* @param int $fk_product Product/Service ID predefined
|
||||
* @param double $remise_percent Percentage discount of the line
|
||||
* @param string $price_base_type HT or TTC
|
||||
* @param int $info_bits Bits de type de lignes
|
||||
* @param int $info_bits Bits of type of lines
|
||||
* @param int $fk_remise_except Id remise
|
||||
* @param double $pu_ttc Prix unitaire TTC (> 0 even for credit note)
|
||||
* @param int $type Type of line (0=product, 1=service)
|
||||
@ -1807,7 +1807,7 @@ class FactureLigneRec extends CommonInvoiceLine
|
||||
|
||||
|
||||
/**
|
||||
* Recupere les lignes de factures predefinies dans this->lines
|
||||
* Get line of template invoice
|
||||
*
|
||||
* @param int $rowid Id of invoice
|
||||
* @return int 1 if OK, < 0 if KO
|
||||
|
||||
@ -939,7 +939,7 @@ class Facture extends CommonInvoice
|
||||
$facture->origin = $this->origin;
|
||||
$facture->origin_id = $this->origin_id;
|
||||
|
||||
$facture->lines = $this->lines; // Tableau des lignes de factures
|
||||
$facture->lines = $this->lines; // Array of lines of invoice
|
||||
$facture->products = $this->lines; // Tant que products encore utilise
|
||||
$facture->situation_counter = $this->situation_counter;
|
||||
$facture->situation_cycle_ref=$this->situation_cycle_ref;
|
||||
@ -1494,10 +1494,14 @@ class Facture extends CommonInvoice
|
||||
/**
|
||||
* Load all detailed lines into this->lines
|
||||
*
|
||||
* @param int $only_product Return only physical products
|
||||
* @param int $loadalsotranslation Return translation for products
|
||||
*
|
||||
* @return int 1 if OK, < 0 if KO
|
||||
*/
|
||||
public function fetch_lines()
|
||||
public function fetch_lines($only_product = 0, $loadalsotranslation = 0)
|
||||
{
|
||||
global $langs, $conf;
|
||||
// phpcs:enable
|
||||
$this->lines=array();
|
||||
|
||||
@ -1587,6 +1591,13 @@ class Facture extends CommonInvoice
|
||||
|
||||
$line->fetch_optionals();
|
||||
|
||||
// multilangs
|
||||
if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($objp->fk_product) && ! empty($loadalsotranslation)) {
|
||||
$line = new Product($this->db);
|
||||
$line->fetch($objp->fk_product);
|
||||
$line->getMultiLangs();
|
||||
}
|
||||
|
||||
$this->lines[$i] = $line;
|
||||
|
||||
$i++;
|
||||
@ -2682,7 +2693,7 @@ class Facture extends CommonInvoice
|
||||
* @param int $date_start Date start of service
|
||||
* @param int $date_end Date end of service
|
||||
* @param int $ventil Code of dispatching into accountancy
|
||||
* @param int $info_bits Bits de type de lignes
|
||||
* @param int $info_bits Bits of type of lines
|
||||
* @param int $fk_remise_except Id discount used
|
||||
* @param string $price_base_type 'HT' or 'TTC'
|
||||
* @param double $pu_ttc Unit price with tax (> 0 even for credit note)
|
||||
|
||||
@ -156,7 +156,7 @@ $sql.= " AND pl.fk_prelevement_bons = p.rowid";
|
||||
$sql.= " AND f.fk_soc = s.rowid";
|
||||
$sql.= " AND pf.fk_facture = f.rowid";
|
||||
$sql.= " AND f.entity IN (".getEntity('invoice').")";
|
||||
if ($prev_id) $sql.= " AND p.rowid=".$prev_id;
|
||||
if ($object->id > 0) $sql.= " AND p.rowid=".$object->id;
|
||||
if ($socid) $sql.= " AND s.rowid = ".$socid;
|
||||
$sql.= $db->order($sortfield, $sortorder);
|
||||
|
||||
|
||||
@ -1096,8 +1096,6 @@ $form = new Form($db);
|
||||
$formfile = new FormFile($db);
|
||||
if (! empty($conf->projet->enabled)) $formproject = new FormProjets($db);
|
||||
|
||||
$objectlignestatic=new ContratLigne($db);
|
||||
|
||||
// Load object modContract
|
||||
$module=(! empty($conf->global->CONTRACT_ADDON)?$conf->global->CONTRACT_ADDON:'mod_contract_serpis');
|
||||
if (substr($module, 0, 13) == 'mod_contract_' && substr($module, -3) == 'php')
|
||||
|
||||
@ -716,10 +716,14 @@ class Contrat extends CommonObject
|
||||
* Load lines array into this->lines.
|
||||
* This set also nbofserviceswait, nbofservicesopened, nbofservicesexpired and nbofservicesclosed
|
||||
*
|
||||
* @param int $only_product Return only physical products
|
||||
* @param int $loadalsotranslation Return translation for products
|
||||
*
|
||||
* @return ContratLigne[] Return array of contract lines
|
||||
*/
|
||||
public function fetch_lines()
|
||||
public function fetch_lines($only_product = 0, $loadalsotranslation = 0)
|
||||
{
|
||||
global $langs, $conf;
|
||||
// phpcs:enable
|
||||
$this->nbofserviceswait=0;
|
||||
$this->nbofservicesopened=0;
|
||||
@ -829,6 +833,13 @@ class Contrat extends CommonObject
|
||||
// fetch optionals attributes and labels
|
||||
$line->fetch_optionals();
|
||||
|
||||
// multilangs
|
||||
if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($objp->fk_product) && ! empty($loadalsotranslation)) {
|
||||
$line = new Product($this->db);
|
||||
$line->fetch($objp->fk_product);
|
||||
$line->getMultiLangs();
|
||||
}
|
||||
|
||||
$this->lines[$pos] = $line;
|
||||
$this->lines_id_index_mapper[$line->id] = $pos;
|
||||
|
||||
@ -1350,7 +1361,7 @@ class Contrat extends CommonObject
|
||||
* @param int $date_end Date de fin prevue
|
||||
* @param string $price_base_type HT or TTC
|
||||
* @param float $pu_ttc Prix unitaire TTC
|
||||
* @param int $info_bits Bits de type de lignes
|
||||
* @param int $info_bits Bits of type of lines
|
||||
* @param int $fk_fournprice Fourn price id
|
||||
* @param int $pa_ht Buying price HT
|
||||
* @param array $array_options extrafields array
|
||||
@ -1568,7 +1579,7 @@ class Contrat extends CommonObject
|
||||
* @param int|string $date_debut_reel Date de debut reelle
|
||||
* @param int|string $date_fin_reel Date de fin reelle
|
||||
* @param string $price_base_type HT or TTC
|
||||
* @param int $info_bits Bits de type de lignes
|
||||
* @param int $info_bits Bits of type of lines
|
||||
* @param int $fk_fournprice Fourn price id
|
||||
* @param int $pa_ht Buying price HT
|
||||
* @param array $array_options extrafields array
|
||||
@ -2531,7 +2542,7 @@ class Contrat extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* Classe permettant la gestion des lignes de contrats
|
||||
* Class to manage lines of contracts
|
||||
*/
|
||||
class ContratLigne extends CommonObjectLine
|
||||
{
|
||||
|
||||
@ -27,7 +27,7 @@ $maxsizestring=255;
|
||||
$maxsizeint=10;
|
||||
$mesg=array();
|
||||
|
||||
$extrasize=GETPOST('size', 'int');
|
||||
$extrasize=GETPOST('size', 'intcomma');
|
||||
$type=GETPOST('type', 'alpha');
|
||||
$param=GETPOST('param', 'alpha');
|
||||
|
||||
|
||||
@ -84,7 +84,7 @@ class box_services_contracts extends ModeleBoxes
|
||||
if ($user->rights->service->lire && $user->rights->contrat->lire)
|
||||
{
|
||||
$contractstatic=new Contrat($db);
|
||||
$contratlignestatic=new ContratLigne($db);
|
||||
$contractlinestatic=new ContratLigne($db);
|
||||
$thirdpartytmp = new Societe($db);
|
||||
$productstatic = new Product($db);
|
||||
|
||||
@ -116,13 +116,13 @@ class box_services_contracts extends ModeleBoxes
|
||||
$objp = $db->fetch_object($result);
|
||||
$datem=$db->jdate($objp->datem);
|
||||
|
||||
$contratlignestatic->id=$objp->cdid;
|
||||
$contratlignestatic->fk_contrat=$objp->rowid;
|
||||
$contratlignestatic->label=$objp->label;
|
||||
$contratlignestatic->description=$objp->description;
|
||||
$contratlignestatic->type=$objp->type;
|
||||
$contratlignestatic->product_id=$objp->product_id;
|
||||
$contratlignestatic->product_ref=$objp->product_ref;
|
||||
$contractlinestatic->id=$objp->cdid;
|
||||
$contractlinestatic->fk_contrat=$objp->rowid;
|
||||
$contractlinestatic->label=$objp->label;
|
||||
$contractlinestatic->description=$objp->description;
|
||||
$contractlinestatic->type=$objp->type;
|
||||
$contractlinestatic->product_id=$objp->product_id;
|
||||
$contractlinestatic->product_ref=$objp->product_ref;
|
||||
|
||||
$contractstatic->statut=$objp->contract_status;
|
||||
$contractstatic->id=$objp->rowid;
|
||||
@ -153,7 +153,7 @@ class box_services_contracts extends ModeleBoxes
|
||||
if ($resultd)
|
||||
{
|
||||
$objtp = $db->fetch_object($resultd);
|
||||
if ($objtp->label != '') $contratlignestatic->label = $objtp->label;
|
||||
if ($objtp->label != '') $contractlinestatic->label = $objtp->label;
|
||||
}
|
||||
}
|
||||
|
||||
@ -215,7 +215,7 @@ class box_services_contracts extends ModeleBoxes
|
||||
|
||||
$this->info_box_contents[$i][] = array(
|
||||
'td' => 'class="right" width="18"',
|
||||
'text' => $contratlignestatic->LibStatut($objp->statut, 3)
|
||||
'text' => $contractlinestatic->LibStatut($objp->statut, 3)
|
||||
);
|
||||
|
||||
$i++;
|
||||
|
||||
@ -286,8 +286,7 @@ class CMailFile
|
||||
// We now define $this->headers and $this->message
|
||||
$this->headers = $smtp_headers . $mime_headers;
|
||||
// On nettoie le header pour qu'il ne se termine pas par un retour chariot.
|
||||
// Ceci evite aussi les lignes vides en fin qui peuvent etre interpretees
|
||||
// comme des injections mail par les serveurs de messagerie.
|
||||
// This avoid also empty lines at end that can be interpreted as mail injection by email servers.
|
||||
$this->headers = preg_replace("/([\r\n]+)$/i", "", $this->headers);
|
||||
|
||||
//$this->message = $this->eol.'This is a message with multiple parts in MIME format.'.$this->eol;
|
||||
|
||||
@ -387,26 +387,37 @@ class Conf
|
||||
$this->fournisseur->payment->dir_output =$rootfordata."/fournisseur/payment"; // For backward compatibility
|
||||
$this->fournisseur->payment->dir_temp =$rootfordata."/fournisseur/payment/temp"; // For backward compatibility
|
||||
|
||||
// To prepare split of module fournisseur into fournisseur + supplier_order + supplier_invoice
|
||||
if (! empty($this->fournisseur->enabled) && empty($this->global->MAIN_USE_NEW_SUPPLIERMOD)) // By default, if module supplier is on, we set new properties
|
||||
// To prepare split of module vendor(fournisseur) into vendor + supplier_order + supplier_invoice + supplierproposal
|
||||
if (! empty($this->fournisseur->enabled)) // By default, if module supplier is on, we set new properties
|
||||
{
|
||||
$this->supplier_order=new stdClass();
|
||||
$this->supplier_order->enabled=1;
|
||||
$this->supplier_order->multidir_output=array($this->entity => $rootfordata."/fournisseur/commande");
|
||||
$this->supplier_order->multidir_temp =array($this->entity => $rootfordata."/fournisseur/commande/temp");
|
||||
$this->supplier_order->dir_output=$rootfordata."/fournisseur/commande"; // For backward compatibility
|
||||
$this->supplier_order->dir_temp=$rootfordata."/fournisseur/commande/temp"; // For backward compatibility
|
||||
$this->supplier_invoice=new stdClass();
|
||||
$this->supplier_invoice->enabled=1;
|
||||
$this->supplier_invoice->multidir_output=array($this->entity => $rootfordata."/fournisseur/facture");
|
||||
$this->supplier_invoice->multidir_temp =array($this->entity => $rootfordata."/fournisseur/facture/temp");
|
||||
$this->supplier_invoice->dir_output=$rootfordata."/fournisseur/facture"; // For backward compatibility
|
||||
$this->supplier_invoice->dir_temp=$rootfordata."/fournisseur/facture/temp"; // For backward compatibility
|
||||
$this->supplierproposal=new stdClass();
|
||||
$this->supplierproposal->multidir_output=array($this->entity => $rootfordata."/supplier_proposal");
|
||||
$this->supplierproposal->multidir_temp =array($this->entity => $rootfordata."/supplier_proposal/temp");
|
||||
$this->supplierproposal->dir_output=$rootfordata."/supplier_proposal"; // For backward compatibility
|
||||
$this->supplierproposal->dir_temp=$rootfordata."/supplier_proposal/temp"; // For backward compatibility
|
||||
if (empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) // This can be set to 1 once modules purchase order and supplier invoice exists
|
||||
{
|
||||
$this->supplier_order=new stdClass();
|
||||
$this->supplier_order->enabled=1;
|
||||
$this->supplier_order->multidir_output=array($this->entity => $rootfordata."/fournisseur/commande");
|
||||
$this->supplier_order->multidir_temp =array($this->entity => $rootfordata."/fournisseur/commande/temp");
|
||||
$this->supplier_order->dir_output=$rootfordata."/fournisseur/commande"; // For backward compatibility
|
||||
$this->supplier_order->dir_temp=$rootfordata."/fournisseur/commande/temp"; // For backward compatibility
|
||||
}
|
||||
|
||||
if (empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) // This can be set to 1 once modules purchase order and supplier invoice exists
|
||||
{
|
||||
$this->supplier_invoice=new stdClass();
|
||||
$this->supplier_invoice->enabled=1;
|
||||
$this->supplier_invoice->multidir_output=array($this->entity => $rootfordata."/fournisseur/facture");
|
||||
$this->supplier_invoice->multidir_temp =array($this->entity => $rootfordata."/fournisseur/facture/temp");
|
||||
$this->supplier_invoice->dir_output=$rootfordata."/fournisseur/facture"; // For backward compatibility
|
||||
$this->supplier_invoice->dir_temp=$rootfordata."/fournisseur/facture/temp"; // For backward compatibility
|
||||
}
|
||||
|
||||
if (empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) // This can be set to 1 once modules purchase order and supplier invoice exists
|
||||
{
|
||||
$this->supplier_proposal=new stdClass();
|
||||
$this->supplier_proposal->multidir_output=array($this->entity => $rootfordata."/supplier_proposal");
|
||||
$this->supplier_proposal->multidir_temp =array($this->entity => $rootfordata."/supplier_proposal/temp");
|
||||
$this->supplier_proposal->dir_output=$rootfordata."/supplier_proposal"; // For backward compatibility
|
||||
$this->supplier_proposal->dir_temp=$rootfordata."/supplier_proposal/temp"; // For backward compatibility
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1645,7 +1645,10 @@ class ExtraFields
|
||||
elseif ($type == 'double')
|
||||
{
|
||||
if (!empty($value)) {
|
||||
$value=price($value);
|
||||
//$value=price($value);
|
||||
$sizeparts = explode(",", $size);
|
||||
$number_decimals = $sizeparts[1];
|
||||
$value=price($value, 0, $langs, 0, 0, $number_decimals, '');
|
||||
}
|
||||
}
|
||||
elseif ($type == 'boolean')
|
||||
|
||||
@ -101,11 +101,11 @@ interface Database
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE
|
||||
* Return the number of lines in the result of a request INSERT, DELETE or UPDATE
|
||||
*
|
||||
* @param resource $resultset Curseur de la requete voulue
|
||||
* @return int Nombre de lignes
|
||||
* @see num_rows
|
||||
* @return int Number of lines
|
||||
* @see num_rows()
|
||||
*/
|
||||
public function affected_rows($resultset);
|
||||
// phpcs:enable
|
||||
|
||||
@ -523,10 +523,10 @@ class DoliDBMssql extends DoliDB
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE
|
||||
* Return the number of lines in the result of a request INSERT, DELETE or UPDATE
|
||||
*
|
||||
* @param resource $resultset Curseur de la requete voulue
|
||||
* @return int Nombre de lignes
|
||||
* @return int Number of lines
|
||||
* @see num_rows()
|
||||
*/
|
||||
public function affected_rows($resultset)
|
||||
|
||||
@ -363,10 +363,10 @@ class DoliDBMysqli extends DoliDB
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE
|
||||
* Return the number of lines in the result of a request INSERT, DELETE or UPDATE
|
||||
*
|
||||
* @param mysqli_result $resultset Curseur de la requete voulue
|
||||
* @return int Nombre de lignes
|
||||
* @return int Number of lines
|
||||
* @see num_rows()
|
||||
*/
|
||||
public function affected_rows($resultset)
|
||||
|
||||
@ -617,11 +617,11 @@ class DoliDBPgsql extends DoliDB
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE
|
||||
* Return the number of lines in the result of a request INSERT, DELETE or UPDATE
|
||||
*
|
||||
* @param resource $resultset Result set of request
|
||||
* @return int Nb of lines
|
||||
* @see num_rows
|
||||
* @see num_rows()
|
||||
*/
|
||||
public function affected_rows($resultset)
|
||||
{
|
||||
|
||||
@ -1435,16 +1435,16 @@ function dol_meta_create($object)
|
||||
|
||||
if (is_dir($dir))
|
||||
{
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
$client = $object->thirdparty->name . " " . $object->thirdparty->address . " " . $object->thirdparty->zip . " " . $object->thirdparty->town;
|
||||
$meta = "REFERENCE=\"" . $object->ref . "\"
|
||||
DATE=\"" . dol_print_date($object->date, '') . "\"
|
||||
NB_ITEMS=\"" . $nblignes . "\"
|
||||
NB_ITEMS=\"" . $nblines . "\"
|
||||
CLIENT=\"" . $client . "\"
|
||||
AMOUNT_EXCL_TAX=\"" . $object->total_ht . "\"
|
||||
AMOUNT=\"" . $object->total_ttc . "\"\n";
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
//Pour les articles
|
||||
$meta .= "ITEM_" . $i . "_QUANTITY=\"" . $object->lines[$i]->qty . "\"
|
||||
|
||||
@ -2045,10 +2045,10 @@ function pdf_getTotalQty($object, $type, $outputlangs)
|
||||
global $hookmanager;
|
||||
|
||||
$total=0;
|
||||
$nblignes=count($object->lines);
|
||||
$nblines=count($object->lines);
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->special_code != 3)
|
||||
{
|
||||
|
||||
@ -111,7 +111,7 @@ class pdf_ban extends ModeleBankAccountDoc
|
||||
|
||||
if ($conf->bank->dir_output)
|
||||
{
|
||||
//$nblignes = count($object->lines); // This is set later with array of tasks
|
||||
//$nblines = count($object->lines); // This is set later with array of tasks
|
||||
|
||||
// Definition of $dir and $file
|
||||
if ($object->specimen)
|
||||
@ -275,6 +275,7 @@ class pdf_ban extends ModeleBankAccountDoc
|
||||
}
|
||||
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
/**
|
||||
* Show table for lines
|
||||
*
|
||||
@ -287,13 +288,15 @@ class pdf_ban extends ModeleBankAccountDoc
|
||||
* @param int $hidebottom Hide bottom bar of array
|
||||
* @return void
|
||||
*/
|
||||
private function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0)
|
||||
protected function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf,$mysoc;
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
}
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
/**
|
||||
* Show top header of page.
|
||||
*
|
||||
@ -303,9 +306,10 @@ class pdf_ban extends ModeleBankAccountDoc
|
||||
* @param Translate $outputlangs Object lang for output
|
||||
* @return void
|
||||
*/
|
||||
private function _pagehead(&$pdf, $object, $showaddress, $outputlangs)
|
||||
protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs)
|
||||
{
|
||||
global $langs,$conf,$mysoc;
|
||||
// phpcs:enable
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
@ -380,6 +384,7 @@ class pdf_ban extends ModeleBankAccountDoc
|
||||
*/
|
||||
}
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
/**
|
||||
* Show footer of page. Need this->emetteur object
|
||||
*
|
||||
@ -389,9 +394,11 @@ class pdf_ban extends ModeleBankAccountDoc
|
||||
* @param int $hidefreetext 1=Hide free text
|
||||
* @return integer
|
||||
*/
|
||||
private function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0)
|
||||
protected function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf;
|
||||
|
||||
$showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS;
|
||||
//return pdf_pagefoot($pdf,$outputlangs,'BANK_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,$showdetails,$hidefreetext);
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
|
||||
if (! empty($conf->bank->dir_output))
|
||||
{
|
||||
//$nblignes = count($object->lines); // This is set later with array of tasks
|
||||
//$nblines = count($object->lines); // This is set later with array of tasks
|
||||
|
||||
// Definition of $dir and $file
|
||||
if ($object->specimen)
|
||||
@ -418,6 +418,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
}
|
||||
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
/**
|
||||
* Show table for lines
|
||||
*
|
||||
@ -430,15 +431,17 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
* @param int $hidebottom Hide bottom bar of array
|
||||
* @return void
|
||||
*/
|
||||
private function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0)
|
||||
protected function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf,$mysoc;
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
}
|
||||
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Show miscellaneous information (payment mode, payment term, ...)
|
||||
*
|
||||
@ -448,7 +451,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
* @param Translate $outputlangs Langs object
|
||||
* @return void
|
||||
*/
|
||||
private function _tableau_info(&$pdf, $object, $posy, $outputlangs)
|
||||
protected function _tableau_info(&$pdf, $object, $posy, $outputlangs)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf, $mysoc;
|
||||
@ -475,7 +478,8 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
|
||||
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Show area for the customer to sign
|
||||
*
|
||||
@ -485,7 +489,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
* @param Translate $outputlangs Objet langs
|
||||
* @return int Position pour suite
|
||||
*/
|
||||
private function _signature_area(&$pdf, $object, $posy, $outputlangs)
|
||||
protected function _signature_area(&$pdf, $object, $posy, $outputlangs)
|
||||
{
|
||||
// phpcs:enable
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
@ -517,6 +521,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
}
|
||||
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
/**
|
||||
* Show top header of page.
|
||||
*
|
||||
@ -526,8 +531,9 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
* @param Translate $outputlangs Object lang for output
|
||||
* @return void
|
||||
*/
|
||||
private function _pagehead(&$pdf, $object, $showaddress, $outputlangs)
|
||||
protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $langs,$conf,$mysoc;
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
@ -609,6 +615,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
*/
|
||||
}
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||
/**
|
||||
* Show footer of page. Need this->emetteur object
|
||||
*
|
||||
@ -618,9 +625,11 @@ class pdf_sepamandate extends ModeleBankAccountDoc
|
||||
* @param int $hidefreetext 1=Hide free text
|
||||
* @return integer
|
||||
*/
|
||||
private function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0)
|
||||
protected function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf;
|
||||
|
||||
$showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS;
|
||||
return pdf_pagefoot($pdf, $outputlangs, 'PAYMENTORDER_FREE_TEXT', null, $this->marge_basse, $this->marge_gauche, $this->page_hauteur, $object, $showdetails, $hidefreetext);
|
||||
}
|
||||
|
||||
@ -219,7 +219,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user, $langs, $conf, $mysoc, $db, $hookmanager, $nblignes;
|
||||
global $user, $langs, $conf, $mysoc, $db, $hookmanager, $nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -228,7 +228,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
// Load translation files required by the page
|
||||
$outputlangs->loadLangs(array("main", "dict", "companies", "bills", "products", "orders", "deliveries"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
if ($conf->commande->dir_output)
|
||||
{
|
||||
@ -308,7 +308,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
|
||||
|
||||
// Positionne $this->atleastonediscount si on a au moins une remise
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->remise_percent)
|
||||
{
|
||||
@ -400,7 +400,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -429,7 +429,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -540,7 +540,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$this->tva[$vatrate] += $tvaligne;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.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
|
||||
@ -27,7 +27,7 @@
|
||||
/**
|
||||
* \file htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php
|
||||
* \ingroup commande
|
||||
* \brief File of the class allowing to generate the orders to the Eratosthene model
|
||||
* \brief File of Class to generate PDF orders with template Eratosthène
|
||||
*/
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/commande/modules_commande.php';
|
||||
@ -149,13 +149,13 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
$this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10;
|
||||
$this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10;
|
||||
|
||||
$this->option_logo = 1; // Affiche logo
|
||||
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
||||
$this->option_modereg = 1; // Affiche mode reglement
|
||||
$this->option_condreg = 1; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||
$this->option_logo = 1; // Display logo
|
||||
$this->option_tva = 1; // Manage the vat option FACTURE_TVAOPTION
|
||||
$this->option_modereg = 1; // Display payment mode
|
||||
$this->option_condreg = 1; // Display payment terms
|
||||
$this->option_codeproduitservice = 1; // Display product-service code
|
||||
$this->option_multilang = 1; // Available in several languages
|
||||
$this->option_escompte = 0; // Displays if there has been a discount
|
||||
$this->option_credit_note = 0; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
$this->option_draft_watermark = 1; // Support add of a watermark on drafts
|
||||
@ -194,7 +194,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user, $langs, $conf, $mysoc, $db, $hookmanager, $nblignes;
|
||||
global $user, $langs, $conf, $mysoc, $db, $hookmanager, $nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -203,7 +203,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
// Translations
|
||||
$outputlangs->loadLangs(array("main", "dict", "companies", "bills", "products", "orders", "deliveries"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$hidetop=0;
|
||||
if(!empty($conf->global->MAIN_PDF_DISABLE_COL_HEAD_TITLE)){
|
||||
@ -217,7 +217,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -541,7 +541,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
// Loop on each lines
|
||||
$pageposbeforeprintlines=$pdf->getPage();
|
||||
$pagenb = $pageposbeforeprintlines;
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -599,7 +599,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -738,7 +738,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
$this->tva[$vatrate] += $tvaligne;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -747,7 +747,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
/**
|
||||
* \file htdocs/core/modules/commande/doc/pdf_proforma.modules.php
|
||||
* \ingroup commande
|
||||
* \brief Fichier de la classe permettant de generer les commandes au modele Proforma
|
||||
* \brief File of Class to generate PDF orders with template Proforma
|
||||
*/
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/commande/doc/pdf_einstein.modules.php';
|
||||
@ -36,7 +36,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
|
||||
|
||||
|
||||
/**
|
||||
* Classe permettant de generer les commandes au modele Proforma
|
||||
* Class to generate PDF orders with template Proforma
|
||||
*/
|
||||
class pdf_proforma extends pdf_einstein
|
||||
{
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
|
||||
* Copyright (C) 2011 Fabrice CHERRIER
|
||||
* Copyright (C) 2013-2018 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2013-2019 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
@ -144,13 +144,13 @@ class pdf_strato extends ModelePDFContract
|
||||
$this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10;
|
||||
$this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10;
|
||||
|
||||
$this->option_logo = 1; // Affiche logo
|
||||
$this->option_tva = 0; // Gere option tva FACTURE_TVAOPTION
|
||||
$this->option_modereg = 0; // Affiche mode reglement
|
||||
$this->option_condreg = 0; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||
$this->option_multilang = 0; // Dispo en plusieurs langues
|
||||
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
||||
$this->option_logo = 1; // Display logo
|
||||
$this->option_tva = 0; // Manage the vat option FACTURE_TVAOPTION
|
||||
$this->option_modereg = 0; // Display payment mode
|
||||
$this->option_condreg = 0; // Display payment terms
|
||||
$this->option_codeproduitservice = 0; // Display product-service code
|
||||
$this->option_multilang = 0; // Available in several languages
|
||||
$this->option_draft_watermark = 1; // Support add of a watermark on drafts
|
||||
|
||||
// Get source company
|
||||
$this->emetteur=$mysoc;
|
||||
|
||||
@ -168,7 +168,7 @@ class pdf_espadon extends ModelePdfExpedition
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies", "propal", "deliveries", "sendings", "productbatch"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
@ -176,7 +176,7 @@ class pdf_espadon extends ModelePdfExpedition
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -254,7 +254,7 @@ class pdf_espadon extends ModelePdfExpedition
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
// Set nblignes with the new facture lines content after hook
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
@ -404,7 +404,7 @@ class pdf_espadon extends ModelePdfExpedition
|
||||
$nexY = $tab_top + $this->tabTitleHeight + 2;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -464,7 +464,7 @@ class pdf_espadon extends ModelePdfExpedition
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforsignature+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -548,7 +548,7 @@ class pdf_espadon extends ModelePdfExpedition
|
||||
if ($weighttxt && $voltxt) $nexY+=2;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1', 'color'=>array(80,80,80)));
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* Copyright (C) 2005-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -23,7 +23,7 @@
|
||||
/**
|
||||
* \file htdocs/core/modules/expedition/doc/pdf_merou.modules.php
|
||||
* \ingroup expedition
|
||||
* \brief Fichier de la classe permettant de generer les bordereaux envoi au modele Merou
|
||||
* \brief Class file used to generate the dispatch slips for the Merou model
|
||||
*/
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/expedition/modules_expedition.php';
|
||||
@ -134,7 +134,7 @@ class pdf_merou extends ModelePdfExpedition
|
||||
$this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10;
|
||||
$this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10;
|
||||
|
||||
$this->option_logo = 1;
|
||||
$this->option_logo = 1; // Display logo
|
||||
|
||||
// Get source company
|
||||
$this->emetteur=$mysoc;
|
||||
@ -222,7 +222,7 @@ class pdf_merou extends ModelePdfExpedition
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format, 'mm', 'l');
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
@ -347,7 +347,7 @@ class pdf_merou extends ModelePdfExpedition
|
||||
$pdf->MultiCell(30, 3, $object->lines[$i]->qty_shipped, 0, 'C', 0);
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -356,7 +356,7 @@ class pdf_merou extends ModelePdfExpedition
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
/**
|
||||
* \file htdocs/core/modules/expedition/doc/pdf_rouget.modules.php
|
||||
* \ingroup expedition
|
||||
* \brief Fichier de la classe permettant de generer les bordereaux envoi au modele Rouget
|
||||
* \brief Class file used to generate the dispatch slips for the Rouget model
|
||||
*/
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/expedition/modules_expedition.php';
|
||||
@ -133,7 +133,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10;
|
||||
$this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10;
|
||||
|
||||
$this->option_logo = 1;
|
||||
$this->option_logo = 1; // Display logo
|
||||
|
||||
// Get source company
|
||||
$this->emetteur=$mysoc;
|
||||
@ -197,7 +197,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies", "propal", "deliveries", "sendings", "productbatch"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
@ -205,7 +205,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -283,7 +283,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
// Set nblignes with the new facture lines content after hook
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
@ -423,7 +423,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -481,7 +481,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -563,7 +563,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
if ($weighttxt && $voltxt) $nexY+=2;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
|
||||
@ -220,7 +220,7 @@ class pdf_standard extends ModeleExpenseReport
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "trips", "projects", "dict", "bills", "banks"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
if ($conf->expensereport->dir_output) {
|
||||
// Definition of $dir and $file
|
||||
@ -351,7 +351,7 @@ class pdf_standard extends ModeleExpenseReport
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++) {
|
||||
for ($i = 0 ; $i < $nblines ; $i++) {
|
||||
$pdf->SetFont('', '', $default_font_size - 2); // Into loop to work with multipage
|
||||
$pdf->SetTextColor(0, 0, 0);
|
||||
|
||||
@ -374,7 +374,7 @@ class pdf_standard extends ModeleExpenseReport
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) {
|
||||
// There is no space left for total+free text
|
||||
if ($i == ($nblignes-1)) {
|
||||
if ($i == ($nblines-1)) {
|
||||
// No more lines, and no space left to show total, so we create a new page
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -401,7 +401,7 @@ class pdf_standard extends ModeleExpenseReport
|
||||
|
||||
//$nblineFollowComment = 1;
|
||||
// Cherche nombre de lignes a venir pour savoir si place suffisante
|
||||
// if ($i < ($nblignes - 1)) // If it's not last line
|
||||
// if ($i < ($nblines - 1)) // If it's not last line
|
||||
// {
|
||||
// //Fetch current description to know on which line the next one should be placed
|
||||
// $follow_comment = $object->lines[$i]->comments;
|
||||
|
||||
@ -160,13 +160,13 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10;
|
||||
$this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10;
|
||||
|
||||
$this->option_logo = 1; // Affiche logo
|
||||
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
||||
$this->option_modereg = 1; // Affiche mode reglement
|
||||
$this->option_condreg = 1; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 1; // Affiche si il y a eu escompte
|
||||
$this->option_logo = 1; // Display logo
|
||||
$this->option_tva = 1; // Manage the vat option FACTURE_TVAOPTION
|
||||
$this->option_modereg = 1; // Display payment mode
|
||||
$this->option_condreg = 1; // Display payment terms
|
||||
$this->option_codeproduitservice = 1; // Display product-service code
|
||||
$this->option_multilang = 1; // Available in several languages
|
||||
$this->option_escompte = 1; // Displays if there has been a discount
|
||||
$this->option_credit_note = 1; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
$this->option_draft_watermark = 1; // Support add of a watermark on drafts
|
||||
@ -235,7 +235,9 @@ class pdf_crabe extends ModelePDFFactures
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes;
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblines;
|
||||
|
||||
dol_syslog("write_file outputlangs->defaultlang=".(is_object($outputlangs) ? $outputlangs->defaultlang : 'null'));
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -244,13 +246,13 @@ class pdf_crabe extends ModelePDFFactures
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
if (! empty($conf->global->MAIN_GENERATE_INVOICES_WITH_PICTURE))
|
||||
{
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -317,7 +319,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
// Set nblignes with the new facture lines content after hook
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
$nbpayments = count($object->getListOfPayments());
|
||||
|
||||
// Create pdf instance
|
||||
@ -358,7 +360,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
|
||||
|
||||
// Positionne $this->atleastonediscount si on a au moins une remise
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->remise_percent)
|
||||
{
|
||||
@ -465,7 +467,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -521,7 +523,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -650,7 +652,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -659,7 +661,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -160,13 +160,13 @@ class pdf_sponge extends ModelePDFFactures
|
||||
$this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10;
|
||||
$this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10;
|
||||
|
||||
$this->option_logo = 1; // Affiche logo
|
||||
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
||||
$this->option_modereg = 1; // Affiche mode reglement
|
||||
$this->option_condreg = 1; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 1; // Affiche si il y a eu escompte
|
||||
$this->option_logo = 1; // Display logo
|
||||
$this->option_tva = 1; // Manage the vat option FACTURE_TVAOPTION
|
||||
$this->option_modereg = 1; // Display payment mode
|
||||
$this->option_condreg = 1; // Display payment terms
|
||||
$this->option_codeproduitservice = 1; // Display product-service code
|
||||
$this->option_multilang = 1; // Available in several languages
|
||||
$this->option_escompte = 1; // Displays if there has been a discount
|
||||
$this->option_credit_note = 1; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
$this->option_draft_watermark = 1; // Support add of a watermark on drafts
|
||||
@ -209,7 +209,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes;
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -218,7 +218,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
// Translations
|
||||
$outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$hidetop=0;
|
||||
if(!empty($conf->global->MAIN_PDF_DISABLE_COL_HEAD_TITLE)){
|
||||
@ -232,7 +232,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -330,7 +330,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
// Set nblignes with the new facture lines content after hook
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
$nbpayments = count($object->getListOfPayments());
|
||||
|
||||
// Create pdf instance
|
||||
@ -449,7 +449,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$pdf->startTransaction();
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
@ -572,7 +572,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
// Loop on each lines
|
||||
$pageposbeforeprintlines=$pdf->getPage();
|
||||
$pagenb = $pageposbeforeprintlines;
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
|
||||
$curY = $nexY;
|
||||
@ -630,7 +630,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -782,7 +782,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
$nexY = max($nexY, $posYAfterImage);
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -791,7 +791,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -216,7 +216,7 @@ class pdf_soleil extends ModelePDFFicheinter
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Create pdf instance
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
@ -274,7 +274,7 @@ class pdf_soleil extends ModelePDFFicheinter
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$tab_top = 88;
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
|
||||
@ -479,7 +479,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -172,7 +172,7 @@ class pdf_standard extends ModelePDFProduct
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "dict", "companies", "bills", "products", "orders", "deliveries"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
if ($conf->product->dir_output)
|
||||
{
|
||||
@ -346,7 +346,7 @@ class pdf_standard extends ModelePDFProduct
|
||||
|
||||
// Loop on each lines
|
||||
/*
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('','', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -375,7 +375,7 @@ class pdf_standard extends ModelePDFProduct
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('','',true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -484,7 +484,7 @@ class pdf_standard extends ModelePDFProduct
|
||||
$this->tva[$vatrate] += $tvaligne;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
|
||||
@ -188,7 +188,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
|
||||
if ($conf->projet->dir_output)
|
||||
{
|
||||
//$nblignes = count($object->lines); // This is set later with array of tasks
|
||||
//$nblines = count($object->lines); // This is set later with array of tasks
|
||||
|
||||
$objectref = dol_sanitizeFileName($object->ref);
|
||||
$dir = $conf->projet->dir_output;
|
||||
@ -250,7 +250,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
}
|
||||
|
||||
$object->lines=$tasksarray;
|
||||
$nblignes=count($object->lines);
|
||||
$nblines=count($object->lines);
|
||||
|
||||
$pdf->Open();
|
||||
$pagenb=0;
|
||||
@ -287,7 +287,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$tab_top -= 2;
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
@ -313,7 +313,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
$nexY = $tab_top + $heightoftitleline + 1;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -352,7 +352,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -428,7 +428,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
$pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->posxdateend, 3, $dateend, 0, 'C');
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -437,7 +437,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -160,7 +160,7 @@ class pdf_beluga extends ModelePDFProjects
|
||||
|
||||
if ($conf->projet->dir_output)
|
||||
{
|
||||
//$nblignes = count($object->lines); // This is set later with array of tasks
|
||||
//$nblines = count($object->lines); // This is set later with array of tasks
|
||||
|
||||
$objectref = dol_sanitizeFileName($object->ref);
|
||||
$dir = $conf->projet->dir_output;
|
||||
@ -223,7 +223,7 @@ class pdf_beluga extends ModelePDFProjects
|
||||
}
|
||||
|
||||
$object->lines=$tasksarray;
|
||||
$nblignes=count($object->lines);
|
||||
$nblines=count($object->lines);
|
||||
|
||||
$pdf->Open();
|
||||
$pagenb=0;
|
||||
@ -260,7 +260,7 @@ class pdf_beluga extends ModelePDFProjects
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$tab_top -= 2;
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
@ -642,7 +642,7 @@ class pdf_beluga extends ModelePDFProjects
|
||||
}
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -120,7 +120,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
|
||||
if ($conf->projet->dir_output)
|
||||
{
|
||||
//$nblignes = count($object->lines); // This is set later with array of tasks
|
||||
//$nblines = count($object->lines); // This is set later with array of tasks
|
||||
|
||||
$objectref = dol_sanitizeFileName($object->ref);
|
||||
$dir = $conf->projet->dir_output;
|
||||
@ -181,7 +181,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
}
|
||||
|
||||
$object->lines=$tasksarray;
|
||||
$nblignes=count($object->lines);
|
||||
$nblines=count($object->lines);
|
||||
|
||||
$pdf->Open();
|
||||
$pagenb=0;
|
||||
@ -218,7 +218,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$tab_top -= 2;
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
@ -244,7 +244,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
$nexY = $tab_top + $heightoftitleline + 1;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -283,7 +283,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -359,7 +359,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
$pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->posxdateend, 3, $dateend, 0, 'C');
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -368,7 +368,7 @@ class pdf_timespent extends ModelePDFProjects
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -218,7 +218,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes;
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -227,7 +227,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "dict", "companies", "bills", "propal", "products"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
@ -235,7 +235,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -362,7 +362,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
|
||||
|
||||
// Positionne $this->atleastonediscount si on a au moins une remise
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->remise_percent)
|
||||
{
|
||||
@ -470,7 +470,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -527,7 +527,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforsignature+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -640,7 +640,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -649,7 +649,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -193,7 +193,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes;
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -206,7 +206,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
$outputlangs->load("propal");
|
||||
$outputlangs->load("products");
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$hidetop=0;
|
||||
if(!empty($conf->global->MAIN_PDF_DISABLE_COL_HEAD_TITLE)){
|
||||
@ -220,7 +220,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -557,7 +557,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
// Loop on each lines
|
||||
$pageposbeforeprintlines=$pdf->getPage();
|
||||
$pagenb = $pageposbeforeprintlines;
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -617,7 +617,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforsignature+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -755,7 +755,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -764,7 +764,7 @@ class pdf_cyan extends ModelePDFPropales
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -131,7 +131,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$outputlangs->load("receptions");
|
||||
$outputlangs->load("productbatch");
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
@ -139,7 +139,7 @@ class pdf_squille extends ModelePdfReception
|
||||
{
|
||||
$objphoto = new Product($this->db);
|
||||
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -217,7 +217,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
// Set nblignes with the new facture lines content after hook
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
@ -357,7 +357,7 @@ class pdf_squille extends ModelePdfReception
|
||||
$fk_commandefourndet=0;
|
||||
$totalOrdered=0;
|
||||
// Loop on each lines
|
||||
for ($i = 0; $i < $nblignes; $i++)
|
||||
for ($i = 0; $i < $nblines; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -416,7 +416,7 @@ class pdf_squille extends ModelePdfReception
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -496,7 +496,7 @@ class pdf_squille extends ModelePdfReception
|
||||
if ($weighttxt && $voltxt) $nexY+=2;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
|
||||
@ -201,7 +201,7 @@ class pdf_standard extends ModelePDFStock
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "dict", "companies", "bills", "stocks", "orders", "deliveries"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
if ($conf->stock->dir_output)
|
||||
{
|
||||
@ -323,8 +323,8 @@ class pdf_standard extends ModelePDFStock
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
$nblignes = $num;
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
$nblines = $num;
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$objp = $db->fetch_object($resql);
|
||||
|
||||
@ -372,7 +372,7 @@ class pdf_standard extends ModelePDFStock
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -452,7 +452,7 @@ class pdf_standard extends ModelePDFStock
|
||||
$totalvaluesell+=price2num($pricemin*$objp->value, 'MT');
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -550,7 +550,7 @@ class pdf_standard extends ModelePDFStock
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$tab_top = 88;
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
@ -576,7 +576,7 @@ class pdf_standard extends ModelePDFStock
|
||||
|
||||
// Loop on each lines
|
||||
/*
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('','', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -605,7 +605,7 @@ class pdf_standard extends ModelePDFStock
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('','',true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -644,7 +644,7 @@ class pdf_standard extends ModelePDFStock
|
||||
$pdf->MultiCell($this->posxdiscount-$this->posxqty-0.8, 4, $qty, 0, 'R');
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -653,7 +653,7 @@ class pdf_standard extends ModelePDFStock
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -331,7 +331,7 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
* END TODO
|
||||
**/
|
||||
|
||||
//$nblignes = count($object->lines);
|
||||
//$nblines = count($object->lines);
|
||||
|
||||
if ($conf->stock->dir_output)
|
||||
{
|
||||
@ -481,8 +481,8 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
$nblignes = $num;
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
$nblines = $num;
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$objp = $db->fetch_object($resql);
|
||||
|
||||
@ -530,7 +530,7 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -639,9 +639,9 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
|
||||
$totalvaluesell+=price2num($pricemin*$objp->value, 'MT');
|
||||
|
||||
$nexY+=3.5; // Passe espace entre les lignes
|
||||
$nexY+=3.5; // Add space between lines
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -650,7 +650,7 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
@ -724,7 +724,7 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||
$notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs);
|
||||
$notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow);
|
||||
|
||||
|
||||
$tab_top = 88;
|
||||
|
||||
$pdf->SetFont('', '', $default_font_size - 1);
|
||||
|
||||
@ -199,7 +199,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
public function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$mysoc,$hookmanager,$nblignes;
|
||||
global $user,$langs,$conf,$mysoc,$hookmanager,$nblines;
|
||||
|
||||
// Get source company
|
||||
if (! is_object($object->thirdparty)) $object->fetch_thirdparty();
|
||||
@ -259,7 +259,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
@ -296,7 +296,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
|
||||
|
||||
// Positionne $this->atleastonediscount si on a au moins une remise
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->remise_percent)
|
||||
{
|
||||
@ -370,7 +370,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -397,7 +397,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -495,7 +495,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$this->localtax2[$localtax2rate]+=$localtax2ligne;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -504,7 +504,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -185,7 +185,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
public function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$hookmanager,$mysoc,$nblignes;
|
||||
global $user,$langs,$conf,$hookmanager,$mysoc,$nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -194,7 +194,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
// Load translation files required by the page
|
||||
$outputlangs->loadLangs(array("main", "orders", "companies", "bills", "dict", "products"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$hidetop=0;
|
||||
if(!empty($conf->global->MAIN_PDF_DISABLE_COL_HEAD_TITLE)){
|
||||
@ -205,7 +205,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
$realpatharray=array();
|
||||
if (! empty($conf->global->MAIN_GENERATE_SUPPLIER_ORDER_WITH_PICTURE))
|
||||
{
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -284,7 +284,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
@ -496,7 +496,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
// Loop on each lines
|
||||
$pageposbeforeprintlines=$pdf->getPage();
|
||||
$pagenb = $pageposbeforeprintlines;
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -553,7 +553,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -689,7 +689,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1', 'color'=>array(80,80,80)));
|
||||
@ -698,7 +698,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -213,7 +213,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
public function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$hookmanager,$mysoc,$nblignes;
|
||||
global $user,$langs,$conf,$hookmanager,$mysoc,$nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -222,13 +222,13 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
// Load translation files required by the page
|
||||
$outputlangs->loadLangs(array("main", "orders", "companies", "bills", "dict", "products"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
if (! empty($conf->global->MAIN_GENERATE_SUPPLIER_ORDER_WITH_PICTURE))
|
||||
{
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -307,7 +307,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
@ -344,7 +344,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
|
||||
|
||||
// Positionne $this->atleastonediscount si on a au moins une remise
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->remise_percent)
|
||||
{
|
||||
@ -418,7 +418,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -481,7 +481,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -591,7 +591,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -600,7 +600,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -264,7 +264,7 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
@ -325,7 +325,7 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -354,7 +354,7 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
||||
$posyafter=$pdf->GetY();
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -412,7 +412,7 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
||||
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -421,7 +421,7 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -209,7 +209,7 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0)
|
||||
{
|
||||
// phpcs:enable
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes;
|
||||
global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblines;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -218,13 +218,13 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
// Load traductions files requiredby by page
|
||||
$outputlangs->loadLangs(array("main", "dict", "companies", "bills", "products", "supplier_proposal"));
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
$nblines = count($object->lines);
|
||||
|
||||
// Loop on each lines to detect if there is at least one image to show
|
||||
$realpatharray=array();
|
||||
if (! empty($conf->global->MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE))
|
||||
{
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if (empty($object->lines[$i]->fk_product)) continue;
|
||||
|
||||
@ -333,7 +333,7 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
|
||||
|
||||
// Positionne $this->atleastonediscount si on a au moins une remise
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
if ($object->lines[$i]->remise_percent)
|
||||
{
|
||||
@ -403,7 +403,7 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
$nexY = $tab_top + 7;
|
||||
|
||||
// Loop on each lines
|
||||
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||
for ($i = 0 ; $i < $nblines ; $i++)
|
||||
{
|
||||
$curY = $nexY;
|
||||
$pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage
|
||||
@ -469,7 +469,7 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
|
||||
if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text
|
||||
{
|
||||
if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
if ($i == ($nblines-1)) // No more lines, and no space left to show total, so we create a new page
|
||||
{
|
||||
$pdf->AddPage('', '', true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
@ -587,7 +587,7 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblines - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
@ -596,7 +596,7 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
$nexY+=2; // Add space between lines
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
|
||||
@ -148,10 +148,10 @@ class TraceableDB extends DoliDB
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE
|
||||
* Return the number o flines into the result of a request INSERT, DELETE or UPDATE
|
||||
*
|
||||
* @param resource $resultset Curseur de la requete voulue
|
||||
* @return int Nombre de lignes
|
||||
* @return int Number of lines
|
||||
* @see num_rows()
|
||||
*/
|
||||
public function affected_rows($resultset)
|
||||
|
||||
@ -209,9 +209,9 @@ class EmailCollector extends CommonObject
|
||||
// Translate some data of arrayofkeyval
|
||||
foreach($this->fields as $key => $val)
|
||||
{
|
||||
if (is_array($this->fields[$key]['arrayofkeyval']))
|
||||
if (is_array($val['arrayofkeyval']))
|
||||
{
|
||||
foreach($this->fields[$key]['arrayofkeyval'] as $key2 => $val2)
|
||||
foreach($val['arrayofkeyval'] as $key2 => $val2)
|
||||
{
|
||||
$this->fields[$key]['arrayofkeyval'][$key2]=$langs->trans($val2);
|
||||
}
|
||||
|
||||
@ -164,11 +164,11 @@ class EmailCollectorAction extends CommonObject
|
||||
// Translate some data of arrayofkeyval
|
||||
foreach($this->fields as $key => $val)
|
||||
{
|
||||
if (is_array($this->fields[$key]['arrayofkeyval']))
|
||||
if (is_array($val['arrayofkeyval']))
|
||||
{
|
||||
foreach($this->fields[$key]['arrayofkeyval'] as $key2 => $val2)
|
||||
foreach($val['arrayofkeyval'] as $key2 => $val2)
|
||||
{
|
||||
$this->fields[$key]['arrayofkeyval'][$key2]=$langs->trans($val2);
|
||||
$this->fields[$key]['arrayofkeyval'][$key2]=$langs->trans($val2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -133,9 +133,9 @@ class EmailCollectorFilter extends CommonObject
|
||||
// Translate some data of arrayofkeyval
|
||||
foreach($this->fields as $key => $val)
|
||||
{
|
||||
if (is_array($this->fields[$key]['arrayofkeyval']))
|
||||
if (is_array($val['arrayofkeyval']))
|
||||
{
|
||||
foreach($this->fields[$key]['arrayofkeyval'] as $key2 => $val2)
|
||||
foreach($val['arrayofkeyval'] as $key2 => $val2)
|
||||
{
|
||||
$this->fields[$key]['arrayofkeyval'][$key2]=$langs->trans($val2);
|
||||
}
|
||||
|
||||
@ -347,7 +347,7 @@ class Expedition extends CommonObject
|
||||
dol_syslog(get_class($this)."::create", LOG_DEBUG);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
// Insertion des lignes
|
||||
// Insert of lines
|
||||
$num=count($this->lines);
|
||||
for ($i = 0; $i < $num; $i++)
|
||||
{
|
||||
@ -2355,7 +2355,7 @@ class Expedition extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* Classe de gestion des lignes de bons d'expedition
|
||||
* Classe to manage lines of shipment
|
||||
*/
|
||||
class ExpeditionLigne extends CommonObjectLine
|
||||
{
|
||||
|
||||
@ -2112,16 +2112,16 @@ class ExpenseReport extends CommonObject
|
||||
dol_syslog(get_class($this)."::periode_existe sql=".$sql);
|
||||
$result = $this->db->query($sql);
|
||||
if ($result) {
|
||||
$num_lignes = $this->db->num_rows($result); $i = 0;
|
||||
$num_rows = $this->db->num_rows($result); $i = 0;
|
||||
|
||||
if ($num_lignes>0)
|
||||
if ($num_rows > 0)
|
||||
{
|
||||
$date_d_form = $date_debut;
|
||||
$date_f_form = $date_fin;
|
||||
|
||||
$existe = false;
|
||||
|
||||
while ($i < $num_lignes)
|
||||
while ($i < $num_rows)
|
||||
{
|
||||
$objp = $this->db->fetch_object($result);
|
||||
|
||||
@ -2175,8 +2175,8 @@ class ExpenseReport extends CommonObject
|
||||
$result = $this->db->query($sql);
|
||||
if($result)
|
||||
{
|
||||
$num_lignes = $this->db->num_rows($result); $i = 0;
|
||||
while ($i < $num_lignes)
|
||||
$num_rows = $this->db->num_rows($result); $i = 0;
|
||||
while ($i < $num_rows)
|
||||
{
|
||||
$objp = $this->db->fetch_object($result);
|
||||
array_push($users_validator, $objp->fk_user);
|
||||
|
||||
@ -183,7 +183,7 @@ if ($action == 'add') {
|
||||
$newfichinterid = $newinter->create($user);
|
||||
|
||||
if ($newfichinterid > 0) {
|
||||
// on ajoute les lignes de détail ensuite
|
||||
// Now we add line of details
|
||||
foreach ($object->lines as $ficheinterligne)
|
||||
$newinter->addline($user, $newfichinterid, $ficheinterligne->desc, "", $ficheinterligne->duree, '');
|
||||
|
||||
|
||||
@ -679,9 +679,8 @@ if (empty($reshook))
|
||||
}
|
||||
|
||||
/*
|
||||
* Ordonnancement des lignes
|
||||
*/
|
||||
|
||||
* Set position of lines
|
||||
*/
|
||||
elseif ($action == 'up' && $user->rights->ficheinter->creer)
|
||||
{
|
||||
$object->line_up($lineid);
|
||||
|
||||
@ -312,7 +312,7 @@ class PaiementFourn extends Paiement
|
||||
|
||||
|
||||
/**
|
||||
* Supprime un paiement ainsi que les lignes qu'il a genere dans comptes
|
||||
* Delete a payment and lines generated into accounts
|
||||
* Si le paiement porte sur un ecriture compte qui est rapprochee, on refuse
|
||||
* Si le paiement porte sur au moins une facture a "payee", on refuse
|
||||
*
|
||||
|
||||
@ -1415,7 +1415,7 @@ if (empty($reshook))
|
||||
$totalpaye = $object->getSommePaiement();
|
||||
$resteapayer = $object->total_ttc - $totalpaye;
|
||||
|
||||
// On verifie si les lignes de factures ont ete exportees en compta et/ou ventilees
|
||||
// We check that lines of invoices are exported in accountancy
|
||||
//$ventilExportCompta = $object->getVentilExportCompta();
|
||||
|
||||
// On verifie si aucun paiement n'a ete effectue
|
||||
|
||||
@ -1899,8 +1899,8 @@ class Holiday extends CommonObject
|
||||
$result = $this->db->query($sql);
|
||||
if($result)
|
||||
{
|
||||
$num_lignes = $this->db->num_rows($result); $i = 0;
|
||||
while ($i < $num_lignes)
|
||||
$num_rows = $this->db->num_rows($result); $i = 0;
|
||||
while ($i < $num_rows)
|
||||
{
|
||||
$objp = $this->db->fetch_object($result);
|
||||
array_push($users_validator, $objp->fk_user);
|
||||
|
||||
@ -216,7 +216,8 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors
|
||||
ListAccounts=قائمة الحسابات المحاسبية
|
||||
UnknownAccountForThirdparty=Unknown third-party account. We will use %s
|
||||
UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. Blocking error.
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error.
|
||||
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error
|
||||
PaymentsNotLinkedToProduct=Payment not linked to any product / service
|
||||
|
||||
@ -291,7 +292,7 @@ Modelcsv_cogilog=Export for Cogilog
|
||||
Modelcsv_agiris=Export for Agiris
|
||||
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
||||
Modelcsv_configurable=Export Configurable
|
||||
Modelcsv_FEC=Export FEC (Art. L47 A)
|
||||
Modelcsv_FEC=Export FEC
|
||||
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
||||
ChartofaccountsId=Chart of accounts Id
|
||||
|
||||
@ -316,6 +317,9 @@ WithoutValidAccount=Without valid dedicated account
|
||||
WithValidAccount=With valid dedicated account
|
||||
ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account
|
||||
AccountRemovedFromGroup=Account removed from group
|
||||
SaleLocal=Local sale
|
||||
SaleExport=Export sale
|
||||
SaleEEC=Sale in EEC
|
||||
|
||||
## Dictionary
|
||||
Range=Range of accounting account
|
||||
@ -336,7 +340,7 @@ UseMenuToSetBindindManualy=Autodection not possible, use menu <a href="%s">%s</a
|
||||
|
||||
## Import
|
||||
ImportAccountingEntries=Accounting entries
|
||||
|
||||
DateExport=Date export
|
||||
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manualy in the Ledger. If your journalization is up to date, the bookkeeping view is more accurate.
|
||||
ExpenseReportJournal=Expense Report Journal
|
||||
InventoryJournal=Inventory Journal
|
||||
|
||||
@ -149,7 +149,7 @@ SystemToolsAreaDesc=This area provides administration functions. Use the menu to
|
||||
Purge=أحذف
|
||||
PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in <b>%s</b> directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server.
|
||||
PurgeDeleteLogFile=Delete log files, including <b>%s</b> defined for Syslog module (no risk of losing data)
|
||||
PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data)
|
||||
PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data). Note: Deletion is done only if the temp directory was created 24 hours ago.
|
||||
PurgeDeleteTemporaryFilesShort=Delete temporary files
|
||||
PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: <b>%s</b>.<br>This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files.
|
||||
PurgeRunNow=إحذف الآن
|
||||
@ -804,6 +804,7 @@ Permission401=قراءة خصومات
|
||||
Permission402=إنشاء / تعديل الخصومات
|
||||
Permission403=تحقق من الخصومات
|
||||
Permission404=حذف خصومات
|
||||
Permission430=Use Debug Bar
|
||||
Permission511=Read payments of salaries
|
||||
Permission512=Create/modify payments of salaries
|
||||
Permission514=Delete payments of salaries
|
||||
@ -818,6 +819,9 @@ Permission532=إنشاء / تعديل الخدمات
|
||||
Permission534=حذف خدمات
|
||||
Permission536=انظر / إدارة الخدمات الخفية
|
||||
Permission538=تصدير الخدمات
|
||||
Permission650=Read bom of Bom
|
||||
Permission651=Create/Update bom of Bom
|
||||
Permission652=Delete bom of Bom
|
||||
Permission701=قراءة التبرعات
|
||||
Permission702=إنشاء / تعديل والهبات
|
||||
Permission703=حذف التبرعات
|
||||
@ -837,6 +841,12 @@ Permission1101=قراءة تسليم أوامر
|
||||
Permission1102=إنشاء / تعديل أوامر التسليم
|
||||
Permission1104=تحقق من توصيل الأوامر
|
||||
Permission1109=حذف تسليم أوامر
|
||||
Permission1121=Read supplier proposals
|
||||
Permission1122=Create/modify supplier proposals
|
||||
Permission1123=Validate supplier proposals
|
||||
Permission1124=Send supplier proposals
|
||||
Permission1125=Delete supplier proposals
|
||||
Permission1126=Close supplier price requests
|
||||
Permission1181=قراءة الموردين
|
||||
Permission1182=Read purchase orders
|
||||
Permission1183=Create/modify purchase orders
|
||||
@ -859,16 +869,6 @@ Permission1251=ادارة الدمار الواردات الخارجية الب
|
||||
Permission1321=تصدير العملاء والفواتير والمدفوعات والصفات
|
||||
Permission1322=Reopen a paid bill
|
||||
Permission1421=Export sales orders and attributes
|
||||
Permission20001=Read leave requests (your leave and those of your subordinates)
|
||||
Permission20002=Create/modify your leave requests (your leave and those of your subordinates)
|
||||
Permission20003=حذف طلبات الإجازة
|
||||
Permission20004=Read all leave requests (even of user not subordinates)
|
||||
Permission20005=Create/modify leave requests for everybody (even of user not subordinates)
|
||||
Permission20006=طلبات الإجازة المشرف (إعداد وتحديث التوازن)
|
||||
Permission23001=قراءة مهمة مجدولة
|
||||
Permission23002=إنشاء / تحديث المجدولة وظيفة
|
||||
Permission23003=حذف مهمة مجدولة
|
||||
Permission23004=تنفيذ مهمة مجدولة
|
||||
Permission2401=قراءة الأعمال (أو أحداث المهام) مرتبطة حسابه
|
||||
Permission2402=إنشاء / تعديل أو حذف الإجراءات (الأحداث أو المهام) مرتبطة حسابه
|
||||
Permission2403=قراءة الأعمال (أو أحداث المهام) آخرين
|
||||
@ -882,9 +882,41 @@ Permission2503=تقديم وثائق أو حذف
|
||||
Permission2515=إعداد وثائق وأدلة
|
||||
Permission2801=استخدام عميل FTP في وضع القراءة (تصفح وتحميل فقط)
|
||||
Permission2802=العميل استخدام بروتوكول نقل الملفات في وضع الكتابة (حذف أو تحميل الملفات)
|
||||
Permission3200=Read archived events and fingerprints
|
||||
Permission4001=See employees
|
||||
Permission4002=Create employees
|
||||
Permission4003=Delete employees
|
||||
Permission4004=Export employees
|
||||
Permission10001=Read website content
|
||||
Permission10002=Create/modify website content (html and javascript content)
|
||||
Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.
|
||||
Permission10005=Delete website content
|
||||
Permission20001=Read leave requests (your leave and those of your subordinates)
|
||||
Permission20002=Create/modify your leave requests (your leave and those of your subordinates)
|
||||
Permission20003=حذف طلبات الإجازة
|
||||
Permission20004=Read all leave requests (even of user not subordinates)
|
||||
Permission20005=Create/modify leave requests for everybody (even of user not subordinates)
|
||||
Permission20006=طلبات الإجازة المشرف (إعداد وتحديث التوازن)
|
||||
Permission23001=قراءة مهمة مجدولة
|
||||
Permission23002=إنشاء / تحديث المجدولة وظيفة
|
||||
Permission23003=حذف مهمة مجدولة
|
||||
Permission23004=تنفيذ مهمة مجدولة
|
||||
Permission50101=Use Point of Sale
|
||||
Permission50201=قراءة المعاملات
|
||||
Permission50202=استيراد المعاملات
|
||||
Permission50401=Bind products and invoices with accounting accounts
|
||||
Permission50411=Read operations in ledger
|
||||
Permission50412=Write/Edit operations in ledger
|
||||
Permission50414=Delete operations in ledger
|
||||
Permission50415=Delete all operations by year and journal in ledger
|
||||
Permission50418=Export operations of the ledger
|
||||
Permission50420=Report and export reports (turnover, balance, journals, ledger)
|
||||
Permission50430=Define and close a fiscal year
|
||||
Permission50440=Manage chart of accounts, setup of accountancy
|
||||
Permission51001=Read assets
|
||||
Permission51002=Create/Update assets
|
||||
Permission51003=Delete assets
|
||||
Permission51005=Setup types of asset
|
||||
Permission54001=طباعة
|
||||
Permission55001=قراءة استطلاعات الرأي
|
||||
Permission55002=إنشاء / تعديل استطلاعات الرأي
|
||||
@ -1078,7 +1110,7 @@ AreaForAdminOnly=Setup parameters can be set by <b>administrator users</b> only.
|
||||
SystemInfoDesc=نظام المعلومات المتنوعة المعلومات التقنية تحصل في قراءة فقط وواضحة للمشرفين فقط.
|
||||
SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction.
|
||||
CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" or "%s" button at the bottom of the page.
|
||||
AccountantDesc=Edit the details of your accountant/bookkeeper
|
||||
AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information.
|
||||
AccountantFileNumber=Accountant code
|
||||
DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here.
|
||||
AvailableModules=Available app/modules
|
||||
@ -1891,3 +1923,5 @@ IFTTTDesc=This module is designed to trigger events on IFTTT and/or to execute s
|
||||
UrlForIFTTT=URL endpoint for IFTTT
|
||||
YouWillFindItOnYourIFTTTAccount=You will find it on your IFTTT account
|
||||
EndPointFor=End point for %s : %s
|
||||
DeleteEmailCollector=Delete email collector
|
||||
ConfirmDeleteEmailCollector=Are you sure you want to delete this email collectore?
|
||||
|
||||
65
htdocs/langs/ar_SA/assets.lang
Normal file
65
htdocs/langs/ar_SA/assets.lang
Normal file
@ -0,0 +1,65 @@
|
||||
# Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Generic
|
||||
#
|
||||
Assets = Assets
|
||||
NewAsset = New asset
|
||||
AccountancyCodeAsset = Accounting code (asset)
|
||||
AccountancyCodeDepreciationAsset = Accounting code (depreciation asset account)
|
||||
AccountancyCodeDepreciationExpense = Accounting code (depreciation expense account)
|
||||
NewAssetType=New asset type
|
||||
AssetsTypeSetup=Asset type setup
|
||||
AssetTypeModified=Asset type modified
|
||||
AssetType=Asset type
|
||||
AssetsLines=Assets
|
||||
DeleteType=حذف
|
||||
DeleteAnAssetType=Delete an asset type
|
||||
ConfirmDeleteAssetType=Are you sure you want to delete this asset type?
|
||||
ShowTypeCard=وتبين من نوع '٪ ق'
|
||||
|
||||
# Module label 'ModuleAssetsName'
|
||||
ModuleAssetsName = Assets
|
||||
# Module description 'ModuleAssetsDesc'
|
||||
ModuleAssetsDesc = Assets description
|
||||
|
||||
#
|
||||
# Admin page
|
||||
#
|
||||
AssetsSetup = Assets setup
|
||||
Settings = Settings
|
||||
AssetsSetupPage = Assets setup page
|
||||
ExtraFieldsAssetsType = Complementary attributes (Asset type)
|
||||
AssetsType=Asset type
|
||||
AssetsTypeId=Asset type id
|
||||
AssetsTypeLabel=Asset type label
|
||||
AssetsTypes=Assets types
|
||||
|
||||
#
|
||||
# Menu
|
||||
#
|
||||
MenuAssets = Assets
|
||||
MenuNewAsset = New asset
|
||||
MenuTypeAssets = Type assets
|
||||
MenuListAssets = قائمة
|
||||
MenuNewTypeAssets = جديد
|
||||
MenuListTypeAssets = قائمة
|
||||
|
||||
#
|
||||
# Module
|
||||
#
|
||||
NewAssetType=New asset type
|
||||
NewAsset=New asset
|
||||
@ -100,7 +100,7 @@ NotReconciled=لم يتم تسويتة
|
||||
CustomerInvoicePayment=مدفوعات العميل
|
||||
SupplierInvoicePayment=Vendor payment
|
||||
SubscriptionPayment=دفع الاشتراك
|
||||
WithdrawalPayment=سحب المدفوعات
|
||||
WithdrawalPayment=Debit payment order
|
||||
SocialContributionPayment=مدفوعات الضرائب الاجتماعية / المالية
|
||||
BankTransfer=حوالة مصرفية
|
||||
BankTransfers=حوالات المصرفية
|
||||
|
||||
54
htdocs/langs/ar_SA/blockedlog.lang
Normal file
54
htdocs/langs/ar_SA/blockedlog.lang
Normal file
@ -0,0 +1,54 @@
|
||||
BlockedLog=Unalterable Logs
|
||||
Field=حقل
|
||||
BlockedLogDesc=This module tracks some events into an unalterable log (that you can't modify once recorded) into a block chain, in real time. This module provides compatibility with requirements of laws of some countries (like France with the law Finance 2016 - Norme NF525).
|
||||
Fingerprints=Archived events and fingerprints
|
||||
FingerprintsDesc=This is the tool to browse or extract the unalterable logs. Unalterable logs are generated and archived locally into a dedicated table, in real time when you record a business event. You can use this tool to export this archive and save it into an external support (some countries, like France, ask that you do it every year). Note that, there is no feature to purge this log and every change tried to be done directly into this log (by a hacker for example) will be reported with a non-valid fingerprint. If you really need to purge this table because you used your application for a demo/test purpose and want to clean your data to start your production, you can ask your reseller or integrator to reset your database (all your data will be removed).
|
||||
CompanyInitialKey=Company initial key (hash of genesis block)
|
||||
BrowseBlockedLog=Unalterable logs
|
||||
ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long)
|
||||
ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long)
|
||||
DownloadBlockChain=Download fingerprints
|
||||
KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists).
|
||||
OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one.
|
||||
OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously.
|
||||
AddedByAuthority=Stored into remote authority
|
||||
NotAddedByAuthorityYet=Not yet stored into remote authority
|
||||
ShowDetails=Show stored details
|
||||
logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created
|
||||
logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified
|
||||
logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion
|
||||
logPAYMENT_ADD_TO_BANK=Payment added to bank
|
||||
logPAYMENT_CUSTOMER_CREATE=Customer payment created
|
||||
logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion
|
||||
logDONATION_PAYMENT_CREATE=Donation payment created
|
||||
logDONATION_PAYMENT_DELETE=Donation payment logical deletion
|
||||
logBILL_PAYED=Customer invoice paid
|
||||
logBILL_UNPAYED=Customer invoice set unpaid
|
||||
logBILL_VALIDATE=فاتورة مصادق
|
||||
logBILL_SENTBYMAIL=Customer invoice send by mail
|
||||
logBILL_DELETE=Customer invoice logically deleted
|
||||
logMODULE_RESET=Module BlockedLog was disabled
|
||||
logMODULE_SET=Module BlockedLog was enabled
|
||||
logDON_VALIDATE=Donation validated
|
||||
logDON_MODIFY=Donation modified
|
||||
logDON_DELETE=Donation logical deletion
|
||||
logMEMBER_SUBSCRIPTION_CREATE=Member subscription created
|
||||
logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified
|
||||
logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion
|
||||
logCASHCONTROL_VALIDATE=Cash fence recording
|
||||
BlockedLogBillDownload=Customer invoice download
|
||||
BlockedLogBillPreview=Customer invoice preview
|
||||
BlockedlogInfoDialog=Log Details
|
||||
ListOfTrackedEvents=List of tracked events
|
||||
Fingerprint=Fingerprint
|
||||
DownloadLogCSV=Export archived logs (CSV)
|
||||
logDOC_PREVIEW=Preview of a validated document in order to print or download
|
||||
logDOC_DOWNLOAD=Download of a validated document in order to print or send
|
||||
DataOfArchivedEvent=Full datas of archived event
|
||||
ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data)
|
||||
BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit.
|
||||
BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit.
|
||||
BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log).
|
||||
OnlyNonValid=Non-valid
|
||||
TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters.
|
||||
RestrictYearToExport=Restrict month / year to export
|
||||
@ -68,3 +68,4 @@ Terminal=Terminal
|
||||
NumberOfTerminals=Number of Terminals
|
||||
TerminalSelect=Select terminal you want to use:
|
||||
POSTicket=POS Ticket
|
||||
BasicPhoneLayout=Use basic layout for phones
|
||||
|
||||
@ -19,6 +19,8 @@ MailTopic=Email topic
|
||||
MailText=رسالة
|
||||
MailFile=الملفات المرفقة
|
||||
MailMessage=هيئة البريد الإلكتروني
|
||||
SubjectNotIn=Not in Subject
|
||||
BodyNotIn=Not in Body
|
||||
ShowEMailing=وتظهر مراسلة
|
||||
ListOfEMailings=قائمة emailings
|
||||
NewMailing=مراسلة جديدة
|
||||
@ -76,9 +78,9 @@ GroupEmails=Group emails
|
||||
OneEmailPerRecipient=One email per recipient (by default, one email per record selected)
|
||||
WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them.
|
||||
ResultOfMailSending=Result of mass Email sending
|
||||
NbSelected=No. selected
|
||||
NbIgnored=No. ignored
|
||||
NbSent=No. sent
|
||||
NbSelected=Number selected
|
||||
NbIgnored=Number ignored
|
||||
NbSent=Number sent
|
||||
SentXXXmessages=%s message(s) sent.
|
||||
ConfirmUnvalidateEmailing=Are you sure you want to change email <b>%s</b> to draft status?
|
||||
MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters
|
||||
|
||||
@ -171,7 +171,7 @@ MembersStatisticsDesc=اختيار الإحصاءات التي ترغب في ق
|
||||
MenuMembersStats=إحصائيات
|
||||
LastMemberDate=Latest member date
|
||||
LatestSubscriptionDate=Latest subscription date
|
||||
Nature=طبيعة
|
||||
MemberNature=Nature of member
|
||||
Public=معلومات علنية
|
||||
NewMemberbyWeb=وأضاف عضو جديد. تنتظر الموافقة
|
||||
NewMemberForm=الأعضاء الجدد في شكل
|
||||
|
||||
17
htdocs/langs/ar_SA/mrp.lang
Normal file
17
htdocs/langs/ar_SA/mrp.lang
Normal file
@ -0,0 +1,17 @@
|
||||
MRPArea=MRP Area
|
||||
MenuBOM=Bills of material
|
||||
LatestBOMModified=Latest %s Bills of materials modified
|
||||
BillOfMaterials=Bill of Material
|
||||
BOMsSetup=Setup of module BOM
|
||||
ListOfBOMs=List of bills of material - BOM
|
||||
NewBOM=New bill of material
|
||||
ProductBOMHelp=Product to create with this BOM
|
||||
BOMsNumberingModules=BOM numbering templates
|
||||
BOMsModelModule=BOMS document templates
|
||||
FreeLegalTextOnBOMs=Free text on document of BOM
|
||||
WatermarkOnDraftBOMs=Watermark on draft BOM
|
||||
ConfirmCloneBillOfMaterials=Are you sure you want to clone this bill of material ?
|
||||
ManufacturingEfficiency=Manufacturing efficiency
|
||||
ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production
|
||||
DeleteBillOfMaterials=Delete Bill Of Materials
|
||||
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material?
|
||||
@ -159,7 +159,7 @@ SuppliersPrices=Vendor prices
|
||||
SuppliersPricesOfProductsOrServices=Vendor prices (of products or services)
|
||||
CustomCode=Customs / Commodity / HS code
|
||||
CountryOrigin=بلد المنشأ
|
||||
Nature=Product Type (material/finished)
|
||||
Nature=Nature of produt (material/finished)
|
||||
ShortLabel=التسمية قصيرة
|
||||
Unit=وحدة
|
||||
p=ش.
|
||||
|
||||
45
htdocs/langs/ar_SA/receptions.lang
Normal file
45
htdocs/langs/ar_SA/receptions.lang
Normal file
@ -0,0 +1,45 @@
|
||||
# Dolibarr language file - Source file is en_US - receptions
|
||||
ReceptionsSetup=Product Reception setup
|
||||
RefReception=Ref. reception
|
||||
Reception=على عملية
|
||||
Receptions=Receptions
|
||||
AllReceptions=All Receptions
|
||||
Reception=على عملية
|
||||
Receptions=Receptions
|
||||
ShowReception=Show Receptions
|
||||
ReceptionsArea=Receptions area
|
||||
ListOfReceptions=List of receptions
|
||||
ReceptionMethod=Reception method
|
||||
LastReceptions=Latest %s receptions
|
||||
StatisticsOfReceptions=Statistics for receptions
|
||||
NbOfReceptions=Number of receptions
|
||||
NumberOfReceptionsByMonth=Number of receptions by month
|
||||
ReceptionCard=Reception card
|
||||
NewReception=New reception
|
||||
CreateReception=Create reception
|
||||
QtyInOtherReceptions=Qty in other receptions
|
||||
OtherReceptionsForSameOrder=Other receptions for this order
|
||||
ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order
|
||||
ReceptionsToValidate=Receptions to validate
|
||||
StatusReceptionCanceled=ألغيت
|
||||
StatusReceptionDraft=مسودة
|
||||
StatusReceptionValidated=صادق (لشحن المنتجات أو شحنها بالفعل)
|
||||
StatusReceptionProcessed=معالجة
|
||||
StatusReceptionDraftShort=مسودة
|
||||
StatusReceptionValidatedShort=التحقق من صحة
|
||||
StatusReceptionProcessedShort=معالجة
|
||||
ReceptionSheet=Reception sheet
|
||||
ConfirmDeleteReception=Are you sure you want to delete this reception?
|
||||
ConfirmValidateReception=Are you sure you want to validate this reception with reference <b>%s</b>?
|
||||
ConfirmCancelReception=Are you sure you want to cancel this reception?
|
||||
StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known).
|
||||
SendReceptionByEMail=Send reception by email
|
||||
SendReceptionRef=Submission of reception %s
|
||||
ActionsOnReception=Events on reception
|
||||
ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card.
|
||||
ReceptionLine=Reception line
|
||||
ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent
|
||||
ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received
|
||||
ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions.
|
||||
ReceptionsNumberingModules=Numbering module for receptions
|
||||
ReceptionsReceiptModel=Document templates for receptions
|
||||
@ -1,18 +1,21 @@
|
||||
# Dolibarr language file - Source file is en_US - salaries
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accouting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accouting account on user is not defined.
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined.
|
||||
SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments
|
||||
Salary=الراتب
|
||||
Salaries=الرواتب
|
||||
NewSalaryPayment=دفع الرواتب جديد
|
||||
AddSalaryPayment=Add salary payment
|
||||
SalaryPayment=دفع الرواتب
|
||||
SalariesPayments=مدفوعات الرواتب
|
||||
ShowSalaryPayment=مشاهدة دفع الرواتب
|
||||
THM=Average hourly rate
|
||||
TJM=Average daily rate
|
||||
CurrentSalary=الراتب الحالي
|
||||
THMDescription=يمكن استخدام هذه القيمة لحساب تكلفة الوقت المستهلك في المشروع المدخل من قبل المستخدمين إذا تم استخدام وحدة مشروع
|
||||
TJMDescription=هذه القيمة هي حاليا فقط كمعلومات وليس لاستخدامها في أي حساب
|
||||
THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used
|
||||
TJMDescription=This value is currently for information only and is not used for any calculation
|
||||
LastSalaries=Latest %s salary payments
|
||||
AllSalaries=All salary payments
|
||||
SalariesStatistics=Statistiques salaires
|
||||
SalariesStatistics=Salary statistics
|
||||
# Export
|
||||
SalariesAndPayments=Salaries and payments
|
||||
|
||||
@ -3,7 +3,7 @@ WarehouseCard=بطاقة مخزن
|
||||
Warehouse=مخزن
|
||||
Warehouses=المستودعات
|
||||
ParentWarehouse=Parent warehouse
|
||||
NewWarehouse=المستودع الجديد / بورصة المنطقة
|
||||
NewWarehouse=New warehouse / Stock Location
|
||||
WarehouseEdit=تعديل مستودع
|
||||
MenuNewWarehouse=مستودع جديد
|
||||
WarehouseSource=مصدر مخزن
|
||||
@ -29,6 +29,8 @@ MovementId=Movement ID
|
||||
StockMovementForId=Movement ID %d
|
||||
ListMouvementStockProject=List of stock movements associated to project
|
||||
StocksArea=منطقة المستودعات
|
||||
AllWarehouses=All warehouses
|
||||
IncludeAlsoDraftOrders=Include also draft orders
|
||||
Location=عوضا عن
|
||||
LocationSummary=باختصار اسم الموقع
|
||||
NumberOfDifferentProducts=عدد من المنتجات المختلفة
|
||||
@ -53,7 +55,7 @@ PMPValue=المتوسط المرجح لسعر
|
||||
PMPValueShort=الواب
|
||||
EnhancedValueOfWarehouses=قيمة المستودعات
|
||||
UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user
|
||||
AllowAddLimitStockByWarehouse=Allow to add limit and desired stock per couple (product, warehouse) instead of per product
|
||||
AllowAddLimitStockByWarehouse=Manage also values for minimum and desired stock per pairing (product-warehouse) in addition to values per product
|
||||
IndependantSubProductStock=Product stock and subproduct stock are independent
|
||||
QtyDispatched=ارسال كمية
|
||||
QtyDispatchedShort=أرسل الكمية
|
||||
@ -62,12 +64,14 @@ OrderDispatch=Item receipts
|
||||
RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated)
|
||||
RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated)
|
||||
DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note
|
||||
DeStockOnValidateOrder=Decrease real stocks on validation of customer order
|
||||
DeStockOnValidateOrder=Decrease real stocks on validation of sales order
|
||||
DeStockOnShipment=انخفاض أسهم حقيقي على التحقق من صحة الشحن
|
||||
DeStockOnShipmentOnClosing=Decrease real stocks on shipping classification closed
|
||||
ReStockOnBill=Increase real stocks on validation of supplier invoice/credit note
|
||||
DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed
|
||||
ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note
|
||||
ReStockOnValidateOrder=Increase real stocks on purchase order approval
|
||||
ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after supplier order receipt of goods
|
||||
ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods
|
||||
StockOnReception=Increase real stocks on validation of reception
|
||||
StockOnReceptionOnClosing=Increase real stocks when reception is set to closed
|
||||
OrderStatusNotReadyToDispatch=أمر لم يتم بعد أو لا أكثر من ذلك الوضع الذي يسمح بإرسال من المنتجات في مخازن المخزون.
|
||||
StockDiffPhysicTeoric=Explanation for difference between physical and virtual stock
|
||||
NoPredefinedProductToDispatch=لا توجد منتجات محددة سلفا لهذا الكائن. لذلك لا إرسال في المخزون المطلوب.
|
||||
@ -75,12 +79,12 @@ DispatchVerb=إيفاد
|
||||
StockLimitShort=الحد الأقصى لتنبيه
|
||||
StockLimit=حد الأسهم للتنبيه
|
||||
StockLimitDesc=(empty) means no warning.<br>0 can be used for a warning as soon as stock is empty.
|
||||
PhysicalStock=المخزون المادي
|
||||
PhysicalStock=Physical Stock
|
||||
RealStock=الحقيقية للاسهم
|
||||
RealStockDesc=Physical or real stock is the stock you currently have into your internal warehouses/emplacements.
|
||||
RealStockWillAutomaticallyWhen=The real stock will automatically change according to this rules (see stock module setup to change this):
|
||||
RealStockDesc=Physical/real stock is the stock currently in the warehouses.
|
||||
RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module):
|
||||
VirtualStock=الأسهم الافتراضية
|
||||
VirtualStockDesc=Virtual stock is the stock you will get once all open pending actions that affect stocks will be closed (supplier order received, customer order shipped, ...)
|
||||
VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped etc.)
|
||||
IdWarehouse=معرف مخزن
|
||||
DescWareHouse=وصف المخزن
|
||||
LieuWareHouse=المكان مخزن
|
||||
@ -100,7 +104,7 @@ ThisWarehouseIsPersonalStock=هذا يمثل مستودع للطبيعة الش
|
||||
SelectWarehouseForStockDecrease=اختيار مستودع لاستخدامها لانخفاض الأسهم
|
||||
SelectWarehouseForStockIncrease=اختيار مستودع لاستخدامها لزيادة المخزون
|
||||
NoStockAction=أي إجراء الأسهم
|
||||
DesiredStock=Desired optimal stock
|
||||
DesiredStock=Desired Stock
|
||||
DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature.
|
||||
StockToBuy=أن تأمر
|
||||
Replenishment=التجديد
|
||||
@ -113,13 +117,13 @@ CurentSelectionMode=وضع التحديد الحالي
|
||||
CurentlyUsingVirtualStock=الأسهم الظاهري
|
||||
CurentlyUsingPhysicalStock=المخزون المادي
|
||||
RuleForStockReplenishment=حكم شراء أسهم التجديد
|
||||
SelectProductWithNotNullQty=اختيار منتج واحد على الأقل مع الكمية غير فارغة ومورد
|
||||
SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor
|
||||
AlertOnly= التنبيهات فقط
|
||||
WarehouseForStockDecrease=سيتم استخدام <b>مستودع٪ الصورة</b> لانخفاض الأسهم
|
||||
WarehouseForStockIncrease=سيتم استخدام <b>مستودع٪ s للزيادة</b> المخزون
|
||||
ForThisWarehouse=لهذا المستودع
|
||||
ReplenishmentStatusDesc=هذه هي قائمة من جميع المنتجات مع مخزون أقل من الأسهم المطلوب (أو أقل من قيمة التنبيه إذا مربع "التنبيه فقط" يتم التحقق). باستخدام مربع، يمكنك إنشاء أوامر المورد لملء الفرق.
|
||||
ReplenishmentOrdersDesc=This is a list of all open supplier orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here.
|
||||
ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference.
|
||||
ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here.
|
||||
Replenishments=التجديد
|
||||
NbOfProductBeforePeriod=كمية من الناتج٪ الصورة في الأوراق المالية قبل الفترة المختارة (<٪ ق)
|
||||
NbOfProductAfterPeriod=كمية من الناتج٪ الصورة في الأوراق المالية بعد الفترة المختارة (>٪ ق)
|
||||
@ -143,11 +147,11 @@ ShowWarehouse=مشاهدة مستودع
|
||||
MovementCorrectStock=تصحيح الأسهم للمنتج٪ الصورة
|
||||
MovementTransferStock=نقل الأسهم من الناتج٪ الصورة إلى مستودع آخر
|
||||
InventoryCodeShort=الجرد. / وسائل التحقق. رمز
|
||||
NoPendingReceptionOnSupplierOrder=لا استقبال في انتظار المقرر أن يفتتح المورد أجل
|
||||
NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order
|
||||
ThisSerialAlreadyExistWithDifferentDate=هذا الكثير / الرقم التسلسلي <strong>(٪ ق)</strong> موجودة بالفعل ولكن مع eatby مختلفة أو تاريخ sellby <strong>(وجدت٪ الصورة</strong> ولكن قمت <strong>بإدخال%s).</strong>
|
||||
OpenAll=Open for all actions
|
||||
OpenInternal=Open only for internal actions
|
||||
UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on supplier order reception
|
||||
UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception
|
||||
OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated
|
||||
ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created
|
||||
ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated
|
||||
@ -171,16 +175,16 @@ inventoryValidate=التحقق من صحة
|
||||
inventoryDraft=على التوالي
|
||||
inventorySelectWarehouse=Warehouse choice
|
||||
inventoryConfirmCreate=إنشاء
|
||||
inventoryOfWarehouse=Inventory for warehouse : %s
|
||||
inventoryErrorQtyAdd=Error : one quantity is less than zero
|
||||
inventoryOfWarehouse=Inventory for warehouse: %s
|
||||
inventoryErrorQtyAdd=Error: one quantity is less than zero
|
||||
inventoryMvtStock=By inventory
|
||||
inventoryWarningProductAlreadyExists=This product is already into list
|
||||
SelectCategory=فئة فلتر
|
||||
SelectFournisseur=Supplier filter
|
||||
SelectFournisseur=Vendor filter
|
||||
inventoryOnDate=Inventory
|
||||
INVENTORY_DISABLE_VIRTUAL=Allow to not destock child product from a kit on inventory
|
||||
INVENTORY_DISABLE_VIRTUAL=Virtual product (kit): do not decrement stock of a child product
|
||||
INVENTORY_USE_MIN_PA_IF_NO_LAST_PA=Use the buy price if no last buy price can be found
|
||||
INVENTORY_USE_INVENTORY_DATE_FROM_DATEMVT=Stock movement have date of inventory
|
||||
INVENTORY_USE_INVENTORY_DATE_FROM_DATEMVT=Stock movement has date of inventory
|
||||
inventoryChangePMPPermission=Allow to change PMP value for a product
|
||||
ColumnNewPMP=New unit PMP
|
||||
OnlyProdsInStock=Do not add product without stock
|
||||
@ -202,7 +206,7 @@ inventoryDeleteLine=حذف الخط
|
||||
RegulateStock=Regulate Stock
|
||||
ListInventory=قائمة
|
||||
StockSupportServices=Stock management supports Services
|
||||
StockSupportServicesDesc=By default, you can stock only product with type "product". If on, and if module service is on, you can also stock a product with type "service"
|
||||
StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled.
|
||||
ReceiveProducts=Receive items
|
||||
StockIncreaseAfterCorrectTransfer=Increase by correction/transfer
|
||||
StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer
|
||||
|
||||
294
htdocs/langs/ar_SA/ticket.lang
Normal file
294
htdocs/langs/ar_SA/ticket.lang
Normal file
@ -0,0 +1,294 @@
|
||||
# en_US lang file for module ticket
|
||||
# Copyright (C) 2013 Jean-François FERRY <hello@librethic.io>
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Generic
|
||||
#
|
||||
|
||||
Module56000Name=Tickets
|
||||
Module56000Desc=Ticket system for issue or request management
|
||||
|
||||
Permission56001=See tickets
|
||||
Permission56002=Modify tickets
|
||||
Permission56003=Delete tickets
|
||||
Permission56004=Manage tickets
|
||||
Permission56005=See tickets of all third parties (not effective for external users, always be limited to the third party they depend on)
|
||||
|
||||
TicketDictType=Ticket - Types
|
||||
TicketDictCategory=Ticket - Groupes
|
||||
TicketDictSeverity=Ticket - Severities
|
||||
TicketTypeShortBUGSOFT=Dysfonctionnement logiciel
|
||||
TicketTypeShortBUGHARD=Dysfonctionnement matériel
|
||||
TicketTypeShortCOM=Commercial question
|
||||
TicketTypeShortINCIDENT=Request for assistance
|
||||
TicketTypeShortPROJET=المشروع
|
||||
TicketTypeShortOTHER=الآخر
|
||||
|
||||
TicketSeverityShortLOW=منخفض
|
||||
TicketSeverityShortNORMAL=Normal
|
||||
TicketSeverityShortHIGH=عال
|
||||
TicketSeverityShortBLOCKING=Critical/Blocking
|
||||
|
||||
ErrorBadEmailAddress=Field '%s' incorrect
|
||||
MenuTicketMyAssign=My tickets
|
||||
MenuTicketMyAssignNonClosed=My open tickets
|
||||
MenuListNonClosed=Open tickets
|
||||
|
||||
TypeContact_ticket_internal_CONTRIBUTOR=مساهم
|
||||
TypeContact_ticket_internal_SUPPORTTEC=Assigned user
|
||||
TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking
|
||||
TypeContact_ticket_external_CONTRIBUTOR=External contributor
|
||||
|
||||
OriginEmail=Email source
|
||||
Notify_TICKET_SENTBYMAIL=Send ticket message by email
|
||||
|
||||
# Status
|
||||
NotRead=Not read
|
||||
Read=قرأ
|
||||
Assigned=Assigned
|
||||
InProgress=In progress
|
||||
NeedMoreInformation=Waiting for information
|
||||
Answered=Answered
|
||||
Waiting=انتظار
|
||||
Closed=مغلق
|
||||
Deleted=Deleted
|
||||
|
||||
# Dict
|
||||
Type=اكتب
|
||||
Category=Analytic code
|
||||
Severity=Severity
|
||||
|
||||
# Email templates
|
||||
MailToSendTicketMessage=To send email from ticket message
|
||||
|
||||
#
|
||||
# Admin page
|
||||
#
|
||||
TicketSetup=Ticket module setup
|
||||
TicketSettings=Settings
|
||||
TicketSetupPage=
|
||||
TicketPublicAccess=A public interface requiring no identification is available at the following url
|
||||
TicketSetupDictionaries=The type of ticket, severity and analytic codes are configurable from dictionaries
|
||||
TicketParamModule=Module variable setup
|
||||
TicketParamMail=Email setup
|
||||
TicketEmailNotificationFrom=Notification email from
|
||||
TicketEmailNotificationFromHelp=Used into ticket message answer by example
|
||||
TicketEmailNotificationTo=Notifications email to
|
||||
TicketEmailNotificationToHelp=Send email notifications to this address.
|
||||
TicketNewEmailBodyLabel=Text message sent after creating a ticket
|
||||
TicketNewEmailBodyHelp=The text specified here will be inserted into the email confirming the creation of a new ticket from the public interface. Information on the consultation of the ticket are automatically added.
|
||||
TicketParamPublicInterface=Public interface setup
|
||||
TicketsEmailMustExist=Require an existing email address to create a ticket
|
||||
TicketsEmailMustExistHelp=In the public interface, the email address should already be filled in the database to create a new ticket.
|
||||
PublicInterface=Public interface
|
||||
TicketUrlPublicInterfaceLabelAdmin=Alternative URL for public interface
|
||||
TicketUrlPublicInterfaceHelpAdmin=It is possible to define an alias to the web server and thus make available the public interface with another URL (the server must act as a proxy on this new URL)
|
||||
TicketPublicInterfaceTextHomeLabelAdmin=Welcome text of the public interface
|
||||
TicketPublicInterfaceTextHome=You can create a support ticket or view existing from its identifier tracking ticket.
|
||||
TicketPublicInterfaceTextHomeHelpAdmin=The text defined here will appear on the home page of the public interface.
|
||||
TicketPublicInterfaceTopicLabelAdmin=Interface title
|
||||
TicketPublicInterfaceTopicHelp=This text will appear as the title of the public interface.
|
||||
TicketPublicInterfaceTextHelpMessageLabelAdmin=Help text to the message entry
|
||||
TicketPublicInterfaceTextHelpMessageHelpAdmin=This text will appear above the message input area of the user.
|
||||
ExtraFieldsTicket=Extra attributes
|
||||
TicketCkEditorEmailNotActivated=HTML editor is not activated. Please put FCKEDITOR_ENABLE_MAIL content to 1 to get it.
|
||||
TicketsDisableEmail=Do not send emails for ticket creation or message recording
|
||||
TicketsDisableEmailHelp=By default, emails are sent when new tickets or messages created. Enable this option to disable *all* email notifications
|
||||
TicketsLogEnableEmail=Enable log by email
|
||||
TicketsLogEnableEmailHelp=At each change, an email will be sent **to each contact** associated with the ticket.
|
||||
TicketParams=Params
|
||||
TicketsShowModuleLogo=Display the logo of the module in the public interface
|
||||
TicketsShowModuleLogoHelp=Enable this option to hide the logo module in the pages of the public interface
|
||||
TicketsShowCompanyLogo=Display the logo of the company in the public interface
|
||||
TicketsShowCompanyLogoHelp=Enable this option to hide the logo of the main company in the pages of the public interface
|
||||
TicketsEmailAlsoSendToMainAddress=Also send notification to main email address
|
||||
TicketsEmailAlsoSendToMainAddressHelp=Enable this option to send an email to "Notification email from" address (see setup below)
|
||||
TicketsLimitViewAssignedOnly=Restrict the display to tickets assigned to the current user (not effective for external users, always be limited to the third party they depend on)
|
||||
TicketsLimitViewAssignedOnlyHelp=Only tickets assigned to the current user will be visible. Does not apply to a user with tickets management rights.
|
||||
TicketsActivatePublicInterface=Activate public interface
|
||||
TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create tickets.
|
||||
TicketsAutoAssignTicket=Automatically assign the user who created the ticket
|
||||
TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket.
|
||||
TicketNumberingModules=Tickets numbering module
|
||||
TicketNotifyTiersAtCreation=Notify third party at creation
|
||||
TicketGroup=مجموعة
|
||||
TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface
|
||||
#
|
||||
# Index & list page
|
||||
#
|
||||
TicketsIndex=Ticket - home
|
||||
TicketList=List of tickets
|
||||
TicketAssignedToMeInfos=This page display ticket list created by or assigned to current user
|
||||
NoTicketsFound=No ticket found
|
||||
NoUnreadTicketsFound=No unread ticket found
|
||||
TicketViewAllTickets=View all tickets
|
||||
TicketViewNonClosedOnly=View only open tickets
|
||||
TicketStatByStatus=Tickets by status
|
||||
|
||||
#
|
||||
# Ticket card
|
||||
#
|
||||
Ticket=Ticket
|
||||
TicketCard=Ticket card
|
||||
CreateTicket=Create ticket
|
||||
EditTicket=Edit ticket
|
||||
TicketsManagement=Tickets Management
|
||||
CreatedBy=Created by
|
||||
NewTicket=New Ticket
|
||||
SubjectAnswerToTicket=Ticket answer
|
||||
TicketTypeRequest=Request type
|
||||
TicketCategory=Analytic code
|
||||
SeeTicket=See ticket
|
||||
TicketMarkedAsRead=Ticket has been marked as read
|
||||
TicketReadOn=Read on
|
||||
TicketCloseOn=الموعد النهائي
|
||||
MarkAsRead=Mark ticket as read
|
||||
TicketHistory=Ticket history
|
||||
AssignUser=Assign to user
|
||||
TicketAssigned=Ticket is now assigned
|
||||
TicketChangeType=Change type
|
||||
TicketChangeCategory=Change analytic code
|
||||
TicketChangeSeverity=Change severity
|
||||
TicketAddMessage=Add a message
|
||||
AddMessage=Add a message
|
||||
MessageSuccessfullyAdded=Ticket added
|
||||
TicketMessageSuccessfullyAdded=Message successfully added
|
||||
TicketMessagesList=Message list
|
||||
NoMsgForThisTicket=No message for this ticket
|
||||
Properties=Classification
|
||||
LatestNewTickets=Latest %s newest tickets (not read)
|
||||
TicketSeverity=Severity
|
||||
ShowTicket=See ticket
|
||||
RelatedTickets=Related tickets
|
||||
TicketAddIntervention=إنشاء التدخل
|
||||
CloseTicket=Close ticket
|
||||
CloseATicket=Close a ticket
|
||||
ConfirmCloseAticket=Confirm ticket closing
|
||||
ConfirmDeleteTicket=Please confirm ticket deleting
|
||||
TicketDeletedSuccess=Ticket deleted with success
|
||||
TicketMarkedAsClosed=Ticket marked as closed
|
||||
TicketDurationAuto=Calculated duration
|
||||
TicketDurationAutoInfos=Duration calculated automatically from intervention related
|
||||
TicketUpdated=Ticket updated
|
||||
SendMessageByEmail=Send message by email
|
||||
TicketNewMessage=New message
|
||||
ErrorMailRecipientIsEmptyForSendTicketMessage=Recipient is empty. No email send
|
||||
TicketGoIntoContactTab=Please go into "Contacts" tab to select them
|
||||
TicketMessageMailIntro=Introduction
|
||||
TicketMessageMailIntroHelp=This text is added only at the beginning of the email and will not be saved.
|
||||
TicketMessageMailIntroLabelAdmin=Introduction to the message when sending email
|
||||
TicketMessageMailIntroText=Hello,<br>A new response was sent on a ticket that you contact. Here is the message:<br>
|
||||
TicketMessageMailIntroHelpAdmin=This text will be inserted before the text of the response to a ticket.
|
||||
TicketMessageMailSignature=التوقيع
|
||||
TicketMessageMailSignatureHelp=This text is added only at the end of the email and will not be saved.
|
||||
TicketMessageMailSignatureText=<p>Sincerely,</p><p>--</p>
|
||||
TicketMessageMailSignatureLabelAdmin=Signature of response email
|
||||
TicketMessageMailSignatureHelpAdmin=This text will be inserted after the response message.
|
||||
TicketMessageHelp=Only this text will be saved in the message list on ticket card.
|
||||
TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values.
|
||||
TimeElapsedSince=Time elapsed since
|
||||
TicketTimeToRead=Time elapsed before read
|
||||
TicketContacts=Contacts ticket
|
||||
TicketDocumentsLinked=Documents linked to ticket
|
||||
ConfirmReOpenTicket=Confirm reopen this ticket ?
|
||||
TicketMessageMailIntroAutoNewPublicMessage=A new message was posted on the ticket with the subject %s:
|
||||
TicketAssignedToYou=Ticket assigned
|
||||
TicketAssignedEmailBody=You have been assigned the ticket #%s by %s
|
||||
MarkMessageAsPrivate=Mark message as private
|
||||
TicketMessagePrivateHelp=This message will not display to external users
|
||||
TicketEmailOriginIssuer=Issuer at origin of the tickets
|
||||
InitialMessage=Initial Message
|
||||
LinkToAContract=Link to a contract
|
||||
TicketPleaseSelectAContract=Select a contract
|
||||
UnableToCreateInterIfNoSocid=Can not create an intervention when no third party is defined
|
||||
TicketMailExchanges=Mail exchanges
|
||||
TicketInitialMessageModified=Initial message modified
|
||||
TicketMessageSuccesfullyUpdated=Message successfully updated
|
||||
TicketChangeStatus=Change status
|
||||
TicketConfirmChangeStatus=Confirm the status change: %s ?
|
||||
TicketLogStatusChanged=Status changed: %s to %s
|
||||
TicketNotNotifyTiersAtCreate=Not notify company at create
|
||||
Unread=Unread
|
||||
|
||||
#
|
||||
# Logs
|
||||
#
|
||||
TicketLogMesgReadBy=Ticket %s read by %s
|
||||
NoLogForThisTicket=No log for this ticket yet
|
||||
TicketLogAssignedTo=Ticket %s assigned to %s
|
||||
TicketLogPropertyChanged=Ticket %s modified: classification from %s to %s
|
||||
TicketLogClosedBy=Ticket %s closed by %s
|
||||
TicketLogReopen=Ticket %s re-opened
|
||||
|
||||
#
|
||||
# Public pages
|
||||
#
|
||||
TicketSystem=Ticket system
|
||||
ShowListTicketWithTrackId=Display ticket list from track ID
|
||||
ShowTicketWithTrackId=Display ticket from track ID
|
||||
TicketPublicDesc=You can create a support ticket or check from an existing ID.
|
||||
YourTicketSuccessfullySaved=Ticket has been successfully saved!
|
||||
MesgInfosPublicTicketCreatedWithTrackId=A new ticket has been created with ID %s.
|
||||
PleaseRememberThisId=Please keep the tracking number that we might ask you later.
|
||||
TicketNewEmailSubject=Ticket creation confirmation
|
||||
TicketNewEmailSubjectCustomer=New support ticket
|
||||
TicketNewEmailBody=This is an automatic email to confirm you have registered a new ticket.
|
||||
TicketNewEmailBodyCustomer=This is an automatic email to confirm a new ticket has just been created into your account.
|
||||
TicketNewEmailBodyInfosTicket=Information for monitoring the ticket
|
||||
TicketNewEmailBodyInfosTrackId=Ticket tracking number: %s
|
||||
TicketNewEmailBodyInfosTrackUrl=You can view the progress of the ticket by clicking the link above.
|
||||
TicketNewEmailBodyInfosTrackUrlCustomer=You can view the progress of the ticket in the specific interface by clicking the following link
|
||||
TicketEmailPleaseDoNotReplyToThisEmail=Please do not reply directly to this email! Use the link to reply into the interface.
|
||||
TicketPublicInfoCreateTicket=This form allows you to record a support ticket in our management system.
|
||||
TicketPublicPleaseBeAccuratelyDescribe=Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request.
|
||||
TicketPublicMsgViewLogIn=Please enter ticket tracking ID
|
||||
TicketTrackId=Public Tracking ID
|
||||
OneOfTicketTrackId=One of your tracking ID
|
||||
ErrorTicketNotFound=Ticket with tracking ID %s not found!
|
||||
Subject=الموضوع
|
||||
ViewTicket=View ticket
|
||||
ViewMyTicketList=View my ticket list
|
||||
ErrorEmailMustExistToCreateTicket=Error: email address not found in our database
|
||||
TicketNewEmailSubjectAdmin=New ticket created
|
||||
TicketNewEmailBodyAdmin=<p>Ticket has just been created with ID #%s, see information:</p>
|
||||
SeeThisTicketIntomanagementInterface=See ticket in management interface
|
||||
TicketPublicInterfaceForbidden=The public interface for the tickets was not enabled
|
||||
ErrorEmailOrTrackingInvalid=Bad value for tracking ID or email
|
||||
OldUser=Old user
|
||||
NewUser=مستخدم جديد
|
||||
NumberOfTicketsByMonth=Number of tickets per month
|
||||
NbOfTickets=Number of tickets
|
||||
# notifications
|
||||
TicketNotificationEmailSubject=Ticket %s updated
|
||||
TicketNotificationEmailBody=This is an automatic message to notify you that ticket %s has just been updated
|
||||
TicketNotificationRecipient=Notification recipient
|
||||
TicketNotificationLogMessage=Log message
|
||||
TicketNotificationEmailBodyInfosTrackUrlinternal=View ticket into interface
|
||||
TicketNotificationNumberEmailSent=Notification email sent: %s
|
||||
|
||||
ActionsOnTicket=Events on ticket
|
||||
|
||||
#
|
||||
# Boxes
|
||||
#
|
||||
BoxLastTicket=Latest created tickets
|
||||
BoxLastTicketDescription=Latest %s created tickets
|
||||
BoxLastTicketContent=
|
||||
BoxLastTicketNoRecordedTickets=No recent unread tickets
|
||||
BoxLastModifiedTicket=Latest modified tickets
|
||||
BoxLastModifiedTicketDescription=Latest %s modified tickets
|
||||
BoxLastModifiedTicketContent=
|
||||
BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets
|
||||
@ -101,3 +101,5 @@ NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynam
|
||||
ReplaceWebsiteContent=Replace website content
|
||||
DeleteAlsoJs=Delete also all javascript files specific to this website?
|
||||
DeleteAlsoMedias=Delete also all medias files specific to this website?
|
||||
# Export
|
||||
MyWebsitePages=My website pages
|
||||
|
||||
@ -12,21 +12,21 @@ WithdrawalsLines=Direct debit order lines
|
||||
RequestStandingOrderToTreat=Request for direct debit payment order to process
|
||||
RequestStandingOrderTreated=Request for direct debit payment order processed
|
||||
NotPossibleForThisStatusOfWithdrawReceiptORLine=لم يكن ممكنا حتى الآن. سحب يجب أن يتم تعيين الحالة إلى "الفضل" قبل أن يعلن رفض على خطوط محددة.
|
||||
NbOfInvoiceToWithdraw=Nb. of qualified invoice with waiting direct debit order
|
||||
NbOfInvoiceToWithdrawWithInfo=Nb. of customer invoice with direct debit payment orders having defined bank account information
|
||||
NbOfInvoiceToWithdraw=No. of qualified invoice with waiting direct debit order
|
||||
NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information
|
||||
InvoiceWaitingWithdraw=Invoice waiting for direct debit
|
||||
AmountToWithdraw=سحب المبلغ
|
||||
WithdrawsRefused=Direct debit refused
|
||||
NoInvoiceToWithdraw=No customer invoice with open 'Direct debit requests' is waiting. Go on tab '%s' on invoice card to make a request.
|
||||
ResponsibleUser=مسؤولة المستخدم
|
||||
ResponsibleUser=User Responsible
|
||||
WithdrawalsSetup=Direct debit payment setup
|
||||
WithdrawStatistics=Direct debit payment statistics
|
||||
WithdrawRejectStatistics=Direct debit payment reject statistics
|
||||
LastWithdrawalReceipt=Latest %s direct debit receipts
|
||||
MakeWithdrawRequest=Make a direct debit payment request
|
||||
WithdrawRequestsDone=%s direct debit payment requests recorded
|
||||
ThirdPartyBankCode=طرف ثالث بنك مدونة
|
||||
NoInvoiceCouldBeWithdrawed=No invoice withdrawed with success. Check that invoices are on companies with a valid default BAN and that BAN has a RUM with mode <strong>%s</strong>.
|
||||
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>.
|
||||
ClassCredited=تصنيف حساب
|
||||
ClassCreditedConfirm=هل أنت متأكد من أن يصنف هذا الانسحاب كما تلقي على حساب حسابك المصرفي؟
|
||||
TransData=تاريخ الإرسال
|
||||
@ -50,7 +50,7 @@ StatusMotif0=غير محدد
|
||||
StatusMotif1=توفير insuffisante
|
||||
StatusMotif2=Tirage conteste
|
||||
StatusMotif3=No direct debit payment order
|
||||
StatusMotif4=طلب العملاء
|
||||
StatusMotif4=Sales Order
|
||||
StatusMotif5=الضلع inexploitable
|
||||
StatusMotif6=حساب بدون رصيد
|
||||
StatusMotif7=قرار قضائي
|
||||
@ -66,11 +66,11 @@ NotifyCredit=انسحاب الائتمان
|
||||
NumeroNationalEmetter=رقم المرسل وطنية
|
||||
WithBankUsingRIB=عن الحسابات المصرفية باستخدام RIB
|
||||
WithBankUsingBANBIC=عن الحسابات المصرفية باستخدام IBAN / BIC / SWIFT
|
||||
BankToReceiveWithdraw=Bank account to receive direct debit
|
||||
BankToReceiveWithdraw=Receiving Bank Account
|
||||
CreditDate=الائتمان على
|
||||
WithdrawalFileNotCapable=غير قادر على توليد ملف استلام الانسحاب لبلدكم٪ الصورة (لا يتم اعتماد البلد)
|
||||
ShowWithdraw=وتظهر سحب
|
||||
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=ومع ذلك، إذا فاتورة واحدة على الأقل دفع انسحاب لا تتم معالجتها حتى الآن، فإنه لن يكون كما سيولي للسماح لإدارة الانسحاب قبل.
|
||||
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.
|
||||
WithdrawalFile=ملف الانسحاب
|
||||
SetToStatusSent=تعيين إلى حالة "المرسلة ملف"
|
||||
@ -78,7 +78,7 @@ ThisWillAlsoAddPaymentOnInvoice=This will also record payments to invoices and w
|
||||
StatisticsByLineStatus=إحصاءات عن طريق وضع خطوط
|
||||
RUM=UMR
|
||||
RUMLong=Unique Mandate Reference
|
||||
RUMWillBeGenerated=If empty, UMR number will be generated once bank account information are saved
|
||||
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:
|
||||
WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount.
|
||||
@ -87,13 +87,13 @@ SepaMandateShort=SEPA Mandate
|
||||
PleaseReturnMandate=Please return this mandate form by email to %s or by mail to
|
||||
SEPALegalText=By signing this mandate form, you authorize (A) %s to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from %s. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights regarding the above mandate are explained in a statement that you can obtain from your bank.
|
||||
CreditorIdentifier=Creditor Identifier
|
||||
CreditorName=Creditor’s Name
|
||||
CreditorName=Creditor Name
|
||||
SEPAFillForm=(B) Please complete all the fields marked *
|
||||
SEPAFormYourName=Your name
|
||||
SEPAFormYourBAN=Your Bank Account Name (IBAN)
|
||||
SEPAFormYourBIC=Your Bank Identifier Code (BIC)
|
||||
SEPAFrstOrRecur=Type of payment
|
||||
ModeRECUR=Reccurent payment
|
||||
ModeRECUR=Recurring payment
|
||||
ModeFRST=One-off payment
|
||||
PleaseCheckOne=Please check one only
|
||||
DirectDebitOrderCreated=Direct debit order %s created
|
||||
@ -102,6 +102,10 @@ SEPARCUR=SEPA CUR
|
||||
SEPAFRST=SEPA FRST
|
||||
ExecutionDate=Execution date
|
||||
CreateForSepa=Create direct debit file
|
||||
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
|
||||
|
||||
### Notifications
|
||||
InfoCreditSubject=Payment of direct debit payment order %s by the bank
|
||||
|
||||
@ -216,7 +216,8 @@ DescThirdPartyReport=Консултирайте се тук със списък
|
||||
ListAccounts=List of the accounting accounts
|
||||
UnknownAccountForThirdparty=Неизвестен профил на контрагента. Ще използваме %s
|
||||
UnknownAccountForThirdpartyBlocking=Неизвестен профил на контрагента. Блокираща грешка
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. Blocking error.
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error.
|
||||
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Неизвестен профил на контрагента и чакаща сметка не са определени. Блокираща грешка
|
||||
PaymentsNotLinkedToProduct=Payment not linked to any product / service
|
||||
|
||||
@ -291,7 +292,7 @@ Modelcsv_cogilog=Export for Cogilog
|
||||
Modelcsv_agiris=Export for Agiris
|
||||
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
||||
Modelcsv_configurable=Export CSV Configurable
|
||||
Modelcsv_FEC=Export FEC (Art. L47 A)
|
||||
Modelcsv_FEC=Export FEC
|
||||
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
||||
ChartofaccountsId=Chart of accounts Id
|
||||
|
||||
@ -316,6 +317,9 @@ WithoutValidAccount=Without valid dedicated account
|
||||
WithValidAccount=With valid dedicated account
|
||||
ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account
|
||||
AccountRemovedFromGroup=Account removed from group
|
||||
SaleLocal=Local sale
|
||||
SaleExport=Export sale
|
||||
SaleEEC=Sale in EEC
|
||||
|
||||
## Dictionary
|
||||
Range=Range of accounting account
|
||||
@ -336,7 +340,7 @@ UseMenuToSetBindindManualy=Lines not yet bound, use menu <a href="%s">%s</a> to
|
||||
|
||||
## Import
|
||||
ImportAccountingEntries=Accounting entries
|
||||
|
||||
DateExport=Date export
|
||||
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manually in the Ledger. If your journalization is up to date, the bookkeeping view is more accurate.
|
||||
ExpenseReportJournal=Expense Report Journal
|
||||
InventoryJournal=Inventory Journal
|
||||
|
||||
@ -149,7 +149,7 @@ SystemToolsAreaDesc=Тази секция осигурява администр
|
||||
Purge=Изчистване
|
||||
PurgeAreaDesc=Тази страница ви позволява да изтриете всички файлове, генерирани или съхранени от Dolibarr (временни файлове или всички файлове в директорията <b>%s</b>). Използването на тази функция обикновено не е необходимо. Той се предоставя като решение за потребители, чиито Dolibarr се хоства от доставчик, който не предлага разрешения за изтриване на файлове, генерирани от уеб сървъра.
|
||||
PurgeDeleteLogFile=Изтриване на лог файлове, включително <b>%s</b> генериран от Debug Logs модула (няма риск от загуба на данни)
|
||||
PurgeDeleteTemporaryFiles=Изтриване на всички временни файлове (няма риск от загуба на данни)
|
||||
PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data). Note: Deletion is done only if the temp directory was created 24 hours ago.
|
||||
PurgeDeleteTemporaryFilesShort=Изтриване на временни файлове
|
||||
PurgeDeleteAllFilesInDocumentsDir=Изтриване на всички файлове в директорията: <b>%s</b>.<br>Това ще изтрие всички генерирани документи, свързани с елементи (контрагенти, фактури и т.н.), файлове, качени чрез ECM модула, архиви на базата данни и временни файлове.
|
||||
PurgeRunNow=Изчистване сега
|
||||
@ -804,6 +804,7 @@ Permission401=Прочети отстъпки
|
||||
Permission402=Създаване / промяна на отстъпки
|
||||
Permission403=Проверка на отстъпки
|
||||
Permission404=Изтриване на отстъпки
|
||||
Permission430=Use Debug Bar
|
||||
Permission511=Преглед на плащания на заплати
|
||||
Permission512=Създаване / редактиране на плащания на заплати
|
||||
Permission514=Изтриване на плащания на заплати
|
||||
@ -818,6 +819,9 @@ Permission532=Създаване / промяна услуги
|
||||
Permission534=Изтриване на услуги
|
||||
Permission536=Вижте / управление скрити услуги
|
||||
Permission538=Износ услуги
|
||||
Permission650=Read bom of Bom
|
||||
Permission651=Create/Update bom of Bom
|
||||
Permission652=Delete bom of Bom
|
||||
Permission701=Прочети дарения
|
||||
Permission702=Създаване / промяна на дарения
|
||||
Permission703=Изтриване на дарения
|
||||
@ -837,6 +841,12 @@ Permission1101=Поръчките за доставка
|
||||
Permission1102=Създаване / промяна на поръчките за доставка
|
||||
Permission1104=Проверка на поръчките за доставка
|
||||
Permission1109=Изтриване на поръчките за доставка
|
||||
Permission1121=Read supplier proposals
|
||||
Permission1122=Create/modify supplier proposals
|
||||
Permission1123=Validate supplier proposals
|
||||
Permission1124=Send supplier proposals
|
||||
Permission1125=Delete supplier proposals
|
||||
Permission1126=Close supplier price requests
|
||||
Permission1181=Прочети доставчици
|
||||
Permission1182=Преглед на поръчки за покупка
|
||||
Permission1183=Създаване / редактиране на поръчки за покупка
|
||||
@ -859,16 +869,6 @@ Permission1251=Пусни масов внос на външни данни в б
|
||||
Permission1321=Износ на клиентите фактури, атрибути и плащания
|
||||
Permission1322=Повторно отваряне на платена фактура
|
||||
Permission1421=Експортиране на поръчки за продажба и атрибути
|
||||
Permission20001=Преглед на молби за отпуск (на служителя и неговите подчинени)
|
||||
Permission20002=Създаване / редактиране на молби за отпуск (на служителя и неговите подчинени)
|
||||
Permission20003=Delete leave requests
|
||||
Permission20004=Преглед на всички молби за отпуск (дори на служители които не са подчинени на служителя)
|
||||
Permission20005=Създаване / редактиране на всички молби за отпуск (дори на служители, които не са подчинени на служителя)
|
||||
Permission20006=Admin leave requests (setup and update balance)
|
||||
Permission23001=Read Scheduled job
|
||||
Permission23002=Create/update Scheduled job
|
||||
Permission23003=Delete Scheduled job
|
||||
Permission23004=Execute Scheduled job
|
||||
Permission2401=Прочетете действия (събития или задачи), свързани с неговата сметка
|
||||
Permission2402=Създаване/промяна действия (събития или задачи), свързани с неговата сметка
|
||||
Permission2403=Изтрий действия (събития или задачи), свързани с неговата сметка
|
||||
@ -882,9 +882,41 @@ Permission2503=Изпращане или изтриване на докумен
|
||||
Permission2515=Setup документи директории
|
||||
Permission2801=Използвайте FTP клиент в режим на четене (да преглеждате и сваляте само)
|
||||
Permission2802=Използвайте FTP клиент в режим на запис (изтриване или качване на файлове)
|
||||
Permission3200=Read archived events and fingerprints
|
||||
Permission4001=See employees
|
||||
Permission4002=Create employees
|
||||
Permission4003=Delete employees
|
||||
Permission4004=Export employees
|
||||
Permission10001=Read website content
|
||||
Permission10002=Create/modify website content (html and javascript content)
|
||||
Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.
|
||||
Permission10005=Delete website content
|
||||
Permission20001=Преглед на молби за отпуск (на служителя и неговите подчинени)
|
||||
Permission20002=Създаване / редактиране на молби за отпуск (на служителя и неговите подчинени)
|
||||
Permission20003=Delete leave requests
|
||||
Permission20004=Преглед на всички молби за отпуск (дори на служители които не са подчинени на служителя)
|
||||
Permission20005=Създаване / редактиране на всички молби за отпуск (дори на служители, които не са подчинени на служителя)
|
||||
Permission20006=Admin leave requests (setup and update balance)
|
||||
Permission23001=Read Scheduled job
|
||||
Permission23002=Create/update Scheduled job
|
||||
Permission23003=Delete Scheduled job
|
||||
Permission23004=Execute Scheduled job
|
||||
Permission50101=Използване на точка на продажба
|
||||
Permission50201=Прочети сделки
|
||||
Permission50202=Сделки на внос
|
||||
Permission50401=Bind products and invoices with accounting accounts
|
||||
Permission50411=Read operations in ledger
|
||||
Permission50412=Write/Edit operations in ledger
|
||||
Permission50414=Delete operations in ledger
|
||||
Permission50415=Delete all operations by year and journal in ledger
|
||||
Permission50418=Export operations of the ledger
|
||||
Permission50420=Report and export reports (turnover, balance, journals, ledger)
|
||||
Permission50430=Define and close a fiscal year
|
||||
Permission50440=Manage chart of accounts, setup of accountancy
|
||||
Permission51001=Read assets
|
||||
Permission51002=Create/Update assets
|
||||
Permission51003=Delete assets
|
||||
Permission51005=Setup types of asset
|
||||
Permission54001=Print
|
||||
Permission55001=Read polls
|
||||
Permission55002=Create/modify polls
|
||||
@ -1078,7 +1110,7 @@ AreaForAdminOnly=Параметрите за настройка могат да
|
||||
SystemInfoDesc=Информационна система Разни техническа информация можете да получите в режим само за четене и видими само за администратори.
|
||||
SystemAreaForAdminOnly=Тази секция е достъпна само за администратори. Потребителските права в Dolibarr не могат да променят това ограничение.
|
||||
CompanyFundationDesc=Редактирайте информацията за фирма / организация като кликнете върху бутона '%s' или '%s' в долната част на страницата.
|
||||
AccountantDesc=Редактирайте данните на вашия счетоводител / одитор
|
||||
AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information.
|
||||
AccountantFileNumber=Счетоводен код
|
||||
DisplayDesc=Тук могат да се променят параметрите, които влияят на външния вид и поведението на Dolibarr.
|
||||
AvailableModules=Налични приложения / модули
|
||||
@ -1891,3 +1923,5 @@ IFTTTDesc=Този модул е предназначен да задейств
|
||||
UrlForIFTTT=URL адрес за IFTTT
|
||||
YouWillFindItOnYourIFTTTAccount=Ще го намерите във вашият IFTTT акаунт
|
||||
EndPointFor=Крайна точка за %s: %s
|
||||
DeleteEmailCollector=Delete email collector
|
||||
ConfirmDeleteEmailCollector=Are you sure you want to delete this email collectore?
|
||||
|
||||
65
htdocs/langs/bg_BG/assets.lang
Normal file
65
htdocs/langs/bg_BG/assets.lang
Normal file
@ -0,0 +1,65 @@
|
||||
# Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Generic
|
||||
#
|
||||
Assets = Активи
|
||||
NewAsset = Нов актив
|
||||
AccountancyCodeAsset = Счетоводен код (актив)
|
||||
AccountancyCodeDepreciationAsset = Счетоводен код (сметка за амортизационни активи)
|
||||
AccountancyCodeDepreciationExpense = Счетоводен код (сметка за амортизационни разходи)
|
||||
NewAssetType=Нов вид актив
|
||||
AssetsTypeSetup=Настройка на тип активи
|
||||
AssetTypeModified=Видът на актива е променен
|
||||
AssetType=Вид актив
|
||||
AssetsLines=Активи
|
||||
DeleteType=Изтриване
|
||||
DeleteAnAssetType=Изтриване на вид актив
|
||||
ConfirmDeleteAssetType=Сигурни ли сте, че искате да изтриете този вид актив?
|
||||
ShowTypeCard=Показване на вид '%s'
|
||||
|
||||
# Module label 'ModuleAssetsName'
|
||||
ModuleAssetsName = Активи
|
||||
# Module description 'ModuleAssetsDesc'
|
||||
ModuleAssetsDesc = Описание на активи
|
||||
|
||||
#
|
||||
# Admin page
|
||||
#
|
||||
AssetsSetup = Настройка на активи
|
||||
Settings = Настройки
|
||||
AssetsSetupPage = Страница за настройка на активите
|
||||
ExtraFieldsAssetsType = Допълнителни атрибути (Вид на актива)
|
||||
AssetsType=Вид актив
|
||||
AssetsTypeId=№ на актива
|
||||
AssetsTypeLabel=Вид актив етикет
|
||||
AssetsTypes=Видове активи
|
||||
|
||||
#
|
||||
# Menu
|
||||
#
|
||||
MenuAssets = Активи
|
||||
MenuNewAsset = Нов Актив
|
||||
MenuTypeAssets = Вид активи
|
||||
MenuListAssets = Списък
|
||||
MenuNewTypeAssets = Нов
|
||||
MenuListTypeAssets = Списък
|
||||
|
||||
#
|
||||
# Module
|
||||
#
|
||||
NewAssetType=Нов вид актив
|
||||
NewAsset=Нов актив
|
||||
@ -100,7 +100,7 @@ NotReconciled=Не е съгласувано
|
||||
CustomerInvoicePayment=Клиентско плащане
|
||||
SupplierInvoicePayment=Плащане на доставчик
|
||||
SubscriptionPayment=Плащане на членски внос
|
||||
WithdrawalPayment=Оттегляне плащане
|
||||
WithdrawalPayment=Платежно нареждане за дебит
|
||||
SocialContributionPayment=Social/fiscal tax payment
|
||||
BankTransfer=Банков превод
|
||||
BankTransfers=Банкови преводи
|
||||
|
||||
@ -263,7 +263,7 @@ Repeatables=Шаблони
|
||||
ChangeIntoRepeatableInvoice=Превърни в шаблон за фактура
|
||||
CreateRepeatableInvoice=Създай шаблон за фактура
|
||||
CreateFromRepeatableInvoice=Създай от шаблон за фактура
|
||||
CustomersInvoicesAndInvoiceLines=Фактури за продажба и техните детайли
|
||||
CustomersInvoicesAndInvoiceLines=Фактури клиенти и техните детайли
|
||||
CustomersInvoicesAndPayments=Продажни фактури и плащания
|
||||
ExportDataset_invoice_1=Фактури за продажба и техните детайли
|
||||
ExportDataset_invoice_2=Продажни фактури и плащания
|
||||
|
||||
54
htdocs/langs/bg_BG/blockedlog.lang
Normal file
54
htdocs/langs/bg_BG/blockedlog.lang
Normal file
@ -0,0 +1,54 @@
|
||||
BlockedLog=Unalterable Logs
|
||||
Field=Област
|
||||
BlockedLogDesc=This module tracks some events into an unalterable log (that you can't modify once recorded) into a block chain, in real time. This module provides compatibility with requirements of laws of some countries (like France with the law Finance 2016 - Norme NF525).
|
||||
Fingerprints=Archived events and fingerprints
|
||||
FingerprintsDesc=This is the tool to browse or extract the unalterable logs. Unalterable logs are generated and archived locally into a dedicated table, in real time when you record a business event. You can use this tool to export this archive and save it into an external support (some countries, like France, ask that you do it every year). Note that, there is no feature to purge this log and every change tried to be done directly into this log (by a hacker for example) will be reported with a non-valid fingerprint. If you really need to purge this table because you used your application for a demo/test purpose and want to clean your data to start your production, you can ask your reseller or integrator to reset your database (all your data will be removed).
|
||||
CompanyInitialKey=Company initial key (hash of genesis block)
|
||||
BrowseBlockedLog=Unalterable logs
|
||||
ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long)
|
||||
ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long)
|
||||
DownloadBlockChain=Download fingerprints
|
||||
KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists).
|
||||
OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one.
|
||||
OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously.
|
||||
AddedByAuthority=Stored into remote authority
|
||||
NotAddedByAuthorityYet=Not yet stored into remote authority
|
||||
ShowDetails=Show stored details
|
||||
logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created
|
||||
logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified
|
||||
logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion
|
||||
logPAYMENT_ADD_TO_BANK=Payment added to bank
|
||||
logPAYMENT_CUSTOMER_CREATE=Customer payment created
|
||||
logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion
|
||||
logDONATION_PAYMENT_CREATE=Donation payment created
|
||||
logDONATION_PAYMENT_DELETE=Donation payment logical deletion
|
||||
logBILL_PAYED=Клиентската фактура е платена
|
||||
logBILL_UNPAYED=Customer invoice set unpaid
|
||||
logBILL_VALIDATE=Продажната фактура е валидирана
|
||||
logBILL_SENTBYMAIL=Customer invoice send by mail
|
||||
logBILL_DELETE=Customer invoice logically deleted
|
||||
logMODULE_RESET=Module BlockedLog was disabled
|
||||
logMODULE_SET=Module BlockedLog was enabled
|
||||
logDON_VALIDATE=Donation validated
|
||||
logDON_MODIFY=Donation modified
|
||||
logDON_DELETE=Donation logical deletion
|
||||
logMEMBER_SUBSCRIPTION_CREATE=Member subscription created
|
||||
logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified
|
||||
logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion
|
||||
logCASHCONTROL_VALIDATE=Cash fence recording
|
||||
BlockedLogBillDownload=Customer invoice download
|
||||
BlockedLogBillPreview=Customer invoice preview
|
||||
BlockedlogInfoDialog=Log Details
|
||||
ListOfTrackedEvents=List of tracked events
|
||||
Fingerprint=Fingerprint
|
||||
DownloadLogCSV=Export archived logs (CSV)
|
||||
logDOC_PREVIEW=Preview of a validated document in order to print or download
|
||||
logDOC_DOWNLOAD=Download of a validated document in order to print or send
|
||||
DataOfArchivedEvent=Full datas of archived event
|
||||
ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data)
|
||||
BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit.
|
||||
BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit.
|
||||
BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log).
|
||||
OnlyNonValid=Non-valid
|
||||
TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters.
|
||||
RestrictYearToExport=Restrict month / year to export
|
||||
@ -35,7 +35,7 @@ BoxTitleOldestUnpaidCustomerBills=Фактури за продажба: %s на
|
||||
BoxTitleOldestUnpaidSupplierBills=Фактури за доставка: %s най-стари неплатени
|
||||
BoxTitleCurrentAccounts=Отворени сметки: баланси
|
||||
BoxTitleLastModifiedContacts=Контакти / Адреси: %s последно променени
|
||||
BoxMyLastBookmarks=Bookmarks: latest %s
|
||||
BoxMyLastBookmarks=Отметки: %s последни
|
||||
BoxOldestExpiredServices=Най-старите действащи изтекли услуги
|
||||
BoxLastExpiredServices=Договори: %s най-стари договори с активни изтичащи услуги
|
||||
BoxTitleLastActionsToDo=Действия за извършване: %s последни
|
||||
@ -65,7 +65,7 @@ NoRecordedContracts=Няма регистрирани договори
|
||||
NoRecordedInterventions=Няма записани намеси
|
||||
BoxLatestSupplierOrders=Последни поръчки за покупка
|
||||
NoSupplierOrder=Няма регистрирани поръчка за покупка
|
||||
BoxCustomersInvoicesPerMonth=Фактури за продажба на месец
|
||||
BoxCustomersInvoicesPerMonth=Фактури клиенти по месец
|
||||
BoxSuppliersInvoicesPerMonth=Фактури за доставка на месец
|
||||
BoxCustomersOrdersPerMonth=Клиентски поръчки на месец
|
||||
BoxSuppliersOrdersPerMonth=Поръчки за покупка на месец
|
||||
|
||||
@ -68,3 +68,4 @@ Terminal=Терминал
|
||||
NumberOfTerminals=Брой терминали
|
||||
TerminalSelect=Изберете терминал, който искате да използвате:
|
||||
POSTicket=POS тикет
|
||||
BasicPhoneLayout=Use basic layout for phones
|
||||
|
||||
@ -78,9 +78,9 @@ GroupEmails=Групови имейли
|
||||
OneEmailPerRecipient=Един имейл за получател (по подразбиране е избран един имейл за всеки запис)
|
||||
WarningIfYouCheckOneRecipientPerEmail=Внимание, ако поставите отметка в това квадратче, това означава, че само един имейл ще бъде изпратен за няколко различни избрани записа, така че, ако съобщението ви съдържа заместващи променливи, които се отнасят до данни от даден запис, няма да е възможно да ги замените.
|
||||
ResultOfMailSending=Резултат от масовото изпращане на имейл
|
||||
NbSelected=Брой избрани
|
||||
NbIgnored=Брой игнорирани
|
||||
NbSent=Брой изпратени
|
||||
NbSelected=Number selected
|
||||
NbIgnored=Number ignored
|
||||
NbSent=Number sent
|
||||
SentXXXmessages=%s изпратен(о)(и) съобщени(е)(я).
|
||||
ConfirmUnvalidateEmailing=Сигурни ли сте, че искате да превърнете имейла <b>%s</b> в чернова?
|
||||
MailingModuleDescContactsWithThirdpartyFilter=Контакт с клиентски филтри
|
||||
|
||||
@ -171,7 +171,7 @@ MembersStatisticsDesc=Изберете статистически данни, к
|
||||
MenuMembersStats=Статистика
|
||||
LastMemberDate=Latest member date
|
||||
LatestSubscriptionDate=Latest subscription date
|
||||
Nature=Същност
|
||||
MemberNature=Nature of member
|
||||
Public=Информацията е публичнна
|
||||
NewMemberbyWeb=Новия член е добавен. Очаква се одобрение
|
||||
NewMemberForm=Форма за нов член
|
||||
|
||||
17
htdocs/langs/bg_BG/mrp.lang
Normal file
17
htdocs/langs/bg_BG/mrp.lang
Normal file
@ -0,0 +1,17 @@
|
||||
MRPArea=Секция за планиране на материалните изисквания
|
||||
MenuBOM=Спецификации
|
||||
LatestBOMModified=Спецификации: %s последно променени
|
||||
BillOfMaterials=Спецификация
|
||||
BOMsSetup=Настройка на модул Спецификации
|
||||
ListOfBOMs=Списък на спецификации
|
||||
NewBOM=Нова спецификация
|
||||
ProductBOMHelp=Продукт за създаване с тази спецификация
|
||||
BOMsNumberingModules=Шаблони за номериране на спецификации
|
||||
BOMsModelModule=Шаблони на документи на спецификации
|
||||
FreeLegalTextOnBOMs=Свободен текст към документа на спецификация
|
||||
WatermarkOnDraftBOMs=Воден знак върху чернова на спецификация
|
||||
ConfirmCloneBillOfMaterials=Сигурни ли сте, че искате да клонирате тази спецификация?
|
||||
ManufacturingEfficiency=Ефективност на производството
|
||||
ValueOfMeansLoss=Стойност 0.95 означава средна стойност от 5%% загуба по време на производството
|
||||
DeleteBillOfMaterials=Изтриване на спецификация
|
||||
ConfirmDeleteBillOfMaterials=Сигурни ли сте, че искате да изтриете тази спецификация?
|
||||
@ -159,7 +159,7 @@ SuppliersPrices=Доставни цени
|
||||
SuppliersPricesOfProductsOrServices=Доставни цени (на продукти/услуги)
|
||||
CustomCode=Митнически / Стоков / ХС код
|
||||
CountryOrigin=Държава на произход
|
||||
Nature=Вид на продукта (материал/завършен)
|
||||
Nature=Nature of produt (material/finished)
|
||||
ShortLabel=Кратък етикет
|
||||
Unit=Мярка
|
||||
p=е.
|
||||
|
||||
45
htdocs/langs/bg_BG/receptions.lang
Normal file
45
htdocs/langs/bg_BG/receptions.lang
Normal file
@ -0,0 +1,45 @@
|
||||
# Dolibarr language file - Source file is en_US - receptions
|
||||
ReceptionsSetup=Product Reception setup
|
||||
RefReception=Ref. reception
|
||||
Reception=Прием
|
||||
Receptions=Receptions
|
||||
AllReceptions=All Receptions
|
||||
Reception=Прием
|
||||
Receptions=Receptions
|
||||
ShowReception=Show Receptions
|
||||
ReceptionsArea=Receptions area
|
||||
ListOfReceptions=List of receptions
|
||||
ReceptionMethod=Reception method
|
||||
LastReceptions=Latest %s receptions
|
||||
StatisticsOfReceptions=Statistics for receptions
|
||||
NbOfReceptions=Number of receptions
|
||||
NumberOfReceptionsByMonth=Number of receptions by month
|
||||
ReceptionCard=Reception card
|
||||
NewReception=New reception
|
||||
CreateReception=Create reception
|
||||
QtyInOtherReceptions=Qty in other receptions
|
||||
OtherReceptionsForSameOrder=Other receptions for this order
|
||||
ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order
|
||||
ReceptionsToValidate=Receptions to validate
|
||||
StatusReceptionCanceled=Отменен
|
||||
StatusReceptionDraft=Чернова
|
||||
StatusReceptionValidated=Утвърден (продукти, да превозва или вече са изпратени)
|
||||
StatusReceptionProcessed=Обработена
|
||||
StatusReceptionDraftShort=Чернова
|
||||
StatusReceptionValidatedShort=Валидирано
|
||||
StatusReceptionProcessedShort=Обработена
|
||||
ReceptionSheet=Reception sheet
|
||||
ConfirmDeleteReception=Are you sure you want to delete this reception?
|
||||
ConfirmValidateReception=Are you sure you want to validate this reception with reference <b>%s</b>?
|
||||
ConfirmCancelReception=Are you sure you want to cancel this reception?
|
||||
StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known).
|
||||
SendReceptionByEMail=Send reception by email
|
||||
SendReceptionRef=Submission of reception %s
|
||||
ActionsOnReception=Events on reception
|
||||
ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card.
|
||||
ReceptionLine=Reception line
|
||||
ProductQtyInReceptionAlreadySent=Вече изпратено количество продукт от отворена поръчка
|
||||
ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received
|
||||
ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions.
|
||||
ReceptionsNumberingModules=Numbering module for receptions
|
||||
ReceptionsReceiptModel=Document templates for receptions
|
||||
@ -1,18 +1,21 @@
|
||||
# Dolibarr language file - Source file is en_US - salaries
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accouting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accouting account on user is not defined.
|
||||
SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Счетоводна сметка, използвана за контрагенти
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Специализираната счетоводна сметка, дефинирана в картата на потребителя, ще се използва само за вторично счетоводно отчитане. Тя ще бъде използвана в регистъра на главната книга и като стойност по подразбиране за вторично счетоводно отчитане, ако не е дефинирана специализирана потребителска счетоводна сметка за потребителя.
|
||||
SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Счетоводна сметка по подразбиране за плащане на заплати
|
||||
Salary=Заплата
|
||||
Salaries=Заплати
|
||||
NewSalaryPayment=Ново заплащане на заплата
|
||||
NewSalaryPayment=Ново плащане на заплата
|
||||
AddSalaryPayment=Добавяне на плащане на заплата
|
||||
SalaryPayment=Плащане на заплата
|
||||
SalariesPayments=Заплащания заплати
|
||||
ShowSalaryPayment=Показване заплащане на заплата
|
||||
THM=Average hourly rate
|
||||
TJM=Average daily rate
|
||||
CurrentSalary=Сегашна заплата
|
||||
THMDescription=Тази стойност може да използва за изчисляване на отнето време по проект отделено от потребителите ако модул проект се използва
|
||||
TJMDescription=Тази стойност е само сега като информация и не се използва за никакво изчисление
|
||||
LastSalaries=Latest %s salary payments
|
||||
AllSalaries=All salary payments
|
||||
SalariesStatistics=Statistiques salaires
|
||||
SalariesPayments=Плащания на заплати
|
||||
ShowSalaryPayment=Показване на плащане на заплата
|
||||
THM=Средна почасова ставка
|
||||
TJM=Средна дневна ставка
|
||||
CurrentSalary=Текуща заплата
|
||||
THMDescription=Тази стойност може да се използва за изчисляване на разходите за времето, изразходвано по проект, ако модула проекти се използва.
|
||||
TJMDescription=Тази стойност понастоящем е информативна и не се използва за изчисления
|
||||
LastSalaries=Плащания на заплати: %s последни
|
||||
AllSalaries=Всички плащания на заплати
|
||||
SalariesStatistics=Статистика на заплатите
|
||||
# Export
|
||||
SalariesAndPayments=Salaries and payments
|
||||
|
||||
@ -66,10 +66,12 @@ RuleForStockManagementIncrease=Избиране на правило за авт
|
||||
DeStockOnBill=Намаляване на реални наличности при валидиране на фактура за продажба / кредитно известие
|
||||
DeStockOnValidateOrder=Намаляване на реални наличности при валидиране на клиентска поръчка
|
||||
DeStockOnShipment=Намаляване на реални наличности при валидиране на доставка
|
||||
DeStockOnShipmentOnClosing=Намаляване на реални наличности при класифициране на доставка като затворена
|
||||
DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed
|
||||
ReStockOnBill=Увеличаване на реални наличности при валидиране на фактура за покупка / кредитно известие
|
||||
ReStockOnValidateOrder=Увеличаване на реални наличности при одобряване на поръчка за покупка
|
||||
ReStockOnDispatchOrder=Увеличаване на реални наличности при ръчно изпращане в склад, след получаване на поръчка за покупка на стоки
|
||||
StockOnReception=Increase real stocks on validation of reception
|
||||
StockOnReceptionOnClosing=Increase real stocks when reception is set to closed
|
||||
OrderStatusNotReadyToDispatch=Поръчка все още не е или не повече статут, който позволява изпращането на продукти на склад складове.
|
||||
StockDiffPhysicTeoric=Обясняване за разликата между физическа и виртуална наличност
|
||||
NoPredefinedProductToDispatch=Няма предварително определени продукти за този обект, така че не се изисква изпращане на наличност.
|
||||
|
||||
294
htdocs/langs/bg_BG/ticket.lang
Normal file
294
htdocs/langs/bg_BG/ticket.lang
Normal file
@ -0,0 +1,294 @@
|
||||
# en_US lang file for module ticket
|
||||
# Copyright (C) 2013 Jean-François FERRY <hello@librethic.io>
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Generic
|
||||
#
|
||||
|
||||
Module56000Name=Тикети
|
||||
Module56000Desc=Тикет система за управление и обслужване на запитвания
|
||||
|
||||
Permission56001=Преглед на тикети
|
||||
Permission56002=Промяна на тикети
|
||||
Permission56003=Изтриване на тикети
|
||||
Permission56004=Управление на тикети
|
||||
Permission56005=Преглед на тикети от всички контрагенти (не е приложимо за външни потребители, винаги ще бъдат ограничени до контрагента, от който зависят)
|
||||
|
||||
TicketDictType=Тикет - Видове
|
||||
TicketDictCategory=Тикет - Групи
|
||||
TicketDictSeverity=Тикет - Важност
|
||||
TicketTypeShortBUGSOFT=Софтуерна неизправност
|
||||
TicketTypeShortBUGHARD=Хардуерна неизправност
|
||||
TicketTypeShortCOM=Търговски въпрос
|
||||
TicketTypeShortINCIDENT=Молба за съдействие
|
||||
TicketTypeShortPROJET=Проект
|
||||
TicketTypeShortOTHER=Друго
|
||||
|
||||
TicketSeverityShortLOW=Ниска
|
||||
TicketSeverityShortNORMAL=Нормална
|
||||
TicketSeverityShortHIGH=Висока
|
||||
TicketSeverityShortBLOCKING=Критична/Блокираща
|
||||
|
||||
ErrorBadEmailAddress=Полето "%s" е неправилно
|
||||
MenuTicketMyAssign=Моите тикети
|
||||
MenuTicketMyAssignNonClosed=Моите отворени тикети
|
||||
MenuListNonClosed=Отворени тикети
|
||||
|
||||
TypeContact_ticket_internal_CONTRIBUTOR=Сътрудник
|
||||
TypeContact_ticket_internal_SUPPORTTEC=Отговорен служител
|
||||
TypeContact_ticket_external_SUPPORTCLI=Контакт на контрагента проследяващ тикета
|
||||
TypeContact_ticket_external_CONTRIBUTOR=Сътрудник от страна на контрагента
|
||||
|
||||
OriginEmail=Имейл източник
|
||||
Notify_TICKET_SENTBYMAIL=Изпращане на тикет съобщението по имейл
|
||||
|
||||
# Status
|
||||
NotRead=Непрочетен
|
||||
Read=Прочетен
|
||||
Assigned=Назначен
|
||||
InProgress=В процес
|
||||
NeedMoreInformation=Изчакване на информация
|
||||
Answered=Отговорен
|
||||
Waiting=Изчакващ
|
||||
Closed=Затворен
|
||||
Deleted=Изтрит
|
||||
|
||||
# Dict
|
||||
Type=Вид
|
||||
Category=Аналитичен код
|
||||
Severity=Важност
|
||||
|
||||
# Email templates
|
||||
MailToSendTicketMessage=За да изпратите имейл с това съобщение
|
||||
|
||||
#
|
||||
# Admin page
|
||||
#
|
||||
TicketSetup=Настройка на тикет модула
|
||||
TicketSettings=Настройки
|
||||
TicketSetupPage=
|
||||
TicketPublicAccess=Публичен интерфейс, който не изисква идентификация, е достъпен на следния URL адрес
|
||||
TicketSetupDictionaries=Видът на тикета, важността и аналитичните кодове се конфигурират от речници
|
||||
TicketParamModule=Настройка на променливите в модула
|
||||
TicketParamMail=Настройка на имейл известяването
|
||||
TicketEmailNotificationFrom=Известяващ имейл от
|
||||
TicketEmailNotificationFromHelp=Използван при отговор и изпращане на тикет съобщения
|
||||
TicketEmailNotificationTo=Известяващ имейл до
|
||||
TicketEmailNotificationToHelp=Използван за получаване на известия от тикет съобщения
|
||||
TicketNewEmailBodyLabel=Текстово съобщение, изпратено след създаване на тикет
|
||||
TicketNewEmailBodyHelp=Текстът, посочен тук, ще бъде включен в имейла, потвърждаващ създаването на нов тикет от публичния интерфейс. Информацията с детайлите на тикета се добавя автоматично.
|
||||
TicketParamPublicInterface=Настройка на публичен интерфейс
|
||||
TicketsEmailMustExist=Изисква съществуващ имейл адрес, за да се създаде тикет
|
||||
TicketsEmailMustExistHelp=В публичния интерфейс имейл адресът трябва да е вече въведен в базата данни, за да се създаде нов тикет.
|
||||
PublicInterface=Публичен интерфейс
|
||||
TicketUrlPublicInterfaceLabelAdmin=Алтернативен URL адрес за публичния интерфейс
|
||||
TicketUrlPublicInterfaceHelpAdmin=Възможно е да се дефинира псевдоним на уеб сървъра и по този начин да се предостави достъп до публичния интерфейс от друг URL адрес (сървърът трябва да действа като прокси сървър в този нов URL адрес)
|
||||
TicketPublicInterfaceTextHomeLabelAdmin=Приветстващ текст на публичния интерфейс
|
||||
TicketPublicInterfaceTextHome=Може да създадете тикет в системата за управление и обслужване на запитвания или да прегледате съществуващ като използвате номера за проследяване и Вашият имейл адрес.
|
||||
TicketPublicInterfaceTextHomeHelpAdmin=Текстът, определен тук, ще се появи на началната страница на публичния интерфейс.
|
||||
TicketPublicInterfaceTopicLabelAdmin=Заглавие на интерфейса
|
||||
TicketPublicInterfaceTopicHelp=Този текст ще се появи като заглавие на публичния интерфейс.
|
||||
TicketPublicInterfaceTextHelpMessageLabelAdmin=Помощен текст към съобщението
|
||||
TicketPublicInterfaceTextHelpMessageHelpAdmin=Този текст ще се появи над мястото с въведено съобщение от потребителя.
|
||||
ExtraFieldsTicket=Допълнителни атрибути
|
||||
TicketCkEditorEmailNotActivated=HTML редакторът не е активиран. Моля, задайте стойност 1 на константата FCKEDITOR_ENABLE_MAIL, за да го активирате.
|
||||
TicketsDisableEmail=Не изпращай имейли при създаване или добавяне на съобщение
|
||||
TicketsDisableEmailHelp=По подразбиране се изпращат имейли, когато са създадени нови тикети или съобщения. Активирайте тази опция, за да деактивирате *всички* известия по имейл
|
||||
TicketsLogEnableEmail=Активиране на вход с имейл
|
||||
TicketsLogEnableEmailHelp=При всяка промяна ще бъде изпратен имейл **на всеки контакт**, свързан с тикета.
|
||||
TicketParams=Параметри
|
||||
TicketsShowModuleLogo=Показване на логото на модула в публичния интерфейс
|
||||
TicketsShowModuleLogoHelp=Активирайте тази опция, за да скриете логото на модула от страниците на публичния интерфейс
|
||||
TicketsShowCompanyLogo=Показване на логото на фирмата в публичния интерфейс
|
||||
TicketsShowCompanyLogoHelp=Активирайте тази опция, за да скриете логото на основната фирма от страниците на публичния интерфейс
|
||||
TicketsEmailAlsoSendToMainAddress=Изпращане на известие до основния имейл адрес
|
||||
TicketsEmailAlsoSendToMainAddressHelp=Активирайте тази опция, за да изпратите имейл до "Известяващ имейл от" (вижте настройката по-долу)
|
||||
TicketsLimitViewAssignedOnly=Ограничаване на показването на тикети до такива, които са назначени на текущия потребител (не е приложимо за външни потребители, винаги ще бъдат ограничени до контрагента, от който зависят)
|
||||
TicketsLimitViewAssignedOnlyHelp=Само тикети, възложени на текущия потребител ще бъдат показвани. Не важи за потребител с права за управление на тикети.
|
||||
TicketsActivatePublicInterface=Активиране на публичния интерфейс
|
||||
TicketsActivatePublicInterfaceHelp=Публичният интерфейс позволява на всички посетители да създават тикети.
|
||||
TicketsAutoAssignTicket=Автоматично възлагане на тикета на потребителя, който го е създал
|
||||
TicketsAutoAssignTicketHelp=При създаване на тикет, той може автоматично да бъде възложен на потребителя, който го е създал.
|
||||
TicketNumberingModules=Модул за номериране на тикети
|
||||
TicketNotifyTiersAtCreation=Уведомяване на контрагента при създаване
|
||||
TicketGroup=Група
|
||||
TicketsDisableCustomerEmail=Деактивиране на имейлите, когато тикетът е създаден от публичния интерфейс
|
||||
#
|
||||
# Index & list page
|
||||
#
|
||||
TicketsIndex=Начална страница
|
||||
TicketList=Списък с тикети
|
||||
TicketAssignedToMeInfos=Тази страница показва списъка с тикети, създадени от или възложени на текущия потребител
|
||||
NoTicketsFound=Няма намерен тикет
|
||||
NoUnreadTicketsFound=Не са открити непрочетени тикети
|
||||
TicketViewAllTickets=Преглед на всички тикети
|
||||
TicketViewNonClosedOnly=Преглед на отворените тикети
|
||||
TicketStatByStatus=Тикети по статус
|
||||
|
||||
#
|
||||
# Ticket card
|
||||
#
|
||||
Ticket=Тикет
|
||||
TicketCard=Карта
|
||||
CreateTicket=Създаване на тикет
|
||||
EditTicket=Редактиране на тикет
|
||||
TicketsManagement=Управление на тикети
|
||||
CreatedBy=Създаден от
|
||||
NewTicket=Нов тикет
|
||||
SubjectAnswerToTicket=Отговор на тикет
|
||||
TicketTypeRequest=Вид на тикета
|
||||
TicketCategory=Аналитичен код
|
||||
SeeTicket=Преглед на тикет
|
||||
TicketMarkedAsRead=Тикетът е маркиран като прочетен
|
||||
TicketReadOn=Прочетен на
|
||||
TicketCloseOn=Дата на приключване
|
||||
MarkAsRead=Маркиране на тикета като прочетен
|
||||
TicketHistory=История
|
||||
AssignUser=Възлагане на служител
|
||||
TicketAssigned=Тикетът е възложен
|
||||
TicketChangeType=Промяна на вида
|
||||
TicketChangeCategory=Промяна на аналитичния код
|
||||
TicketChangeSeverity=Промяна на важността
|
||||
TicketAddMessage=Добавяне на съобщение
|
||||
AddMessage=Добавяне на съобщение
|
||||
MessageSuccessfullyAdded=Тикетът е добавен
|
||||
TicketMessageSuccessfullyAdded=Съобщението е успешно добавено
|
||||
TicketMessagesList=Списък със съобщения
|
||||
NoMsgForThisTicket=Няма съобщение за този тикет
|
||||
Properties=Реквизити
|
||||
LatestNewTickets=Тикети: %s най-нови тикета (непрочетени)
|
||||
TicketSeverity=Важност
|
||||
ShowTicket=Преглед на тикет
|
||||
RelatedTickets=Свързани тикети
|
||||
TicketAddIntervention=Създаване на интервенция
|
||||
CloseTicket=Затваряне на тикет
|
||||
CloseATicket=Затваряне на тикет
|
||||
ConfirmCloseAticket=Потвърдете затварянето на тикета
|
||||
ConfirmDeleteTicket=Моля, потвърдете изтриването на билета
|
||||
TicketDeletedSuccess=Тикетът е успешно изтрит
|
||||
TicketMarkedAsClosed=Тикетът е маркиран като затворен
|
||||
TicketDurationAuto=Изчислена продължителност
|
||||
TicketDurationAutoInfos=Продължителност, изчислена автоматично според необходимите действия
|
||||
TicketUpdated=Тикетът е актуализиран
|
||||
SendMessageByEmail=Изпращане на съобщение по имейл
|
||||
TicketNewMessage=Ново съобщение
|
||||
ErrorMailRecipientIsEmptyForSendTicketMessage=Полето за получател е празно, не беше изпратен имейл.
|
||||
TicketGoIntoContactTab=Моля отидете в раздел "Контакти", откъдето може да изберете.
|
||||
TicketMessageMailIntro=Въведение
|
||||
TicketMessageMailIntroHelp=Този текст се добавя само в началото на имейла и няма да бъде запазен.
|
||||
TicketMessageMailIntroLabelAdmin=Въведение към съобщението при изпращане на имейл
|
||||
TicketMessageMailIntroText=Здравейте,<br>Беше добавено ново съобщение към тикет, за който сте асоцииран като контакт. Ето и съобщението:<br>
|
||||
TicketMessageMailIntroHelpAdmin=Този текст ще бъде вмъкнат преди текста за отговор към тикета.
|
||||
TicketMessageMailSignature=Подпис
|
||||
TicketMessageMailSignatureHelp=Този текст се добавя само в края на имейла и няма да бъде запазен.
|
||||
TicketMessageMailSignatureText=<p>Поздрави,</p><p>--</p>
|
||||
TicketMessageMailSignatureLabelAdmin=Подпис в отговора към имейла
|
||||
TicketMessageMailSignatureHelpAdmin=Този текст ще бъде вмъкнат след съобщението за отговор.
|
||||
TicketMessageHelp=Само този текст ще бъде запазен в списъка със съобщения към тикета.
|
||||
TicketMessageSubstitutionReplacedByGenericValues=Заместващите променливи се заменят от стандартни стойности.
|
||||
TimeElapsedSince=Изминало време
|
||||
TicketTimeToRead=Изминало време преди прочитане
|
||||
TicketContacts=Контакти
|
||||
TicketDocumentsLinked=Документи свързани с тикета
|
||||
ConfirmReOpenTicket=Потвърдете повторното отваряне на този тикет?
|
||||
TicketMessageMailIntroAutoNewPublicMessage=Ново съобщение беше добавено към тикет с тема: %s
|
||||
TicketAssignedToYou=Тикетът ви е възложен
|
||||
TicketAssignedEmailBody=Беше ви възложен тикет с проследяващ код %s от %s
|
||||
MarkMessageAsPrivate=Маркиране на съобщението като лично
|
||||
TicketMessagePrivateHelp=Това съобщение няма да се показва на външни потребители
|
||||
TicketEmailOriginIssuer=Контакт на контрагента проследяващ тикета
|
||||
InitialMessage=Първоначално съобщение
|
||||
LinkToAContract=Свързване към договор
|
||||
TicketPleaseSelectAContract=Изберете договор
|
||||
UnableToCreateInterIfNoSocid=Не може да бъде създадена интервенция без да бъде дефиниран контрагента
|
||||
TicketMailExchanges=История на съобщенията
|
||||
TicketInitialMessageModified=Първоначалното съобщение е променено
|
||||
TicketMessageSuccesfullyUpdated=Съобщението е успешно актуализирано
|
||||
TicketChangeStatus=Промяна на статус
|
||||
TicketConfirmChangeStatus=Потвърдете промяната на статуса на: %s?
|
||||
TicketLogStatusChanged=Статусът е променен: от %s на %s
|
||||
TicketNotNotifyTiersAtCreate=Не уведомява фирмата при създаването на тикета
|
||||
Unread=Непрочетен
|
||||
|
||||
#
|
||||
# Logs
|
||||
#
|
||||
TicketLogMesgReadBy=Тикет %s е прочетен от %s
|
||||
NoLogForThisTicket=Все още няма запис за този тикет
|
||||
TicketLogAssignedTo=Тикет %s е възложен на %s
|
||||
TicketLogPropertyChanged=Тикет %s е редактиран: класификация от %s на %s
|
||||
TicketLogClosedBy=Тикет %s е затворен от %s
|
||||
TicketLogReopen=Тикет %s е отворен повторно
|
||||
|
||||
#
|
||||
# Public pages
|
||||
#
|
||||
TicketSystem=Тикет система
|
||||
ShowListTicketWithTrackId=Проследяване на списък с тикети
|
||||
ShowTicketWithTrackId=Проследяване на тикет
|
||||
TicketPublicDesc=Може да създадете тикет или да проследите съществуващи като използвате кода за проследяване и Вашият имейл адрес.
|
||||
YourTicketSuccessfullySaved=Тикетът е успешно съхранен!
|
||||
MesgInfosPublicTicketCreatedWithTrackId=Беше създаден нов тикет с проследяващ код %s
|
||||
PleaseRememberThisId=Моля, запазете проследяващия код, за който може да ви попитаме по-късно.
|
||||
TicketNewEmailSubject=Потвърждение за създаване на тикет
|
||||
TicketNewEmailSubjectCustomer=Нов тикет
|
||||
TicketNewEmailBody=Това е автоматичен имейл, който потвърждава, че сте регистрирали нов тикет.
|
||||
TicketNewEmailBodyCustomer=Това е автоматичен имейл, който потвърждава, че е създаден нов тикет във вашия фирмен профил.
|
||||
TicketNewEmailBodyInfosTicket=Информация за наблюдение на тикета
|
||||
TicketNewEmailBodyInfosTrackId=Проследяващ код на тикета: %s
|
||||
TicketNewEmailBodyInfosTrackUrl=Може да следите напредъка по тикета като кликнете на връзката по-горе.
|
||||
TicketNewEmailBodyInfosTrackUrlCustomer=Може да следите напредъка по тикета в специалния интерфейс като кликнете върху следната връзка
|
||||
TicketEmailPleaseDoNotReplyToThisEmail=Моля, не отговаряйте директно на този имейл! Използвайте връзката, за да отговорите, чрез интерфейса.
|
||||
TicketPublicInfoCreateTicket=Тази форма позволява да регистрирате тикет в системата за управление и обслужване на запитвания.
|
||||
TicketPublicPleaseBeAccuratelyDescribe=Моля, опишете точно проблема. Посочете възможно най-много информация, за да ни позволите да идентифицираме правилно това запитване.
|
||||
TicketPublicMsgViewLogIn=Моля, въведете проследяващ код и имейл адрес
|
||||
TicketTrackId=Код за проследяване
|
||||
OneOfTicketTrackId=Код за проследяване
|
||||
ErrorTicketNotFound=Тикет с проследяващ код %s не е намерен!
|
||||
Subject=Тема
|
||||
ViewTicket=Преглед на тикет
|
||||
ViewMyTicketList=Преглед на моя списък с тикети
|
||||
ErrorEmailMustExistToCreateTicket=Грешка: имейл адресът не е намерен в нашата база данни
|
||||
TicketNewEmailSubjectAdmin=Създаден е нов тикет
|
||||
TicketNewEmailBodyAdmin=Здравейте,\nБеше създаден нов тикет с проследяващ код %s, вижте информацията за него:\n
|
||||
SeeThisTicketIntomanagementInterface=Вижте тикета в системата за управление и обслужване на запитвания
|
||||
TicketPublicInterfaceForbidden=Достъпът до публичния интерфейс на тикет системата е забранен
|
||||
ErrorEmailOrTrackingInvalid=Неправилна стойност на проследяващ код или имейл адрес
|
||||
OldUser=Бивш потребител
|
||||
NewUser=Нов потребител
|
||||
NumberOfTicketsByMonth=Брой тикети на месец
|
||||
NbOfTickets=Брой тикети
|
||||
# notifications
|
||||
TicketNotificationEmailSubject=Тикет с проследяващ код %s е актуализиран
|
||||
TicketNotificationEmailBody=Здравейте,\nТова е автоматично съобщение, което има за цел да Ви уведоми, че тикет с проследяващ код %s е бил наскоро актуализиран.
|
||||
TicketNotificationRecipient=Получател на уведомлението
|
||||
TicketNotificationLogMessage=Съобщение в историята
|
||||
TicketNotificationEmailBodyInfosTrackUrlinternal=Вижте тикета в системата
|
||||
TicketNotificationNumberEmailSent=Изпратено уведомление по имейл: %s
|
||||
|
||||
ActionsOnTicket=Свързани събития
|
||||
|
||||
#
|
||||
# Boxes
|
||||
#
|
||||
BoxLastTicket=Последно създадени тикети
|
||||
BoxLastTicketDescription=Тикети: %s последно създадени
|
||||
BoxLastTicketContent=
|
||||
BoxLastTicketNoRecordedTickets=Няма скорошни непрочетени тикети
|
||||
BoxLastModifiedTicket=Последно променени тикети
|
||||
BoxLastModifiedTicketDescription=Тикети: %s последно променени
|
||||
BoxLastModifiedTicketContent=
|
||||
BoxLastModifiedTicketNoRecordedTickets=Няма скорошни променени тикети
|
||||
@ -101,3 +101,5 @@ NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynam
|
||||
ReplaceWebsiteContent=Replace website content
|
||||
DeleteAlsoJs=Delete also all javascript files specific to this website?
|
||||
DeleteAlsoMedias=Delete also all medias files specific to this website?
|
||||
# Export
|
||||
MyWebsitePages=My website pages
|
||||
|
||||
@ -69,8 +69,8 @@ WithBankUsingBANBIC=За банкови сметки с IBAN / BIC / SWIFT
|
||||
BankToReceiveWithdraw=Receiving Bank Account
|
||||
CreditDate=Кредит за
|
||||
WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported)
|
||||
ShowWithdraw=Покажи Теглене
|
||||
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Въпреки това, ако фактурата не е все още най-малко една оттегляне плащане обработват, не се определя като плаща, за да се даде възможност да управляват оттеглянето им преди.
|
||||
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=Този раздел ви позволява да заявите плащане с директен дебит. След като направите това, отидете в меню Банка-> плащане с директен дебит, за да управлявате платежното нареждане за директен дебит. Когато платежното нареждане е затворено, плащането по фактура ще бъде автоматично записано и фактурата ще бъде затворена, ако няма остатък за плащане.
|
||||
WithdrawalFile=Withdrawal file
|
||||
SetToStatusSent=Зададен към статус "Файл Изпратен"
|
||||
|
||||
@ -216,7 +216,8 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors
|
||||
ListAccounts=List of the accounting accounts
|
||||
UnknownAccountForThirdparty=Unknown third-party account. We will use %s
|
||||
UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. Blocking error.
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s
|
||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error.
|
||||
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error
|
||||
PaymentsNotLinkedToProduct=Payment not linked to any product / service
|
||||
|
||||
@ -291,7 +292,7 @@ Modelcsv_cogilog=Export for Cogilog
|
||||
Modelcsv_agiris=Export for Agiris
|
||||
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
||||
Modelcsv_configurable=Export CSV Configurable
|
||||
Modelcsv_FEC=Export FEC (Art. L47 A)
|
||||
Modelcsv_FEC=Export FEC
|
||||
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
||||
ChartofaccountsId=Chart of accounts Id
|
||||
|
||||
@ -316,6 +317,9 @@ WithoutValidAccount=Without valid dedicated account
|
||||
WithValidAccount=With valid dedicated account
|
||||
ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account
|
||||
AccountRemovedFromGroup=Account removed from group
|
||||
SaleLocal=Local sale
|
||||
SaleExport=Export sale
|
||||
SaleEEC=Sale in EEC
|
||||
|
||||
## Dictionary
|
||||
Range=Range of accounting account
|
||||
@ -336,7 +340,7 @@ UseMenuToSetBindindManualy=Lines not yet bound, use menu <a href="%s">%s</a> to
|
||||
|
||||
## Import
|
||||
ImportAccountingEntries=Accounting entries
|
||||
|
||||
DateExport=Date export
|
||||
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manually in the Ledger. If your journalization is up to date, the bookkeeping view is more accurate.
|
||||
ExpenseReportJournal=Expense Report Journal
|
||||
InventoryJournal=Inventory Journal
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user