Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into new_multicurrency_sync_rates
This commit is contained in:
commit
cc21f75c47
@ -322,10 +322,22 @@ if ($resql)
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
|
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
|
||||||
{
|
{
|
||||||
foreach($extrafields->attribute_label as $key => $val)
|
foreach($extrafields->attribute_label as $key => $val)
|
||||||
{
|
{
|
||||||
if (! empty($arrayfields["ef.".$key]['checked'])) print '<td class="liste_titre"></td>';
|
if (! empty($arrayfields["ef.".$key]['checked']))
|
||||||
}
|
{
|
||||||
|
$align=$extrafields->getAlignFlag($key);
|
||||||
|
$typeofextrafield=$extrafields->attribute_type[$key];
|
||||||
|
print '<td class="liste_titre'.($align?' '.$align:'').'">';
|
||||||
|
if (in_array($typeofextrafield, array('varchar', 'int', 'select')))
|
||||||
|
{
|
||||||
|
$crit=$val;
|
||||||
|
$tmpkey=preg_replace('/search_options_/','',$key);
|
||||||
|
print '<input class="flat" size="4" type="text" name="search_options_'.$tmpkey.'" value="'.dol_escape_htmltag($search_array_options['search_options_'.$tmpkey]).'">';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters=array('arrayfields'=>$arrayfields);
|
$parameters=array('arrayfields'=>$arrayfields);
|
||||||
|
|||||||
@ -198,7 +198,8 @@ if (! $conf->use_javascript_ajax) {
|
|||||||
$listmodelcsv = array (
|
$listmodelcsv = array (
|
||||||
'1' => $langs->trans("Modelcsv_normal"),
|
'1' => $langs->trans("Modelcsv_normal"),
|
||||||
'2' => $langs->trans("Modelcsv_CEGID"),
|
'2' => $langs->trans("Modelcsv_CEGID"),
|
||||||
'3' => $langs->trans("Modelcsv_COALA")
|
'3' => $langs->trans("Modelcsv_COALA"),
|
||||||
|
'4' => $langs->trans("Modelcsv_bob50")
|
||||||
);
|
);
|
||||||
print $form->selectarray("modelcsv", $listmodelcsv, $conf->global->ACCOUNTING_EXPORT_MODELCSV, 0);
|
print $form->selectarray("modelcsv", $listmodelcsv, $conf->global->ACCOUNTING_EXPORT_MODELCSV, 0);
|
||||||
|
|
||||||
|
|||||||
@ -109,7 +109,7 @@ if ($action == 'export_csv') {
|
|||||||
|
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
$result = $object->fetchAll($sortorder, $sortfield, 0, 0, $filter);
|
$result = $object->fetchAllBalance($sortorder, $sortfield, 0, 0, $filter);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
@ -118,56 +118,13 @@ if ($action == 'export_csv') {
|
|||||||
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
|
||||||
$sep = ";";
|
$sep = ";";
|
||||||
// Model Cegid Expert Export
|
|
||||||
$date = dol_print_date($line->doc_date, '%d%m%Y');
|
|
||||||
print $date . $sep;
|
|
||||||
print $line->code_journal . $sep;
|
|
||||||
print length_accountg($line->numero_compte) . $sep;
|
|
||||||
print ' ' . $sep;
|
|
||||||
print $line->sens . $sep;
|
|
||||||
print price($line->montant) . $sep;
|
|
||||||
print dol_trunc($line->label_compte, 32) . $sep;
|
|
||||||
print $line->doc_ref . $sep;
|
|
||||||
|
|
||||||
/*print $line->piece_num . $sep;
|
|
||||||
print length_accounta($line->code_tiers) . $sep;
|
|
||||||
print . $sep;
|
|
||||||
print price($line->debit) . $sep;
|
|
||||||
print price($line->credit) . $sep;*/
|
|
||||||
|
|
||||||
print "\n";
|
|
||||||
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
|
|
||||||
|
|
||||||
// Std export
|
|
||||||
$date = dol_print_date($line->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE);
|
|
||||||
print $date . $sep;
|
|
||||||
print $line->doc_ref . $sep;
|
|
||||||
print length_accounta($line->numero_compte) . $sep;
|
|
||||||
print length_accountg($line->code_tiers) . $sep;
|
|
||||||
print price($line->debit) . $sep;
|
|
||||||
print price($line->credit) . $sep;
|
|
||||||
|
|
||||||
/*print $line->piece_num . $sep;
|
|
||||||
print $line->label_compte . $sep;
|
|
||||||
print price($line->montant) . $sep;
|
|
||||||
print $line->sens . $sep;*/
|
|
||||||
print $line->code_journal . $sep;
|
|
||||||
print "\n";
|
|
||||||
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 3) {
|
|
||||||
|
|
||||||
// Coala export
|
|
||||||
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
|
||||||
print $date . $sep;
|
|
||||||
print $line->code_journal . $sep;
|
|
||||||
print length_accounta($line->numero_compte) . $sep;
|
|
||||||
print $line->piece_num . $sep;
|
|
||||||
print $line->doc_ref . $sep;
|
|
||||||
print price($line->debit) . $sep;
|
|
||||||
print price($line->credit) . $sep;
|
|
||||||
print 'E' . $sep;
|
|
||||||
print length_accountg($line->code_tiers) . $sep;
|
|
||||||
print "\n";
|
|
||||||
}
|
}
|
||||||
|
print length_accountg($line->numero_compte) . $sep;
|
||||||
|
print $line->debit . $sep;
|
||||||
|
print $line->credit . $sep;
|
||||||
|
print $line->debit . $sep;
|
||||||
|
print $line->credit - $line->debit . $sep;
|
||||||
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -214,11 +214,7 @@ if ($action == 'delbookkeeping') {
|
|||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
// if (!empty($options)) {
|
|
||||||
// Header("Location: list.php?".urldecode($options));
|
|
||||||
// } else {
|
|
||||||
Header("Location: list.php");
|
Header("Location: list.php");
|
||||||
// }
|
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
} elseif ($action == 'export_csv') {
|
} elseif ($action == 'export_csv') {
|
||||||
@ -246,13 +242,6 @@ if ($action == 'delbookkeeping') {
|
|||||||
print price($line->montant) . $sep;
|
print price($line->montant) . $sep;
|
||||||
print dol_trunc($line->label_compte, 32) . $sep;
|
print dol_trunc($line->label_compte, 32) . $sep;
|
||||||
print $line->doc_ref . $sep;
|
print $line->doc_ref . $sep;
|
||||||
|
|
||||||
/*print $line->piece_num . $sep;
|
|
||||||
print length_accounta($line->code_tiers) . $sep;
|
|
||||||
print . $sep;
|
|
||||||
print price($line->debit) . $sep;
|
|
||||||
print price($line->credit) . $sep;*/
|
|
||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
|
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
|
||||||
|
|
||||||
@ -264,11 +253,6 @@ if ($action == 'delbookkeeping') {
|
|||||||
print length_accounta($line->code_tiers) . $sep;
|
print length_accounta($line->code_tiers) . $sep;
|
||||||
print price($line->debit) . $sep;
|
print price($line->debit) . $sep;
|
||||||
print price($line->credit) . $sep;
|
print price($line->credit) . $sep;
|
||||||
|
|
||||||
/*print $line->piece_num . $sep;
|
|
||||||
print $line->label_compte . $sep;
|
|
||||||
print price($line->montant) . $sep;
|
|
||||||
print $line->sens . $sep;*/
|
|
||||||
print $line->code_journal . $sep;
|
print $line->code_journal . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 3) {
|
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 3) {
|
||||||
@ -285,6 +269,31 @@ if ($action == 'delbookkeeping') {
|
|||||||
print 'E' . $sep;
|
print 'E' . $sep;
|
||||||
print length_accountg($line->code_tiers) . $sep;
|
print length_accountg($line->code_tiers) . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
|
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 4) {
|
||||||
|
|
||||||
|
// Bob50
|
||||||
|
print $line->piece_num . $sep;
|
||||||
|
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
||||||
|
print $date . $sep;
|
||||||
|
|
||||||
|
if (empty($line->code_tiers)) {
|
||||||
|
print 'G' . $sep;
|
||||||
|
print length_accounta($line->numero_compte) . $sep;
|
||||||
|
} else {
|
||||||
|
if (substr($line->numero_compte,0,3)=='411') {
|
||||||
|
print 'C' . $sep;
|
||||||
|
}
|
||||||
|
if (substr($line->numero_compte,0,3)=='401') {
|
||||||
|
print 'F' . $sep;
|
||||||
|
}
|
||||||
|
print length_accountg($line->code_tiers) . $sep;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
print price($line->debit) . $sep;
|
||||||
|
print price($line->credit) . $sep;
|
||||||
|
print dol_trunc($line->label_compte, 32) . $sep;
|
||||||
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -343,44 +352,14 @@ else {
|
|||||||
|
|
||||||
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $options, $sortfield, $sortorder, '', $result, $nbtotalofrecords);
|
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $options, $sortfield, $sortorder, '', $result, $nbtotalofrecords);
|
||||||
|
|
||||||
/*print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
|
||||||
print '<input type="hidden" name="action" value="delbookkeeping">';
|
|
||||||
|
|
||||||
print $formventilation->select_bookkeeping_importkey('importkey', GETPOST('importkey'));
|
|
||||||
|
|
||||||
print '<div class="inline-block divButAction"><input type="submit" class="butAction" value="' . $langs->trans("DelBookKeeping") . '" /></div>';
|
|
||||||
|
|
||||||
print '</form>';*/
|
|
||||||
|
|
||||||
print '<form method="GET" id="searchFormList" action="' . $_SERVER["PHP_SELF"] . '">';
|
print '<form method="GET" id="searchFormList" action="' . $_SERVER["PHP_SELF"] . '">';
|
||||||
print '<div class="tabsAction">' . "\n";
|
print '<div class="tabsAction">' . "\n";
|
||||||
print '<div class="inline-block divButAction"><input type="submit" name="button_delmvt" class="butAction" value="' . $langs->trans("DelBookKeeping") . '" /></div>';
|
print '<div class="inline-block divButAction"><input type="submit" name="button_delmvt" class="butAction" value="' . $langs->trans("DelBookKeeping") . '" /></div>';
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="./card.php?action=create">' . $langs->trans("NewAccountingMvt") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="./card.php?action=create">' . $langs->trans("NewAccountingMvt") . '</a></div>';
|
||||||
// print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?action=export_csv">' . $langs->trans("Export") . '</a>';
|
|
||||||
print '<div class="inline-block divButAction"><input type="submit" name="button_export_csv" class="butAction" value="' . $langs->trans("Export") . '" /></div>';
|
print '<div class="inline-block divButAction"><input type="submit" name="button_export_csv" class="butAction" value="' . $langs->trans("Export") . '" /></div>';
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
/*print '<div class="liste_titre">';
|
|
||||||
print $langs->trans('DateStart') . ': ';
|
|
||||||
print $form->select_date($search_date_start, 'date_start', 0, 0, 1);
|
|
||||||
print $langs->trans('DateEnd') . ': ';
|
|
||||||
print $form->select_date($search_date_end, 'date_end', 0, 0, 1);
|
|
||||||
print '</div>';
|
|
||||||
print '<div class="liste_titre">';
|
|
||||||
print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
|
||||||
print $formventilation->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array (), 1, 1, '');
|
|
||||||
print $langs->trans('To') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
|
||||||
print $formventilation->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array (), 1, 1, '');
|
|
||||||
print '</div>';
|
|
||||||
print '<div class="liste_titre">';
|
|
||||||
print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
|
||||||
print $formventilation->select_auxaccount($search_accountancy_aux_code_start, 'search_accountancy_aux_code_start', 1);
|
|
||||||
print $langs->trans('To') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
|
||||||
print $formventilation->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', 1);
|
|
||||||
print '</div>';*/
|
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre($langs->trans("NumPiece"), $_SERVER['PHP_SELF'], "t.piece_num", "", $options, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("NumPiece"), $_SERVER['PHP_SELF'], "t.piece_num", "", $options, "", $sortfield, $sortorder);
|
||||||
@ -391,8 +370,6 @@ else {
|
|||||||
print_liste_field_titre($langs->trans("Labelcompte"), $_SERVER['PHP_SELF'], "bk_label_compte", "", $options, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Labelcompte"), $_SERVER['PHP_SELF'], "bk_label_compte", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "t.debit", "", $options, 'align="right"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "t.debit", "", $options, 'align="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, 'align="right"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, 'align="right"', $sortfield, $sortorder);
|
||||||
// print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "t.montant", "", $options, 'align="center"', $sortfield, $sortorder);
|
|
||||||
// print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "t.sens", "", $options, 'align="center"', $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "t.code_journal", "", $options, 'align="right"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "t.code_journal", "", $options, 'align="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Action"), $_SERVER["PHP_SELF"], "", $options, "", 'width="60" align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Action"), $_SERVER["PHP_SELF"], "", $options, "", 'width="60" align="center"', $sortfield, $sortorder);
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
@ -404,39 +381,30 @@ else {
|
|||||||
print $langs->trans('From') . ': ';
|
print $langs->trans('From') . ': ';
|
||||||
print $form->select_date($search_date_start, 'date_start', 0, 0, 1);
|
print $form->select_date($search_date_start, 'date_start', 0, 0, 1);
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print $langs->trans('to') . ': ';
|
print $langs->trans('To') . ': ';
|
||||||
print $form->select_date($search_date_end, 'date_end', 0, 0, 1);
|
print $form->select_date($search_date_end, 'date_end', 0, 0, 1);
|
||||||
// print $form->select_date($search_doc_date, 'doc_date', 0, 0, 1);
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td><input type="text" name="search_doc_ref" size="8" value="' . $search_doc_ref . '"></td>';
|
print '<td><input type="text" name="search_doc_ref" size="8" value="' . $search_doc_ref . '"></td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
// print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
|
||||||
print $langs->trans('From');
|
print $langs->trans('From');
|
||||||
print $formventilation->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array (), 1, 1, '');
|
print $formventilation->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array (), 1, 1, '');
|
||||||
// print $langs->trans('To') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print $langs->trans('to');
|
print $langs->trans('To');
|
||||||
print $formventilation->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array (), 1, 1, '');
|
print $formventilation->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array (), 1, 1, '');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// print '<td><input type="text" name="search_accountancy_code" size="8" value="' . $search_accountancy_code . '"></td>';
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
// print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
|
||||||
print $langs->trans('From');
|
print $langs->trans('From');
|
||||||
print $formventilation->select_auxaccount($search_accountancy_aux_code_start, 'search_accountancy_aux_code_start', 1);
|
print $formventilation->select_auxaccount($search_accountancy_aux_code_start, 'search_accountancy_aux_code_start', 1);
|
||||||
// print $langs->trans('To') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print $langs->trans('to');
|
print $langs->trans('To');
|
||||||
print $formventilation->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', 1);
|
print $formventilation->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// print '<td><input type="text" name="search_accountancy_aux_code" size="8" value="' . $search_accountancy_aux_code . '"></td>';
|
|
||||||
|
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print '<input type="text" size=6 class="flat" name="search_mvt_label" value="' . $search_mvt_label . '"/>';
|
print '<input type="text" size=6 class="flat" name="search_mvt_label" value="' . $search_mvt_label . '"/>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
// print '<td> </td>';
|
|
||||||
// print '<td> </td>';
|
|
||||||
print '<td align="right"><input type="text" name="search_ledger_code" size="3" value="' . $search_ledger_code . '"></td>';
|
print '<td align="right"><input type="text" name="search_ledger_code" size="3" value="' . $search_ledger_code . '"></td>';
|
||||||
print '<td align="right" colspan="2" class="liste_titre">';
|
print '<td align="right" colspan="2" class="liste_titre">';
|
||||||
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
@ -467,8 +435,6 @@ else {
|
|||||||
print '<td>' . $line->label_compte . '</td>';
|
print '<td>' . $line->label_compte . '</td>';
|
||||||
print '<td align="right">' . price($line->debit) . '</td>';
|
print '<td align="right">' . price($line->debit) . '</td>';
|
||||||
print '<td align="right">' . price($line->credit) . '</td>';
|
print '<td align="right">' . price($line->credit) . '</td>';
|
||||||
// print '<td align="right">' . price($line->montant) . '</td>';
|
|
||||||
// print '<td align="center">' . $line->sens . '</td>';
|
|
||||||
print '<td align="right">' . $line->code_journal . '</td>';
|
print '<td align="right">' . $line->code_journal . '</td>';
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
print '<a href="./card.php?piece_num=' . $line->piece_num . '">' . img_edit() . '</a> ';
|
print '<a href="./card.php?piece_num=' . $line->piece_num . '">' . img_edit() . '</a> ';
|
||||||
|
|||||||
@ -74,7 +74,6 @@ if (empty($search_date_start)) {
|
|||||||
$search_date_start = dol_mktime(0, 0, 0, 1, 1, dol_print_date(dol_now(), '%Y'));
|
$search_date_start = dol_mktime(0, 0, 0, 1, 1, dol_print_date(dol_now(), '%Y'));
|
||||||
$search_date_end = dol_mktime(0, 0, 0, 12, 31, dol_print_date(dol_now(), '%Y'));
|
$search_date_end = dol_mktime(0, 0, 0, 12, 31, dol_print_date(dol_now(), '%Y'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sortorder == "")
|
if ($sortorder == "")
|
||||||
$sortorder = "ASC";
|
$sortorder = "ASC";
|
||||||
if ($sortfield == "")
|
if ($sortfield == "")
|
||||||
@ -184,13 +183,13 @@ print '</div>';
|
|||||||
print '<div class="liste_titre">';
|
print '<div class="liste_titre">';
|
||||||
print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
print $formventilation->select_account($search_numero_compte_start, 'search_numero_compte_start', 1, array (), 1, 1, '');
|
print $formventilation->select_account($search_numero_compte_start, 'search_numero_compte_start', 1, array (), 1, 1, '');
|
||||||
print $langs->trans('to') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
print $langs->trans('To') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
print $formventilation->select_account($search_numero_compte_end, 'search_numero_compte_end', 1, array (), 1, 1, '');
|
print $formventilation->select_account($search_numero_compte_end, 'search_numero_compte_end', 1, array (), 1, 1, '');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '<div class="liste_titre">';
|
print '<div class="liste_titre">';
|
||||||
print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
print $formventilation->select_auxaccount($search_code_tiers_start, 'search_code_tiers_start', 1);
|
print $formventilation->select_auxaccount($search_code_tiers_start, 'search_code_tiers_start', 1);
|
||||||
print $langs->trans('to') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
print $langs->trans('To') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
print $formventilation->select_auxaccount($search_code_tiers_end, 'searchcode_tiers_end', 1);
|
print $formventilation->select_auxaccount($search_code_tiers_end, 'searchcode_tiers_end', 1);
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print "<table class=\"noborder\" width=\"100%\">";
|
print "<table class=\"noborder\" width=\"100%\">";
|
||||||
@ -257,9 +256,10 @@ print '<td class="liste_titre" align="center">';
|
|||||||
print '<input type="text" size=3 class="flat" name="search_code_journal" value="' . $search_code_journal . '"/>';
|
print '<input type="text" size=3 class="flat" name="search_code_journal" value="' . $search_code_journal . '"/>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td align="right" colspan="2" class="liste_titre">';
|
||||||
$searchpitco=$form->showFilterAndCheckAddButtons(0);
|
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
print $searchpitco;
|
print ' ';
|
||||||
|
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" name="button_removefilter" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2015-*2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2015-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -1064,6 +1064,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
|
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
|
||||||
$sql .= " WHERE piece_num = " . $piecenum;
|
$sql .= " WHERE piece_num = " . $piecenum;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this) . "::" . __METHOD__, LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$obj = $this->db->fetch_object($result);
|
$obj = $this->db->fetch_object($result);
|
||||||
@ -1118,7 +1119,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
|
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
|
||||||
$sql .= " WHERE piece_num = " . $piecenum;
|
$sql .= " WHERE piece_num = " . $piecenum;
|
||||||
|
|
||||||
dol_syslog(get_class($this) . "fetch_all_per_mvt sql=" . $sql, LOG_DEBUG);
|
dol_syslog(get_class($this) . "::" . __METHOD__, LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
|
|
||||||
@ -1147,7 +1148,7 @@ class BookKeeping extends CommonObject
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->error = "Error " . $this->db->lasterror();
|
$this->error = "Error " . $this->db->lasterror();
|
||||||
dol_syslog(get_class($this) . "::fetch_all_per_mvt " . $this->error, LOG_ERR);
|
dol_syslog(get_class($this) . "::" . __METHOD__ . $this->error, LOG_ERR);
|
||||||
return - 1;
|
return - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -48,6 +48,8 @@ $search_desc = GETPOST('search_desc', 'alpha');
|
|||||||
$search_amount = GETPOST('search_amount', 'alpha');
|
$search_amount = GETPOST('search_amount', 'alpha');
|
||||||
$search_account = GETPOST('search_account', 'alpha');
|
$search_account = GETPOST('search_account', 'alpha');
|
||||||
$search_vat = GETPOST('search_vat', 'alpha');
|
$search_vat = GETPOST('search_vat', 'alpha');
|
||||||
|
$search_country = GETPOST('search_country', 'alpha');
|
||||||
|
$search_tvaintra = GETPOST('search_tvaintra', 'alpha');
|
||||||
|
|
||||||
// Getpost Order and column and limit page
|
// Getpost Order and column and limit page
|
||||||
$sortfield = GETPOST('sortfield', 'alpha');
|
$sortfield = GETPOST('sortfield', 'alpha');
|
||||||
@ -68,7 +70,7 @@ if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)) {
|
|||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
|
|
||||||
if (! $sortfield)
|
if (! $sortfield)
|
||||||
$sortfield = "f.datef, f.facnumber, l.rowid";
|
$sortfield = "f.datef, f.facnumber, fd.rowid";
|
||||||
|
|
||||||
if (! $sortorder) {
|
if (! $sortorder) {
|
||||||
if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
|
if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
|
||||||
@ -94,6 +96,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both
|
|||||||
$search_amount = '';
|
$search_amount = '';
|
||||||
$search_account = '';
|
$search_account = '';
|
||||||
$search_vat = '';
|
$search_vat = '';
|
||||||
|
$search_country = '';
|
||||||
|
$search_tvaintra = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($changeaccount) && count($changeaccount) > 0) {
|
if (is_array($changeaccount) && count($changeaccount) > 0) {
|
||||||
@ -150,14 +154,27 @@ print '<script type="text/javascript">
|
|||||||
/*
|
/*
|
||||||
* Customer Invoice lines
|
* Customer Invoice lines
|
||||||
*/
|
*/
|
||||||
$sql = "SELECT l.rowid , f.facnumber, f.rowid as facid, l.fk_product, l.description, l.total_ht, l.qty, l.tva_tx, l.fk_code_ventilation, aa.label, aa.account_number,";
|
$sql = "SELECT f.rowid, f.facnumber, f.type, f.datef as df, f.ref_client,";
|
||||||
$sql .= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.fk_product_type as type";
|
$sql .= " fd.rowid as fdid, fd.description, fd.product_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.total_ttc,";
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "facture as f";
|
$sql .= " s.rowid as socid, s.nom as name, s.code_compta, s.code_client,";
|
||||||
$sql .= " , " . MAIN_DB_PREFIX . "accounting_account as aa";
|
$sql .= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.accountancy_code_sell, aa.rowid as fk_compte, aa.account_number, aa.label as label_compte,";
|
||||||
$sql .= " , " . MAIN_DB_PREFIX . "facturedet as l";
|
$sql .= " fd.situation_percent, co.label as country, s.tva_intra";
|
||||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = l.fk_product";
|
$sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||||
$sql .= " WHERE f.rowid = l.fk_facture AND f.fk_statut >= 1 AND l.fk_code_ventilation <> 0 ";
|
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = fd.fk_product";
|
||||||
$sql .= " AND aa.rowid = l.fk_code_ventilation";
|
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
|
||||||
|
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture";
|
||||||
|
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "societe as s ON s.rowid = f.fk_soc";
|
||||||
|
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "c_country as co ON co.rowid = s.fk_pays ";
|
||||||
|
$sql .= " WHERE fd.fk_code_ventilation > 0 ";
|
||||||
|
if (! empty($conf->multicompany->enabled)) {
|
||||||
|
$sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")";
|
||||||
|
}
|
||||||
|
$sql .= " AND f.fk_statut > 0";
|
||||||
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
|
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_SITUATION . ")";
|
||||||
|
} else {
|
||||||
|
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_STANDARD . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
|
||||||
|
}
|
||||||
if (strlen(trim($search_invoice))) {
|
if (strlen(trim($search_invoice))) {
|
||||||
$sql .= " AND f.facnumber like '%" . $search_invoice . "%'";
|
$sql .= " AND f.facnumber like '%" . $search_invoice . "%'";
|
||||||
}
|
}
|
||||||
@ -168,16 +185,22 @@ if (strlen(trim($search_label))) {
|
|||||||
$sql .= " AND p.label like '%" . $search_label . "%'";
|
$sql .= " AND p.label like '%" . $search_label . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_desc))) {
|
if (strlen(trim($search_desc))) {
|
||||||
$sql .= " AND l.description like '%" . $search_desc . "%'";
|
$sql .= " AND fd.description like '%" . $search_desc . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_amount))) {
|
if (strlen(trim($search_amount))) {
|
||||||
$sql .= " AND l.total_ht like '%" . $search_amount . "%'";
|
$sql .= " AND fd.total_ht like '%" . $search_amount . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_account))) {
|
if (strlen(trim($search_account))) {
|
||||||
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_vat))) {
|
if (strlen(trim($search_vat))) {
|
||||||
$sql .= " AND (l.tva_tx like '" . $search_vat . "%')";
|
$sql .= " AND (fd.tva_tx like '" . $search_vat . "%')";
|
||||||
|
}
|
||||||
|
if (strlen(trim($search_country))) {
|
||||||
|
$sql .= " AND (co.label like'" . $search_country . "%')";
|
||||||
|
}
|
||||||
|
if (strlen(trim($search_tvaintra))) {
|
||||||
|
$sql .= " AND (s.tva_intra like'" . $search_tvaintra . "%')";
|
||||||
}
|
}
|
||||||
if (! empty($conf->multicompany->enabled)) {
|
if (! empty($conf->multicompany->enabled)) {
|
||||||
$sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")";
|
$sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")";
|
||||||
@ -201,8 +224,8 @@ if ($result) {
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
$param = "";
|
$param = "";
|
||||||
if ($search_facture)
|
if ($search_invoice)
|
||||||
$param .= "&search_facture=" . $search_facture;
|
$param .= "&search_invoice=" . $search_invoice;
|
||||||
if ($search_ref)
|
if ($search_ref)
|
||||||
$param .= "&search_ref=" . $search_ref;
|
$param .= "&search_ref=" . $search_ref;
|
||||||
if ($search_label)
|
if ($search_label)
|
||||||
@ -211,8 +234,13 @@ if ($result) {
|
|||||||
$param .= "&search_desc=" . $search_desc;
|
$param .= "&search_desc=" . $search_desc;
|
||||||
if ($search_account)
|
if ($search_account)
|
||||||
$param .= "&search_account=" . $search_account;
|
$param .= "&search_account=" . $search_account;
|
||||||
if ($filter)
|
if ($search_vat)
|
||||||
$param .= "&filter=" . $filter;
|
$param .= "&search_vat=" . $search_vat;
|
||||||
|
if ($search_country)
|
||||||
|
$param .= "&search_country=" . $search_country;
|
||||||
|
if ($search_tvaintra)
|
||||||
|
$param .= "&search_tvaintra=" . $search_tvaintra;
|
||||||
|
|
||||||
|
|
||||||
print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords);
|
print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords);
|
||||||
print '<td align="left"><b>' . $langs->trans("DescVentilDoneCustomer") . '</b></td>';
|
print '<td align="left"><b>' . $langs->trans("DescVentilDoneCustomer") . '</b></td>';
|
||||||
@ -228,12 +256,12 @@ if ($result) {
|
|||||||
print_liste_field_titre($langs->trans("Invoice"), $_SERVER["PHP_SELF"], "f.facnumber", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Invoice"), $_SERVER["PHP_SELF"], "f.facnumber", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Description"), $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Description"), $_SERVER["PHP_SELF"], "fd.description", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"), $_SERVER["PHP_SELF"], "l.total_ht", "", $param, 'align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Amount"), $_SERVER["PHP_SELF"], "fd.total_ht", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("VATRate"), $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, 'align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("VATRate"), $_SERVER["PHP_SELF"], "fd.tva_tx", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Account"), $_SERVER["PHP_SELF"], "aa.account_number", "", $param, 'align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Account"), $_SERVER["PHP_SELF"], "aa.account_number", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre('');
|
print_liste_field_titre($langs->trans("Country"), $_SERVER["PHP_SELF"], "co.label", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre('');
|
print_liste_field_titre($langs->trans("IntracommunityVATNumber"), $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Ventilate") . '<br><label id="select-all">' . $langs->trans('All') . '</label>/<label id="unselect-all">' . $langs->trans('None') . '</label>', '', '', '', '', 'align="center"');
|
print_liste_field_titre($langs->trans("Ventilate") . '<br><label id="select-all">' . $langs->trans('All') . '</label>/<label id="unselect-all">' . $langs->trans('None') . '</label>', '', '', '', '', 'align="center"');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -243,14 +271,13 @@ if ($result) {
|
|||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '">%</td>';
|
print '<td class="liste_titre" align="center">%<input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
||||||
print '<td class="liste_titre" colspan="2"> </td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_country" value="' . $search_country . '"></td>';
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_tavintra" value="' . $search_tavintra . '"></td>';
|
||||||
$searchpitco=$form->showFilterAndCheckAddButtons(0);
|
print '<td class="liste_titre" align="center"><input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
print $searchpitco;
|
print '<input type="image" class="liste_titre" name="button_removefilter" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '">';
|
||||||
print '</td>';
|
print "</td></tr>\n";
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
$facture_static = new Facture($db);
|
$facture_static = new Facture($db);
|
||||||
$product_static = new Product($db);
|
$product_static = new Product($db);
|
||||||
@ -258,7 +285,7 @@ if ($result) {
|
|||||||
$var = True;
|
$var = True;
|
||||||
while ( $objp = $db->fetch_object($result) ) {
|
while ( $objp = $db->fetch_object($result) ) {
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
$codecompta = $objp->account_number . ' ' . $objp->label;
|
$codecompta = $objp->account_number . ' - ' . $objp->label_compte;
|
||||||
|
|
||||||
print "<tr $bc[$var]>";
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
@ -282,13 +309,12 @@ if ($result) {
|
|||||||
print '<td>' . nl2br(dol_trunc($objp->description, 32)) . '</td>';
|
print '<td>' . nl2br(dol_trunc($objp->description, 32)) . '</td>';
|
||||||
print '<td align="right">' . price($objp->total_ht) . '</td>';
|
print '<td align="right">' . price($objp->total_ht) . '</td>';
|
||||||
print '<td align="center">' . price($objp->tva_tx) . '</td>';
|
print '<td align="center">' . price($objp->tva_tx) . '</td>';
|
||||||
print '<td align="center">' . $codecompta . '</td>';
|
print '<td align="center">' . $codecompta . '<a href="./card.php?id=' . $objp->fdid . '">';
|
||||||
print '<td align="right">' . $objp->rowid . '</td>';
|
|
||||||
print '<td align="left"><a href="./card.php?id=' . $objp->rowid . '">';
|
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
print '<td align="right">' . $objp->country .'</td>';
|
||||||
print '<td align="center"><input type="checkbox" name="changeaccount[]" value="' . $objp->rowid . '"/></td>';
|
print '<td align="center">' . $objp->tva_intra . '</td>';
|
||||||
|
print '<td align="center"><input type="checkbox" name="changeaccount[]" value="' . $objp->fdid . '"/></td>';
|
||||||
|
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
$i ++;
|
$i ++;
|
||||||
|
|||||||
@ -122,7 +122,7 @@ $paymentsalstatic = new PaymentSalary($db);
|
|||||||
// Get code of finance journal
|
// Get code of finance journal
|
||||||
$bank_code_journal = new Account($db);
|
$bank_code_journal = new Account($db);
|
||||||
$result = $bank_code_journal->fetch($id_bank_account);
|
$result = $bank_code_journal->fetch($id_bank_account);
|
||||||
$journal = $bank_code_journal->ref;
|
$journal = $bank_code_journal->accountancy_journal;
|
||||||
|
|
||||||
dol_syslog("accountancy/journal/bankjournal.php", LOG_DEBUG);
|
dol_syslog("accountancy/journal/bankjournal.php", LOG_DEBUG);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
@ -319,7 +319,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Third party
|
// Third party
|
||||||
@ -396,7 +396,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -414,8 +414,7 @@ if ($action == 'export_csv') {
|
|||||||
$companystatic = new Client($db);
|
$companystatic = new Client($db);
|
||||||
|
|
||||||
// Model Cegid Expert Export
|
// Model Cegid Expert Export
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2)
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
|
||||||
{
|
|
||||||
$sep = ";";
|
$sep = ";";
|
||||||
|
|
||||||
foreach ( $tabpay as $key => $val ) {
|
foreach ( $tabpay as $key => $val ) {
|
||||||
@ -436,7 +435,7 @@ if ($action == 'export_csv') {
|
|||||||
print ($mt < 0 ? 'C' : 'D') . $sep;
|
print ($mt < 0 ? 'C' : 'D') . $sep;
|
||||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||||
print $val["type_payment"] . $sep;
|
print $val["type_payment"] . $sep;
|
||||||
print $val["ref"] . $sep;
|
print utf8_decode($val["ref"]) . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -455,7 +454,7 @@ if ($action == 'export_csv') {
|
|||||||
print ($mt < 0 ? 'D' : 'C') . $sep;
|
print ($mt < 0 ? 'D' : 'C') . $sep;
|
||||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||||
print $val["type_payment"] . $sep;
|
print $val["type_payment"] . $sep;
|
||||||
print $val["ref"] . $sep;
|
print utf8_decode($val["ref"]) . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -468,7 +467,7 @@ if ($action == 'export_csv') {
|
|||||||
print ($mt < 0 ? 'D' : 'C') . $sep;
|
print ($mt < 0 ? 'D' : 'C') . $sep;
|
||||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||||
print $val["type_payment"] . $sep;
|
print $val["type_payment"] . $sep;
|
||||||
print $val["ref"] . $sep;
|
print utf8_decode($val["ref"]) . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -486,7 +485,12 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["type_payment"] . '"' . $sep;
|
print '"' . $val["type_payment"] . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . $langs->trans("Bank") . '"' . $sep;
|
if ($companystatic->name == '') {
|
||||||
|
print '"' . $langs->trans('Bank') . " - " . utf8_decode($val["ref"]) . '"' . $sep;
|
||||||
|
} else {
|
||||||
|
print '"' . $langs->trans("Bank") . ' - ' . utf8_decode($companystatic->name) . '"' . $sep;
|
||||||
|
}
|
||||||
|
// print '"' . $langs->trans("Bank") . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -499,7 +503,12 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["type_payment"] . '"' . $sep;
|
print '"' . $val["type_payment"] . '"' . $sep;
|
||||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . $companystatic->name . '"' . $sep;
|
// print '"' . $companystatic->name . '"' . $sep;
|
||||||
|
if ($companystatic->name == '') {
|
||||||
|
print '"' . $langs->trans('ThirdParty') . " - " . utf8_decode($val["ref"]) . '"' . $sep;
|
||||||
|
} else {
|
||||||
|
print '"' . $langs->trans('ThirdParty') . " - " . utf8_decode($companystatic->name) . '"' . $sep;
|
||||||
|
}
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -510,7 +519,12 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
||||||
print '"' . $langs->trans("Bank") . '"' . $sep;
|
// print '"' . $langs->trans("Bank") . '"' . $sep;
|
||||||
|
if ($companystatic->name == '') {
|
||||||
|
print '"' . $langs->trans("Bank") . ' - ' . utf8_decode($val["ref"]) . '"' . $sep;
|
||||||
|
} else {
|
||||||
|
print '"' . $langs->trans("Bank") . ' - ' . utf8_decode($companystatic->name) . '"' . $sep;
|
||||||
|
}
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -587,7 +601,12 @@ else {
|
|||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $reflabel . "</td>";
|
print "<td>" . $reflabel . "</td>";
|
||||||
print "<td>" . length_accountg($k) . "</td>";
|
print "<td>" . length_accountg($k) . "</td>";
|
||||||
print "<td>" . $langs->trans('Bank') . "</td>";
|
// print "<td>" . $langs->trans('Bank') . "</td>";
|
||||||
|
if ($val['soclib'] == '') {
|
||||||
|
print "<td>" . $langs->trans('Bank') . " - " . $val["ref"] . "</td>";
|
||||||
|
} else {
|
||||||
|
print "<td>" . $langs->trans("Bank") . " - " . $val['soclib'] . "</td>";
|
||||||
|
}
|
||||||
print "<td>" . $val["type_payment"] . "</td>";
|
print "<td>" . $val["type_payment"] . "</td>";
|
||||||
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
@ -601,8 +620,18 @@ else {
|
|||||||
print "<tr " . $bc[$var] . ">";
|
print "<tr " . $bc[$var] . ">";
|
||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $val["soclib"] . "</td>";
|
print "<td>" . $val["soclib"] . "</td>";
|
||||||
|
// print "<td>" . length_accounta($k) . "</td>";
|
||||||
|
if (length_accounta($k) == '') {
|
||||||
|
print "<td>" . length_accounta($conf->global->ACCOUNTING_ACCOUNT_TRANSFER_CASH) . "</td>";
|
||||||
|
} else {
|
||||||
print "<td>" . length_accounta($k) . "</td>";
|
print "<td>" . length_accounta($k) . "</td>";
|
||||||
print "<td>" . $langs->trans('ThirdParty') . " (" . $val['soclib'] . ")</td>";
|
}
|
||||||
|
// print "<td>" . $langs->trans('ThirdParty') . " (" . $val['soclib'] . ")</td>";
|
||||||
|
if ($val['soclib'] == '') {
|
||||||
|
print "<td>" . $langs->trans('ThirdParty') . " - " . $val["ref"] . "</td>";
|
||||||
|
} else {
|
||||||
|
print "<td>" . $langs->trans("ThirdParty") . ' - ' . $val['soclib'] . "</td>";
|
||||||
|
}
|
||||||
print "<td>" . $val["type_payment"] . "</td>";
|
print "<td>" . $val["type_payment"] . "</td>";
|
||||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
@ -615,7 +644,12 @@ else {
|
|||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $reflabel . "</td>";
|
print "<td>" . $reflabel . "</td>";
|
||||||
print "<td>" . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . "</td>";
|
print "<td>" . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . "</td>";
|
||||||
print "<td>" . $langs->trans('ThirdParty') . "</td>";
|
// print "<td>" . $langs->trans('ThirdParty') . "</td>";
|
||||||
|
if ($val['soclib'] == '') {
|
||||||
|
print "<td>" . $langs->trans('ThirdParty') . " - " . $val["ref"] . "</td>";
|
||||||
|
} else {
|
||||||
|
print "<td>" . $langs->trans("ThirdParty") . ' - ' . $val['soclib'] . "</td>";
|
||||||
|
}
|
||||||
print "<td> </td>";
|
print "<td> </td>";
|
||||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
|
|||||||
@ -112,7 +112,7 @@ if ($result) {
|
|||||||
$num = $db->num_rows($result);
|
$num = $db->num_rows($result);
|
||||||
// les variables
|
// les variables
|
||||||
$cptfour = (! empty($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER)) ? $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER : $langs->trans("CodeNotDef");
|
$cptfour = (! empty($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER)) ? $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER : $langs->trans("CodeNotDef");
|
||||||
$cpttva = (! empty($conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
|
$cpttva = (! empty($conf->global->ACCOUNTING_VAT_BUY_ACCOUNT)) ? $conf->global->ACCOUNTING_VAT_BUY_ACCOUNT : $langs->trans("CodeNotDef");
|
||||||
|
|
||||||
$tabfac = array ();
|
$tabfac = array ();
|
||||||
$tabht = array ();
|
$tabht = array ();
|
||||||
@ -136,6 +136,10 @@ if ($result) {
|
|||||||
|
|
||||||
$tabfac[$obj->rowid]["date"] = $obj->df;
|
$tabfac[$obj->rowid]["date"] = $obj->df;
|
||||||
$tabfac[$obj->rowid]["ref"] = $obj->ref_supplier . ' (' . $obj->ref . ')';
|
$tabfac[$obj->rowid]["ref"] = $obj->ref_supplier . ' (' . $obj->ref . ')';
|
||||||
|
$tabfac[$obj->rowid]["refsologest"] = $obj->ref ;
|
||||||
|
$tabfac[$obj->rowid]["refsuppliersologest"] = $obj->ref_supplier ;
|
||||||
|
|
||||||
|
|
||||||
$tabfac[$obj->rowid]["type"] = $obj->type;
|
$tabfac[$obj->rowid]["type"] = $obj->type;
|
||||||
$tabfac[$obj->rowid]["description"] = $obj->description;
|
$tabfac[$obj->rowid]["description"] = $obj->description;
|
||||||
$tabfac[$obj->rowid]["fk_facturefourndet"] = $obj->fdid;
|
$tabfac[$obj->rowid]["fk_facturefourndet"] = $obj->fdid;
|
||||||
@ -183,7 +187,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +217,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -244,7 +248,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -325,6 +329,14 @@ if ($action == 'export_csv') {
|
|||||||
} else {
|
} else {
|
||||||
// Model Classic Export
|
// Model Classic Export
|
||||||
foreach ( $tabfac as $key => $val ) {
|
foreach ( $tabfac as $key => $val ) {
|
||||||
|
|
||||||
|
$invoicestatic->id = $key;
|
||||||
|
$invoicestatic->ref = $val["ref"];
|
||||||
|
$invoicestatic->ref = $val["refsologest"];
|
||||||
|
$invoicestatic->refsupplier = $val["refsuppliersologest"];
|
||||||
|
$invoicestatic->type = $val["type"];
|
||||||
|
$invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32));
|
||||||
|
|
||||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||||
|
|
||||||
$companystatic->id = $tabcompany[$key]['id'];
|
$companystatic->id = $tabcompany[$key]['id'];
|
||||||
@ -339,7 +351,8 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
print '"' . utf8_decode(dol_trunc($companystatic->name,16)).' - ' . $val["refsuppliersologest"] . ' - ' . utf8_decode(dol_trunc($accountingaccount->label, 32)) . '"' . $sep;
|
||||||
|
//print '"' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -351,7 +364,8 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . $langs->trans("VAT") . '"' . $sep;
|
//print '"' . $langs->trans("VAT") . '"' . $sep;
|
||||||
|
print '"' . utf8_decode(dol_trunc($companystatic->name,16)).' - ' . $val["refsuppliersologest"] . ' - ' . $langs->trans("VAT") . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -363,7 +377,8 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . utf8_decode($companystatic->name) . '"' . $sep;
|
//print '"' . utf8_decode($companystatic->name) . '"' . $sep;
|
||||||
|
print '"' . utf8_decode(dol_trunc($companystatic->name,16)).' - ' . $val["refsuppliersologest"] . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||||
}
|
}
|
||||||
@ -434,6 +449,11 @@ if ($action == 'export_csv') {
|
|||||||
foreach ( $tabfac as $key => $val ) {
|
foreach ( $tabfac as $key => $val ) {
|
||||||
$invoicestatic->id = $key;
|
$invoicestatic->id = $key;
|
||||||
$invoicestatic->ref = $val["ref"];
|
$invoicestatic->ref = $val["ref"];
|
||||||
|
|
||||||
|
$invoicestatic->ref = $val["refsologest"];
|
||||||
|
$invoicestatic->refsupplier = $val["refsuppliersologest"];
|
||||||
|
|
||||||
|
|
||||||
$invoicestatic->type = $val["type"];
|
$invoicestatic->type = $val["type"];
|
||||||
$invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32));
|
$invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32));
|
||||||
|
|
||||||
@ -449,7 +469,10 @@ if ($action == 'export_csv') {
|
|||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||||
print "<td>" . length_accountg($k) . "</td>";
|
print "<td>" . length_accountg($k) . "</td>";
|
||||||
print "<td>" . $accountingaccount->label . "</td>";
|
$companystatic->id = $tabcompany[$key]['id'];
|
||||||
|
$companystatic->name = $tabcompany[$key]['name'];
|
||||||
|
print "<td>" . $companystatic->getNomUrl(0, 'supplier', 16). ' - ' .$invoicestatic->refsupplier .' - '. $accountingaccount->label . "</td>";
|
||||||
|
//print "<td>" . $accountingaccount->label . "</td>";
|
||||||
print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
print '<td align="right">' . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print '<td align="right">' . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
@ -461,7 +484,8 @@ if ($action == 'export_csv') {
|
|||||||
print "<tr " . $bc[$var] . " >";
|
print "<tr " . $bc[$var] . " >";
|
||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||||
print "<td>" . length_accountg($k) . "</td><td>" . $langs->trans("VAT") . "</td>";
|
print "<td>" . length_accountg($k) . "</td>" ;
|
||||||
|
print "<td>" . $companystatic->getNomUrl(0, 'supplier', 16). ' - '.$invoicestatic->refsupplier .' - '. $langs->trans("VAT") . "</td>";
|
||||||
print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
print '<td align="right">' . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print '<td align="right">' . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
@ -475,10 +499,11 @@ if ($action == 'export_csv') {
|
|||||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||||
$companystatic->id = $tabcompany[$key]['id'];
|
$companystatic->id = $tabcompany[$key]['id'];
|
||||||
$companystatic->name = $tabcompany[$key]['name'];
|
$companystatic->name = $tabcompany[$key]['name'];
|
||||||
print "<td>" . length_accounta($k);
|
print "<td>" . length_accounta($k)."</td>";
|
||||||
print "</td><td>" . $langs->trans("ThirdParty");
|
print "<td>" . $companystatic->getNomUrl(0, 'supplier', 16). ' - '.$invoicestatic->refsupplier .' - '. $langs->trans("Code_tiers")."</td>";
|
||||||
print ' (' . $companystatic->getNomUrl(0, 'supplier', 16) . ')';
|
//print "</td><td>" . $langs->trans("ThirdParty");
|
||||||
print "</td>";
|
//print ' (' . $companystatic->getNomUrl(0, 'supplier', 16) . ')';
|
||||||
|
//print "</td>";
|
||||||
print '<td align="right">' . ($mt < 0 ? - price(- $mt) : '') . "</td>";
|
print '<td align="right">' . ($mt < 0 ? - price(- $mt) : '') . "</td>";
|
||||||
print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,10 +40,10 @@ require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
|
||||||
|
|
||||||
// Langs
|
// Langs
|
||||||
$langs->load("commercial");
|
|
||||||
$langs->load("compta");
|
$langs->load("compta");
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$langs->load("other");
|
$langs->load("other");
|
||||||
|
$langs->load("main");
|
||||||
$langs->load("accountancy");
|
$langs->load("accountancy");
|
||||||
|
|
||||||
$date_startmonth = GETPOST('date_startmonth');
|
$date_startmonth = GETPOST('date_startmonth');
|
||||||
@ -213,7 +213,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -273,7 +273,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$result = $bookkeeping->create($user);
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -361,7 +361,8 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . utf8_decode($companystatic->name) . '"' . $sep;
|
print '"' . utf8_decode(dol_trunc($companystatic->name,16)).' - ' . $companystatic->ref_client . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
|
||||||
|
//print '"' . utf8_decode($companystatic->name) . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -376,7 +377,8 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
print '"' . utf8_decode(dol_trunc($companystatic->name,16)).' - '. utf8_decode ( dol_trunc($accountingaccount->label, 32)) . '"' . $sep;
|
||||||
|
//print '"' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -389,7 +391,8 @@ if ($action == 'export_csv') {
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . $langs->trans("VAT") . '"' . $sep;
|
print '"' . utf8_decode(dol_trunc($companystatic->name,16)).' - '. $langs->trans("VAT") . '"' . $sep;
|
||||||
|
//print '"' . $langs->trans("VAT") . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -474,8 +477,9 @@ if ($action == 'export_csv') {
|
|||||||
$companystatic->name = $tabcompany[$key]['name'];
|
$companystatic->name = $tabcompany[$key]['name'];
|
||||||
$companystatic->client = $tabcompany[$key]['code_client'];
|
$companystatic->client = $tabcompany[$key]['code_client'];
|
||||||
print "<td>" . length_accounta($k);
|
print "<td>" . length_accounta($k);
|
||||||
print "</td><td>" . $langs->trans("ThirdParty");
|
//print "</td><td>" . $langs->trans("ThirdParty");
|
||||||
print ' (' . $companystatic->getNomUrl(0, 'customer', 16) . ')';
|
//print ' (' . $companystatic->getNomUrl(0, 'customer', 16) . ')';
|
||||||
|
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref_client . ' - ' . $langs->trans("Code_tiers"). "</td>";
|
||||||
print "</td><td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print "</td><td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
}
|
}
|
||||||
@ -491,7 +495,8 @@ if ($action == 'export_csv') {
|
|||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||||
print "<td>" . length_accountg($k) . "</td>";
|
print "<td>" . length_accountg($k) . "</td>";
|
||||||
print "<td>" . $accountingaccount->label . "</td>";
|
//print "<td>" . $accountingaccount->label . "</td>";
|
||||||
|
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16). ' - ' . $invoicestatic->ref_client . ' - ' . utf8_decode ( utf8_decode ( $accountingaccount->label)) . "</td>";
|
||||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
@ -505,7 +510,8 @@ if ($action == 'export_csv') {
|
|||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||||
print "<td>" . length_accountg($k) . "</td>";
|
print "<td>" . length_accountg($k) . "</td>";
|
||||||
print "<td>" . $langs->trans("VAT") . "</td>";
|
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16). ' - ' . $invoicestatic->ref_client .' - '. $langs->trans("VAT") . "</td>";
|
||||||
|
//print "<td>" . $langs->trans("VAT") . "</td>";
|
||||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||||
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|||||||
@ -217,7 +217,7 @@ if ($result) {
|
|||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '">%</td>';
|
print '<td class="liste_titre" align="center">%<input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
||||||
print '<td class="liste_titre" colspan="2"> </td>';
|
print '<td class="liste_titre" colspan="2"> </td>';
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td class="liste_titre" align="right">';
|
||||||
@ -233,7 +233,7 @@ if ($result) {
|
|||||||
while ( $i < min($num_lines, $limit) ) {
|
while ( $i < min($num_lines, $limit) ) {
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
$codeCompta = $objp->account_number . ' ' . $objp->label;
|
$codeCompta = $objp->account_number . ' - ' . $objp->label;
|
||||||
|
|
||||||
print "<tr $bc[$var]>";
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
|
|||||||
@ -1931,7 +1931,7 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Commande
|
* Commande
|
||||||
*/
|
*/
|
||||||
$nbrow = 9;
|
$nbrow = 9;
|
||||||
if (! empty($conf->projet->enabled))
|
if (! empty($conf->projet->enabled))
|
||||||
$nbrow ++;
|
$nbrow ++;
|
||||||
@ -2050,6 +2050,9 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
} else {
|
} else {
|
||||||
print $object->date ? dol_print_date($object->date, 'daytext') : ' ';
|
print $object->date ? dol_print_date($object->date, 'daytext') : ' ';
|
||||||
|
if ($object->hasDelay() && empty($object->date_livraison)) {
|
||||||
|
print ' '.img_picto($langs->trans("Late").' : '.$object->showDelay(), "warning");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -2072,6 +2075,9 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
} else {
|
} else {
|
||||||
print $object->date_livraison ? dol_print_date($object->date_livraison, 'daytext') : ' ';
|
print $object->date_livraison ? dol_print_date($object->date_livraison, 'daytext') : ' ';
|
||||||
|
if ($object->hasDelay() && ! empty($object->date_livraison)) {
|
||||||
|
print ' '.img_picto($langs->trans("Late").' : '.$object->showDelay(), "warning");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|||||||
@ -140,10 +140,6 @@ class Commande extends CommonOrder
|
|||||||
*/
|
*/
|
||||||
var $lines = array();
|
var $lines = array();
|
||||||
|
|
||||||
// Pour board
|
|
||||||
var $nbtodo;
|
|
||||||
var $nbtodolate;
|
|
||||||
|
|
||||||
// Multicurrency
|
// Multicurrency
|
||||||
var $fk_multicurrency;
|
var $fk_multicurrency;
|
||||||
var $multicurrency_code;
|
var $multicurrency_code;
|
||||||
@ -3436,6 +3432,22 @@ class Commande extends CommonOrder
|
|||||||
|
|
||||||
return max($this->date_commande, $this->date_livraison) < ($now - $conf->commande->client->warning_delay);
|
return max($this->date_commande, $this->date_livraison) < ($now - $conf->commande->client->warning_delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the customer delayed info
|
||||||
|
*
|
||||||
|
* @return string Show delayed information
|
||||||
|
*/
|
||||||
|
public function showDelay()
|
||||||
|
{
|
||||||
|
global $conf, $langs;
|
||||||
|
|
||||||
|
if (empty($this->date_livraison)) $text=$langs->trans("OrderDate").' '.dol_print_date($this->date_commande, 'day');
|
||||||
|
else $text=$text=$langs->trans("DeliveryDate").' '.dol_print_date($this->date_livraison, 'day');
|
||||||
|
$text.=' '.($conf->commande->client->warning_delay>0?'+':'-').' '.round(abs($conf->commande->client->warning_delay)/3600/24,1).' '.$langs->trans("days").' < '.$langs->trans("Today");
|
||||||
|
|
||||||
|
return $text;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -554,7 +554,7 @@ if ($resql)
|
|||||||
// Warning late icon
|
// Warning late icon
|
||||||
print '<td class="nobordernopadding nowrap">';
|
print '<td class="nobordernopadding nowrap">';
|
||||||
if ($generic_commande->hasDelay()) {
|
if ($generic_commande->hasDelay()) {
|
||||||
print img_picto($langs->trans("Late"), "warning");
|
print img_picto($langs->trans("Late").' : '.$generic_commande->showDelay(), "warning");
|
||||||
}
|
}
|
||||||
if(!empty($objp->note_private))
|
if(!empty($objp->note_private))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
|
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@@2byte.es>
|
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@@2byte.es>
|
||||||
* Copyright (C) 2012-2014 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2012-2016 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2011-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2011-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
|
||||||
*
|
*
|
||||||
@ -209,29 +209,13 @@ if ($id > 0 || ! empty($ref))
|
|||||||
|
|
||||||
$result=$object->fetch($id, $ref);
|
$result=$object->fetch($id, $ref);
|
||||||
|
|
||||||
// Chargement des categories bancaires dans $options
|
// Load bank groups
|
||||||
$nbcategories=0;
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/bankcateg.class.php';
|
||||||
|
$bankcateg = new BankCateg($db);
|
||||||
|
$options = array();
|
||||||
|
|
||||||
$sql = "SELECT rowid, label";
|
foreach ($bankcateg->fetchAll() as $bankcategory) {
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_categ";
|
$options[$bankcategory->id] = $bankcategory->label;
|
||||||
$sql.= " WHERE entity = ".$conf->entity;
|
|
||||||
$sql.= " ORDER BY label";
|
|
||||||
|
|
||||||
$result = $db->query($sql);
|
|
||||||
if ($result)
|
|
||||||
{
|
|
||||||
$var=True;
|
|
||||||
$num = $db->num_rows($result);
|
|
||||||
$i = 0;
|
|
||||||
$options = '<option value="0" selected> </option>';
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($result);
|
|
||||||
$options.= '<option value="'.$obj->rowid.'">'.$obj->label.'</option>'."\n";
|
|
||||||
$nbcategories++;
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
$db->free($result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Definition de sql_rech et param
|
// Definition de sql_rech et param
|
||||||
@ -397,15 +381,11 @@ if ($id > 0 || ! empty($ref))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($object->type != 2 && $object->rappro)
|
if ($object->canBeConciliated() > 0) {
|
||||||
{
|
|
||||||
// If not cash account and can be reconciliate
|
// If not cash account and can be reconciliate
|
||||||
if ($user->rights->banque->consolidate)
|
if ($user->rights->banque->consolidate) {
|
||||||
{
|
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/rappro.php?account='.$object->id.($vline ? '&vline='.$vline : '').'">'.$langs->trans("Conciliate").'</a>';
|
||||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/rappro.php?account='.$object->id.($vline?'&vline='.$vline:'').'">'.$langs->trans("Conciliate").'</a>';
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -494,9 +474,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
print '<input name="num_chq" class="flat" type="text" size="4" value="'.GETPOST("num_chq").'"></td>';
|
print '<input name="num_chq" class="flat" type="text" size="4" value="'.GETPOST("num_chq").'"></td>';
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print '<input name="label" class="flat" type="text" size="24" value="'.GETPOST("label").'">';
|
print '<input name="label" class="flat" type="text" size="24" value="'.GETPOST("label").'">';
|
||||||
if ($nbcategories)
|
if ($options) {
|
||||||
{
|
print '<br>'.$langs->trans("Rubrique").': ';
|
||||||
print '<br>'.$langs->trans("Rubrique").': <select class="flat" name="cat1">'.$options.'</select>';
|
print Form::selectarray('cat1', $options, GETPOST('cat1'), 1);
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td align=right><input name="debit" class="flat" type="text" size="4" value="'.GETPOST("debit").'"></td>';
|
print '<td align=right><input name="debit" class="flat" type="text" size="4" value="'.GETPOST("debit").'"></td>';
|
||||||
@ -529,8 +509,11 @@ if ($id > 0 || ! empty($ref))
|
|||||||
print '<td align="right">'.$langs->trans("Credit").'</td>';
|
print '<td align="right">'.$langs->trans("Credit").'</td>';
|
||||||
print '<td align="right" width="80">'.$langs->trans("BankBalance").'</td>';
|
print '<td align="right" width="80">'.$langs->trans("BankBalance").'</td>';
|
||||||
print '<td align="center" width="60">';
|
print '<td align="center" width="60">';
|
||||||
if ($object->type != 2 && $object->rappro) print $langs->trans("AccountStatementShort");
|
if ($object->canBeConciliated() > 0) {
|
||||||
else print ' ';
|
print $langs->trans("AccountStatementShort");
|
||||||
|
} else {
|
||||||
|
print ' ';
|
||||||
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'?'.$param.'" name="search" method="POST">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'?'.$param.'" name="search" method="POST">';
|
||||||
|
|||||||
@ -292,7 +292,7 @@ if ($action == 'create')
|
|||||||
// Currency
|
// Currency
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans("Currency").'</td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans("Currency").'</td>';
|
||||||
print '<td colspan="3">';
|
print '<td colspan="3">';
|
||||||
$selectedcode=$account->account_currency_code;
|
$selectedcode=$account->currency_code;
|
||||||
if (! $selectedcode) $selectedcode=$conf->currency;
|
if (! $selectedcode) $selectedcode=$conf->currency;
|
||||||
print $form->selectCurrency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
|
print $form->selectCurrency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
|
||||||
//print $langs->trans("Currency".$conf->currency);
|
//print $langs->trans("Currency".$conf->currency);
|
||||||
@ -369,10 +369,10 @@ if ($action == 'create')
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("BalanceMinimalAllowed").'</td>';
|
print '<tr><td>'.$langs->trans("BalanceMinimalAllowed").'</td>';
|
||||||
print '<td colspan="3"><input size="12" type="text" class="flat" name="account_min_allowed" value="'.($_POST["account_min_allowed"]?$_POST["account_min_allowed"]:$account->account_min_allowed).'"></td></tr>';
|
print '<td colspan="3"><input size="12" type="text" class="flat" name="account_min_allowed" value="'.($_POST["account_min_allowed"]?$_POST["account_min_allowed"]:$account->min_allowed).'"></td></tr>';
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("BalanceMinimalDesired").'</td>';
|
print '<tr><td>'.$langs->trans("BalanceMinimalDesired").'</td>';
|
||||||
print '<td colspan="3"><input size="12" type="text" class="flat" name="account_min_desired" value="'.($_POST["account_min_desired"]?$_POST["account_min_desired"]:$account->account_min_desired).'"></td></tr>';
|
print '<td colspan="3"><input size="12" type="text" class="flat" name="account_min_desired" value="'.($_POST["account_min_desired"]?$_POST["account_min_desired"]:$account->min_desired).'"></td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@ -583,7 +583,7 @@ else
|
|||||||
// Currency
|
// Currency
|
||||||
print '<tr><td>'.$langs->trans("Currency").'</td>';
|
print '<tr><td>'.$langs->trans("Currency").'</td>';
|
||||||
print '<td colspan="3">';
|
print '<td colspan="3">';
|
||||||
$selectedcode=$account->account_currency_code;
|
$selectedcode=$account->currency_code;
|
||||||
if (! $selectedcode) $selectedcode=$conf->currency;
|
if (! $selectedcode) $selectedcode=$conf->currency;
|
||||||
print $langs->trans("Currency".$selectedcode);
|
print $langs->trans("Currency".$selectedcode);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
@ -851,7 +851,7 @@ else
|
|||||||
print '<input type="hidden" value="'.$account->currency_code.'">';
|
print '<input type="hidden" value="'.$account->currency_code.'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td colspan="3">';
|
print '<td colspan="3">';
|
||||||
$selectedcode=$account->account_currency_code;
|
$selectedcode=$account->currency_code;
|
||||||
if (! $selectedcode) $selectedcode=$conf->currency;
|
if (! $selectedcode) $selectedcode=$conf->currency;
|
||||||
print $form->selectCurrency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
|
print $form->selectCurrency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
|
||||||
//print $langs->trans("Currency".$conf->currency);
|
//print $langs->trans("Currency".$conf->currency);
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2013 Charles-Fr BENKE <charles.fr@benke.fr>
|
* Copyright (C) 2013 Charles-Fr BENKE <charles.fr@benke.fr>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
|
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -27,6 +28,7 @@
|
|||||||
|
|
||||||
require('../../main.inc.php');
|
require('../../main.inc.php');
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/bankcateg.class.php';
|
||||||
|
|
||||||
$langs->load("banks");
|
$langs->load("banks");
|
||||||
$langs->load("categories");
|
$langs->load("categories");
|
||||||
@ -36,70 +38,39 @@ $action=GETPOST('action');
|
|||||||
if (!$user->rights->banque->configurer)
|
if (!$user->rights->banque->configurer)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
|
|
||||||
|
$bankcateg = new BankCateg($db);
|
||||||
|
$categid = GETPOST('categid');
|
||||||
|
$label = GETPOST("label");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add category
|
* Add category
|
||||||
*/
|
*/
|
||||||
if (GETPOST('add'))
|
if (GETPOST('add'))
|
||||||
{
|
{
|
||||||
if (GETPOST("label"))
|
if ($label) {
|
||||||
{
|
$bankcateg = new BankCateg($db);
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_categ (";
|
$bankcateg->label = GETPOST('label');
|
||||||
$sql.= "label";
|
$bankcateg->create($user);
|
||||||
$sql.= ", entity";
|
|
||||||
$sql.= ") VALUES (";
|
|
||||||
$sql.= "'".$db->escape(GETPOST("label"))."'";
|
|
||||||
$sql.= ", ".$conf->entity;
|
|
||||||
$sql.= ")";
|
|
||||||
|
|
||||||
$result = $db->query($sql);
|
|
||||||
if (!$result)
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
if ($categid) {
|
||||||
* Update category
|
$bankcateg = new BankCateg($db);
|
||||||
*/
|
|
||||||
if (GETPOST('update'))
|
|
||||||
{
|
|
||||||
if (GETPOST("label"))
|
|
||||||
{
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."bank_categ ";
|
|
||||||
$sql.= "set label='".$db->escape(GETPOST("label"))."'";
|
|
||||||
$sql.= " WHERE rowid = '".GETPOST('categid')."'";
|
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
|
||||||
|
|
||||||
$result = $db->query($sql);
|
if ($bankcateg->fetch($categid) > 0) {
|
||||||
if (!$result)
|
|
||||||
{
|
//Update category
|
||||||
dol_print_error($db);
|
if (GETPOST('update') && $label) {
|
||||||
|
|
||||||
|
$bankcateg->label = $label;
|
||||||
|
$bankcateg->update($user);
|
||||||
|
}
|
||||||
|
//Delete category
|
||||||
|
if ($action == 'delete') {
|
||||||
|
$bankcateg->delete($user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* Action suppression catégorie
|
|
||||||
*/
|
|
||||||
if ($action == 'delete')
|
|
||||||
{
|
|
||||||
if (GETPOST('categid'))
|
|
||||||
{
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_categ";
|
|
||||||
$sql.= " WHERE rowid = '".GETPOST('categid')."'";
|
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
|
||||||
|
|
||||||
$result = $db->query($sql);
|
|
||||||
if (!$result)
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
@ -174,5 +145,3 @@ if ($action != 'edit')
|
|||||||
print '</table></form>';
|
print '</table></form>';
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|||||||
@ -166,6 +166,13 @@ class Account extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $currency_code;
|
public $currency_code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Currency code
|
||||||
|
* @var string
|
||||||
|
* @deprecated Use currency_code instead
|
||||||
|
*/
|
||||||
|
public $account_currency_code;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Authorized minimum balance
|
* Authorized minimum balance
|
||||||
* @var float
|
* @var float
|
||||||
@ -358,7 +365,7 @@ class Account extends CommonObject
|
|||||||
* @param string $banque Bank of cheque writer
|
* @param string $banque Bank of cheque writer
|
||||||
* @return int Rowid of added entry, <0 if KO
|
* @return int Rowid of added entry, <0 if KO
|
||||||
*/
|
*/
|
||||||
function addline($date, $oper, $label, $amount, $num_chq, $categorie, $user, $emetteur='',$banque='')
|
function addline($date, $oper, $label, $amount, $num_chq, $categorie, User $user, $emetteur='',$banque='')
|
||||||
{
|
{
|
||||||
// Deprecatîon warning
|
// Deprecatîon warning
|
||||||
if (is_numeric($oper)) {
|
if (is_numeric($oper)) {
|
||||||
@ -409,63 +416,55 @@ class Account extends CommonObject
|
|||||||
|
|
||||||
$datev = $date;
|
$datev = $date;
|
||||||
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank (";
|
$accline = new AccountLine($this->db);
|
||||||
$sql.= "datec";
|
$accline->datec = $now;
|
||||||
$sql.= ", dateo";
|
$accline->dateo = $date;
|
||||||
$sql.= ", datev";
|
$accline->datev = $datev;
|
||||||
$sql.= ", label";
|
$accline->label = $label;
|
||||||
$sql.= ", amount";
|
$accline->amount = $amount;
|
||||||
$sql.= ", fk_user_author";
|
$accline->fk_user_author = $user->id;
|
||||||
$sql.= ", num_chq";
|
$accline->fk_account = $this->rowid;
|
||||||
$sql.= ", fk_account";
|
$accline->fk_type = $oper;
|
||||||
$sql.= ", fk_type";
|
|
||||||
$sql.= ",emetteur,banque";
|
|
||||||
$sql.= ") VALUES (";
|
|
||||||
$sql.= "'".$this->db->idate($now)."'";
|
|
||||||
$sql.= ", '".$this->db->idate($date)."'";
|
|
||||||
$sql.= ", '".$this->db->idate($datev)."'";
|
|
||||||
$sql.= ", '".$this->db->escape($label)."'";
|
|
||||||
$sql.= ", ".price2num($amount);
|
|
||||||
$sql.= ", '".$user->id."'";
|
|
||||||
$sql.= ", ".($num_chq?"'".$num_chq."'":"null");
|
|
||||||
$sql.= ", '".$this->rowid."'";
|
|
||||||
$sql.= ", '".$oper."'";
|
|
||||||
$sql.= ", ".($emetteur?"'".$this->db->escape($emetteur)."'":"null");
|
|
||||||
$sql.= ", ".($banque?"'".$this->db->escape($banque)."'":"null");
|
|
||||||
$sql.= ")";
|
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::addline", LOG_DEBUG);
|
if ($num_chq) {
|
||||||
if ($this->db->query($sql))
|
$accline->num_chq = $num_chq;
|
||||||
{
|
}
|
||||||
$rowid = $this->db->last_insert_id(MAIN_DB_PREFIX."bank");
|
|
||||||
if ($categorie)
|
|
||||||
{
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_class (";
|
|
||||||
$sql.= "lineid";
|
|
||||||
$sql.= ", fk_categ";
|
|
||||||
$sql.= ") VALUES (";
|
|
||||||
$sql.= "'".$rowid."'";
|
|
||||||
$sql.= ", '".$categorie."'";
|
|
||||||
$sql.= ")";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
if ($emetteur) {
|
||||||
if (! $result)
|
$accline->emetteur = $emetteur;
|
||||||
{
|
}
|
||||||
$this->db->rollback();
|
|
||||||
$this->error=$this->db->error();
|
if ($banque) {
|
||||||
return -3;
|
$accline->bank_chq = $banque;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$this->db->commit();
|
if ($accline->insert() > 0) {
|
||||||
return $rowid;
|
|
||||||
}
|
if ($categorie) {
|
||||||
else
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_class (";
|
||||||
{
|
$sql .= "lineid";
|
||||||
$this->error=$this->db->lasterror();
|
$sql .= ", fk_categ";
|
||||||
$this->db->rollback();
|
$sql .= ") VALUES (";
|
||||||
return -2;
|
$sql .= "'".$accline->id."'";
|
||||||
}
|
$sql .= ", '".$categorie."'";
|
||||||
}
|
$sql .= ")";
|
||||||
|
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
if (!$result) {
|
||||||
|
$this->db->rollback();
|
||||||
|
$this->error = $this->db->error();
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db->commit();
|
||||||
|
return $accline->id;
|
||||||
|
} else {
|
||||||
|
$this->error = $this->db->lasterror();
|
||||||
|
$this->db->rollback();
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create bank account into database
|
* Create bank account into database
|
||||||
@ -473,7 +472,7 @@ class Account extends CommonObject
|
|||||||
* @param User $user Object user making creation
|
* @param User $user Object user making creation
|
||||||
* @return int < 0 if KO, > 0 if OK
|
* @return int < 0 if KO, > 0 if OK
|
||||||
*/
|
*/
|
||||||
function create($user='')
|
function create(User $user = null)
|
||||||
{
|
{
|
||||||
global $langs,$conf, $hookmanager;
|
global $langs,$conf, $hookmanager;
|
||||||
|
|
||||||
@ -567,32 +566,18 @@ class Account extends CommonObject
|
|||||||
$result=$this->update();
|
$result=$this->update();
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank (";
|
$accline = new AccountLine($this->db);
|
||||||
$sql.= "datec";
|
$accline->datec = $this->db->idate($now);
|
||||||
$sql.= ", label";
|
$accline->label = '('.$langs->trans("InitialBankBalance").')';
|
||||||
$sql.= ", amount";
|
$accline->amount = price2num($this->solde);
|
||||||
$sql.= ", fk_account";
|
$accline->fk_account = $this->id;
|
||||||
$sql.= ", datev";
|
$accline->datev = $this->db->idate($this->date_solde);
|
||||||
$sql.= ", dateo";
|
$accline->dateo = $this->db->idate($this->date_solde);
|
||||||
$sql.= ", fk_type";
|
$accline->fk_type = 'SOLD';
|
||||||
$sql.= ", rappro";
|
|
||||||
$sql.= ") VALUES (";
|
|
||||||
$sql.= "'".$this->db->idate($now)."'";
|
|
||||||
$sql.= ", '(".$langs->trans("InitialBankBalance").")'";
|
|
||||||
$sql.= ", ".price2num($this->solde);
|
|
||||||
$sql.= ", '".$this->id."'";
|
|
||||||
$sql.= ", '".$this->db->idate($this->date_solde)."'";
|
|
||||||
$sql.= ", '".$this->db->idate($this->date_solde)."'";
|
|
||||||
$sql.= ", 'SOLD'";
|
|
||||||
$sql.= ", 0"; // Not conciliated by default
|
|
||||||
$sql.= ")";
|
|
||||||
|
|
||||||
$resql=$this->db->query($sql);
|
if ($accline->insert() < 0) {
|
||||||
if (! $resql)
|
return -3;
|
||||||
{
|
}
|
||||||
$this->error=$this->db->lasterror();
|
|
||||||
return -3;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Actions on extra fields (by external module or standard code)
|
// Actions on extra fields (by external module or standard code)
|
||||||
$hookmanager->initHooks(array('bankdao'));
|
$hookmanager->initHooks(array('bankdao'));
|
||||||
@ -633,7 +618,7 @@ class Account extends CommonObject
|
|||||||
* @param User $user Object user making action
|
* @param User $user Object user making action
|
||||||
* @return int <0 si ko, >0 si ok
|
* @return int <0 si ko, >0 si ok
|
||||||
*/
|
*/
|
||||||
function update($user='')
|
function update(User $user = null)
|
||||||
{
|
{
|
||||||
global $langs,$conf, $hookmanager;
|
global $langs,$conf, $hookmanager;
|
||||||
|
|
||||||
@ -731,7 +716,7 @@ class Account extends CommonObject
|
|||||||
* @param User $user Object user making update
|
* @param User $user Object user making update
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function update_bban($user='')
|
function update_bban(User $user = null)
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf,$langs;
|
||||||
|
|
||||||
@ -823,7 +808,7 @@ class Account extends CommonObject
|
|||||||
$obj = $this->db->fetch_object($result);
|
$obj = $this->db->fetch_object($result);
|
||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->rowid = $obj->rowid; // deprecated
|
$this->rowid = $obj->rowid;
|
||||||
$this->ref = $obj->ref;
|
$this->ref = $obj->ref;
|
||||||
$this->label = $obj->label;
|
$this->label = $obj->label;
|
||||||
$this->type = $obj->courant;
|
$this->type = $obj->courant;
|
||||||
@ -889,7 +874,7 @@ class Account extends CommonObject
|
|||||||
* @param User $user User deleting
|
* @param User $user User deleting
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete($user='')
|
function delete(User $user = null)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
@ -939,42 +924,32 @@ class Account extends CommonObject
|
|||||||
* @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
* @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||||
* @return string Libelle du statut
|
* @return string Libelle du statut
|
||||||
*/
|
*/
|
||||||
function LibStatut($statut,$mode=0)
|
function LibStatut($statut, $mode = 0)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
$langs->load('banks');
|
$langs->load('banks');
|
||||||
|
|
||||||
if ($mode == 0)
|
if ($statut == self::STATUS_OPEN) {
|
||||||
{
|
$label = $langs->trans("StatusAccountOpened");
|
||||||
if ($statut==0) return $langs->trans("StatusAccountOpened");
|
$picto = img_picto($label, 'statut4');
|
||||||
if ($statut==1) return $langs->trans("StatusAccountClosed");
|
} else {
|
||||||
}
|
$label = $langs->trans("StatusAccountClosed");
|
||||||
if ($mode == 1)
|
$picto = img_picto($label, 'statut5');
|
||||||
{
|
}
|
||||||
if ($statut==0) return $langs->trans("StatusAccountOpened");
|
|
||||||
if ($statut==1) return $langs->trans("StatusAccountClosed");
|
if ($mode == 2) {
|
||||||
}
|
return $picto.' '.$label;
|
||||||
if ($mode == 2)
|
} elseif ($mode == 3) {
|
||||||
{
|
return $picto;
|
||||||
if ($statut==0) return img_picto($langs->trans("StatusAccountOpened"),'statut4').' '.$langs->trans("StatusAccountOpened");
|
} elseif ($mode == 4) {
|
||||||
if ($statut==1) return img_picto($langs->trans("StatusAccountClosed"),'statut5').' '.$langs->trans("StatusAccountClosed");
|
return $picto.' '.$label;
|
||||||
}
|
} elseif ($mode == 5) {
|
||||||
if ($mode == 3)
|
return $label.' '.$picto;
|
||||||
{
|
}
|
||||||
if ($statut==0) return img_picto($langs->trans("StatusAccountOpened"),'statut4');
|
|
||||||
if ($statut==1) return img_picto($langs->trans("StatusAccountClosed"),'statut5');
|
//There is no short mode for this label
|
||||||
}
|
return $label;
|
||||||
if ($mode == 4)
|
}
|
||||||
{
|
|
||||||
if ($statut==0) return img_picto($langs->trans("StatusAccountOpened"),'statut4').' '.$langs->trans("StatusAccountOpened");
|
|
||||||
if ($statut==1) return img_picto($langs->trans("StatusAccountClosed"),'statut5').' '.$langs->trans("StatusAccountClosed");
|
|
||||||
}
|
|
||||||
if ($mode == 5)
|
|
||||||
{
|
|
||||||
if ($statut==0) return $langs->trans("StatusAccountOpened").' '.img_picto($langs->trans("StatusAccountOpened"),'statut4');
|
|
||||||
if ($statut==1) return $langs->trans("StatusAccountClosed").' '.img_picto($langs->trans("StatusAccountClosed"),'statut5');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1045,7 +1020,7 @@ class Account extends CommonObject
|
|||||||
* @param int $filteraccountid To get info for a particular account id
|
* @param int $filteraccountid To get info for a particular account id
|
||||||
* @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK
|
* @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user,$filteraccountid=0)
|
function load_board(User $user, $filteraccountid = 0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -1319,13 +1294,14 @@ class AccountLine extends CommonObject
|
|||||||
var $fk_account; // Id of bank account
|
var $fk_account; // Id of bank account
|
||||||
var $bank_account_label; // Label of bank account
|
var $bank_account_label; // Label of bank account
|
||||||
|
|
||||||
|
public $emetteur;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
function __construct($db)
|
function __construct(DoliDB $db)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
}
|
}
|
||||||
@ -1387,7 +1363,7 @@ class AccountLine extends CommonObject
|
|||||||
$this->num_releve = $obj->num_releve;
|
$this->num_releve = $obj->num_releve;
|
||||||
|
|
||||||
$this->num_chq = $obj->num_chq;
|
$this->num_chq = $obj->num_chq;
|
||||||
$this->bank_chq = $obj->bank_chq;
|
$this->bank_chq = $obj->banque;
|
||||||
$this->fk_bordereau = $obj->fk_bordereau;
|
$this->fk_bordereau = $obj->fk_bordereau;
|
||||||
|
|
||||||
$this->fk_account = $obj->fk_account;
|
$this->fk_account = $obj->fk_account;
|
||||||
@ -1405,6 +1381,52 @@ class AccountLine extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts a transaction to a bank account
|
||||||
|
*
|
||||||
|
* @return int <0 if KO, rowid of the line if OK
|
||||||
|
*/
|
||||||
|
public function insert()
|
||||||
|
{
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank (";
|
||||||
|
$sql .= "datec";
|
||||||
|
$sql .= ", dateo";
|
||||||
|
$sql .= ", datev";
|
||||||
|
$sql .= ", label";
|
||||||
|
$sql .= ", amount";
|
||||||
|
$sql .= ", fk_user_author";
|
||||||
|
$sql .= ", num_chq";
|
||||||
|
$sql .= ", fk_account";
|
||||||
|
$sql .= ", fk_type";
|
||||||
|
$sql .= ",emetteur,banque";
|
||||||
|
$sql .= ", rappro";
|
||||||
|
$sql .= ") VALUES (";
|
||||||
|
$sql .= "'".$this->db->idate($this->datec)."'";
|
||||||
|
$sql .= ", '".$this->db->idate($this->dateo)."'";
|
||||||
|
$sql .= ", '".$this->db->idate($this->datev)."'";
|
||||||
|
$sql .= ", '".$this->db->escape($this->label)."'";
|
||||||
|
$sql .= ", ".price2num($this->amount);
|
||||||
|
$sql .= ", '".$this->fk_user_author."'";
|
||||||
|
$sql .= ", ".($this->num_chq ? "'".$this->num_chq."'" : "null");
|
||||||
|
$sql .= ", '".$this->fk_account."'";
|
||||||
|
$sql .= ", '".$this->db->escape($this->fk_type)."'";
|
||||||
|
$sql .= ", ".($this->emetteur ? "'".$this->db->escape($this->emetteur)."'" : "null");
|
||||||
|
$sql .= ", ".($this->bank_chq ? "'".$this->db->escape($this->bank_chq)."'" : "null");
|
||||||
|
$sql .= ", ".(int) $this->rappro;
|
||||||
|
$sql .= ")";
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::insert", LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
|
||||||
|
if (!$resql) {
|
||||||
|
$this->error = $this->db->lasterror();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'bank');
|
||||||
|
|
||||||
|
return $this->id;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete transaction bank line record
|
* Delete transaction bank line record
|
||||||
@ -1412,7 +1434,7 @@ class AccountLine extends CommonObject
|
|||||||
* @param User $user User object that delete
|
* @param User $user User object that delete
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete($user=null)
|
function delete(User $user = null)
|
||||||
{
|
{
|
||||||
$nbko=0;
|
$nbko=0;
|
||||||
|
|
||||||
@ -1461,7 +1483,7 @@ class AccountLine extends CommonObject
|
|||||||
* @param User $user User object that delete
|
* @param User $user User object that delete
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete_urls($user=null)
|
function delete_urls(User $user = null)
|
||||||
{
|
{
|
||||||
$nbko=0;
|
$nbko=0;
|
||||||
|
|
||||||
@ -1499,7 +1521,7 @@ class AccountLine extends CommonObject
|
|||||||
* @param int $notrigger 0=Disable all triggers
|
* @param int $notrigger 0=Disable all triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function update($user,$notrigger=0)
|
function update(User $user, $notrigger = 0)
|
||||||
{
|
{
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
@ -1532,7 +1554,7 @@ class AccountLine extends CommonObject
|
|||||||
* @param int $cat Category id
|
* @param int $cat Category id
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function update_conciliation($user,$cat)
|
function update_conciliation(User $user, $cat)
|
||||||
{
|
{
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2009 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2009 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -17,346 +18,294 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file compta/bank/class/bankcateg.class.php
|
* \file compta/bank/class/bankcateg.class.php
|
||||||
* \ingroup banque
|
* \ingroup bank
|
||||||
* \brief This file is CRUD class file (Create/Read/Update/Delete) for bank categories
|
* \brief This file is CRUD class file (Create/Read/Update/Delete) for bank categories
|
||||||
* \author Laurent Destailleur
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Put here all includes required by your class file
|
|
||||||
//require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php';
|
|
||||||
//require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
|
||||||
//require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to manage bank categories
|
* Class to manage bank categories
|
||||||
*/
|
*/
|
||||||
class BankCateg // extends CommonObject
|
class BankCateg // extends CommonObject
|
||||||
{
|
{
|
||||||
//public $element='bank_categ'; //!< Id that identify managed objects
|
//public $element='bank_categ'; //!< Id that identify managed objects
|
||||||
//public $table_element='bank_categ'; //!< Name of table without prefix where object is stored
|
//public $table_element='bank_categ'; //!< Name of table without prefix where object is stored
|
||||||
|
|
||||||
var $id;
|
public $id;
|
||||||
var $label;
|
public $label;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
function __construct($db)
|
public function __construct(DoliDB $db)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
return 1;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create in database
|
* Create in database
|
||||||
*
|
*
|
||||||
* @param User $user User that create
|
* @param User $user User that create
|
||||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
* @return int <0 if KO, Id of created object if OK
|
* @return int <0 if KO, Id of created object if OK
|
||||||
*/
|
*/
|
||||||
function create($user, $notrigger=0)
|
public function create(User $user, $notrigger = 0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf;
|
||||||
$error=0;
|
|
||||||
|
|
||||||
// Clean parameters
|
$error = 0;
|
||||||
if (isset($this->label)) $this->label=trim($this->label);
|
|
||||||
|
|
||||||
// Check parameters
|
// Clean parameters
|
||||||
// Put here code to add control on parameters values
|
if (isset($this->label)) {
|
||||||
|
$this->label = trim($this->label);
|
||||||
|
}
|
||||||
|
|
||||||
// Insert request
|
// Insert request
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_categ (";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_categ (";
|
||||||
$sql.= "label";
|
$sql .= "label";
|
||||||
$sql.= ", entity";
|
$sql .= ", entity";
|
||||||
$sql.= ") VALUES (";
|
$sql .= ") VALUES (";
|
||||||
$sql.= " ".(! isset($this->label)?'NULL':"'".$this->db->escape($this->label)."'")."";
|
$sql .= " ".(!isset($this->label) ? 'NULL' : "'".$this->db->escape($this->label)."'")."";
|
||||||
$sql.= ", ".$conf->entity;
|
$sql .= ", ".$conf->entity;
|
||||||
$sql.= ")";
|
$sql .= ")";
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::create", LOG_DEBUG);
|
dol_syslog(get_class($this)."::create", LOG_DEBUG);
|
||||||
$resql=$this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
|
if (!$resql) {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = "Error ".$this->db->lasterror();
|
||||||
|
}
|
||||||
|
|
||||||
if (! $error)
|
if (!$error) {
|
||||||
{
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."bank_categ");
|
||||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."bank_categ");
|
}
|
||||||
|
|
||||||
if (! $notrigger)
|
// Commit or rollback
|
||||||
{
|
if ($error) {
|
||||||
// Uncomment this and change MYOBJECT to your own tag if you
|
foreach ($this->errors as $errmsg) {
|
||||||
// want this action call a trigger.
|
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
||||||
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
//// Call triggers
|
}
|
||||||
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
$this->db->rollback();
|
||||||
//$interface=new Interfaces($this->db);
|
return -1 * $error;
|
||||||
//$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
|
} else {
|
||||||
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
$this->db->commit();
|
||||||
//// End call triggers
|
return $this->id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit or rollback
|
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
foreach($this->errors as $errmsg)
|
|
||||||
{
|
|
||||||
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
|
||||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
|
||||||
}
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1*$error;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->db->commit();
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load object in memory from database
|
* Load object in memory from database
|
||||||
*
|
*
|
||||||
* @param int $id Id object
|
* @param int $id Id object
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function fetch($id)
|
public function fetch($id)
|
||||||
{
|
{
|
||||||
global $langs,$conf;
|
global $conf;
|
||||||
|
|
||||||
$sql = "SELECT";
|
$sql = "SELECT";
|
||||||
$sql.= " t.rowid,";
|
$sql .= " t.rowid,";
|
||||||
$sql.= " t.label";
|
$sql .= " t.label";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_categ as t";
|
$sql .= " FROM ".MAIN_DB_PREFIX."bank_categ as t";
|
||||||
$sql.= " WHERE t.rowid = ".$id;
|
$sql .= " WHERE t.rowid = ".$id;
|
||||||
$sql.= " AND t.entity = ".$conf->entity;
|
$sql .= " AND t.entity = ".$conf->entity;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
|
||||||
$resql=$this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql) {
|
||||||
{
|
if ($this->db->num_rows($resql)) {
|
||||||
if ($this->db->num_rows($resql))
|
$obj = $this->db->fetch_object($resql);
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
|
||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->label = $obj->label;
|
$this->label = $obj->label;
|
||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
} else {
|
||||||
else
|
$this->error = "Error ".$this->db->lasterror();
|
||||||
{
|
return -1;
|
||||||
$this->error="Error ".$this->db->lasterror();
|
}
|
||||||
return -1;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update database
|
||||||
|
*
|
||||||
|
* @param User $user User that modify
|
||||||
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
|
* @return int <0 if KO, >0 if OK
|
||||||
|
*/
|
||||||
|
public function update(User $user = null, $notrigger = 0)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
/**
|
// Clean parameters
|
||||||
* Update database
|
if (isset($this->label)) {
|
||||||
*
|
$this->label = trim($this->label);
|
||||||
* @param User $user User that modify
|
}
|
||||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
|
||||||
* @return int <0 if KO, >0 if OK
|
|
||||||
*/
|
|
||||||
function update($user=null, $notrigger=0)
|
|
||||||
{
|
|
||||||
global $conf, $langs;
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
// Clean parameters
|
// Check parameters
|
||||||
if (isset($this->label)) $this->label=trim($this->label);
|
// Put here code to add control on parameters values
|
||||||
|
|
||||||
// Check parameters
|
// Update request
|
||||||
// Put here code to add control on parameters values
|
$sql = "UPDATE ".MAIN_DB_PREFIX."bank_categ SET";
|
||||||
|
$sql .= " label=".(isset($this->label) ? "'".$this->db->escape($this->label)."'" : "null")."";
|
||||||
|
$sql .= " WHERE rowid=".$this->id;
|
||||||
|
$sql .= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
// Update request
|
$this->db->begin();
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."bank_categ SET";
|
|
||||||
$sql.= " label=".(isset($this->label)?"'".$this->db->escape($this->label)."'":"null")."";
|
|
||||||
$sql.= " WHERE rowid=".$this->id;
|
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
|
||||||
|
|
||||||
$this->db->begin();
|
dol_syslog(get_class($this)."::update", LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (!$resql) {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = "Error ".$this->db->lasterror();
|
||||||
|
}
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::update", LOG_DEBUG);
|
// Commit or rollback
|
||||||
$resql = $this->db->query($sql);
|
if ($error) {
|
||||||
if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
|
foreach ($this->errors as $errmsg) {
|
||||||
|
dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
|
||||||
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
|
}
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1 * $error;
|
||||||
|
} else {
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (! $error)
|
/**
|
||||||
{
|
* Delete object in database
|
||||||
if (! $notrigger)
|
*
|
||||||
{
|
* @param User $user User that delete
|
||||||
// Uncomment this and change MYOBJECT to your own tag if you
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
// want this action call a trigger.
|
* @return int <0 if KO, >0 if OK
|
||||||
|
*/
|
||||||
|
public function delete(User $user, $notrigger = 0)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
//// Call triggers
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_categ";
|
||||||
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
$sql .= " WHERE rowid=".$this->id;
|
||||||
//$interface=new Interfaces($this->db);
|
$sql .= " AND entity = ".$conf->entity;
|
||||||
//$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
|
|
||||||
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
|
||||||
//// End call triggers
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Commit or rollback
|
$this->db->begin();
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
foreach($this->errors as $errmsg)
|
|
||||||
{
|
|
||||||
dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
|
|
||||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
|
||||||
}
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1*$error;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->db->commit();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (!$resql) {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = "Error ".$this->db->lasterror();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
// Commit or rollback
|
||||||
* Delete object in database
|
if ($error) {
|
||||||
*
|
foreach ($this->errors as $errmsg) {
|
||||||
* @param User $user User that delete
|
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
||||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
* @return int <0 if KO, >0 if OK
|
}
|
||||||
*/
|
$this->db->rollback();
|
||||||
function delete($user, $notrigger=0)
|
return -1 * $error;
|
||||||
{
|
} else {
|
||||||
global $conf, $langs;
|
$this->db->commit();
|
||||||
$error=0;
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_categ";
|
/**
|
||||||
$sql.= " WHERE rowid=".$this->id;
|
* Load an object from its id and create a new one in database
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
*
|
||||||
|
* @param int $fromid Id of object to clone
|
||||||
|
* @return int New id of clone
|
||||||
|
*/
|
||||||
|
public function createFromClone($fromid)
|
||||||
|
{
|
||||||
|
global $user;
|
||||||
|
|
||||||
$this->db->begin();
|
$error = 0;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
$object = new BankCateg($this->db);
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
|
|
||||||
|
|
||||||
if (! $error)
|
|
||||||
{
|
|
||||||
if (! $notrigger)
|
|
||||||
{
|
|
||||||
// Uncomment this and change MYOBJECT to your own tag if you
|
|
||||||
// want this action call a trigger.
|
|
||||||
|
|
||||||
//// Call triggers
|
|
||||||
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
|
||||||
//$interface=new Interfaces($this->db);
|
|
||||||
//$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
|
|
||||||
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
|
||||||
//// End call triggers
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Commit or rollback
|
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
foreach($this->errors as $errmsg)
|
|
||||||
{
|
|
||||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
|
||||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
|
||||||
}
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1*$error;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->db->commit();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load an object from its id and create a new one in database
|
|
||||||
*
|
|
||||||
* @param int $fromid Id of object to clone
|
|
||||||
* @return int New id of clone
|
|
||||||
*/
|
|
||||||
function createFromClone($fromid)
|
|
||||||
{
|
|
||||||
global $user,$langs;
|
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$object=new BankCateg($this->db);
|
|
||||||
|
|
||||||
$object->context['createfromclone'] = 'createfromclone';
|
$object->context['createfromclone'] = 'createfromclone';
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
// Load source object
|
// Load source object
|
||||||
$object->fetch($fromid);
|
$object->fetch($fromid);
|
||||||
$object->id=0;
|
$object->id = 0;
|
||||||
$object->statut=0;
|
$object->statut = 0;
|
||||||
|
|
||||||
// Clear fields
|
// Create clone
|
||||||
// ...
|
$result = $object->create($user);
|
||||||
|
|
||||||
// Create clone
|
// Other options
|
||||||
$result=$object->create($user);
|
if ($result < 0) {
|
||||||
|
$this->error = $object->error;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
|
||||||
// Other options
|
unset($object->context['createfromclone']);
|
||||||
if ($result < 0)
|
|
||||||
{
|
|
||||||
$this->error=$object->error;
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $error)
|
// End
|
||||||
{
|
if (!$error) {
|
||||||
|
$this->db->commit();
|
||||||
|
return $object->id;
|
||||||
|
} else {
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all bank categories
|
||||||
|
*
|
||||||
|
* @return BankCateg[]
|
||||||
|
*/
|
||||||
|
public function fetchAll()
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
$return = array();
|
||||||
|
|
||||||
}
|
$sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_categ WHERE entity = ".$conf->entity." ORDER BY label";
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
|
||||||
unset($object->context['createfromclone']);
|
if ($resql) {
|
||||||
|
while ($obj = $this->db->fetch_object($resql)) {
|
||||||
|
$tmp = new BankCateg($this->db);
|
||||||
|
$tmp->id = $obj->rowid;
|
||||||
|
$tmp->label = $obj->label;
|
||||||
|
|
||||||
// End
|
$return[] = $tmp;
|
||||||
if (! $error)
|
}
|
||||||
{
|
}
|
||||||
$this->db->commit();
|
|
||||||
return $object->id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialise an instance with random values.
|
* Initialise an instance with random values.
|
||||||
* Used to build previews or test instances.
|
* Used to build previews or test instances.
|
||||||
* id must be 0 if object instance is a specimen.
|
* id must be 0 if object instance is a specimen.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function initAsSpecimen()
|
public function initAsSpecimen()
|
||||||
{
|
{
|
||||||
$this->id=0;
|
$this->id = 0;
|
||||||
|
$this->label = '';
|
||||||
$this->label='';
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
|
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -205,24 +206,13 @@ $form = new Form($db);
|
|||||||
|
|
||||||
llxHeader();
|
llxHeader();
|
||||||
|
|
||||||
// The list of categories is initialized
|
// Load bank groups
|
||||||
$sql = "SELECT rowid, label";
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/bankcateg.class.php';
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_categ";
|
$bankcateg = new BankCateg($db);
|
||||||
$sql.= " ORDER BY label";
|
$options = array();
|
||||||
$result = $db->query($sql);
|
|
||||||
if ($result)
|
foreach ($bankcateg->fetchAll() as $bankcategory) {
|
||||||
{
|
$options[$bankcategory->id] = $bankcategory->label;
|
||||||
$var=True;
|
|
||||||
$num = $db->num_rows($result);
|
|
||||||
$i = 0;
|
|
||||||
$options = "<option value=\"0\" selected> </option>";
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($result);
|
|
||||||
$options .= "<option value=\"$obj->rowid\">$obj->label</option>\n";
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
$db->free($result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$var=false;
|
$var=false;
|
||||||
@ -620,7 +610,7 @@ print '<table class="noborder" width="100%">';
|
|||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Rubriques").'</td><td colspan="2">';
|
print '<tr class="liste_titre"><td>'.$langs->trans("Rubriques").'</td><td colspan="2">';
|
||||||
if ($user->rights->banque->modifier)
|
if ($user->rights->banque->modifier)
|
||||||
{
|
{
|
||||||
print '<select class="flat" name="cat1">'.$options.'</select> ';
|
print Form::selectarray('cat1', $options, '', 1).' ';
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
|
print '<input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
|
||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
|
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -111,28 +112,13 @@ if ($action == 'del')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/bankcateg.class.php';
|
||||||
|
$bankcateg = new BankCateg($db);
|
||||||
|
$options = array();
|
||||||
|
|
||||||
// Load bank groups
|
foreach ($bankcateg->fetchAll() as $bankcategory) {
|
||||||
$sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_categ ORDER BY label";
|
$options[$bankcategory->id] = $bankcategory->label;
|
||||||
$resql = $db->query($sql);
|
|
||||||
$options="";
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$var=True;
|
|
||||||
$num = $db->num_rows($resql);
|
|
||||||
if ($num > 0) $options .= '<option value="0"'.(GETPOST('cat')?'':' selected').'> </option>';
|
|
||||||
$i = 0;
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($resql);
|
|
||||||
$options .= '<option value="'.$obj->rowid.'"'.(GETPOST('cat')==$obj->rowid?' selected':'').'>'.$obj->label.'</option>'."\n";
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
$db->free($resql);
|
|
||||||
//print $options;
|
|
||||||
}
|
}
|
||||||
else dol_print_error($db);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
@ -236,10 +222,11 @@ if ($resql)
|
|||||||
print '<strong>'.$langs->trans("InputReceiptNumber").'</strong>: ';
|
print '<strong>'.$langs->trans("InputReceiptNumber").'</strong>: ';
|
||||||
print '<input class="flat" name="num_releve" type="text" value="'.(GETPOST('num_releve')?GETPOST('num_releve'):'').'" size="10">'; // The only default value is value we just entered
|
print '<input class="flat" name="num_releve" type="text" value="'.(GETPOST('num_releve')?GETPOST('num_releve'):'').'" size="10">'; // The only default value is value we just entered
|
||||||
print '<br>';
|
print '<br>';
|
||||||
if ($options)
|
if ($options) {
|
||||||
{
|
print $langs->trans("EventualyAddCategory").': ';
|
||||||
print $langs->trans("EventualyAddCategory").': <select class="flat" name="cat">'.$options.'</select><br>';
|
print Form::selectarray('cat', $options, GETPOST('cat'), 1);
|
||||||
}
|
print '<br>';
|
||||||
|
}
|
||||||
print '<br>'.$langs->trans("ThenCheckLinesAndConciliate").' "'.$langs->trans("Conciliate").'"<br>';
|
print '<br>'.$langs->trans("ThenCheckLinesAndConciliate").' "'.$langs->trans("Conciliate").'"<br>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@ -440,14 +427,6 @@ if ($resql)
|
|||||||
|
|
||||||
print '<td align="center" class="nowrap">';
|
print '<td align="center" class="nowrap">';
|
||||||
print '<input class="flat" name="rowid['.$objp->rowid.']" type="checkbox" value="'.$objp->rowid.'" size="1"'.(! empty($_POST['rowid'][$objp->rowid])?' checked':'').'>';
|
print '<input class="flat" name="rowid['.$objp->rowid.']" type="checkbox" value="'.$objp->rowid.'" size="1"'.(! empty($_POST['rowid'][$objp->rowid])?' checked':'').'>';
|
||||||
// print '<input class="flat" name="num_releve" type="text" value="'.$objp->num_releve.'" size="8">';
|
|
||||||
// print ' ';
|
|
||||||
// print "<input class=\"button\" type=\"submit\" value=\"".$langs->trans("Conciliate")."\">";
|
|
||||||
// if ($options)
|
|
||||||
// {
|
|
||||||
// print "<br><select class=\"flat\" name=\"cat\">$options";
|
|
||||||
// print "</select>";
|
|
||||||
// }
|
|
||||||
print "</td>";
|
print "</td>";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -144,15 +144,11 @@ if (empty($num))
|
|||||||
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
if ($object->type != 2 && $object->rappro)
|
if ($object->canBeConciliated() > 0) {
|
||||||
{
|
|
||||||
// If not cash account and can be reconciliate
|
// If not cash account and can be reconciliate
|
||||||
if ($user->rights->banque->consolidate)
|
if ($user->rights->banque->consolidate) {
|
||||||
{
|
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/rappro.php?account='.$object->id.($vline ? '&vline='.$vline : '').'">'.$langs->trans("Conciliate").'</a>';
|
||||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/rappro.php?account='.$object->id.($vline?'&vline='.$vline:'').'">'.$langs->trans("Conciliate").'</a>';
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1027,7 +1027,7 @@ else
|
|||||||
|
|
||||||
print_barre_liste($langs->trans("RepeatableInvoices"),$page,$_SERVER['PHP_SELF'],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecord,'title_accountancy.png',0,'','',$limit);
|
print_barre_liste($langs->trans("RepeatableInvoices"),$page,$_SERVER['PHP_SELF'],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecord,'title_accountancy.png',0,'','',$limit);
|
||||||
|
|
||||||
print $langs->trans("ToCreateAPredefinedInvoice").'<br><br>';
|
print $langs->trans("ToCreateAPredefinedInvoice", $langs->transnoentitiesnoconv("ChangeIntoRepeatableInvoice")).'<br><br>';
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
|
|||||||
@ -61,6 +61,7 @@ $ref=GETPOST('ref','alpha');
|
|||||||
$socid=GETPOST('socid','int');
|
$socid=GETPOST('socid','int');
|
||||||
$action=GETPOST('action','alpha');
|
$action=GETPOST('action','alpha');
|
||||||
$massaction=GETPOST('massaction','alpha');
|
$massaction=GETPOST('massaction','alpha');
|
||||||
|
$show_files=GETPOST('show_files','int');
|
||||||
$confirm=GETPOST('confirm','alpha');
|
$confirm=GETPOST('confirm','alpha');
|
||||||
$lineid=GETPOST('lineid','int');
|
$lineid=GETPOST('lineid','int');
|
||||||
$userid=GETPOST('userid','int');
|
$userid=GETPOST('userid','int');
|
||||||
@ -131,6 +132,7 @@ if (empty($user->socid)) $fieldstosearchall["f.note_private"]="NotePrivate";
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (GETPOST('cancel')) { $action='list'; $massaction=''; }
|
if (GETPOST('cancel')) { $action='list'; $massaction=''; }
|
||||||
|
if (! GETPOST('confirmmassaction')) { $massaction=''; }
|
||||||
|
|
||||||
$parameters=array('socid'=>$socid);
|
$parameters=array('socid'=>$socid);
|
||||||
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
@ -533,8 +535,8 @@ if (empty($reshook))
|
|||||||
$upload_dir = $diroutputpdf;
|
$upload_dir = $diroutputpdf;
|
||||||
$file = $upload_dir . '/' . GETPOST('file');
|
$file = $upload_dir . '/' . GETPOST('file');
|
||||||
$ret=dol_delete_file($file);
|
$ret=dol_delete_file($file);
|
||||||
if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs');
|
if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs');
|
||||||
else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors');
|
else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors');
|
||||||
$action='';
|
$action='';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -714,6 +716,7 @@ if ($resql)
|
|||||||
if ($search_montant_ttc != '') $param.='&search_montant_ttc='.$search_montant_ttc;
|
if ($search_montant_ttc != '') $param.='&search_montant_ttc='.$search_montant_ttc;
|
||||||
if ($search_status != '') $param.='&search_status='.$search_status;
|
if ($search_status != '') $param.='&search_status='.$search_status;
|
||||||
if ($search_paymentmode > 0) $param.='search_paymentmode='.$search_paymentmode;
|
if ($search_paymentmode > 0) $param.='search_paymentmode='.$search_paymentmode;
|
||||||
|
if ($show_files) $param.='&show_files=' .$show_files;
|
||||||
$param.=(! empty($option)?"&option=".$option:"");
|
$param.=(! empty($option)?"&option=".$option:"");
|
||||||
|
|
||||||
$massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge")));
|
$massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge")));
|
||||||
@ -1055,7 +1058,7 @@ if ($resql)
|
|||||||
print "</form>\n";
|
print "</form>\n";
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|
||||||
if ($massaction == 'builddoc' || $action == 'remove_file')
|
if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Show list of available documents
|
* Show list of available documents
|
||||||
@ -1067,9 +1070,15 @@ if ($resql)
|
|||||||
$genallowed=$user->rights->facture->lire;
|
$genallowed=$user->rights->facture->lire;
|
||||||
$delallowed=$user->rights->facture->lire;
|
$delallowed=$user->rights->facture->lire;
|
||||||
|
|
||||||
print '<br>';
|
print '<br><a name="show_files"></a>';
|
||||||
// We disable multilang because we concat already existing pdf.
|
$paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param);
|
||||||
$formfile->show_documents('unpaid','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$langs->trans("PDFMerge"),'');
|
$title=$langs->trans("MassFilesArea").' <a href="'.$_SERVER["PHP_SELF"].'?'.$paramwithoutshowfiles.'">('.$langs->trans("Hide").')</a>';
|
||||||
|
|
||||||
|
$formfile->show_documents('massfilesarea','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,'');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<br><a name="show_files"></a><a href="'.$_SERVER["PHP_SELF"].'?show_files=1'.$param.'#show_files">'.$langs->trans("ShowTempMassFilesArea").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -77,7 +77,7 @@ if ($_POST["action"] == 'add' && $_POST["cancel"] <> $langs->trans("Cancel"))
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
$mesg='<div class="error">'.$localtax->error.'</div>';
|
setEventMessages($localtax->error, $localtax->errors, 'errors');
|
||||||
$_GET["action"]="create";
|
$_GET["action"]="create";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,18 +112,19 @@ if ($_GET["action"] == 'delete')
|
|||||||
{
|
{
|
||||||
$localtax->error=$accountline->error;
|
$localtax->error=$accountline->error;
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
$mesg='<div class="error">'.$localtax->error.'</div>';
|
setEventMessages($localtax->error, $localtax->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
$mesg='<div class="error">'.$localtax->error.'</div>';
|
setEventMessages($localtax->error, $localtax->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$mesg='<div class="error">Error try do delete a line linked to a conciliated bank transaction</div>';
|
$mesg='Error try do delete a line linked to a conciliated bank transaction';
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -65,11 +65,13 @@ if ($action == 'create')
|
|||||||
$result=$bprev->create($conf->global->PRELEVEMENT_CODE_BANQUE, $conf->global->PRELEVEMENT_CODE_GUICHET);
|
$result=$bprev->create($conf->global->PRELEVEMENT_CODE_BANQUE, $conf->global->PRELEVEMENT_CODE_GUICHET);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
$mesg='<div class="error">'.$bprev->error.'</div>';
|
setEventMessages($bprev->error , $bprev->errors, 'errors');
|
||||||
}
|
}
|
||||||
if ($result == 0)
|
if ($result == 0)
|
||||||
{
|
{
|
||||||
$mesg='<div class="error">'.$langs->trans("NoInvoiceCouldBeWithdrawed").'</div>';
|
$mesg='';
|
||||||
|
$mesg=$langs->trans("NoInvoiceCouldBeWithdrawed");
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
foreach($bprev->invoice_in_error as $key => $val)
|
foreach($bprev->invoice_in_error as $key => $val)
|
||||||
{
|
{
|
||||||
$mesg.=$val."<br>\n";
|
$mesg.=$val."<br>\n";
|
||||||
|
|||||||
@ -933,7 +933,6 @@ class FormMail extends Form
|
|||||||
/**
|
/**
|
||||||
* Set substit array from object
|
* Set substit array from object
|
||||||
*
|
*
|
||||||
* @param Object $object Object to use
|
|
||||||
* @param string $mode 'form' or 'emailing'
|
* @param string $mode 'form' or 'emailing'
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -42,8 +42,10 @@ function contract_prepare_head(Contrat $object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/contact.php?id='.$object->id;
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/contrat/contact.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("ContactsAddresses");
|
$head[$h][1] = $langs->trans("ContactsAddresses");
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,8 +45,10 @@ function fichinter_prepare_head($object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/fichinter/contact.php?id='.$object->id;
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/fichinter/contact.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans('InterventionContact');
|
$head[$h][1] = $langs->trans('InterventionContact');
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,8 +45,10 @@ function facturefourn_prepare_head($object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/fourn/facture/contact.php?facid='.$object->id;
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/fourn/facture/contact.php?facid='.$object->id;
|
||||||
$head[$h][1] = $langs->trans('ContactsAddresses');
|
$head[$h][1] = $langs->trans('ContactsAddresses');
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
@ -119,8 +121,10 @@ function ordersupplier_prepare_head($object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/contact.php?id='.$object->id;
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/contact.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans('ContactsAddresses');
|
$head[$h][1] = $langs->trans('ContactsAddresses');
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -630,14 +630,14 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='
|
|||||||
if ($level > $conf->global->SYSLOG_LEVEL) return;
|
if ($level > $conf->global->SYSLOG_LEVEL) return;
|
||||||
|
|
||||||
// If adding log inside HTML page is required
|
// If adding log inside HTML page is required
|
||||||
if (! empty($_REQUEST['logtohtml']) && ! empty($conf->global->MAIN_LOGTOHTML))
|
if (! empty($_REQUEST['logtohtml']) && (! empty($conf->global->MAIN_ENABLE_LOG_TO_HTML) || ! empty($conf->global->MAIN_LOGTOHTML))) // MAIN_LOGTOHTML kept for backward compatibility
|
||||||
{
|
{
|
||||||
$conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message;
|
$conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Remove this. MAIN_ENABLE_LOG_HTML should be deprecated and use a log handler dedicated to HTML output
|
//TODO: Remove this. MAIN_ENABLE_LOG_INLINE_HTML should be deprecated and use a log handler dedicated to HTML output
|
||||||
// If enable html log tag enabled and url parameter log defined, we show output log on HTML comments
|
// If enable html log tag enabled and url parameter log defined, we show output log on HTML comments
|
||||||
if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"]))
|
if (! empty($conf->global->MAIN_ENABLE_LOG_INLINE_HTML) && ! empty($_GET["log"]))
|
||||||
{
|
{
|
||||||
print "\n\n<!-- Log start\n";
|
print "\n\n<!-- Log start\n";
|
||||||
print $message."\n";
|
print $message."\n";
|
||||||
@ -3418,10 +3418,13 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
|
|||||||
* @param int $unit Unit of dimension (0, -3, ...)
|
* @param int $unit Unit of dimension (0, -3, ...)
|
||||||
* @param string $type 'weight', 'volume', ...
|
* @param string $type 'weight', 'volume', ...
|
||||||
* @param Translate $outputlangs Translate language object
|
* @param Translate $outputlangs Translate language object
|
||||||
|
* @param int $round -1 = non rounding, x = number of decimal
|
||||||
* @return string String to show dimensions
|
* @return string String to show dimensions
|
||||||
*/
|
*/
|
||||||
function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs)
|
function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round=-1)
|
||||||
{
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php';
|
||||||
|
|
||||||
if ($dimension < 1/10000)
|
if ($dimension < 1/10000)
|
||||||
{
|
{
|
||||||
$dimension = $dimension * 1000000;
|
$dimension = $dimension * 1000000;
|
||||||
@ -3443,7 +3446,7 @@ function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs)
|
|||||||
$unit = $unit + 3;
|
$unit = $unit + 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret=price($dimension, 0, $outputlangs, 0, 0).' '.measuring_units_string($unit, $type);
|
$ret=price($dimension, 0, $outputlangs, 0, 0, $round).' '.measuring_units_string($unit, $type);
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,8 +45,10 @@ function facture_prepare_head($object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/compta/facture/contact.php?facid='.$object->id;
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/compta/facture/contact.php?facid='.$object->id;
|
||||||
$head[$h][1] = $langs->trans('ContactsAddresses');
|
$head[$h][1] = $langs->trans('ContactsAddresses');
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,8 +70,10 @@ function commande_prepare_head(Commande $object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/commande/contact.php?id='.$object->id;
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/commande/contact.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans('ContactsAddresses');
|
$head[$h][1] = $langs->trans('ContactsAddresses');
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,8 +64,10 @@ function propal_prepare_head($object)
|
|||||||
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||||
{
|
{
|
||||||
|
$nbContact = count($object->liste_contact(-1,'internal')) + count($object->liste_contact(-1,'external'));
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/comm/propal/contact.php?id='.$object->id;
|
$head[$h][0] = DOL_URL_ROOT.'/comm/propal/contact.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans('ContactsAddresses');
|
$head[$h][1] = $langs->trans('ContactsAddresses');
|
||||||
|
if ($nbContact > 0) $head[$h][1].= ' <span class="badge">'.$nbContact.'</span>';
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -184,7 +184,6 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
|||||||
|
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1704__+MAX_llx_menu__, 'accountancy', '', 1700__+MAX_llx_menu__, '/compta/paiement/list.php?leftmenu=customers_bills', 'Payments', 1, 'bills', '$user->rights->facture->lire', '', 2, 6, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1704__+MAX_llx_menu__, 'accountancy', '', 1700__+MAX_llx_menu__, '/compta/paiement/list.php?leftmenu=customers_bills', 'Payments', 1, 'bills', '$user->rights->facture->lire', '', 2, 6, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1710__+MAX_llx_menu__, 'accountancy', '', 1704__+MAX_llx_menu__, '/compta/paiement/rapport.php?leftmenu=customers_bills', 'Reportings', 2, 'bills', '$user->rights->facture->lire', '', 2, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1710__+MAX_llx_menu__, 'accountancy', '', 1704__+MAX_llx_menu__, '/compta/paiement/rapport.php?leftmenu=customers_bills', 'Reportings', 2, 'bills', '$user->rights->facture->lire', '', 2, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1703__+MAX_llx_menu__, 'accountancy', '', 1700__+MAX_llx_menu__, '/compta/facture/mergepdftool.php?action=facturer&leftmenu=customers_bills', 'MergingPDFTool', 1, 'bills', '$user->rights->facture->lire', '', 2, 7, __ENTITY__);
|
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1714__+MAX_llx_menu__, 'accountancy', '', 1700__+MAX_llx_menu__, '/compta/facture/stats/index.php?leftmenu=customers_bills', 'Statistics', 1, 'bills', '$user->rights->facture->lire', '', 2, 8, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->facture->enabled', __HANDLER__, 'left', 1714__+MAX_llx_menu__, 'accountancy', '', 1700__+MAX_llx_menu__, '/compta/facture/stats/index.php?leftmenu=customers_bills', 'Statistics', 1, 'bills', '$user->rights->facture->lire', '', 2, 8, __ENTITY__);
|
||||||
-- Accountancy - Orders to bill
|
-- Accountancy - Orders to bill
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->commande->enabled', __HANDLER__, 'left', 1900__+MAX_llx_menu__, 'accountancy', 'orders', 6__+MAX_llx_menu__, '/commande/list.php?leftmenu=orders&viewstatut=3', 'MenuOrdersToBill', 0, 'orders', '$user->rights->commande->lire', '', 0, 3, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->commande->enabled', __HANDLER__, 'left', 1900__+MAX_llx_menu__, 'accountancy', 'orders', 6__+MAX_llx_menu__, '/commande/list.php?leftmenu=orders&viewstatut=3', 'MenuOrdersToBill', 0, 'orders', '$user->rights->commande->lire', '', 0, 3, __ENTITY__);
|
||||||
|
|||||||
@ -802,8 +802,6 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
$newmenu->add("/compta/paiement/rapport.php",$langs->trans("Reportings"),2,$user->rights->facture->lire);
|
$newmenu->add("/compta/paiement/rapport.php",$langs->trans("Reportings"),2,$user->rights->facture->lire);
|
||||||
|
|
||||||
$newmenu->add("/compta/facture/stats/index.php", $langs->trans("Statistics"),1,$user->rights->facture->lire);
|
$newmenu->add("/compta/facture/stats/index.php", $langs->trans("Statistics"),1,$user->rights->facture->lire);
|
||||||
|
|
||||||
$newmenu->add("/compta/facture/mergepdftool.php",$langs->trans("MergingPDFTool"),1,$user->rights->facture->lire);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Suppliers invoices
|
// Suppliers invoices
|
||||||
|
|||||||
@ -240,7 +240,9 @@ class doc_generic_order_odt extends ModelePDFCommandes
|
|||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -241,7 +241,9 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
|
|||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -451,7 +451,7 @@ class pdf_rouget extends ModelePdfExpedition
|
|||||||
$voltxt='';
|
$voltxt='';
|
||||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->volume)
|
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->volume)
|
||||||
{
|
{
|
||||||
$voltxt=$object->lines[$i]->volume*$object->lines[$i]->qty_shipped.' '.measuring_units_string($object->lines[$i]->volume_units,"volume");
|
$voltxt=$object->lines[$i]->volume*$object->lines[$i]->qty_shipped.' '.measuring_units_string($object->lines[$i]->volume_units?$object->lines[$i]->volume_units:0,"volume");
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf->MultiCell(($this->posxqtyordered - $this->posxweightvol), 3, $weighttxt.(($weighttxt && $voltxt)?', ':'').$voltxt,'','C');
|
$pdf->MultiCell(($this->posxqtyordered - $this->posxweightvol), 3, $weighttxt.(($weighttxt && $voltxt)?', ':'').$voltxt,'','C');
|
||||||
|
|||||||
@ -241,7 +241,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures
|
|||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -450,7 +450,9 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -274,7 +274,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
|||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -686,21 +686,39 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
if (count($filetomerge->lines) > 0) {
|
if (count($filetomerge->lines) > 0) {
|
||||||
foreach ( $filetomerge->lines as $linefile ) {
|
foreach ( $filetomerge->lines as $linefile ) {
|
||||||
if (! empty($linefile->id) && ! empty($linefile->file_name)) {
|
if (! empty($linefile->id) && ! empty($linefile->file_name)) {
|
||||||
if (! empty($conf->product->enabled))
|
|
||||||
$filetomerge_dir = $conf->product->multidir_output[$entity_product_file] . '/' . dol_sanitizeFileName($line->product_ref);
|
|
||||||
elseif (! empty($conf->service->enabled))
|
if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO))
|
||||||
$filetomerge_dir = $conf->service->multidir_output[$entity_product_file] . '/' . dol_sanitizeFileName($line->product_ref);
|
{
|
||||||
|
if (! empty($conf->product->enabled)) {
|
||||||
|
$filetomerge_dir = $conf->product->multidir_output[$entity_product_file] . '/' . get_exdir($product->id,2,0,0,$product,'product') . $product->id ."/photos";
|
||||||
|
} elseif (! empty($conf->service->enabled)) {
|
||||||
|
$filetomerge_dir = $conf->service->multidir_output[$entity_product_file] . '/' . get_exdir($product->id,2,0,0,$product,'product') . $product->id ."/photos";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (! empty($conf->product->enabled)) {
|
||||||
|
$filetomerge_dir = $conf->product->multidir_output[$entity_product_file] . '/' . get_exdir(0,0,0,0,$product,'product') . dol_sanitizeFileName($product->ref);
|
||||||
|
} elseif (! empty($conf->service->enabled)) {
|
||||||
|
$filetomerge_dir = $conf->service->multidir_output[$entity_product_file] . '/' . get_exdir(0,0,0,0,$product,'product') . dol_sanitizeFileName($product->ref);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dol_syslog(get_class($this) . ':: upload_dir=' . $filetomerge_dir, LOG_DEBUG);
|
dol_syslog(get_class($this) . ':: upload_dir=' . $filetomerge_dir, LOG_DEBUG);
|
||||||
|
|
||||||
$infile = $filetomerge_dir . '/' . $linefile->file_name;
|
$infile = $filetomerge_dir . '/' . $linefile->file_name;
|
||||||
if (is_file($infile)) {
|
if (file_exists($infile) && is_readable($infile)) {
|
||||||
$pagecount = $pdf->setSourceFile($infile);
|
$pagecount = $pdf->setSourceFile($infile);
|
||||||
for($i = 1; $i <= $pagecount; $i ++) {
|
for($i = 1; $i <= $pagecount; $i ++) {
|
||||||
$tplidx = $pdf->ImportPage($i);
|
$tplIdx = $pdf->importPage(1);
|
||||||
$s = $pdf->getTemplatesize($tplidx);
|
if ($tplIdx!==false) {
|
||||||
$pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
|
$s = $pdf->getTemplatesize($tplIdx);
|
||||||
$pdf->useTemplate($tplidx);
|
$pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
|
||||||
|
$pdf->useTemplate($tplIdx);
|
||||||
|
} else {
|
||||||
|
setEventMessages(null, array($infile.' cannot be added, probably protected PDF'),'warnings');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -710,10 +728,6 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//exit;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file,'F');
|
$pdf->Output($file,'F');
|
||||||
|
|||||||
@ -209,9 +209,15 @@ class doc_generic_odt extends ModeleThirdPartyDoc
|
|||||||
$newfiletmp=preg_replace('/modele_/i','',$newfiletmp);
|
$newfiletmp=preg_replace('/modele_/i','',$newfiletmp);
|
||||||
// Get extension (ods or odt)
|
// Get extension (ods or odt)
|
||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
|
if ( ! empty($conf->global->MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME))
|
||||||
|
{
|
||||||
|
$newfiletmp = dol_sanitizeFileName(dol_string_nospecial($object->name)).'-'.$newfiletmp;
|
||||||
|
}
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -274,7 +274,9 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal
|
|||||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||||
{
|
{
|
||||||
$filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat;
|
$format=$conf->global->MAIN_DOC_USE_TIMING;
|
||||||
|
if ($format == '1') $format='%Y%m%d%H%M%S';
|
||||||
|
$filename=$newfiletmp.'-'.dol_print_date(dol_now(),$format).'.'.$newfileformat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -265,7 +265,12 @@ if ($id > 0 || ! empty($ref))
|
|||||||
|
|
||||||
// Date
|
// Date
|
||||||
print '<tr><td>'.$langs->trans('Date').'</td>';
|
print '<tr><td>'.$langs->trans('Date').'</td>';
|
||||||
print '<td colspan="2">'.dol_print_date($commande->date,'daytext').'</td>';
|
print '<td colspan="2">';
|
||||||
|
print dol_print_date($commande->date,'daytext');
|
||||||
|
if ($commande->hasDelay() && empty($commande->date_livraison)) {
|
||||||
|
print ' '.img_picto($langs->trans("Late").' : '.$commande->showDelay(), "warning");
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Delivery date planned
|
// Delivery date planned
|
||||||
@ -289,6 +294,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print dol_print_date($commande->date_livraison,'daytext');
|
print dol_print_date($commande->date_livraison,'daytext');
|
||||||
|
if ($commande->hasDelay() && ! empty($commande->date_livraison)) {
|
||||||
|
print ' '.img_picto($langs->trans("Late").' : '.$commande->showDelay(), "warning");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// Note on several rows
|
// Note on several rows
|
||||||
|
|||||||
@ -117,17 +117,20 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if ($result >= 0)
|
if ($result >= 0)
|
||||||
{
|
{
|
||||||
// Define output language
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||||
$outputlangs = $langs;
|
|
||||||
$newlang='';
|
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','alpha')) $newlang=GETPOST('lang_id','alpha');
|
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
|
||||||
if (! empty($newlang))
|
|
||||||
{
|
{
|
||||||
$outputlangs = new Translate("",$conf);
|
// Define output language
|
||||||
$outputlangs->setDefaultLang($newlang);
|
$outputlangs = $langs;
|
||||||
|
$newlang='';
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','alpha')) $newlang=GETPOST('lang_id','alpha');
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||||
|
if (! empty($newlang))
|
||||||
|
{
|
||||||
|
$outputlangs = new Translate("",$conf);
|
||||||
|
$outputlangs->setDefaultLang($newlang);
|
||||||
|
}
|
||||||
|
$result=fichinter_create($db, $object, (!GETPOST('model','alpha'))?$object->modelpdf:GETPOST('model','alpha'), $outputlangs);
|
||||||
}
|
}
|
||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) $result=fichinter_create($db, $object, GETPOST('model','alpha'), $outputlangs);
|
|
||||||
|
|
||||||
header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
|
header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
|
||||||
exit;
|
exit;
|
||||||
@ -143,17 +146,20 @@ if (empty($reshook))
|
|||||||
$result = $object->setDraft($user);
|
$result = $object->setDraft($user);
|
||||||
if ($result >= 0)
|
if ($result >= 0)
|
||||||
{
|
{
|
||||||
// Define output language
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||||
$outputlangs = $langs;
|
|
||||||
$newlang='';
|
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','alpha')) $newlang=GETPOST('lang_id','alpha');
|
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
|
||||||
if (! empty($newlang))
|
|
||||||
{
|
{
|
||||||
$outputlangs = new Translate("",$conf);
|
// Define output language
|
||||||
$outputlangs->setDefaultLang($newlang);
|
$outputlangs = $langs;
|
||||||
|
$newlang='';
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','alpha')) $newlang=GETPOST('lang_id','alpha');
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||||
|
if (! empty($newlang))
|
||||||
|
{
|
||||||
|
$outputlangs = new Translate("",$conf);
|
||||||
|
$outputlangs->setDefaultLang($newlang);
|
||||||
|
}
|
||||||
|
$result=fichinter_create($db, $object, (!GETPOST('model','alpha'))?$object->modelpdf:GETPOST('model','alpha'), $outputlangs);
|
||||||
}
|
}
|
||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) $result=fichinter_create($db, $object, (!GETPOST('model','alpha'))?$object->model:GETPOST('model','apha'), $outputlangs);
|
|
||||||
|
|
||||||
header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
|
header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
@ -1,10 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2006-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2006-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2009-2014 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2009-2014 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
|
* Copyright (C) 2016 Charlie Benke <charlie@patas-monkey.com>
|
||||||
|
|
||||||
|
status
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -439,6 +442,7 @@ class ProductFournisseur extends Product
|
|||||||
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||||
$sql.= " WHERE pfp.entity IN (".getEntity('product', 1).")";
|
$sql.= " WHERE pfp.entity IN (".getEntity('product', 1).")";
|
||||||
$sql.= " AND pfp.fk_soc = s.rowid";
|
$sql.= " AND pfp.fk_soc = s.rowid";
|
||||||
|
$sql.= " AND s.status=1"; // only enabled company selected
|
||||||
$sql.= " AND pfp.fk_product = ".$prodid;
|
$sql.= " AND pfp.fk_product = ".$prodid;
|
||||||
if (empty($sortfield)) $sql.= " ORDER BY s.nom, pfp.quantity, pfp.price";
|
if (empty($sortfield)) $sql.= " ORDER BY s.nom, pfp.quantity, pfp.price";
|
||||||
else $sql.= $this->db->order($sortfield,$sortorder);
|
else $sql.= $this->db->order($sortfield,$sortorder);
|
||||||
@ -545,6 +549,7 @@ class ProductFournisseur extends Product
|
|||||||
$sql.= " WHERE s.entity IN (".getEntity('societe', 1).")";
|
$sql.= " WHERE s.entity IN (".getEntity('societe', 1).")";
|
||||||
$sql.= " AND pfp.fk_product = ".$prodid;
|
$sql.= " AND pfp.fk_product = ".$prodid;
|
||||||
$sql.= " AND pfp.fk_soc = s.rowid";
|
$sql.= " AND pfp.fk_soc = s.rowid";
|
||||||
|
$sql.= " AND s.status = 1"; // only enabled society
|
||||||
if ($qty > 0) $sql.= " AND pfp.quantity <= ".$qty;
|
if ($qty > 0) $sql.= " AND pfp.quantity <= ".$qty;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::find_min_price_product_fournisseur", LOG_DEBUG);
|
dol_syslog(get_class($this)."::find_min_price_product_fournisseur", LOG_DEBUG);
|
||||||
|
|||||||
@ -127,7 +127,7 @@ if (! defined('DONOTLOADCONF') && file_exists($conffile) && filesize($conffile)
|
|||||||
$includeconferror='ErrorBadFormatForConfFile';
|
$includeconferror='ErrorBadFormatForConfFile';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$conf->global->MAIN_LOGTOHTML = 1;
|
$conf->global->MAIN_ENABLE_LOG_TO_HTML = 1;
|
||||||
|
|
||||||
// Define prefix
|
// Define prefix
|
||||||
if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_';
|
if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_';
|
||||||
|
|||||||
@ -35,6 +35,7 @@ insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_N
|
|||||||
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_FEATURES_LEVEL','0','chaine','Level of features to show: -1=stable+deprecated, 0=stable only (default), 1=stable+experimental, 2=stable+experimental+development',1,0);
|
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_FEATURES_LEVEL','0','chaine','Level of features to show: -1=stable+deprecated, 0=stable only (default), 1=stable+experimental, 2=stable+experimental+development',1,0);
|
||||||
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_LOGTOHTML','0','chaine','If this constants is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1',1,0);
|
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_LOGTOHTML','0','chaine','If this constants is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1',1,0);
|
||||||
insert into llx_const (name, value, type, note, visible, entity) values ('MAILING_LIMIT_SENDBYWEB','25','chaine','Number of targets to defined packet size when sending mass email',1,0);
|
insert into llx_const (name, value, type, note, visible, entity) values ('MAILING_LIMIT_SENDBYWEB','25','chaine','Number of targets to defined packet size when sending mass email',1,0);
|
||||||
|
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_ENABLE_LOG_TO_HTML','0','chaine','If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL',1,0);
|
||||||
|
|
||||||
-- Hidden and common to all entities
|
-- Hidden and common to all entities
|
||||||
insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_HANDLERS','["mod_syslog_file"]','chaine','Which logger to use',0,0);
|
insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_HANDLERS','["mod_syslog_file"]','chaine','Which logger to use',0,0);
|
||||||
|
|||||||
@ -797,3 +797,17 @@ ALTER TABLE llx_societe_remise_except MODIFY COLUMN description text NOT NULL;
|
|||||||
update llx_opensurvey_sondage set format = 'D' where format = 'D+';
|
update llx_opensurvey_sondage set format = 'D' where format = 'D+';
|
||||||
update llx_opensurvey_sondage set format = 'A' where format = 'A+';
|
update llx_opensurvey_sondage set format = 'A' where format = 'A+';
|
||||||
|
|
||||||
|
|
||||||
|
--Deal with holidays_user that do not have rowid
|
||||||
|
-- Disabled: too dangerous patch. rowid is a primary key. How is it possible to have no rowid ?
|
||||||
|
--CREATE TABLE llx_holiday_users_tmp
|
||||||
|
--(
|
||||||
|
-- rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
-- fk_user integer NOT NULL,
|
||||||
|
-- fk_type integer NOT NULL,
|
||||||
|
-- nb_holiday real NOT NULL DEFAULT '0'
|
||||||
|
--) ENGINE=innodb;
|
||||||
|
--INSERT INTO llx_holiday_users_tmp(fk_user,fk_type,nb_holiday) SELECT fk_user,fk_type,nb_holiday FROM llx_holiday_users;
|
||||||
|
--DROP TABLE llx_holiday_users;
|
||||||
|
--ALTER TABLE llx_holiday_users_tmp RENAME TO llx_holiday_users;
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,9 @@
|
|||||||
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
|
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
|
||||||
|
|
||||||
|
|
||||||
|
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_ENABLE_LOG_TO_HTML','0','chaine','If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL',1,0);
|
||||||
|
|
||||||
|
|
||||||
-- Was done into a 3.8 fix, so we must do it also in 3.9
|
-- Was done into a 3.8 fix, so we must do it also in 3.9
|
||||||
ALTER TABLE llx_don ADD COLUMN fk_country integer NOT NULL DEFAULT 0 after country;
|
ALTER TABLE llx_don ADD COLUMN fk_country integer NOT NULL DEFAULT 0 after country;
|
||||||
|
|
||||||
|
|||||||
@ -322,3 +322,4 @@ ALTER TABLE llx_expensereport_det ADD COLUMN multicurrency_total_ttc double(24,8
|
|||||||
|
|
||||||
ALTER TABLE llx_product_lang ADD COLUMN import_key varchar(14) DEFAULT NULL;
|
ALTER TABLE llx_product_lang ADD COLUMN import_key varchar(14) DEFAULT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE llx_actioncomm MODIFY COLUMN elementtype varchar(255) DEFAULT NULL;
|
||||||
@ -69,7 +69,7 @@ create table llx_actioncomm
|
|||||||
recurdateend datetime,
|
recurdateend datetime,
|
||||||
|
|
||||||
fk_element integer DEFAULT NULL,
|
fk_element integer DEFAULT NULL,
|
||||||
elementtype varchar(32) DEFAULT NULL
|
elementtype varchar(255) DEFAULT NULL
|
||||||
|
|
||||||
)ENGINE=innodb;
|
)ENGINE=innodb;
|
||||||
|
|
||||||
|
|||||||
@ -21,5 +21,4 @@ CREATE TABLE llx_holiday_users
|
|||||||
fk_user integer NOT NULL,
|
fk_user integer NOT NULL,
|
||||||
fk_type integer NOT NULL,
|
fk_type integer NOT NULL,
|
||||||
nb_holiday real NOT NULL DEFAULT '0'
|
nb_holiday real NOT NULL DEFAULT '0'
|
||||||
)
|
) ENGINE=innodb;
|
||||||
ENGINE=innodb;
|
|
||||||
@ -282,6 +282,7 @@ ModuleSetup=إعداد وحدة
|
|||||||
ModulesSetup=نمائط الإعداد
|
ModulesSetup=نمائط الإعداد
|
||||||
ModuleFamilyBase=نظام
|
ModuleFamilyBase=نظام
|
||||||
ModuleFamilyCrm=إدارة علاقات العملاء (CRM)
|
ModuleFamilyCrm=إدارة علاقات العملاء (CRM)
|
||||||
|
ModuleFamilySrm=Supplier Relation Management (SRM)
|
||||||
ModuleFamilyProducts=إدارة المنتجات (PM)
|
ModuleFamilyProducts=إدارة المنتجات (PM)
|
||||||
ModuleFamilyHr=إدارة الموارد البشرية (HR)
|
ModuleFamilyHr=إدارة الموارد البشرية (HR)
|
||||||
ModuleFamilyProjects=مشاريع / العمل التعاوني
|
ModuleFamilyProjects=مشاريع / العمل التعاوني
|
||||||
@ -587,6 +588,7 @@ Permission38=منتجات التصدير
|
|||||||
Permission41=مشاريع القراءة والمهام (مشروع مشترك ومشاريع انا اتصال ل). كما يمكن أن يدخل الوقت المستهلك في المهام الموكلة (الجدول الزمني)
|
Permission41=مشاريع القراءة والمهام (مشروع مشترك ومشاريع انا اتصال ل). كما يمكن أن يدخل الوقت المستهلك في المهام الموكلة (الجدول الزمني)
|
||||||
Permission42=إنشاء / تعديل مشاريع تعديل مهام بلدي المشاريع
|
Permission42=إنشاء / تعديل مشاريع تعديل مهام بلدي المشاريع
|
||||||
Permission44=حذف مشاريع
|
Permission44=حذف مشاريع
|
||||||
|
Permission45=Export projects
|
||||||
Permission61=قراءة التدخلات
|
Permission61=قراءة التدخلات
|
||||||
Permission62=إنشاء / تعديل التدخلات
|
Permission62=إنشاء / تعديل التدخلات
|
||||||
Permission64=حذف التدخلات
|
Permission64=حذف التدخلات
|
||||||
@ -640,6 +642,7 @@ Permission162=إنشاء / تعديل العقود / الاشتراكات
|
|||||||
Permission163=تفعيل خدمة / الاشتراك عقد
|
Permission163=تفعيل خدمة / الاشتراك عقد
|
||||||
Permission164=تعطيل خدمة / الاشتراك عقد
|
Permission164=تعطيل خدمة / الاشتراك عقد
|
||||||
Permission165=حذف العقود / الاشتراكات
|
Permission165=حذف العقود / الاشتراكات
|
||||||
|
Permission167=Export contracts
|
||||||
Permission171=قراءة الرحلات والنفقات (لك والمرؤوسين لديك)
|
Permission171=قراءة الرحلات والنفقات (لك والمرؤوسين لديك)
|
||||||
Permission172=إنشاء / تعديل الرحلات والمصاريف
|
Permission172=إنشاء / تعديل الرحلات والمصاريف
|
||||||
Permission173=حذف الرحلات والمصاريف
|
Permission173=حذف الرحلات والمصاريف
|
||||||
@ -788,6 +791,7 @@ Permission2403=قراءة الأعمال (أو أحداث المهام) آخري
|
|||||||
Permission2411=الإجراءات قراءة (أحداث أو المهام) للاخرين
|
Permission2411=الإجراءات قراءة (أحداث أو المهام) للاخرين
|
||||||
Permission2412=إنشاء / تعديل الإجراءات (أحداث أو المهام) للاخرين
|
Permission2412=إنشاء / تعديل الإجراءات (أحداث أو المهام) للاخرين
|
||||||
Permission2413=حذف الإجراءات (أحداث أو المهام) للاخرين
|
Permission2413=حذف الإجراءات (أحداث أو المهام) للاخرين
|
||||||
|
Permission2414=Export actions/tasks of others
|
||||||
Permission2501=قراءة وثائق
|
Permission2501=قراءة وثائق
|
||||||
Permission2502=تقديم وثائق أو حذف
|
Permission2502=تقديم وثائق أو حذف
|
||||||
Permission2503=تقديم وثائق أو حذف
|
Permission2503=تقديم وثائق أو حذف
|
||||||
@ -1713,3 +1717,4 @@ ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP و CRM%s هو متاح.
|
|||||||
MultiPriceRuleDesc=عندما خيار "مستوى العديد من الأسعار لكل المنتجات / الخدمات" في وضع التشغيل، يمكنك تحديد أسعار مختلفة (واحد لكل مستوى الأسعار) لكل منتج. لتوفير الوقت، يمكنك الدخول هنا حكم أن يكون السعر لكل مستوى autocalculated وفقا لسعر المستوى الأول، لذلك سيكون لديك للدخول الثمن الوحيد للمستوى الأول على كل منتج. هذه الصفحة هي هنا لتوفر لك الوقت ويمكن أن تكون مفيدة فقط إذا كانت الأسعار الخاص لكل LEVE قريبة إلى المستوى الأول. يمكنك تجاهل هذه الصفحة في معظم الحالات.
|
MultiPriceRuleDesc=عندما خيار "مستوى العديد من الأسعار لكل المنتجات / الخدمات" في وضع التشغيل، يمكنك تحديد أسعار مختلفة (واحد لكل مستوى الأسعار) لكل منتج. لتوفير الوقت، يمكنك الدخول هنا حكم أن يكون السعر لكل مستوى autocalculated وفقا لسعر المستوى الأول، لذلك سيكون لديك للدخول الثمن الوحيد للمستوى الأول على كل منتج. هذه الصفحة هي هنا لتوفر لك الوقت ويمكن أن تكون مفيدة فقط إذا كانت الأسعار الخاص لكل LEVE قريبة إلى المستوى الأول. يمكنك تجاهل هذه الصفحة في معظم الحالات.
|
||||||
ModelModulesProduct=Templates for product documents
|
ModelModulesProduct=Templates for product documents
|
||||||
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
||||||
|
SeeSubstitutionVars=See * note for list of possible substitution variables
|
||||||
|
|||||||
@ -219,6 +219,7 @@ RemainderToBill=تبقى لمشروع قانون
|
|||||||
SendBillByMail=ارسال الفاتورة عن طريق البريد الإلكتروني
|
SendBillByMail=ارسال الفاتورة عن طريق البريد الإلكتروني
|
||||||
SendReminderBillByMail=إرسال تذكرة عن طريق البريد الإلكتروني
|
SendReminderBillByMail=إرسال تذكرة عن طريق البريد الإلكتروني
|
||||||
RelatedCommercialProposals=المقترحات المتعلقة التجارية
|
RelatedCommercialProposals=المقترحات المتعلقة التجارية
|
||||||
|
RelatedRecurringCustomerInvoices=Related recurring customer invoices
|
||||||
MenuToValid=لصحيحة
|
MenuToValid=لصحيحة
|
||||||
DateMaxPayment=قبل استحقاق الدفع
|
DateMaxPayment=قبل استحقاق الدفع
|
||||||
DateEcheance=الحد من الموعد المقرر
|
DateEcheance=الحد من الموعد المقرر
|
||||||
@ -319,7 +320,6 @@ toolTipFrequency=Examples:<br /><b>Set 7 / day</b>: give a new invoice every 7 d
|
|||||||
NextDateToExecution=Date for next invoice generation
|
NextDateToExecution=Date for next invoice generation
|
||||||
DateLastGeneration=Date of last generation
|
DateLastGeneration=Date of last generation
|
||||||
MaxPeriodNumber=Max nb of invoice generation
|
MaxPeriodNumber=Max nb of invoice generation
|
||||||
RestPeriodNumber=Rest period number
|
|
||||||
NbOfGenerationDone=Nb of invoice generation already done
|
NbOfGenerationDone=Nb of invoice generation already done
|
||||||
InvoiceAutoValidate=Automatically validate invoice
|
InvoiceAutoValidate=Automatically validate invoice
|
||||||
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
||||||
@ -471,3 +471,7 @@ PDFCrevetteSituationInvoiceLine=Situation N°%s : Inv. N°%s on %s
|
|||||||
TotalSituationInvoice=Total situation
|
TotalSituationInvoice=Total situation
|
||||||
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
||||||
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
||||||
|
ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices.
|
||||||
|
ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu <strong>%s - %s - %s</strong>.
|
||||||
|
ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask you administrator to enable and setup module <strong>%s</strong>. Note that both method (manual and automatic) can be used together with no risk of duplication.
|
||||||
|
|
||||||
|
|||||||
@ -60,8 +60,8 @@ BoxTitleLastContracts=العقود %s الماضية
|
|||||||
BoxTitleLastModifiedDonations=أخر %s التبرعات تعديل
|
BoxTitleLastModifiedDonations=أخر %s التبرعات تعديل
|
||||||
BoxTitleLastModifiedExpenses=أخر %s تقارير النفقات المعدلة
|
BoxTitleLastModifiedExpenses=أخر %s تقارير النفقات المعدلة
|
||||||
BoxGlobalActivity=النشاط العالمي (الفواتير والمقترحات والطلبات)
|
BoxGlobalActivity=النشاط العالمي (الفواتير والمقترحات والطلبات)
|
||||||
BoxGoodCustomers=Good Customers
|
BoxGoodCustomers=Good customers
|
||||||
BoxTitleGoodCustomers=%s Good Customers
|
BoxTitleGoodCustomers=%s Good customers
|
||||||
FailedToRefreshDataInfoNotUpToDate=فشل لتحديث تدفق RSS. تاريخ آخر تحديث ناجحا:٪ الصورة
|
FailedToRefreshDataInfoNotUpToDate=فشل لتحديث تدفق RSS. تاريخ آخر تحديث ناجحا:٪ الصورة
|
||||||
LastRefreshDate=تاريخ آخر تحديث
|
LastRefreshDate=تاريخ آخر تحديث
|
||||||
NoRecordedBookmarks=أية إشارات محددة.
|
NoRecordedBookmarks=أية إشارات محددة.
|
||||||
|
|||||||
@ -202,7 +202,7 @@ ProfId3IN=معرف البروفيسور 3
|
|||||||
ProfId4IN=معرف البروفيسور 4
|
ProfId4IN=معرف البروفيسور 4
|
||||||
ProfId5IN=الأستاذ رقم 5
|
ProfId5IN=الأستاذ رقم 5
|
||||||
ProfId6IN=-
|
ProfId6IN=-
|
||||||
ProfId1LU=Id. prof. 1 (RCS)
|
ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg)
|
||||||
ProfId2LU=Id. prof. 2 (Business permit)
|
ProfId2LU=Id. prof. 2 (Business permit)
|
||||||
ProfId3LU=-
|
ProfId3LU=-
|
||||||
ProfId4LU=-
|
ProfId4LU=-
|
||||||
@ -317,10 +317,12 @@ ShowContact=وتظهر الاتصال
|
|||||||
ContactsAllShort=جميع (بدون فلتر)
|
ContactsAllShort=جميع (بدون فلتر)
|
||||||
ContactType=نوع الاتصال
|
ContactType=نوع الاتصال
|
||||||
ContactForOrders=أوامر اتصال
|
ContactForOrders=أوامر اتصال
|
||||||
|
ContactForOrdersOrShipments=Order's or shipment's contact
|
||||||
ContactForProposals=مقترحات اتصال
|
ContactForProposals=مقترحات اتصال
|
||||||
ContactForContracts=عقود اتصال
|
ContactForContracts=عقود اتصال
|
||||||
ContactForInvoices=فواتير اتصال
|
ContactForInvoices=فواتير اتصال
|
||||||
NoContactForAnyOrder=هذا الاتصال ليس من أجل أي اتصال
|
NoContactForAnyOrder=هذا الاتصال ليس من أجل أي اتصال
|
||||||
|
NoContactForAnyOrderOrShipment=This contact is not a contact for any order or shipment
|
||||||
NoContactForAnyProposal=هذا الاتصال ليست على اتصال في أي اقتراح التجارية
|
NoContactForAnyProposal=هذا الاتصال ليست على اتصال في أي اقتراح التجارية
|
||||||
NoContactForAnyContract=هذا الاتصال ليس أي عقد للاتصال
|
NoContactForAnyContract=هذا الاتصال ليس أي عقد للاتصال
|
||||||
NoContactForAnyInvoice=هذا الاتصال ليست على اتصال في أي فاتورة
|
NoContactForAnyInvoice=هذا الاتصال ليست على اتصال في أي فاتورة
|
||||||
@ -438,3 +440,6 @@ MergeThirdparties=دمج أطراف ثالثة
|
|||||||
ConfirmMergeThirdparties=هل أنت متأكد أنك تريد دمج هذا الطرف الثالث في واحدة الحالي؟ كل الكائنات المرتبطة (الفواتير وأوامر، ...) سيتم نقلها إلى طرف ثالث الحالي لذلك سوف تكون قادرة على حذف واحد مكرر.
|
ConfirmMergeThirdparties=هل أنت متأكد أنك تريد دمج هذا الطرف الثالث في واحدة الحالي؟ كل الكائنات المرتبطة (الفواتير وأوامر، ...) سيتم نقلها إلى طرف ثالث الحالي لذلك سوف تكون قادرة على حذف واحد مكرر.
|
||||||
ThirdpartiesMergeSuccess=تم دمج Thirdparties
|
ThirdpartiesMergeSuccess=تم دمج Thirdparties
|
||||||
ErrorThirdpartiesMerge=كان هناك خطأ عند حذف thirdparties. يرجى التحقق من السجل. وقد عادت التغييرات.
|
ErrorThirdpartiesMerge=كان هناك خطأ عند حذف thirdparties. يرجى التحقق من السجل. وقد عادت التغييرات.
|
||||||
|
SaleRepresentativeLogin=Login of sale representative
|
||||||
|
SaleRepresentativeFirstname=Firstname of sale representative
|
||||||
|
SaleRepresentativeLastname=Lastname of sale representative
|
||||||
|
|||||||
@ -172,6 +172,8 @@ ErrorMandatoryParametersNotProvided=معيار إلزامي (ق) لم تقدم
|
|||||||
ErrorOppStatusRequiredIfAmount=قمت بتعيين المبلغ المقدر لهذه الفرصة / الرصاص. لذلك يجب عليك أيضا إدخال مكانتها
|
ErrorOppStatusRequiredIfAmount=قمت بتعيين المبلغ المقدر لهذه الفرصة / الرصاص. لذلك يجب عليك أيضا إدخال مكانتها
|
||||||
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
|
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
|
||||||
ErrorSavingChanges=وقد ocurred لخطأ عند حفظ التغييرات
|
ErrorSavingChanges=وقد ocurred لخطأ عند حفظ التغييرات
|
||||||
|
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
|
||||||
|
ErrorFileMustHaveFormat=File must have format %s
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
|
WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
|
||||||
|
|||||||
@ -128,6 +128,10 @@ SpecialCode=رمز خاص
|
|||||||
ExportStringFilter=٪٪ يسمح استبدال حرف واحد أو أكثر في النص
|
ExportStringFilter=٪٪ يسمح استبدال حرف واحد أو أكثر في النص
|
||||||
ExportDateFilter=YYYY، YYYYMM، YYYYMMDD: فلاتر لسنة واحدة / شهر / يوم <br> YYYY + YYYY، YYYYMM + YYYYMM، YYYYMMDD + YYYYMMDD: مرشحات على مجموعة من سنوات / أشهر / أيام <br> > YYYY،> YYYYMM،> YYYYMMDD: مرشحات على جميع السنوات / أشهر / يوما التالية <br> <YYYY، <YYYYMM، <YYYYMMDD: مرشحات على جميع السنوات / أشهر / يوما السابقة
|
ExportDateFilter=YYYY، YYYYMM، YYYYMMDD: فلاتر لسنة واحدة / شهر / يوم <br> YYYY + YYYY، YYYYMM + YYYYMM، YYYYMMDD + YYYYMMDD: مرشحات على مجموعة من سنوات / أشهر / أيام <br> > YYYY،> YYYYMM،> YYYYMMDD: مرشحات على جميع السنوات / أشهر / يوما التالية <br> <YYYY، <YYYYMM، <YYYYMMDD: مرشحات على جميع السنوات / أشهر / يوما السابقة
|
||||||
ExportNumericFilter=مرشحات "NNNNN من حيث القيمة واحد <br> مرشحات "NNNNN + NNNNN" على مجموعة من القيم <br> '> NNNNN' المرشحات من قبل انخفاض القيم <br> '> NNNNN' المرشحات بالقيم العليا
|
ExportNumericFilter=مرشحات "NNNNN من حيث القيمة واحد <br> مرشحات "NNNNN + NNNNN" على مجموعة من القيم <br> '> NNNNN' المرشحات من قبل انخفاض القيم <br> '> NNNNN' المرشحات بالقيم العليا
|
||||||
|
ImportFromLine=Import starting from line number
|
||||||
|
EndAtLineNb=End at line number
|
||||||
|
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines
|
||||||
|
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file
|
||||||
## filters
|
## filters
|
||||||
SelectFilterFields=إذا كنت ترغب في تصفية على بعض القيم، قيم الإدخال فقط هنا.
|
SelectFilterFields=إذا كنت ترغب في تصفية على بعض القيم، قيم الإدخال فقط هنا.
|
||||||
FilterableFields=الحقول تصفيتها
|
FilterableFields=الحقول تصفيتها
|
||||||
|
|||||||
@ -25,6 +25,7 @@ FormatDateHourTextShort=%d %b %Y %H:%M
|
|||||||
FormatDateHourText=%d %B %Y %H:%M
|
FormatDateHourText=%d %B %Y %H:%M
|
||||||
DatabaseConnection=اتصال قاعدة البيانات
|
DatabaseConnection=اتصال قاعدة البيانات
|
||||||
NoTemplateDefined=No template defined for this email type
|
NoTemplateDefined=No template defined for this email type
|
||||||
|
AvailableVariables=Available substitution variables
|
||||||
NoTranslation=لا يوجد ترجمة
|
NoTranslation=لا يوجد ترجمة
|
||||||
NoRecordFound=لا يوجد سجلات
|
NoRecordFound=لا يوجد سجلات
|
||||||
NoError=لا خطأ
|
NoError=لا خطأ
|
||||||
|
|||||||
@ -32,6 +32,7 @@ StatusOrderSent=شحنة في عملية
|
|||||||
StatusOrderOnProcessShort=أمر
|
StatusOrderOnProcessShort=أمر
|
||||||
StatusOrderProcessedShort=تجهيز
|
StatusOrderProcessedShort=تجهيز
|
||||||
StatusOrderDelivered=تم التوصيل
|
StatusOrderDelivered=تم التوصيل
|
||||||
|
StatusOrderDeliveredShort=Delivered
|
||||||
StatusOrderToBillShort=على مشروع قانون
|
StatusOrderToBillShort=على مشروع قانون
|
||||||
StatusOrderToBill2Short=على مشروع قانون
|
StatusOrderToBill2Short=على مشروع قانون
|
||||||
StatusOrderApprovedShort=وافق
|
StatusOrderApprovedShort=وافق
|
||||||
|
|||||||
@ -45,10 +45,6 @@ LastProducts=آخر المنتجات
|
|||||||
CardProduct0=منتجات البطاقات
|
CardProduct0=منتجات البطاقات
|
||||||
CardProduct1=بطاقة الخدمة
|
CardProduct1=بطاقة الخدمة
|
||||||
CardContract=عقد بطاقة
|
CardContract=عقد بطاقة
|
||||||
Warehouse=مخزن
|
|
||||||
Warehouses=المستودعات
|
|
||||||
WarehouseOpened=مستودع مفتوح
|
|
||||||
WarehouseClosed=مخزن مغلق
|
|
||||||
Stock=الأسهم
|
Stock=الأسهم
|
||||||
Stocks=الاسهم
|
Stocks=الاسهم
|
||||||
Movement=الحركة
|
Movement=الحركة
|
||||||
@ -318,3 +314,11 @@ WarningSelectOneDocument=يرجى تحديد وثيقة واحدة على الأ
|
|||||||
DefaultUnitToShow=Unit
|
DefaultUnitToShow=Unit
|
||||||
NbOfQtyInProposals=Qty in proposals
|
NbOfQtyInProposals=Qty in proposals
|
||||||
ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view...
|
ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view...
|
||||||
|
TranslatedLabel=Translated label
|
||||||
|
TranslatedDescription=Translated description
|
||||||
|
TranslatedNote=Translated notes
|
||||||
|
ProductWeight=Weight for 1 product
|
||||||
|
ProductVolume=Volume for 1 product
|
||||||
|
WeightUnits=Weight unit
|
||||||
|
VolumeUnits=Volume unit
|
||||||
|
SizeUnits=Size unit
|
||||||
|
|||||||
@ -74,6 +74,9 @@ Progress=تقدم
|
|||||||
ProgressDeclared=أعلن التقدم
|
ProgressDeclared=أعلن التقدم
|
||||||
ProgressCalculated=تقدم تحسب
|
ProgressCalculated=تقدم تحسب
|
||||||
Time=وقت
|
Time=وقت
|
||||||
|
ListOfTasks=List of tasks
|
||||||
|
GoToListOfTimeConsumed=Go to list of time consumed
|
||||||
|
GoToListOfTasks=Go to list of tasks
|
||||||
ListProposalsAssociatedProject=قائمة المقترحات التجارية المرتبطة بالمشروع.
|
ListProposalsAssociatedProject=قائمة المقترحات التجارية المرتبطة بالمشروع.
|
||||||
ListOrdersAssociatedProject=قائمة الزبائن المرتبطة بالمشروع.
|
ListOrdersAssociatedProject=قائمة الزبائن المرتبطة بالمشروع.
|
||||||
ListInvoicesAssociatedProject=قائمة العملاء والفواتير المرتبطة بالمشروع
|
ListInvoicesAssociatedProject=قائمة العملاء والفواتير المرتبطة بالمشروع
|
||||||
@ -198,3 +201,4 @@ OppStatusNEGO=Negociation
|
|||||||
OppStatusPENDING=بانتظار
|
OppStatusPENDING=بانتظار
|
||||||
OppStatusWIN=فاز
|
OppStatusWIN=فاز
|
||||||
OppStatusLOST=ضائع
|
OppStatusLOST=ضائع
|
||||||
|
Budget=Budget
|
||||||
|
|||||||
@ -70,6 +70,8 @@ ProductQtyInSuppliersOrdersRunning=كمية المنتج إلى أوامر ال
|
|||||||
ProductQtyInShipmentAlreadySent=كمية المنتج من فتح النظام العميل ارسلت بالفعل
|
ProductQtyInShipmentAlreadySent=كمية المنتج من فتح النظام العميل ارسلت بالفعل
|
||||||
ProductQtyInSuppliersShipmentAlreadyRecevied=كمية المنتج من فتح المورد النظام وردت بالفعل
|
ProductQtyInSuppliersShipmentAlreadyRecevied=كمية المنتج من فتح المورد النظام وردت بالفعل
|
||||||
NoProductToShipFoundIntoStock=لا يوجد منتج للسفينة وجدت في <b>مستودع٪ الصورة.</b> الأسهم الصحيح أو العودة إلى اختيار مستودع آخر.
|
NoProductToShipFoundIntoStock=لا يوجد منتج للسفينة وجدت في <b>مستودع٪ الصورة.</b> الأسهم الصحيح أو العودة إلى اختيار مستودع آخر.
|
||||||
|
WeightVolShort=Weight/Vol.
|
||||||
|
ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments.
|
||||||
|
|
||||||
# Sending methods
|
# Sending methods
|
||||||
SendingMethodCATCH=القبض على العملاء
|
SendingMethodCATCH=القبض على العملاء
|
||||||
|
|||||||
@ -58,3 +58,5 @@ DefaultModelSupplierProposalCreate=إنشاء نموذج افتراضي
|
|||||||
DefaultModelSupplierProposalToBill=القالب الافتراضي عند إغلاق طلب السعر (مقبول)
|
DefaultModelSupplierProposalToBill=القالب الافتراضي عند إغلاق طلب السعر (مقبول)
|
||||||
DefaultModelSupplierProposalClosed=القالب الافتراضي عند إغلاق طلب السعر (رفض)
|
DefaultModelSupplierProposalClosed=القالب الافتراضي عند إغلاق طلب السعر (رفض)
|
||||||
ListOfSupplierProposal=قائمة الطلبات اقتراح المورد
|
ListOfSupplierProposal=قائمة الطلبات اقتراح المورد
|
||||||
|
SupplierProposalsToClose=Supplier proposals to close
|
||||||
|
SupplierProposalsToProcess=Supplier proposals to process
|
||||||
|
|||||||
@ -1,22 +1,22 @@
|
|||||||
# Dolibarr language file - en_US - Accounting Expert
|
# Dolibarr language file - en_US - Accounting Expert
|
||||||
ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file
|
ACCOUNTING_EXPORT_SEPARATORCSV=Разделител за колона за експорт на файл
|
||||||
ACCOUNTING_EXPORT_DATE=Date format for export file
|
ACCOUNTING_EXPORT_DATE=Формат на дата за експорт на файл
|
||||||
ACCOUNTING_EXPORT_PIECE=Export the number of piece
|
ACCOUNTING_EXPORT_PIECE=Експортирай номера от частта
|
||||||
ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account
|
ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Експортирай глобалния акаунт
|
||||||
ACCOUNTING_EXPORT_LABEL=Export the label
|
ACCOUNTING_EXPORT_LABEL=Експортирай етикета
|
||||||
ACCOUNTING_EXPORT_AMOUNT=Export the amount
|
ACCOUNTING_EXPORT_AMOUNT=Експортирай количеството
|
||||||
ACCOUNTING_EXPORT_DEVISE=Export the devise
|
ACCOUNTING_EXPORT_DEVISE=Export the devise
|
||||||
Selectformat=Select the format for the file
|
Selectformat=Избери формата за файла
|
||||||
ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name
|
ACCOUNTING_EXPORT_PREFIX_SPEC=Уточнете префикса за името на файла
|
||||||
|
|
||||||
Accounting=Accounting
|
Accounting=Accounting
|
||||||
Globalparameters=Global parameters
|
Globalparameters=Глобални параметри
|
||||||
Menuaccount=Accounting accounts
|
Menuaccount=Accounting accounts
|
||||||
Menuthirdpartyaccount=Thirdparty accounts
|
Menuthirdpartyaccount=Thirdparty accounts
|
||||||
MenuTools=Инструменти
|
MenuTools=Инструменти
|
||||||
|
|
||||||
ConfigAccountingExpert=Configuration of the module accounting expert
|
ConfigAccountingExpert=Configuration of the module accounting expert
|
||||||
Journaux=Journals
|
Journaux=Журнали
|
||||||
JournalFinancial=Financial journals
|
JournalFinancial=Financial journals
|
||||||
Exports=Exports
|
Exports=Exports
|
||||||
Export=Export
|
Export=Export
|
||||||
@ -104,7 +104,7 @@ Code_tiers=Трета страна
|
|||||||
Labelcompte=Етикет на сметка
|
Labelcompte=Етикет на сметка
|
||||||
Sens=Sens
|
Sens=Sens
|
||||||
Codejournal=Дневник
|
Codejournal=Дневник
|
||||||
NumPiece=Piece number
|
NumPiece=Номер на част
|
||||||
|
|
||||||
DelBookKeeping=Delete the records of the general ledger
|
DelBookKeeping=Delete the records of the general ledger
|
||||||
|
|
||||||
|
|||||||
@ -154,7 +154,7 @@ Purge=Изчистване
|
|||||||
PurgeAreaDesc=Тази страница ви позволява да изтриете всички файлове, които са построени или съхраняват от Dolibarr (временни файлове, или всички файлове в <b>%s</b> директория). Използването на тази функция не е необходимо. Тя е предвидена за потребители, чиито Dolibarr се хоства от доставчик, който не предлага разрешения за изтриване на файлове, построени от уеб сървъра.
|
PurgeAreaDesc=Тази страница ви позволява да изтриете всички файлове, които са построени или съхраняват от Dolibarr (временни файлове, или всички файлове в <b>%s</b> директория). Използването на тази функция не е необходимо. Тя е предвидена за потребители, чиито Dolibarr се хоства от доставчик, който не предлага разрешения за изтриване на файлове, построени от уеб сървъра.
|
||||||
PurgeDeleteLogFile=Изтриване на влезете файлове <b>%s,</b> определени за Syslog модул (без риск от загуба на данни)
|
PurgeDeleteLogFile=Изтриване на влезете файлове <b>%s,</b> определени за Syslog модул (без риск от загуба на данни)
|
||||||
PurgeDeleteTemporaryFiles=Изтриване на всички временни файлове (без риск от загуба на данни)
|
PurgeDeleteTemporaryFiles=Изтриване на всички временни файлове (без риск от загуба на данни)
|
||||||
PurgeDeleteTemporaryFilesShort=Delete temporary files
|
PurgeDeleteTemporaryFilesShort=Изтрий временните файлове
|
||||||
PurgeDeleteAllFilesInDocumentsDir=Изтриване на всички файлове в директорията <b>%s.</b> Временни файлове, но също така и резервната база данни сметища, файлове, прикрепени към елементи (контрагенти, фактури, ...) и качени в модул ECM ще бъдат изтрити.
|
PurgeDeleteAllFilesInDocumentsDir=Изтриване на всички файлове в директорията <b>%s.</b> Временни файлове, но също така и резервната база данни сметища, файлове, прикрепени към елементи (контрагенти, фактури, ...) и качени в модул ECM ще бъдат изтрити.
|
||||||
PurgeRunNow=Изчистване сега
|
PurgeRunNow=Изчистване сега
|
||||||
PurgeNothingToDelete=Директория или файл да изтриете.
|
PurgeNothingToDelete=Директория или файл да изтриете.
|
||||||
@ -282,6 +282,7 @@ ModuleSetup=Настройки на модул
|
|||||||
ModulesSetup=Настройки на модули
|
ModulesSetup=Настройки на модули
|
||||||
ModuleFamilyBase=Система
|
ModuleFamilyBase=Система
|
||||||
ModuleFamilyCrm=Управление на Връзки с клиенти (CRM)
|
ModuleFamilyCrm=Управление на Връзки с клиенти (CRM)
|
||||||
|
ModuleFamilySrm=Supplier Relation Management (SRM)
|
||||||
ModuleFamilyProducts=Управление на продукти
|
ModuleFamilyProducts=Управление на продукти
|
||||||
ModuleFamilyHr=Управление на човешките ресурси
|
ModuleFamilyHr=Управление на човешките ресурси
|
||||||
ModuleFamilyProjects=Проекти / съвместна работа
|
ModuleFamilyProjects=Проекти / съвместна работа
|
||||||
@ -394,8 +395,8 @@ ExtrafieldLink=Link to an object
|
|||||||
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
|
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
|
||||||
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
|
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
|
||||||
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
|
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
|
||||||
ExtrafieldParamHelpsellist=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value<br>You can also use $ID$ in filter witch is the current id of current object<br>To do a SELECT in filter use $SEL$<br>if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
ExtrafieldParamHelpsellist=Листа с параметри е от таблицата<br>Синтаксис: table_name:label_field:id_field::filter<br>Пример : c_typent:libelle:id::filter<br><br>филтъра може да бъде просто тест (напр. активен=1) за да покаже само активната стойност<br>Вие също може да използвате $ID$ във филтър, който е в настоящото id от текущия обект<br>За да направите ИЗБОР в филтъра $SEL$<br>ако желаете да филтрирате допълнителните полета използвайте синтаксиса extra.fieldcode=... (където полето код е кодана допълнителното поле)<br><br>Реда на подреждането зависи от другите :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
||||||
ExtrafieldParamHelpchkbxlst=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value<br>You can also use $ID$ in filter witch is the current id of current object<br>To do a SELECT in filter use $SEL$<br>if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
ExtrafieldParamHelpchkbxlst=Листа с параметри е от таблицата<br>Синтаксис: table_name:label_field:id_field::filter<br>Пример : c_typent:libelle:id::filter<br><br>филтъра може да бъде просто тест (напр. активен=1) за да покаже само активната стойност<br>Вие също може да използвате $ID$ във филтър, който е в настоящото id от текущия обект<br>За да направите ИЗБОР в филтъра $SEL$<br>if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
||||||
ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath<br>Syntax : ObjectName:Classpath<br>Example : Societe:societe/class/societe.class.php
|
ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath<br>Syntax : ObjectName:Classpath<br>Example : Societe:societe/class/societe.class.php
|
||||||
LibraryToBuildPDF=Библиотека използвана за направа на PDF
|
LibraryToBuildPDF=Библиотека използвана за направа на PDF
|
||||||
WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
|
WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
|
||||||
@ -417,7 +418,7 @@ ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode
|
|||||||
AllBarcodeReset=All barcode values have been removed
|
AllBarcodeReset=All barcode values have been removed
|
||||||
NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup.
|
NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup.
|
||||||
NoRecordWithoutBarcodeDefined=No record with no barcode value defined.
|
NoRecordWithoutBarcodeDefined=No record with no barcode value defined.
|
||||||
EnableFileCache=Enable file cache
|
EnableFileCache=Пусни кеширането на файла
|
||||||
|
|
||||||
# Modules
|
# Modules
|
||||||
Module0Name=Потребители и групи
|
Module0Name=Потребители и групи
|
||||||
@ -587,6 +588,7 @@ Permission38=Износ на продукти
|
|||||||
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
||||||
Permission42=Създаване / промяна на проекти (общи проекти и проекти съм се с нас за)
|
Permission42=Създаване / промяна на проекти (общи проекти и проекти съм се с нас за)
|
||||||
Permission44=Изтриване на проекти (общи проекти и проекти съм се с нас за)
|
Permission44=Изтриване на проекти (общи проекти и проекти съм се с нас за)
|
||||||
|
Permission45=Export projects
|
||||||
Permission61=Прочети интервенции
|
Permission61=Прочети интервенции
|
||||||
Permission62=Създаване / промяна на интервенции
|
Permission62=Създаване / промяна на интервенции
|
||||||
Permission64=Изтриване на интервенции
|
Permission64=Изтриване на интервенции
|
||||||
@ -640,6 +642,7 @@ Permission162=Create/modify contracts/subscriptions
|
|||||||
Permission163=Activate a service/subscription of a contract
|
Permission163=Activate a service/subscription of a contract
|
||||||
Permission164=Disable a service/subscription of a contract
|
Permission164=Disable a service/subscription of a contract
|
||||||
Permission165=Delete contracts/subscriptions
|
Permission165=Delete contracts/subscriptions
|
||||||
|
Permission167=Export contracts
|
||||||
Permission171=Read trips and expenses (yours and your subordinates)
|
Permission171=Read trips and expenses (yours and your subordinates)
|
||||||
Permission172=Create/modify trips and expenses
|
Permission172=Create/modify trips and expenses
|
||||||
Permission173=Delete trips and expenses
|
Permission173=Delete trips and expenses
|
||||||
@ -788,6 +791,7 @@ Permission2403=Изтрий действия (събития или задачи
|
|||||||
Permission2411=Прочетете действия (събития или задачи) на другите
|
Permission2411=Прочетете действия (събития или задачи) на другите
|
||||||
Permission2412=Създаване / промяна действия (събития или задачи) на другите
|
Permission2412=Създаване / промяна действия (събития или задачи) на другите
|
||||||
Permission2413=Изтрий действия (събития или задачи) на другите
|
Permission2413=Изтрий действия (събития или задачи) на другите
|
||||||
|
Permission2414=Export actions/tasks of others
|
||||||
Permission2501=/ Изтегляне документи
|
Permission2501=/ Изтегляне документи
|
||||||
Permission2502=Изтегляне на документи
|
Permission2502=Изтегляне на документи
|
||||||
Permission2503=Изпращане или изтриване на документи
|
Permission2503=Изпращане или изтриване на документи
|
||||||
@ -1091,7 +1095,7 @@ SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail dire
|
|||||||
TranslationSetup=Конфигурация на превода
|
TranslationSetup=Конфигурация на превода
|
||||||
TranslationDesc=Езика на интерфейса може да бъде променен:<br> * Глобално от менюто <strong>Начало - Настройки - Екран</strong> <br> * Само за потребителя от таба <strong>Изглед</strong> в картата на потребителя (кликнете върху потребителското име в горната част на екрана).
|
TranslationDesc=Езика на интерфейса може да бъде променен:<br> * Глобално от менюто <strong>Начало - Настройки - Екран</strong> <br> * Само за потребителя от таба <strong>Изглед</strong> в картата на потребителя (кликнете върху потребителското име в горната част на екрана).
|
||||||
TranslationOverwriteDesc=You can also overwrite some value by completing/editing the following table. You must use for "%s" the language code, for "%s" the key found into file langs/xx_XX/somefile.lang and "%s" the new value you want to use as new translation.
|
TranslationOverwriteDesc=You can also overwrite some value by completing/editing the following table. You must use for "%s" the language code, for "%s" the key found into file langs/xx_XX/somefile.lang and "%s" the new value you want to use as new translation.
|
||||||
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b> / <b>%s</b>
|
TotalNumberOfActivatedModules=Общ брой на активираните модули: <b>%s</b> / <b>%s</b>
|
||||||
YouMustEnableOneModule=Трябва да даде възможност на най-малко 1 модул
|
YouMustEnableOneModule=Трябва да даде възможност на най-малко 1 модул
|
||||||
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
|
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
|
||||||
YesInSummer=Yes in summer
|
YesInSummer=Yes in summer
|
||||||
@ -1641,7 +1645,7 @@ CloseFiscalYear=Close fiscal year
|
|||||||
DeleteFiscalYear=Delete fiscal year
|
DeleteFiscalYear=Delete fiscal year
|
||||||
ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ?
|
ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ?
|
||||||
AlwaysEditable=Can always be edited
|
AlwaysEditable=Can always be edited
|
||||||
IsHidden=Is not visible
|
IsHidden=Не е видим
|
||||||
MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application)
|
MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application)
|
||||||
NbMajMin=Minimum number of uppercase characters
|
NbMajMin=Minimum number of uppercase characters
|
||||||
NbNumMin=Minimum number of numeric characters
|
NbNumMin=Minimum number of numeric characters
|
||||||
@ -1669,8 +1673,8 @@ InstallModuleFromWebHasBeenDisabledByFile=Install of external module from applic
|
|||||||
ConfFileMuseContainCustom=Installing an external module from application save the module files into directory <strong>%s</strong>. To have this directory processed by Dolibarr, you must setup your <strong>conf/conf.php</strong> to have option<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
|
ConfFileMuseContainCustom=Installing an external module from application save the module files into directory <strong>%s</strong>. To have this directory processed by Dolibarr, you must setup your <strong>conf/conf.php</strong> to have option<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
|
||||||
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
||||||
HighlightLinesColor=Цвят за подчертаване на линията, когато мишката мине отгоре (оставете празно за без подчертаване)
|
HighlightLinesColor=Цвят за подчертаване на линията, когато мишката мине отгоре (оставете празно за без подчертаване)
|
||||||
TextTitleColor=Color of page title
|
TextTitleColor=Цвят на заглавието на страницата
|
||||||
LinkColor=Color of links
|
LinkColor=Цвят на връзките
|
||||||
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
||||||
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
||||||
BackgroundColor=Background color
|
BackgroundColor=Background color
|
||||||
@ -1713,3 +1717,4 @@ ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Ve
|
|||||||
MultiPriceRuleDesc=Когато опция "Няколко нива за цени на продукт/услуга" е активирана, можете да определите различни цени (по една на ниво) за всеки продукт. За да спестите време, можете да въведете правило тук да имате цена за всяко ниво автоматично изчислена спрямо цената на първо ниво, така ще трябва да въведете само цена за първо ниво на всеки продукт. Тази страница, за да пести времето ви и може да бъде полезна само ако вашите цени за всяко ниво са относителни спрямо първото ниво. Можете да игнорирате тази страница в повечето случаи.
|
MultiPriceRuleDesc=Когато опция "Няколко нива за цени на продукт/услуга" е активирана, можете да определите различни цени (по една на ниво) за всеки продукт. За да спестите време, можете да въведете правило тук да имате цена за всяко ниво автоматично изчислена спрямо цената на първо ниво, така ще трябва да въведете само цена за първо ниво на всеки продукт. Тази страница, за да пести времето ви и може да бъде полезна само ако вашите цени за всяко ниво са относителни спрямо първото ниво. Можете да игнорирате тази страница в повечето случаи.
|
||||||
ModelModulesProduct=Templates for product documents
|
ModelModulesProduct=Templates for product documents
|
||||||
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
||||||
|
SeeSubstitutionVars=See * note for list of possible substitution variables
|
||||||
|
|||||||
@ -219,6 +219,7 @@ RemainderToBill=Напомняне за фактуриране
|
|||||||
SendBillByMail=Изпращане на фактура по имейл
|
SendBillByMail=Изпращане на фактура по имейл
|
||||||
SendReminderBillByMail=Изпращане на напомняне по имейл
|
SendReminderBillByMail=Изпращане на напомняне по имейл
|
||||||
RelatedCommercialProposals=Свързани търговски предложения
|
RelatedCommercialProposals=Свързани търговски предложения
|
||||||
|
RelatedRecurringCustomerInvoices=Related recurring customer invoices
|
||||||
MenuToValid=За валидни
|
MenuToValid=За валидни
|
||||||
DateMaxPayment=Дължимо плащане преди
|
DateMaxPayment=Дължимо плащане преди
|
||||||
DateEcheance=Лимит за дължимо плащане
|
DateEcheance=Лимит за дължимо плащане
|
||||||
@ -319,7 +320,6 @@ toolTipFrequency=Examples:<br /><b>Set 7 / day</b>: give a new invoice every 7 d
|
|||||||
NextDateToExecution=Date for next invoice generation
|
NextDateToExecution=Date for next invoice generation
|
||||||
DateLastGeneration=Date of last generation
|
DateLastGeneration=Date of last generation
|
||||||
MaxPeriodNumber=Max nb of invoice generation
|
MaxPeriodNumber=Max nb of invoice generation
|
||||||
RestPeriodNumber=Rest period number
|
|
||||||
NbOfGenerationDone=Nb of invoice generation already done
|
NbOfGenerationDone=Nb of invoice generation already done
|
||||||
InvoiceAutoValidate=Automatically validate invoice
|
InvoiceAutoValidate=Automatically validate invoice
|
||||||
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
||||||
@ -471,3 +471,7 @@ PDFCrevetteSituationInvoiceLine=Situation N°%s : Inv. N°%s on %s
|
|||||||
TotalSituationInvoice=Total situation
|
TotalSituationInvoice=Total situation
|
||||||
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
||||||
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
||||||
|
ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices.
|
||||||
|
ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu <strong>%s - %s - %s</strong>.
|
||||||
|
ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask you administrator to enable and setup module <strong>%s</strong>. Note that both method (manual and automatic) can be used together with no risk of duplication.
|
||||||
|
|
||||||
|
|||||||
@ -60,8 +60,8 @@ BoxTitleLastContracts=Последните %s договори
|
|||||||
BoxTitleLastModifiedDonations=Последните %s променени дарения
|
BoxTitleLastModifiedDonations=Последните %s променени дарения
|
||||||
BoxTitleLastModifiedExpenses=Last %s modified expense reports
|
BoxTitleLastModifiedExpenses=Last %s modified expense reports
|
||||||
BoxGlobalActivity=Обща активност (фактури, предложения, поръчки)
|
BoxGlobalActivity=Обща активност (фактури, предложения, поръчки)
|
||||||
BoxGoodCustomers=Good Customers
|
BoxGoodCustomers=Good customers
|
||||||
BoxTitleGoodCustomers=%s Good Customers
|
BoxTitleGoodCustomers=%s Good customers
|
||||||
FailedToRefreshDataInfoNotUpToDate=Неуспешно опресняване на RSS поток. Последното успешно опресняване е на дата: %s
|
FailedToRefreshDataInfoNotUpToDate=Неуспешно опресняване на RSS поток. Последното успешно опресняване е на дата: %s
|
||||||
LastRefreshDate=Последна промяна дата
|
LastRefreshDate=Последна промяна дата
|
||||||
NoRecordedBookmarks=Няма дефинирани отметки.
|
NoRecordedBookmarks=Няма дефинирани отметки.
|
||||||
|
|||||||
@ -202,7 +202,7 @@ ProfId3IN=Prof Id 3 (SRVC TAX)
|
|||||||
ProfId4IN=Prof Id 4
|
ProfId4IN=Prof Id 4
|
||||||
ProfId5IN=Prof Id 5
|
ProfId5IN=Prof Id 5
|
||||||
ProfId6IN=-
|
ProfId6IN=-
|
||||||
ProfId1LU=Id. prof. 1 (RCS)
|
ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg)
|
||||||
ProfId2LU=Id. prof. 2 (Business permit)
|
ProfId2LU=Id. prof. 2 (Business permit)
|
||||||
ProfId3LU=-
|
ProfId3LU=-
|
||||||
ProfId4LU=-
|
ProfId4LU=-
|
||||||
@ -317,10 +317,12 @@ ShowContact=Покажи контакт
|
|||||||
ContactsAllShort=Всички (без филтър)
|
ContactsAllShort=Всички (без филтър)
|
||||||
ContactType=Тип на контакт
|
ContactType=Тип на контакт
|
||||||
ContactForOrders=Контакт за поръчката
|
ContactForOrders=Контакт за поръчката
|
||||||
|
ContactForOrdersOrShipments=Order's or shipment's contact
|
||||||
ContactForProposals=Контакт за предложение
|
ContactForProposals=Контакт за предложение
|
||||||
ContactForContracts=Контакт за договор
|
ContactForContracts=Контакт за договор
|
||||||
ContactForInvoices=Контакт за фактура
|
ContactForInvoices=Контакт за фактура
|
||||||
NoContactForAnyOrder=Този контакт не е контакт за поръчка
|
NoContactForAnyOrder=Този контакт не е контакт за поръчка
|
||||||
|
NoContactForAnyOrderOrShipment=This contact is not a contact for any order or shipment
|
||||||
NoContactForAnyProposal=Този контакт не е контакт за търговско предложение
|
NoContactForAnyProposal=Този контакт не е контакт за търговско предложение
|
||||||
NoContactForAnyContract=Този контакт не е контакт за договор
|
NoContactForAnyContract=Този контакт не е контакт за договор
|
||||||
NoContactForAnyInvoice=Този контакт не е контакт за фактура
|
NoContactForAnyInvoice=Този контакт не е контакт за фактура
|
||||||
@ -438,3 +440,6 @@ MergeThirdparties=Сливане на контрагенти
|
|||||||
ConfirmMergeThirdparties=Сигурни ли сте че искате да слеете този контрагент в текущия? Всички свързани обекти (фактури, поръчки, ...) ще бъдат преместени към текущия контрагент.
|
ConfirmMergeThirdparties=Сигурни ли сте че искате да слеете този контрагент в текущия? Всички свързани обекти (фактури, поръчки, ...) ще бъдат преместени към текущия контрагент.
|
||||||
ThirdpartiesMergeSuccess=Контрагентите бяха обединени
|
ThirdpartiesMergeSuccess=Контрагентите бяха обединени
|
||||||
ErrorThirdpartiesMerge=Има грешка при изтриването на контрагентите. Моля проверете системните записи. Промените са възвърнати.
|
ErrorThirdpartiesMerge=Има грешка при изтриването на контрагентите. Моля проверете системните записи. Промените са възвърнати.
|
||||||
|
SaleRepresentativeLogin=Login of sale representative
|
||||||
|
SaleRepresentativeFirstname=Firstname of sale representative
|
||||||
|
SaleRepresentativeLastname=Lastname of sale representative
|
||||||
|
|||||||
@ -172,6 +172,8 @@ ErrorMandatoryParametersNotProvided=Задължителен параметър(
|
|||||||
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
|
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
|
||||||
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
|
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
|
||||||
ErrorSavingChanges=An error has ocurred when saving the changes
|
ErrorSavingChanges=An error has ocurred when saving the changes
|
||||||
|
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
|
||||||
|
ErrorFileMustHaveFormat=File must have format %s
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningPasswordSetWithNoAccount=Парола е зададено за този член. Обаче, няма създаден потребителски акаунт. Следователно тази парола е записана, но не може да бъде използвана за влизане в Dolibarr. Може да бъде използвана от външен модул/интерфейс, но ако нямате нужда да определите нито потребителско име нито парола за член, можете да деактивирате тази опция. Ако имате нужда да управлявате потребителско име, но нямата нужда от парола, можете да оставите това поле празно, за да избегнете това предупреждение. Забележка: Имейл също може да бъде използван като потребителско име ако члена с свързан към потребител.
|
WarningPasswordSetWithNoAccount=Парола е зададено за този член. Обаче, няма създаден потребителски акаунт. Следователно тази парола е записана, но не може да бъде използвана за влизане в Dolibarr. Може да бъде използвана от външен модул/интерфейс, но ако нямате нужда да определите нито потребителско име нито парола за член, можете да деактивирате тази опция. Ако имате нужда да управлявате потребителско име, но нямата нужда от парола, можете да оставите това поле празно, за да избегнете това предупреждение. Забележка: Имейл също може да бъде използван като потребителско име ако члена с свързан към потребител.
|
||||||
|
|||||||
@ -128,6 +128,10 @@ SpecialCode=Специален код
|
|||||||
ExportStringFilter=%% позволява заместването на един или повече знаци в текста
|
ExportStringFilter=%% позволява заместването на един или повече знаци в текста
|
||||||
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days
|
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days
|
||||||
ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||||
|
ImportFromLine=Import starting from line number
|
||||||
|
EndAtLineNb=End at line number
|
||||||
|
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines
|
||||||
|
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file
|
||||||
## filters
|
## filters
|
||||||
SelectFilterFields=Ако желаете на филтрирате по някои стойности, просто въведете стойностите тук.
|
SelectFilterFields=Ако желаете на филтрирате по някои стойности, просто въведете стойностите тук.
|
||||||
FilterableFields=Полета подлежащи на филтриране
|
FilterableFields=Полета подлежащи на филтриране
|
||||||
|
|||||||
@ -23,78 +23,78 @@ ErrorPHPDoesNotSupportUTF8=Вашата PHP инсталация не поддъ
|
|||||||
ErrorDirDoesNotExists=Директорията %s не съществува.
|
ErrorDirDoesNotExists=Директорията %s не съществува.
|
||||||
ErrorGoBackAndCorrectParameters=Върни се назад и коригирайте грешните параметри.
|
ErrorGoBackAndCorrectParameters=Върни се назад и коригирайте грешните параметри.
|
||||||
ErrorWrongValueForParameter=Може да сте въвели грешна стойност за параметър '%s'.
|
ErrorWrongValueForParameter=Може да сте въвели грешна стойност за параметър '%s'.
|
||||||
ErrorFailedToCreateDatabase=Неуспешно създаване на '%s' база данни.
|
ErrorFailedToCreateDatabase=Неуспешно създаване на базата данни '%s'.
|
||||||
ErrorFailedToConnectToDatabase=Неуспешна връзка с база данни '%s'.
|
ErrorFailedToConnectToDatabase=Неуспешна връзка с база данни '%s'.
|
||||||
ErrorDatabaseVersionTooLow=Версията на база данни (%s) е твърде стара. Версия %s или по-висока е нужна.
|
ErrorDatabaseVersionTooLow=Версията на базата данни (%s) е твърде стара. Изисква се версия %s или по-нова.
|
||||||
ErrorPHPVersionTooLow=PHP версия твърде стар. Версия %s се изисква.
|
ErrorPHPVersionTooLow=Версията на PHP е твърде стара. Изисква се версия %s.
|
||||||
WarningPHPVersionTooLow=PHP версия твърде стар. Версия %s или повече се очаква. Тази версия би трябвало да позволи инсталиране, но не се поддържа.
|
WarningPHPVersionTooLow=Версията на PHP е твърде стара. Очаква се версия %s или по-нова. Тази версия би трябвало да позволи инсталиране, но не се поддържа.
|
||||||
ErrorConnectedButDatabaseNotFound=Връзка към сървъра успешен, но "%s" база данни не е намерен.
|
ErrorConnectedButDatabaseNotFound=Свързването към сървъра е успешено, но базата данни '%s' не е открита.
|
||||||
ErrorDatabaseAlreadyExists=Базата данни %s вече съществува.
|
ErrorDatabaseAlreadyExists=Базата данни %s вече съществува.
|
||||||
IfDatabaseNotExistsGoBackAndUncheckCreate=Ако базата данни не съществува, върнете се назад и проверете опцията "Създаване на база данни".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=Ако базата данни не съществува, върнете се назад и проверете опцията "Създаване на база данни".
|
||||||
IfDatabaseExistsGoBackAndCheckCreate=Ако базата данни вече съществува, върнете се обратно и махнете отметката "Създаване на база от данни".
|
IfDatabaseExistsGoBackAndCheckCreate=Ако базата данни вече съществува, върнете се обратно и махнете отметката на "Създаване на база данни".
|
||||||
WarningBrowserTooOld=Е твърде стара версия на браузъра. Надстроите браузъра си до последната версия на Firefox, Chrome или Opera се лекува много.
|
WarningBrowserTooOld=Твърде стара версия на браузъра. Надстройването на браузъра ви до последната версия на Firefox, Chrome или Opera е силно препоръчително.
|
||||||
PHPVersion=Версия на PHP
|
PHPVersion=Версия на PHP
|
||||||
YouCanContinue=Можете да продължите ...
|
YouCanContinue=Може да продължите..
|
||||||
License=Използването на лиценз
|
License=Лиценз за използване
|
||||||
ConfigurationFile=Конфигурационният файл
|
ConfigurationFile=Конфигурационен файл
|
||||||
WebPagesDirectory=Директорията, в която се съхраняват уеб страници
|
WebPagesDirectory=Директорията, в която се съхраняват уеб страници
|
||||||
DocumentsDirectory=Директория за съхраняване качили и генерирани документи
|
DocumentsDirectory=Директория за съхраняване качени и генерирани документи
|
||||||
URLRoot=URL Root
|
URLRoot=URL корен
|
||||||
ForceHttps=Принудително сигурни връзки (HTTPS)
|
ForceHttps=Принудително сигурни връзки (HTTPS)
|
||||||
CheckToForceHttps=Изберете тази опция, за да принуди сигурни връзки (HTTPS). <br> Това означава, че уеб сървърът е конфигуриран с SSL сертификат.
|
CheckToForceHttps=Изберете тази опция, за принудително сигурни връзки (HTTPS). <br> Това означава, че уеб сървърът е конфигуриран с SSL сертификат.
|
||||||
DolibarrDatabase=Dolibarr База данни
|
DolibarrDatabase=База данни на Dolibarr
|
||||||
DatabaseChoice=Избор на база данни
|
DatabaseChoice=Избор на база данни
|
||||||
DatabaseType=Тип на базата данни
|
DatabaseType=Тип на базата данни
|
||||||
DriverType=Тип драйвер
|
DriverType=Тип драйвер
|
||||||
Server=Сървър
|
Server=Сървър
|
||||||
ServerAddressDescription=Име или IP адрес на сървъра на базата данни, обикновено "Localhost", когато сървъра на базата данни се хоства на същия сървър от уеб сървър
|
ServerAddressDescription=Име или IP адрес на сървъра на базата данни, обикновено 'localhost', когато сървъра на базата данни се хоства на същия сървър като уеб сървъра
|
||||||
ServerPortDescription=База данни на порта на сървъра. Дръжте празна, ако са неизвестни.
|
ServerPortDescription=Порт на сървъра на базата данни. Оставете празно ако е неизвестно.
|
||||||
DatabaseServer=Сървър на базата данни
|
DatabaseServer=Сървър на базата данни
|
||||||
DatabaseName=Име на базата данни
|
DatabaseName=Име на базата данни
|
||||||
DatabasePrefix=Таблицата база данни префикс
|
DatabasePrefix=Префикс на таблиците
|
||||||
AdminLogin=Влез за база данни Dolibarr собственик.
|
AdminLogin=Идентифициране на собственика на базата данни на Dolibarr.
|
||||||
PasswordAgain=Повтори парола за втори път
|
PasswordAgain=Въведете паролата отново
|
||||||
AdminPassword=Парола за база данни Dolibarr собственик.
|
AdminPassword=Парола на собственика на базата данни на Dolibarr.
|
||||||
CreateDatabase=Създаване на база данни
|
CreateDatabase=Създаване на база данни
|
||||||
CreateUser=Създаване на собственик
|
CreateUser=Създаване на собственик
|
||||||
DatabaseSuperUserAccess=Сървъра на база данни - достъп Суперпотребител
|
DatabaseSuperUserAccess=Сървър на базата данни - Достъп супер потребител
|
||||||
CheckToCreateDatabase=Отметка в квадратчето, ако базата данни не съществува и трябва да бъде създаден. <br> В този случай, трябва да попълните потребителско име / парола за за суперпотребител сметка в долната част на тази страница.
|
CheckToCreateDatabase=Отметнете ако базата данни не съществува и трябва да бъде създадена. <br> В този случай, трябва да попълните потребителско име/парола за профил на суперпотребител в долната част на тази страница.
|
||||||
CheckToCreateUser=Отметка в квадратчето, ако собственик на базата данни не съществува и трябва да бъде създаден. <br> В този случай, трябва да изберете потребителско име и парола и да попълните име / парола за суперпотребител сметка в долната част на тази страница. Ако това поле не е отметнато, собственик на база данни и пароли трябва да съществува.
|
CheckToCreateUser=Отметнете ако собственика на базата данни не съществува и трябва да бъде създаден. <br> В този случай, трябва да изберете потребителско име и парола за него и да попълните име/парола за профил на суперпотребител в долната част на тази страница. Ако това поле не е отметнато, собственика на базата данни и неговите пароли трябва да съществуват.
|
||||||
DatabaseRootLoginDescription=Вход на потребителя е разрешено да създавате нови бази данни или нови потребители, безполезна, ако вашата база данни и потребителско име база данни вече съществува (като, когато сте домакин на уеб доставчик на хостинг услуги).
|
DatabaseRootLoginDescription=Идентифицирането на потребителя му позволява да създава нови бази данни или нови потребители, задължително ако вашата база данни или нейния собственик вече не съществуват.
|
||||||
KeepEmptyIfNoPassword=Оставете празно, ако потребителят не разполага с парола (да се избягва този)
|
KeepEmptyIfNoPassword=Оставете празно, ако потребителят няма парола (избягвайте това)
|
||||||
SaveConfigurationFile=Запиши стойности
|
SaveConfigurationFile=Регистрация на конфигурационния файл
|
||||||
ConfigurationSaving=Запазване на конфигурационния файл
|
ConfigurationSaving=Записване на конфигурационния файл
|
||||||
ServerConnection=Връзката със сървъра
|
ServerConnection=Свързване със сървъра
|
||||||
DatabaseCreation=Създаването на база данни
|
DatabaseCreation=Създаване на база данни
|
||||||
UserCreation=Създаване на потребител
|
UserCreation=Създаване на потребител
|
||||||
CreateDatabaseObjects=Database обекти създаването
|
CreateDatabaseObjects=Създаване на обекти в базата данни
|
||||||
ReferenceDataLoading=Референтен данни натоварване
|
ReferenceDataLoading=Зареждане на референтни данни
|
||||||
TablesAndPrimaryKeysCreation=Маси и първични ключове за създаване на
|
TablesAndPrimaryKeysCreation=Създаване на таблици и първични ключове
|
||||||
CreateTableAndPrimaryKey=Създаване на таблица %s
|
CreateTableAndPrimaryKey=Създаване на таблицата %s
|
||||||
CreateOtherKeysForTable=Създаване на чужди ключове и индекси за трапезни %s
|
CreateOtherKeysForTable=Създаване на чужди ключове и индекси за таблицата %s
|
||||||
OtherKeysCreation=Чужди ключове и създаване на индекси
|
OtherKeysCreation=Създаване на чужди ключове и индекси
|
||||||
FunctionsCreation=Функции създаването
|
FunctionsCreation=Създаване на функции
|
||||||
AdminAccountCreation=Създаване на администратор вход
|
AdminAccountCreation=Създаване на администраторски профил
|
||||||
PleaseTypePassword=Моля въведете парола, празни пароли не са позволени!
|
PleaseTypePassword=Моля, въведете парола, празни пароли не са позволени!
|
||||||
PleaseTypeALogin=Моля, въведете вход!
|
PleaseTypeALogin=Моля, въведете име!
|
||||||
PasswordsMismatch=Паролите се различава, моля опитайте отново!
|
PasswordsMismatch=Паролите не съвпадат, опитайте отново!
|
||||||
SetupEnd=Край на настройките
|
SetupEnd=Край на настройкате
|
||||||
SystemIsInstalled=Инсталацията е завършена.
|
SystemIsInstalled=Инсталирането завърши.
|
||||||
SystemIsUpgraded=Dolibarr е обновен успешно.
|
SystemIsUpgraded=Dolibarr е обновен успешно.
|
||||||
YouNeedToPersonalizeSetup=Трябва да конфигурирате Dolibarr според вашите нужди (външен вид, функции, ...). За да направите това, моля последвайте линка по-долу:
|
YouNeedToPersonalizeSetup=Трябва да конфигурирате Dolibarr според вашите нужди (външен вид, функции, ...). За да направите това, моля последвайте връзката по-долу:
|
||||||
AdminLoginCreatedSuccessfuly=<b>"%s"</b> dolibarr администратор вход, създаден успешно.
|
AdminLoginCreatedSuccessfuly=Администраторския профил за Dolibarr '<b>%s</b>' е създаден успешно.
|
||||||
GoToDolibarr=Отиди на Dolibarr
|
GoToDolibarr=Отиди на Dolibarr
|
||||||
GoToSetupArea=Отиди на Dolibarr (Настройки)
|
GoToSetupArea=Отиди на Dolibarr (област за настройка)
|
||||||
MigrationNotFinished=Версия на базата данни не е напълно актуална, така че ще трябва отново да стартирате процеса на надграждане.
|
MigrationNotFinished=Версията на вашата база данни не е напълно актуална, така че ще трябва отново да стартирате процеса на надграждане.
|
||||||
GoToUpgradePage=Отидете отново на страницата за обновяване
|
GoToUpgradePage=Отидете отново на страницата за надграждане
|
||||||
WithNoSlashAtTheEnd=Без наклонена черта "/" в края
|
WithNoSlashAtTheEnd=Без наклонена черта "/" в края
|
||||||
DirectoryRecommendation=Се recommanded да използвате директория извън директорията на своите уеб страници.
|
DirectoryRecommendation=Препоръчва се да използвате директория извън директорията на своите уеб страници.
|
||||||
LoginAlreadyExists=Вече съществува
|
LoginAlreadyExists=Вече съществува
|
||||||
DolibarrAdminLogin=Dolibarr администраторски вход
|
DolibarrAdminLogin=Администраторски вход в Dolibarr
|
||||||
AdminLoginAlreadyExists=<b>"%s</b> dolibarr администраторски акаунт вече съществува. Върни се обратно, ако искате да създадете друга.
|
AdminLoginAlreadyExists=Администраторския профил за Dolibarr '<b>%s</b>' вече съществува. Върнете се назад, ако искате да създадете друг.
|
||||||
WarningRemoveInstallDir=Внимание, от съображения за сигурност, след инсталиране или надграждане е пълна, за да се избегне използването инсталирате инструменти отново, трябва да добавите файл наречен <b>install.lock</b> в документа Dolibarr директория, за да се избегнат злоупотребите от него.
|
WarningRemoveInstallDir=Внимание, от съображения за сигурност, след като ведъж инсталирането или надграждането завърши, за да се избегне ново използване на инструментите за инсталиране, трябва да добавите файл наречен <b>install.lock</b> в директорията с документи на Dolibarr, за да се избегне злонамерена употреба.
|
||||||
ThisPHPDoesNotSupportTypeBase=Тази система PHP не поддържа интерфейс за достъп до %s тип база от данни
|
ThisPHPDoesNotSupportTypeBase=Тази PHP система не поддържа интерфейс за достъп до бази данни от тип %s
|
||||||
FunctionNotAvailableInThisPHP=Не е наличен за тази PHP
|
FunctionNotAvailableInThisPHP=Не е наличено за това PHP
|
||||||
MigrateScript=Скрипт за миграция
|
MigrateScript=Скрипт за миграция
|
||||||
ChoosedMigrateScript=Изберете скрипт за миграция
|
ChoosedMigrateScript=Изберете скрипт за миграция
|
||||||
DataMigration=Миграция на данните
|
DataMigration=Миграция на данните
|
||||||
@ -102,106 +102,106 @@ DatabaseMigration=Миграция на структурата на базата
|
|||||||
ProcessMigrateScript=Скрипта обработва
|
ProcessMigrateScript=Скрипта обработва
|
||||||
ChooseYourSetupMode=Изберете режим на настройка и кликнете върху "Начало"...
|
ChooseYourSetupMode=Изберете режим на настройка и кликнете върху "Начало"...
|
||||||
FreshInstall=Нова инсталация
|
FreshInstall=Нова инсталация
|
||||||
FreshInstallDesc=Използвайте този режим, ако това е Вашето първо инсталиране. Ако това не е така, този режим може да поправи непълна предишна инсталация, но ако искате да надградите вашата версия, изберете режим "Обновяване".
|
FreshInstallDesc=Използвайте този режим, ако това е вашето първо инсталиране. Ако това не е така, този режим може да поправи непълна предишна инсталация, но ако искате да надградите вашата версия, изберете режим "Надграждане".
|
||||||
Upgrade=Обновяване
|
Upgrade=Надграждане
|
||||||
UpgradeDesc=Използвайте този режим, ако желаете да замените старите файлове на Dolibarr с файлове от по-нова версия. Това ще обнови вашата база данни и данни.
|
UpgradeDesc=Използвайте този режим, ако желаете да замените старите файлове на Dolibarr с файлове от по-нова версия. Това ще обнови вашата база данни и данни.
|
||||||
Start=Начало
|
Start=Начало
|
||||||
InstallNotAllowed=Настройка не разрешено от <b>conf.php</b> разрешения
|
InstallNotAllowed=Настройката не разрешена поради правата на файла <b>conf.php</b>
|
||||||
YouMustCreateWithPermission=Трябва да създадете файлове %s и права за писане върху нея за уеб сървъра по време на процеса на инсталиране.
|
YouMustCreateWithPermission=Трябва да създадете файл %s и да настроите права за запис в него от уеб сървъра по време на процеса на инсталиране.
|
||||||
CorrectProblemAndReloadPage=Моля, коригирайте проблема и натиснете F5, за да презаредите страницата.
|
CorrectProblemAndReloadPage=Моля, коригирайте проблема и натиснете F5, за да презаредите страницата.
|
||||||
AlreadyDone=Вече са мигрирали
|
AlreadyDone=Вече мигрирахте
|
||||||
DatabaseVersion=Версия на Базата данни
|
DatabaseVersion=Версия на базата данни
|
||||||
ServerVersion=Версия на сървъра на базата данни
|
ServerVersion=Версия на сървъра на базата данни
|
||||||
YouMustCreateItAndAllowServerToWrite=Трябва да създадете тази директория и да позволите на уеб сървъра да пише в нея.
|
YouMustCreateItAndAllowServerToWrite=Трябва да създадете тази директория и да позволите на уеб сървъра да записва в нея.
|
||||||
CharsetChoice=Избор на знаците
|
CharsetChoice=Избор на знаците
|
||||||
CharacterSetClient=Набор от символи, използвани за генерираните HTML уеб страници
|
CharacterSetClient=Набор от символи, използвани за генерираните HTML уеб страници
|
||||||
CharacterSetClientComment=Изберете набор от знаци за уеб дисплей. <br/> Default предлагания набор от символи е един от вашата база данни.
|
CharacterSetClientComment=Изберете кодиране, което искате за показване на страници. <br/> Кодирането, предложено по подразбиране е едно от вашата база данни.
|
||||||
DBSortingCollation=За символи сортиране
|
DBSortingCollation=Ред за сортиране на символи
|
||||||
DBSortingCollationComment=Изберете кода на страницата, която определя подреждане характер, използван от база данни. Този параметър се нарича "съпоставяне" от някои бази данни. <br/> Този параметър не може да бъде определена, ако базата данни вече съществува.
|
DBSortingCollationComment=Изберете кода на страницата, която определя сортиране на символите, използвано от базата данни. Този параметър се нарича 'collation' от някои бази данни. <br/> Този параметър не може да бъде дефиниран, ако базата данни вече съществува.
|
||||||
CharacterSetDatabase=Набор от знаци за база данни
|
CharacterSetDatabase=Набор от символи за базата данни
|
||||||
CharacterSetDatabaseComment=Изберете набор от символи, издирван за създаването на базата данни. <br/> Този параметър не може да бъде определена, ако базата данни вече съществува.
|
CharacterSetDatabaseComment=Изберете набор от символи, търсен за създаването на базата данни. <br/> Този параметър не може да бъде дефиниран, ако базата данни вече съществува.
|
||||||
YouAskDatabaseCreationSoDolibarrNeedToConnect=Ви помолим да създадете база данни <b>%s,</b> но за това, Dolibarr трябва да се свържете на сървъра <b>%s</b> с супер потребителски разрешения <b>%s.</b>
|
YouAskDatabaseCreationSoDolibarrNeedToConnect=Искате да създадете база данни <b>%s</b>, но за това Dolibarr трябва да се свърже със сървъра <b>%s</b> чрез супер потребителя <b>%s</b>.
|
||||||
YouAskLoginCreationSoDolibarrNeedToConnect=Ви помолим да създадете вход база данни <b>%s,</b> но за това, Dolibarr трябва да се свържете на сървъра <b>%s</b> с супер потребителски разрешения <b>%s.</b>
|
YouAskLoginCreationSoDolibarrNeedToConnect=Искате да създадете вход за база данни <b>%s</b>, но за това Dolibarr трябва да се свърже със сървъра <b>%s</b> чрез супер потребителя <b>%s</b>.
|
||||||
BecauseConnectionFailedParametersMayBeWrong=Тъй като свързването е неуспешно, хост или супер параметри на потребителите трябва да бъде погрешно.
|
BecauseConnectionFailedParametersMayBeWrong=Тъй като свързването е неуспешно, хоста или параметрите на супер потребителя трябва да са грешни.
|
||||||
OrphelinsPaymentsDetectedByMethod=Сираците плащане открити по метода на %s
|
OrphelinsPaymentsDetectedByMethod=Orphans плащане е открито по метода %s
|
||||||
RemoveItManuallyAndPressF5ToContinue=Извадете го ръчно и натиснете F5, за да продължите.
|
RemoveItManuallyAndPressF5ToContinue=Премахнете го ръчно и натиснете F5, за да продължите.
|
||||||
KeepDefaultValuesWamp=Можете да използвате настройка Dolibarr програма от DoliWamp, така че стойности, предложени тук вече са оптимизирани. Ги промените, само ако знаете какво правите.
|
KeepDefaultValuesWamp=Вие използвате помощника за настройка на Dolibarr от DoliWamp, така че стойностите, предложени тук вече са оптимизирани. Променете ги само ако знаете какво правите.
|
||||||
KeepDefaultValuesDeb=Можете да използвате съветника от настройката Dolibarr Linux пакет (Ubuntu, Debian, Fedora ...), така че стойностите, предложени тук вече са оптимизирани. Само паролата на собственика на базата данни, за да се създаде, трябва да бъде завършена. Промяна на други параметри, само ако знаете какво правите.
|
KeepDefaultValuesDeb=Вие използвате помощника за настройка на Dolibarr от пакет за Linux (Ubuntu, Debian, Fedora ...), така че стойностите, предложени тук вече са оптимизирани. Само създаването на парола на собственика на базата данни трябва да бъде завършена. Променяйте други параметри, само ако знаете какво правите.
|
||||||
KeepDefaultValuesMamp=Можете да използвате настройка Dolibarr програма от DoliMamp, така че стойности, предложени тук вече са оптимизирани. Ги промените, само ако знаете какво правите.
|
KeepDefaultValuesMamp=Вие използвате помощника за настройка на Dolibarr от DoliMamp, така че стойностите, предложени тук вече са оптимизирани. Променете ги само ако знаете какво правите.
|
||||||
KeepDefaultValuesProxmox=Можете да използвате съветника от настройката Dolibarr виртуална Proxmox уред, така че стойностите, предложени тук вече са оптимизирани. Ги промените, само ако знаете какво правите.
|
KeepDefaultValuesProxmox=Вие използвате помощника за настройка на Dolibarr от Proxmox виртуална машина, така че стойностите, предложени тук вече са оптимизирани. Променете ги само ако знаете какво правите.
|
||||||
FieldRenamed=Полето е преименувано
|
FieldRenamed=Полето е преименувано
|
||||||
IfLoginDoesNotExistsCheckCreateUser=Ако вход не съществува все още, трябва да проверите опцията "Създаване на потребител"
|
IfLoginDoesNotExistsCheckCreateUser=Ако все още не съществува вписване, трябва да проверите опцията "Създаване на потребител"
|
||||||
ErrorConnection=Server <b>"%s",</b> името на базата данни <b>"%s",</b> вход <b>"%s"</b> или парола на базата данни може да бъде погрешно или PHP версия на програмата клиент може да бъде твърде стар в сравнение с база данни версия.
|
ErrorConnection=Сървър "<b>%s</b>", име на база данни "<b>%s</b>", потребител "<b>%s</b>", или парола на базата данни може да са грешни или версията на PHP клиента може да е твърде стара, сравнена с версията на базата данни.
|
||||||
InstallChoiceRecommanded=Препоръчва се избор да инсталирате версия <b>%s</b> от текущата ви версия <b>%s</b>
|
InstallChoiceRecommanded=Препоръчителен избор е да инсталирате версия <b>%s</b> от вашата текуща версия <b>%s</b>
|
||||||
InstallChoiceSuggested=<b>Инсталиране на избор, предложени от инсталатора.</b>
|
InstallChoiceSuggested=<b>Избор за инсталиране, предложен от инсталатора</b>.
|
||||||
MigrateIsDoneStepByStep=Насочени версия (%s) има разлика от няколко версии, за да инсталирате съветника ще се върне, за да предложи следващата миграция след това ще бъдат завършени.
|
MigrateIsDoneStepByStep=Целевата версия (%s) има празнина от няколко версии, така че помощника ще препоръча следваща миграция, след като тази завърши.
|
||||||
CheckThatDatabasenameIsCorrect=Уверете се, че името на базата данни <b>"%s"</b> е вярно.
|
CheckThatDatabasenameIsCorrect=Уверете се, че името на базата данни "<b>%s</b>" е правилно.
|
||||||
IfAlreadyExistsCheckOption=Ако това име е вярна и тази база данни все още не съществува, трябва да проверите опцията "Създаване на база данни".
|
IfAlreadyExistsCheckOption=Ако това име е вярно и тази база данни все още не съществува, трябва да проверите опцията "Създаване на база данни".
|
||||||
OpenBaseDir=PHP openbasedir параметър
|
OpenBaseDir=Параметър PHP openbasedir
|
||||||
YouAskToCreateDatabaseSoRootRequired=Отметка в квадратчето "Създаване на база данни". За тази цел, трябва да въведете потребителско име / парола суперпотребител (дъното на формата).
|
YouAskToCreateDatabaseSoRootRequired=Отметнахте "Създаване на база данни". За тази цел, трябва да въведете потребителско име/парола на супер потребител (най-долу на формата).
|
||||||
YouAskToCreateDatabaseUserSoRootRequired=Отметка в квадратчето "Създаване на собственика на базата данни". За тази цел, трябва да въведете потребителско име / парола суперпотребител (дъното на формата).
|
YouAskToCreateDatabaseUserSoRootRequired=Отметнахте "Създаване на собственик на базата данни". За тази цел, трябва да въведете потребителско име/парола на супер потребител (най-долу на формата).
|
||||||
NextStepMightLastALongTime=Текущата стъпка може да продължи няколко минути. Моля, изчакайте до следващия екран се показва напълно, преди да продължите.
|
NextStepMightLastALongTime=Текущата стъпка може да продължи няколко минути. Моля, изчакайте докато следващия екран се покаже напълно, преди да продължите.
|
||||||
MigrationCustomerOrderShipping=Мигриране доставка за поръчки от клиенти съхранение
|
MigrationCustomerOrderShipping=Мигриране на хранилище за пратки на поръчки от клиенти
|
||||||
MigrationShippingDelivery=Upgrade storage of shipping
|
MigrationShippingDelivery=Надграждане на хранилище на доставки
|
||||||
MigrationShippingDelivery2=Upgrade storage of shipping 2
|
MigrationShippingDelivery2=Надграждане на хранилище на доставки 2
|
||||||
MigrationFinished=Миграцията завърши
|
MigrationFinished=Миграцията завърши
|
||||||
LastStepDesc=<strong>Последна стъпка:</strong> Определете тук потребителско име и парола, планирате да използвате, за да се свържете с софтуер. Не губят, тъй като това е акаунт за администриране на всички останали.
|
LastStepDesc=<strong>Последна стъпка</strong>: Определете тук потребителско име и парола, които планирате да използвате, за да се свързвате със софтуера. Не ги губете, тъй като това е профил за администриране на всички останали.
|
||||||
ActivateModule=Активиране на модул %s
|
ActivateModule=Активиране на модул %s
|
||||||
ShowEditTechnicalParameters=Натиснете тук за да покажете/редактирате параметрите за напреднали (експертен режим)
|
ShowEditTechnicalParameters=Натиснете тук за да покажете/редактирате параметрите за напреднали (експертен режим)
|
||||||
WarningUpgrade=Внимание:\nНаправили ли сте резервно копие на базата данни първо?\nТова е много препоръчително: например, поради някой бъгове в системите за база данни (например mysql версия 5.5.40/41/42/43), част от информация или таблици може да бъде изгубени по-време на този процес, за това е много препоръчително да имате пълен dump на вашата база данни преди започването на миграцията.\n\nКликнете OK за започване на миграционния процес...
|
WarningUpgrade=Внимание:\nНаправихте ли резервно копие на базата данни първо?\nТова е силно препоръчително: например, поради някой бъгове в системите на базата данни (например mysql версия 5.5.40/41/42/43), част от информацията или таблиците може да бъдат изгубени по-време на този процес, за това е много препоръчително да имате пълен dump на вашата база данни преди започването на миграцията.\n\nКликнете OK за започване на миграционния процес...
|
||||||
ErrorDatabaseVersionForbiddenForMigration=Вашата база данни е с версия %s. Тя има критически бъг, причинявайки загуба на информация ако направите структурна промяна на вашата база данни, подобна е задължителна при миграционния процес. Поради тази причина, миграцията не ще бъде позволена, докато не обновите вашата база данни до по висока оправена версия (списък на познати бъгави версии: %s)
|
ErrorDatabaseVersionForbiddenForMigration=Вашата база данни е с версия %s. Тя има критичен бъг, причинявайки загуба на информация ако направите структурна промяна на вашата база данни, а подобна е задължителна при миграционния процес. Поради тази причина, миграцията не е позволена, докато не обновите вашата база данни до по-нова коригирана версия (списък на познати версии с бъгове: %s)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
MigrationFixData=Решете denormalized данни
|
MigrationFixData=Корекция на denormalized данни
|
||||||
MigrationOrder=Миграция на данни за поръчки на клиента
|
MigrationOrder=Миграция на данни за поръчки от клиенти
|
||||||
MigrationSupplierOrder=Миграция на данни за поръчки на доставчика
|
MigrationSupplierOrder=Миграция на данни за поръчки към доставчик
|
||||||
MigrationProposal=Миграция на данни за търговски предложения
|
MigrationProposal=Миграция на данни за оферти
|
||||||
MigrationInvoice=Миграция на данни за фактури на клиента
|
MigrationInvoice=Миграция на данни за фактури за клиенти
|
||||||
MigrationContract=Миграция на данни за сключване на договори
|
MigrationContract=Миграция на данни за договори
|
||||||
MigrationSuccessfullUpdate=Обновяването е успешно
|
MigrationSuccessfullUpdate=Надграждането е успешно
|
||||||
MigrationUpdateFailed=Неуспешен процес на надграждане
|
MigrationUpdateFailed=Неуспешен процес на надграждане
|
||||||
MigrationRelationshipTables=Миграцията на данни за отношенията таблици (%s)
|
MigrationRelationshipTables=Миграция на данни за свързани таблици (%s)
|
||||||
MigrationPaymentsUpdate=Плащане данни корекция
|
MigrationPaymentsUpdate=Корекция на данни за плащане
|
||||||
MigrationPaymentsNumberToUpdate=%s плащане (ия), за да се актуализира
|
MigrationPaymentsNumberToUpdate=%s плащания за актуализиране
|
||||||
MigrationProcessPaymentUpdate=Актуализиране на плащане (ия) %s
|
MigrationProcessPaymentUpdate=Актуализиране на плащания %s
|
||||||
MigrationPaymentsNothingToUpdate=Няма повече неща за вършене
|
MigrationPaymentsNothingToUpdate=Няма повече задачи
|
||||||
MigrationPaymentsNothingUpdatable=Няма повече плащания, които могат да бъдат коригирани
|
MigrationPaymentsNothingUpdatable=Няма повече плащания, които могат да бъдат коригирани
|
||||||
MigrationContractsUpdate=Договор данни корекция
|
MigrationContractsUpdate=Корекция на данни в договор
|
||||||
MigrationContractsNumberToUpdate=%s договор(и) за актуализиране
|
MigrationContractsNumberToUpdate=%s договор(и) за актуализиране
|
||||||
MigrationContractsLineCreation=Създаване на договора линия за %s договор изх
|
MigrationContractsLineCreation=Създаване на ред в договор с реф. %s
|
||||||
MigrationContractsNothingToUpdate=Няма повече неща за вършене
|
MigrationContractsNothingToUpdate=Няма повече задачи
|
||||||
MigrationContractsFieldDontExist=Поле fk_facture не съществува вече. Какво да правя.
|
MigrationContractsFieldDontExist=Полето fk_facture вече не съществува. Нищо не може да се направи.
|
||||||
MigrationContractsEmptyDatesUpdate=Договор празна дата корекция
|
MigrationContractsEmptyDatesUpdate=Корекция на празна дата в договор
|
||||||
MigrationContractsEmptyDatesUpdateSuccess=Направи успешно Договор за корекция emtpy дата
|
MigrationContractsEmptyDatesUpdateSuccess=Успешна корекция на празна дата
|
||||||
MigrationContractsEmptyDatesNothingToUpdate=Няма договор е празна дата, за да се коригира
|
MigrationContractsEmptyDatesNothingToUpdate=Няма празна дата на договор за коригиране
|
||||||
MigrationContractsEmptyCreationDatesNothingToUpdate=Не дата за създаването на договор, за да се коригира
|
MigrationContractsEmptyCreationDatesNothingToUpdate=Няма дата за създаване на договор за коригиране
|
||||||
MigrationContractsInvalidDatesUpdate=Неправилна стойност за корекция дата договор
|
MigrationContractsInvalidDatesUpdate=Корекция на неправилни дати на договор
|
||||||
MigrationContractsInvalidDateFix=Правилно %s договора (дата на договора = %s, като се започне обслужване дата мин. = %s)
|
MigrationContractsInvalidDateFix=Корекция на договор %s (Дата на договора=%s, Начална дата на услуга мин.=%s)
|
||||||
MigrationContractsInvalidDatesNumber=%s променени договори
|
MigrationContractsInvalidDatesNumber=%s променени договори
|
||||||
MigrationContractsInvalidDatesNothingToUpdate=Няма дата с лош стойност да се коригира
|
MigrationContractsInvalidDatesNothingToUpdate=Няма дата с лоша стойност за коригиране
|
||||||
MigrationContractsIncoherentCreationDateUpdate=Bad стойност на поръчката корекция дата на създаване
|
MigrationContractsIncoherentCreationDateUpdate=Лоша стойност за дата на създаване на договор
|
||||||
MigrationContractsIncoherentCreationDateUpdateSuccess=Bad стойност на поръчката корекция дата на създаване направи succesfuly
|
MigrationContractsIncoherentCreationDateUpdateSuccess=ОК
|
||||||
MigrationContractsIncoherentCreationDateNothingToUpdate=Не е лошо стойност за дата на договор за създаването, за да се коригира
|
MigrationContractsIncoherentCreationDateNothingToUpdate=Няма лоши стойности за дата на създаване на договор за коригиране
|
||||||
MigrationReopeningContracts=Open договор затворен от грешки
|
MigrationReopeningContracts=Отворен договор затворен по грешка
|
||||||
MigrationReopenThisContract=Повторно договор %s
|
MigrationReopenThisContract=Ново отваряне на договор %s
|
||||||
MigrationReopenedContractsNumber=%s договори промяна
|
MigrationReopenedContractsNumber=%s договори са променени
|
||||||
MigrationReopeningContractsNothingToUpdate=Няма затворен договор, за да отворите
|
MigrationReopeningContractsNothingToUpdate=Няма затворен договор за отваряне
|
||||||
MigrationBankTransfertsUpdate=Актуализиране на връзките между банков превод и банков превод
|
MigrationBankTransfertsUpdate=Актуализиране на връзките между банкова транзакция и банков превод
|
||||||
MigrationBankTransfertsNothingToUpdate=Всички връзки са към днешна дата
|
MigrationBankTransfertsNothingToUpdate=Всички връзки са актуални
|
||||||
MigrationShipmentOrderMatching=Sendings получаване актуализация
|
MigrationShipmentOrderMatching=Актуализация на експедиционни бележки
|
||||||
MigrationDeliveryOrderMatching=Актуализация обратна разписка
|
MigrationDeliveryOrderMatching=Актуализация на обратни разписки
|
||||||
MigrationDeliveryDetail=Доставка актуализация
|
MigrationDeliveryDetail=Актуализация на доставката
|
||||||
MigrationStockDetail=Актуализиране на стойността на акциите на продукти
|
MigrationStockDetail=Актуализиране на наличната стойност на продукти
|
||||||
MigrationMenusDetail=Актуализиране на динамични таблици менюта
|
MigrationMenusDetail=Актуализиране на таблици за динамични менюта
|
||||||
MigrationDeliveryAddress=Актуализиране на адрес за доставка на пратки,
|
MigrationDeliveryAddress=Актуализиране на адрес за доставка на пратки,
|
||||||
MigrationProjectTaskActors=Миграция на данни за llx_projet_task_actors маса
|
MigrationProjectTaskActors=Миграция на данни за таблицата llx_projet_task_actors
|
||||||
MigrationProjectUserResp=Data Migration поле fk_user_resp на llx_projet llx_element_contact
|
MigrationProjectUserResp=Миграция на полето fk_user_resp на llx_projet llx_element_contact
|
||||||
MigrationProjectTaskTime=Актуализация на времето, прекарано в секунда
|
MigrationProjectTaskTime=Актуализация на времето, прекарано в секунда
|
||||||
MigrationActioncommElement=Актуализиране на данни за действия
|
MigrationActioncommElement=Актуализиране на данните за действия
|
||||||
MigrationPaymentMode=Миграция на данни за плащане режим
|
MigrationPaymentMode=Миграция на данни за начин на плащане
|
||||||
MigrationCategorieAssociation=Миграция на категории
|
MigrationCategorieAssociation=Миграция на категории
|
||||||
MigrationEvents=Migration of events to add event owner into assignement table
|
MigrationEvents=Миграция на събития за добавяне на собственик на събитие в таблицата за възлагане
|
||||||
MigrationReloadModule=Презареждане на модул %s
|
MigrationReloadModule=Презареждане на модула %s
|
||||||
ShowNotAvailableOptions=Показване на не наличните опции
|
ShowNotAvailableOptions=Показване на недостъпните опции
|
||||||
HideNotAvailableOptions=Скриване на не наличните опции
|
HideNotAvailableOptions=Скриване на недостъпните опции
|
||||||
|
|||||||
@ -25,6 +25,7 @@ FormatDateHourTextShort=%d %b %Y, %H:%M
|
|||||||
FormatDateHourText=%d %B %Y, %H:%M
|
FormatDateHourText=%d %B %Y, %H:%M
|
||||||
DatabaseConnection=Свързване с базата данни
|
DatabaseConnection=Свързване с базата данни
|
||||||
NoTemplateDefined=No template defined for this email type
|
NoTemplateDefined=No template defined for this email type
|
||||||
|
AvailableVariables=Available substitution variables
|
||||||
NoTranslation=Няма превод
|
NoTranslation=Няма превод
|
||||||
NoRecordFound=Няма открити записи
|
NoRecordFound=Няма открити записи
|
||||||
NoError=Няма грешка
|
NoError=Няма грешка
|
||||||
|
|||||||
@ -32,6 +32,7 @@ StatusOrderSent=Доставка в процес
|
|||||||
StatusOrderOnProcessShort=Поръчано
|
StatusOrderOnProcessShort=Поръчано
|
||||||
StatusOrderProcessedShort=Обработен
|
StatusOrderProcessedShort=Обработен
|
||||||
StatusOrderDelivered=Доставени
|
StatusOrderDelivered=Доставени
|
||||||
|
StatusOrderDeliveredShort=Delivered
|
||||||
StatusOrderToBillShort=За плащане
|
StatusOrderToBillShort=За плащане
|
||||||
StatusOrderToBill2Short=На Бил
|
StatusOrderToBill2Short=На Бил
|
||||||
StatusOrderApprovedShort=Одобрен
|
StatusOrderApprovedShort=Одобрен
|
||||||
|
|||||||
@ -45,10 +45,6 @@ LastProducts=Последни продукти
|
|||||||
CardProduct0=Карта на продукт
|
CardProduct0=Карта на продукт
|
||||||
CardProduct1=Карта на услуга
|
CardProduct1=Карта на услуга
|
||||||
CardContract=Карта на контакт
|
CardContract=Карта на контакт
|
||||||
Warehouse=Склад
|
|
||||||
Warehouses=Складове
|
|
||||||
WarehouseOpened=Складът е отворен
|
|
||||||
WarehouseClosed=Склада е затворен
|
|
||||||
Stock=Наличност
|
Stock=Наличност
|
||||||
Stocks=Наличности
|
Stocks=Наличности
|
||||||
Movement=Движение
|
Movement=Движение
|
||||||
@ -318,3 +314,11 @@ WarningSelectOneDocument=Моля изберете поне един докум
|
|||||||
DefaultUnitToShow=Unit
|
DefaultUnitToShow=Unit
|
||||||
NbOfQtyInProposals=Qty in proposals
|
NbOfQtyInProposals=Qty in proposals
|
||||||
ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view...
|
ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view...
|
||||||
|
TranslatedLabel=Translated label
|
||||||
|
TranslatedDescription=Translated description
|
||||||
|
TranslatedNote=Translated notes
|
||||||
|
ProductWeight=Weight for 1 product
|
||||||
|
ProductVolume=Volume for 1 product
|
||||||
|
WeightUnits=Weight unit
|
||||||
|
VolumeUnits=Volume unit
|
||||||
|
SizeUnits=Size unit
|
||||||
|
|||||||
@ -74,6 +74,9 @@ Progress=Напредък
|
|||||||
ProgressDeclared=Деклариране прогрес
|
ProgressDeclared=Деклариране прогрес
|
||||||
ProgressCalculated=Изчислен прогрес
|
ProgressCalculated=Изчислен прогрес
|
||||||
Time=Време
|
Time=Време
|
||||||
|
ListOfTasks=List of tasks
|
||||||
|
GoToListOfTimeConsumed=Go to list of time consumed
|
||||||
|
GoToListOfTasks=Go to list of tasks
|
||||||
ListProposalsAssociatedProject=Списък на търговските предложения, свързани с проекта
|
ListProposalsAssociatedProject=Списък на търговските предложения, свързани с проекта
|
||||||
ListOrdersAssociatedProject=Списък на клиентски поръчки, свързани с проекта
|
ListOrdersAssociatedProject=Списък на клиентски поръчки, свързани с проекта
|
||||||
ListInvoicesAssociatedProject=Списък на фактури на клиентите, свързани с проекта
|
ListInvoicesAssociatedProject=Списък на фактури на клиентите, свързани с проекта
|
||||||
@ -198,3 +201,4 @@ OppStatusNEGO=Уговаряне
|
|||||||
OppStatusPENDING=Pending
|
OppStatusPENDING=Pending
|
||||||
OppStatusWIN=Won
|
OppStatusWIN=Won
|
||||||
OppStatusLOST=Lost
|
OppStatusLOST=Lost
|
||||||
|
Budget=Budget
|
||||||
|
|||||||
@ -70,6 +70,8 @@ ProductQtyInSuppliersOrdersRunning=Количество на продукт в
|
|||||||
ProductQtyInShipmentAlreadySent=Количество на продукт от отворени клиентски поръчки, които вече са изпратени
|
ProductQtyInShipmentAlreadySent=Количество на продукт от отворени клиентски поръчки, които вече са изпратени
|
||||||
ProductQtyInSuppliersShipmentAlreadyRecevied=Количество на продукт от отворени поръчки към доставчик, които вече са получени
|
ProductQtyInSuppliersShipmentAlreadyRecevied=Количество на продукт от отворени поръчки към доставчик, които вече са получени
|
||||||
NoProductToShipFoundIntoStock=Няма намерен продукт за изпращане в склад <b>%s</b>. Поправете стоковата и се върнете обратно, за да изберете друг склад.
|
NoProductToShipFoundIntoStock=Няма намерен продукт за изпращане в склад <b>%s</b>. Поправете стоковата и се върнете обратно, за да изберете друг склад.
|
||||||
|
WeightVolShort=Weight/Vol.
|
||||||
|
ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments.
|
||||||
|
|
||||||
# Sending methods
|
# Sending methods
|
||||||
SendingMethodCATCH=Улов от клиента
|
SendingMethodCATCH=Улов от клиента
|
||||||
|
|||||||
@ -58,3 +58,5 @@ DefaultModelSupplierProposalCreate=Създаване на модел по по
|
|||||||
DefaultModelSupplierProposalToBill=Шаблон по подразбиране, когато се затваря запитване за цена (прието)
|
DefaultModelSupplierProposalToBill=Шаблон по подразбиране, когато се затваря запитване за цена (прието)
|
||||||
DefaultModelSupplierProposalClosed=Шаблон по подразбиране, когато се затваря запитване за цена (отказано)
|
DefaultModelSupplierProposalClosed=Шаблон по подразбиране, когато се затваря запитване за цена (отказано)
|
||||||
ListOfSupplierProposal=Списък на запитвания за цени към доставчици
|
ListOfSupplierProposal=Списък на запитвания за цени към доставчици
|
||||||
|
SupplierProposalsToClose=Supplier proposals to close
|
||||||
|
SupplierProposalsToProcess=Supplier proposals to process
|
||||||
|
|||||||
@ -282,6 +282,7 @@ ModuleSetup=Module setup
|
|||||||
ModulesSetup=Modules setup
|
ModulesSetup=Modules setup
|
||||||
ModuleFamilyBase=System
|
ModuleFamilyBase=System
|
||||||
ModuleFamilyCrm=Customer Relation Management (CRM)
|
ModuleFamilyCrm=Customer Relation Management (CRM)
|
||||||
|
ModuleFamilySrm=Supplier Relation Management (SRM)
|
||||||
ModuleFamilyProducts=Products Management (PM)
|
ModuleFamilyProducts=Products Management (PM)
|
||||||
ModuleFamilyHr=Human Resource Management (HR)
|
ModuleFamilyHr=Human Resource Management (HR)
|
||||||
ModuleFamilyProjects=Projects/Collaborative work
|
ModuleFamilyProjects=Projects/Collaborative work
|
||||||
@ -587,6 +588,7 @@ Permission38=Export products
|
|||||||
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
||||||
Permission42=Create/modify projects (shared project and projects i'm contact for)
|
Permission42=Create/modify projects (shared project and projects i'm contact for)
|
||||||
Permission44=Delete projects (shared project and projects i'm contact for)
|
Permission44=Delete projects (shared project and projects i'm contact for)
|
||||||
|
Permission45=Export projects
|
||||||
Permission61=Read interventions
|
Permission61=Read interventions
|
||||||
Permission62=Create/modify interventions
|
Permission62=Create/modify interventions
|
||||||
Permission64=Delete interventions
|
Permission64=Delete interventions
|
||||||
@ -640,6 +642,7 @@ Permission162=Create/modify contracts/subscriptions
|
|||||||
Permission163=Activate a service/subscription of a contract
|
Permission163=Activate a service/subscription of a contract
|
||||||
Permission164=Disable a service/subscription of a contract
|
Permission164=Disable a service/subscription of a contract
|
||||||
Permission165=Delete contracts/subscriptions
|
Permission165=Delete contracts/subscriptions
|
||||||
|
Permission167=Export contracts
|
||||||
Permission171=Read trips and expenses (yours and your subordinates)
|
Permission171=Read trips and expenses (yours and your subordinates)
|
||||||
Permission172=Create/modify trips and expenses
|
Permission172=Create/modify trips and expenses
|
||||||
Permission173=Delete trips and expenses
|
Permission173=Delete trips and expenses
|
||||||
@ -788,6 +791,7 @@ Permission2403=Delete actions (events or tasks) linked to his account
|
|||||||
Permission2411=Read actions (events or tasks) of others
|
Permission2411=Read actions (events or tasks) of others
|
||||||
Permission2412=Create/modify actions (events or tasks) of others
|
Permission2412=Create/modify actions (events or tasks) of others
|
||||||
Permission2413=Delete actions (events or tasks) of others
|
Permission2413=Delete actions (events or tasks) of others
|
||||||
|
Permission2414=Export actions/tasks of others
|
||||||
Permission2501=Read/Download documents
|
Permission2501=Read/Download documents
|
||||||
Permission2502=Download documents
|
Permission2502=Download documents
|
||||||
Permission2503=Submit or delete documents
|
Permission2503=Submit or delete documents
|
||||||
@ -1713,3 +1717,4 @@ ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Ve
|
|||||||
MultiPriceRuleDesc=When option "Several level of prices per product/service" is on, you can define different prices (one per price level) for each product. To save you time, you can enter here rule to have price for each level autocalculated according to price of first level, so you will have to enter only price for first level on each product. This page is here to save you time and can be usefull only if your prices for each leve are relative to first level. You can ignore this page in most cases.
|
MultiPriceRuleDesc=When option "Several level of prices per product/service" is on, you can define different prices (one per price level) for each product. To save you time, you can enter here rule to have price for each level autocalculated according to price of first level, so you will have to enter only price for first level on each product. This page is here to save you time and can be usefull only if your prices for each leve are relative to first level. You can ignore this page in most cases.
|
||||||
ModelModulesProduct=Templates for product documents
|
ModelModulesProduct=Templates for product documents
|
||||||
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
||||||
|
SeeSubstitutionVars=See * note for list of possible substitution variables
|
||||||
|
|||||||
@ -219,6 +219,7 @@ RemainderToBill=Remainder to bill
|
|||||||
SendBillByMail=Send invoice by email
|
SendBillByMail=Send invoice by email
|
||||||
SendReminderBillByMail=Send reminder by email
|
SendReminderBillByMail=Send reminder by email
|
||||||
RelatedCommercialProposals=Related commercial proposals
|
RelatedCommercialProposals=Related commercial proposals
|
||||||
|
RelatedRecurringCustomerInvoices=Related recurring customer invoices
|
||||||
MenuToValid=To valid
|
MenuToValid=To valid
|
||||||
DateMaxPayment=Payment due before
|
DateMaxPayment=Payment due before
|
||||||
DateEcheance=Due date limit
|
DateEcheance=Due date limit
|
||||||
@ -319,7 +320,6 @@ toolTipFrequency=Examples:<br /><b>Set 7 / day</b>: give a new invoice every 7 d
|
|||||||
NextDateToExecution=Date for next invoice generation
|
NextDateToExecution=Date for next invoice generation
|
||||||
DateLastGeneration=Date of last generation
|
DateLastGeneration=Date of last generation
|
||||||
MaxPeriodNumber=Max nb of invoice generation
|
MaxPeriodNumber=Max nb of invoice generation
|
||||||
RestPeriodNumber=Rest period number
|
|
||||||
NbOfGenerationDone=Nb of invoice generation already done
|
NbOfGenerationDone=Nb of invoice generation already done
|
||||||
InvoiceAutoValidate=Automatically validate invoice
|
InvoiceAutoValidate=Automatically validate invoice
|
||||||
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
||||||
@ -471,3 +471,7 @@ PDFCrevetteSituationInvoiceLine=Situation N°%s : Inv. N°%s on %s
|
|||||||
TotalSituationInvoice=Total situation
|
TotalSituationInvoice=Total situation
|
||||||
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
||||||
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
||||||
|
ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices.
|
||||||
|
ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu <strong>%s - %s - %s</strong>.
|
||||||
|
ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask you administrator to enable and setup module <strong>%s</strong>. Note that both method (manual and automatic) can be used together with no risk of duplication.
|
||||||
|
|
||||||
|
|||||||
@ -60,8 +60,8 @@ BoxTitleLastContracts=Last %s contracts
|
|||||||
BoxTitleLastModifiedDonations=Last %s modified donations
|
BoxTitleLastModifiedDonations=Last %s modified donations
|
||||||
BoxTitleLastModifiedExpenses=Last %s modified expense reports
|
BoxTitleLastModifiedExpenses=Last %s modified expense reports
|
||||||
BoxGlobalActivity=Global activity (invoices, proposals, orders)
|
BoxGlobalActivity=Global activity (invoices, proposals, orders)
|
||||||
BoxGoodCustomers=Good Customers
|
BoxGoodCustomers=Good customers
|
||||||
BoxTitleGoodCustomers=%s Good Customers
|
BoxTitleGoodCustomers=%s Good customers
|
||||||
FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Last successfull refresh date: %s
|
FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Last successfull refresh date: %s
|
||||||
LastRefreshDate=Last refresh date
|
LastRefreshDate=Last refresh date
|
||||||
NoRecordedBookmarks=No bookmarks defined.
|
NoRecordedBookmarks=No bookmarks defined.
|
||||||
|
|||||||
@ -202,7 +202,7 @@ ProfId3IN=Prof Id 3 (SRVC TAX)
|
|||||||
ProfId4IN=Prof Id 4
|
ProfId4IN=Prof Id 4
|
||||||
ProfId5IN=Prof Id 5
|
ProfId5IN=Prof Id 5
|
||||||
ProfId6IN=-
|
ProfId6IN=-
|
||||||
ProfId1LU=Id. prof. 1 (RCS)
|
ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg)
|
||||||
ProfId2LU=Id. prof. 2 (Business permit)
|
ProfId2LU=Id. prof. 2 (Business permit)
|
||||||
ProfId3LU=-
|
ProfId3LU=-
|
||||||
ProfId4LU=-
|
ProfId4LU=-
|
||||||
@ -317,10 +317,12 @@ ShowContact=Show contact
|
|||||||
ContactsAllShort=All (No filter)
|
ContactsAllShort=All (No filter)
|
||||||
ContactType=Contact type
|
ContactType=Contact type
|
||||||
ContactForOrders=Order's contact
|
ContactForOrders=Order's contact
|
||||||
|
ContactForOrdersOrShipments=Order's or shipment's contact
|
||||||
ContactForProposals=Proposal's contact
|
ContactForProposals=Proposal's contact
|
||||||
ContactForContracts=Contract's contact
|
ContactForContracts=Contract's contact
|
||||||
ContactForInvoices=Invoice's contact
|
ContactForInvoices=Invoice's contact
|
||||||
NoContactForAnyOrder=This contact is not a contact for any order
|
NoContactForAnyOrder=This contact is not a contact for any order
|
||||||
|
NoContactForAnyOrderOrShipment=This contact is not a contact for any order or shipment
|
||||||
NoContactForAnyProposal=This contact is not a contact for any commercial proposal
|
NoContactForAnyProposal=This contact is not a contact for any commercial proposal
|
||||||
NoContactForAnyContract=This contact is not a contact for any contract
|
NoContactForAnyContract=This contact is not a contact for any contract
|
||||||
NoContactForAnyInvoice=This contact is not a contact for any invoice
|
NoContactForAnyInvoice=This contact is not a contact for any invoice
|
||||||
@ -438,3 +440,6 @@ MergeThirdparties=Merge third parties
|
|||||||
ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one.
|
ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one.
|
||||||
ThirdpartiesMergeSuccess=Thirdparties have been merged
|
ThirdpartiesMergeSuccess=Thirdparties have been merged
|
||||||
ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted.
|
ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted.
|
||||||
|
SaleRepresentativeLogin=Login of sale representative
|
||||||
|
SaleRepresentativeFirstname=Firstname of sale representative
|
||||||
|
SaleRepresentativeLastname=Lastname of sale representative
|
||||||
|
|||||||
@ -172,6 +172,8 @@ ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided
|
|||||||
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
|
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
|
||||||
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
|
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
|
||||||
ErrorSavingChanges=An error has ocurred when saving the changes
|
ErrorSavingChanges=An error has ocurred when saving the changes
|
||||||
|
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
|
||||||
|
ErrorFileMustHaveFormat=File must have format %s
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
||||||
|
|||||||
@ -128,6 +128,10 @@ SpecialCode=Special code
|
|||||||
ExportStringFilter=%% allows replacing one or more characters in the text
|
ExportStringFilter=%% allows replacing one or more characters in the text
|
||||||
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days
|
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days
|
||||||
ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||||
|
ImportFromLine=Import starting from line number
|
||||||
|
EndAtLineNb=End at line number
|
||||||
|
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines
|
||||||
|
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file
|
||||||
## filters
|
## filters
|
||||||
SelectFilterFields=If you want to filter on some values, just input values here.
|
SelectFilterFields=If you want to filter on some values, just input values here.
|
||||||
FilterableFields=Filterable Fields
|
FilterableFields=Filterable Fields
|
||||||
|
|||||||
@ -25,6 +25,7 @@ FormatDateHourTextShort=%b %d, %Y, %I:%M %p
|
|||||||
FormatDateHourText=%B %d, %Y, %I:%M %p
|
FormatDateHourText=%B %d, %Y, %I:%M %p
|
||||||
DatabaseConnection=Database connection
|
DatabaseConnection=Database connection
|
||||||
NoTemplateDefined=No template defined for this email type
|
NoTemplateDefined=No template defined for this email type
|
||||||
|
AvailableVariables=Available substitution variables
|
||||||
NoTranslation=No translation
|
NoTranslation=No translation
|
||||||
NoRecordFound=No record found
|
NoRecordFound=No record found
|
||||||
NoError=No error
|
NoError=No error
|
||||||
|
|||||||
@ -32,6 +32,7 @@ StatusOrderSent=Shipment in process
|
|||||||
StatusOrderOnProcessShort=Ordered
|
StatusOrderOnProcessShort=Ordered
|
||||||
StatusOrderProcessedShort=Processed
|
StatusOrderProcessedShort=Processed
|
||||||
StatusOrderDelivered=Delivered
|
StatusOrderDelivered=Delivered
|
||||||
|
StatusOrderDeliveredShort=Delivered
|
||||||
StatusOrderToBillShort=Delivered
|
StatusOrderToBillShort=Delivered
|
||||||
StatusOrderToBill2Short=To bill
|
StatusOrderToBill2Short=To bill
|
||||||
StatusOrderApprovedShort=Approved
|
StatusOrderApprovedShort=Approved
|
||||||
|
|||||||
@ -45,10 +45,6 @@ LastProducts=Last products
|
|||||||
CardProduct0=Product card
|
CardProduct0=Product card
|
||||||
CardProduct1=Service card
|
CardProduct1=Service card
|
||||||
CardContract=Contract card
|
CardContract=Contract card
|
||||||
Warehouse=Warehouse
|
|
||||||
Warehouses=Warehouses
|
|
||||||
WarehouseOpened=Warehouse open
|
|
||||||
WarehouseClosed=Warehouse closed
|
|
||||||
Stock=Stock
|
Stock=Stock
|
||||||
Stocks=Stocks
|
Stocks=Stocks
|
||||||
Movement=Movement
|
Movement=Movement
|
||||||
@ -318,3 +314,11 @@ WarningSelectOneDocument=Please select at least one document
|
|||||||
DefaultUnitToShow=Unit
|
DefaultUnitToShow=Unit
|
||||||
NbOfQtyInProposals=Qty in proposals
|
NbOfQtyInProposals=Qty in proposals
|
||||||
ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view...
|
ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view...
|
||||||
|
TranslatedLabel=Translated label
|
||||||
|
TranslatedDescription=Translated description
|
||||||
|
TranslatedNote=Translated notes
|
||||||
|
ProductWeight=Weight for 1 product
|
||||||
|
ProductVolume=Volume for 1 product
|
||||||
|
WeightUnits=Weight unit
|
||||||
|
VolumeUnits=Volume unit
|
||||||
|
SizeUnits=Size unit
|
||||||
|
|||||||
@ -74,6 +74,9 @@ Progress=Progress
|
|||||||
ProgressDeclared=Declared progress
|
ProgressDeclared=Declared progress
|
||||||
ProgressCalculated=Calculated progress
|
ProgressCalculated=Calculated progress
|
||||||
Time=Time
|
Time=Time
|
||||||
|
ListOfTasks=List of tasks
|
||||||
|
GoToListOfTimeConsumed=Go to list of time consumed
|
||||||
|
GoToListOfTasks=Go to list of tasks
|
||||||
ListProposalsAssociatedProject=List of the commercial proposals associated with the project
|
ListProposalsAssociatedProject=List of the commercial proposals associated with the project
|
||||||
ListOrdersAssociatedProject=List of customer's orders associated with the project
|
ListOrdersAssociatedProject=List of customer's orders associated with the project
|
||||||
ListInvoicesAssociatedProject=List of customer's invoices associated with the project
|
ListInvoicesAssociatedProject=List of customer's invoices associated with the project
|
||||||
@ -198,3 +201,4 @@ OppStatusNEGO=Negociation
|
|||||||
OppStatusPENDING=Pending
|
OppStatusPENDING=Pending
|
||||||
OppStatusWIN=Won
|
OppStatusWIN=Won
|
||||||
OppStatusLOST=Lost
|
OppStatusLOST=Lost
|
||||||
|
Budget=Budget
|
||||||
|
|||||||
@ -70,6 +70,8 @@ ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders
|
|||||||
ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent
|
ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent
|
||||||
ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received
|
ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received
|
||||||
NoProductToShipFoundIntoStock=No product to ship found into warehouse <b>%s</b>. Correct stock or go back to choose another warehouse.
|
NoProductToShipFoundIntoStock=No product to ship found into warehouse <b>%s</b>. Correct stock or go back to choose another warehouse.
|
||||||
|
WeightVolShort=Weight/Vol.
|
||||||
|
ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments.
|
||||||
|
|
||||||
# Sending methods
|
# Sending methods
|
||||||
SendingMethodCATCH=Catch by customer
|
SendingMethodCATCH=Catch by customer
|
||||||
|
|||||||
@ -58,3 +58,5 @@ DefaultModelSupplierProposalCreate=Default model creation
|
|||||||
DefaultModelSupplierProposalToBill=Default template when closing a price request (accepted)
|
DefaultModelSupplierProposalToBill=Default template when closing a price request (accepted)
|
||||||
DefaultModelSupplierProposalClosed=Default template when closing a price request (refused)
|
DefaultModelSupplierProposalClosed=Default template when closing a price request (refused)
|
||||||
ListOfSupplierProposal=List of supplier proposal requests
|
ListOfSupplierProposal=List of supplier proposal requests
|
||||||
|
SupplierProposalsToClose=Supplier proposals to close
|
||||||
|
SupplierProposalsToProcess=Supplier proposals to process
|
||||||
|
|||||||
@ -282,6 +282,7 @@ ModuleSetup=Postavke modula
|
|||||||
ModulesSetup=Postavke modula
|
ModulesSetup=Postavke modula
|
||||||
ModuleFamilyBase=System
|
ModuleFamilyBase=System
|
||||||
ModuleFamilyCrm=Customer Relation Management (CRM)
|
ModuleFamilyCrm=Customer Relation Management (CRM)
|
||||||
|
ModuleFamilySrm=Supplier Relation Management (SRM)
|
||||||
ModuleFamilyProducts=Products Management (PM)
|
ModuleFamilyProducts=Products Management (PM)
|
||||||
ModuleFamilyHr=Human Resource Management (HR)
|
ModuleFamilyHr=Human Resource Management (HR)
|
||||||
ModuleFamilyProjects=Projects/Collaborative work
|
ModuleFamilyProjects=Projects/Collaborative work
|
||||||
@ -587,6 +588,7 @@ Permission38=Export products
|
|||||||
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
||||||
Permission42=Create/modify projects (shared project and projects i'm contact for)
|
Permission42=Create/modify projects (shared project and projects i'm contact for)
|
||||||
Permission44=Delete projects (shared project and projects i'm contact for)
|
Permission44=Delete projects (shared project and projects i'm contact for)
|
||||||
|
Permission45=Export projects
|
||||||
Permission61=Read interventions
|
Permission61=Read interventions
|
||||||
Permission62=Create/modify interventions
|
Permission62=Create/modify interventions
|
||||||
Permission64=Delete interventions
|
Permission64=Delete interventions
|
||||||
@ -640,6 +642,7 @@ Permission162=Create/modify contracts/subscriptions
|
|||||||
Permission163=Activate a service/subscription of a contract
|
Permission163=Activate a service/subscription of a contract
|
||||||
Permission164=Disable a service/subscription of a contract
|
Permission164=Disable a service/subscription of a contract
|
||||||
Permission165=Delete contracts/subscriptions
|
Permission165=Delete contracts/subscriptions
|
||||||
|
Permission167=Export contracts
|
||||||
Permission171=Read trips and expenses (yours and your subordinates)
|
Permission171=Read trips and expenses (yours and your subordinates)
|
||||||
Permission172=Create/modify trips and expenses
|
Permission172=Create/modify trips and expenses
|
||||||
Permission173=Delete trips and expenses
|
Permission173=Delete trips and expenses
|
||||||
@ -788,6 +791,7 @@ Permission2403=Delete actions (events or tasks) linked to his account
|
|||||||
Permission2411=Read actions (events or tasks) of others
|
Permission2411=Read actions (events or tasks) of others
|
||||||
Permission2412=Create/modify actions (events or tasks) of others
|
Permission2412=Create/modify actions (events or tasks) of others
|
||||||
Permission2413=Delete actions (events or tasks) of others
|
Permission2413=Delete actions (events or tasks) of others
|
||||||
|
Permission2414=Export actions/tasks of others
|
||||||
Permission2501=Read/Download documents
|
Permission2501=Read/Download documents
|
||||||
Permission2502=Download documents
|
Permission2502=Download documents
|
||||||
Permission2503=Submit or delete documents
|
Permission2503=Submit or delete documents
|
||||||
@ -1713,3 +1717,4 @@ ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Ve
|
|||||||
MultiPriceRuleDesc=When option "Several level of prices per product/service" is on, you can define different prices (one per price level) for each product. To save you time, you can enter here rule to have price for each level autocalculated according to price of first level, so you will have to enter only price for first level on each product. This page is here to save you time and can be usefull only if your prices for each leve are relative to first level. You can ignore this page in most cases.
|
MultiPriceRuleDesc=When option "Several level of prices per product/service" is on, you can define different prices (one per price level) for each product. To save you time, you can enter here rule to have price for each level autocalculated according to price of first level, so you will have to enter only price for first level on each product. This page is here to save you time and can be usefull only if your prices for each leve are relative to first level. You can ignore this page in most cases.
|
||||||
ModelModulesProduct=Templates for product documents
|
ModelModulesProduct=Templates for product documents
|
||||||
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate automatically codes, you must first define a manager to auto define barcode number.
|
||||||
|
SeeSubstitutionVars=See * note for list of possible substitution variables
|
||||||
|
|||||||
@ -219,6 +219,7 @@ RemainderToBill=Ostatak za naplatiti
|
|||||||
SendBillByMail=Pošalji fakturu na e-mail
|
SendBillByMail=Pošalji fakturu na e-mail
|
||||||
SendReminderBillByMail=Pošalji opomenu na e-mail
|
SendReminderBillByMail=Pošalji opomenu na e-mail
|
||||||
RelatedCommercialProposals=Vezani poslovni prijedlozi
|
RelatedCommercialProposals=Vezani poslovni prijedlozi
|
||||||
|
RelatedRecurringCustomerInvoices=Related recurring customer invoices
|
||||||
MenuToValid=Za važeći
|
MenuToValid=Za važeći
|
||||||
DateMaxPayment=Rok plaćanja do
|
DateMaxPayment=Rok plaćanja do
|
||||||
DateEcheance=Datum isteka roka za plaćanje
|
DateEcheance=Datum isteka roka za plaćanje
|
||||||
@ -319,7 +320,6 @@ toolTipFrequency=Examples:<br /><b>Set 7 / day</b>: give a new invoice every 7 d
|
|||||||
NextDateToExecution=Date for next invoice generation
|
NextDateToExecution=Date for next invoice generation
|
||||||
DateLastGeneration=Date of last generation
|
DateLastGeneration=Date of last generation
|
||||||
MaxPeriodNumber=Max nb of invoice generation
|
MaxPeriodNumber=Max nb of invoice generation
|
||||||
RestPeriodNumber=Rest period number
|
|
||||||
NbOfGenerationDone=Nb of invoice generation already done
|
NbOfGenerationDone=Nb of invoice generation already done
|
||||||
InvoiceAutoValidate=Automatically validate invoice
|
InvoiceAutoValidate=Automatically validate invoice
|
||||||
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
GeneratedFromRecurringInvoice=Generated from template recurring invoice %s
|
||||||
@ -471,3 +471,7 @@ PDFCrevetteSituationInvoiceLine=Situation N°%s : Inv. N°%s on %s
|
|||||||
TotalSituationInvoice=Total situation
|
TotalSituationInvoice=Total situation
|
||||||
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
invoiceLineProgressError=Invoice line progress can't be egal or upper the next invoice line
|
||||||
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
updatePriceNextInvoiceErrorUpdateline=Error : update price on invoice line : %s
|
||||||
|
ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices.
|
||||||
|
ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu <strong>%s - %s - %s</strong>.
|
||||||
|
ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask you administrator to enable and setup module <strong>%s</strong>. Note that both method (manual and automatic) can be used together with no risk of duplication.
|
||||||
|
|
||||||
|
|||||||
@ -60,8 +60,8 @@ BoxTitleLastContracts=Zadnjih %s ugovora
|
|||||||
BoxTitleLastModifiedDonations=Zadnjih %s izmijenjenih donacija
|
BoxTitleLastModifiedDonations=Zadnjih %s izmijenjenih donacija
|
||||||
BoxTitleLastModifiedExpenses=Last %s modified expense reports
|
BoxTitleLastModifiedExpenses=Last %s modified expense reports
|
||||||
BoxGlobalActivity=Globalne aktivnosti (fakture, prijedlozi, narudžbe)
|
BoxGlobalActivity=Globalne aktivnosti (fakture, prijedlozi, narudžbe)
|
||||||
BoxGoodCustomers=Good Customers
|
BoxGoodCustomers=Good customers
|
||||||
BoxTitleGoodCustomers=%s Good Customers
|
BoxTitleGoodCustomers=%s Good customers
|
||||||
FailedToRefreshDataInfoNotUpToDate=Neuspjelo osvježavanje RSS protoka. Datum zadnjeg uspješnog osvježavanja: %s
|
FailedToRefreshDataInfoNotUpToDate=Neuspjelo osvježavanje RSS protoka. Datum zadnjeg uspješnog osvježavanja: %s
|
||||||
LastRefreshDate=Zadnji datum osvježavanja
|
LastRefreshDate=Zadnji datum osvježavanja
|
||||||
NoRecordedBookmarks=Nema definisanih bookmark-a.
|
NoRecordedBookmarks=Nema definisanih bookmark-a.
|
||||||
|
|||||||
@ -202,7 +202,7 @@ ProfId3IN=Prof Id 3 (SRVC TAX)
|
|||||||
ProfId4IN=Prof Id 4
|
ProfId4IN=Prof Id 4
|
||||||
ProfId5IN=Prof Id 5
|
ProfId5IN=Prof Id 5
|
||||||
ProfId6IN=-
|
ProfId6IN=-
|
||||||
ProfId1LU=Id. prof. 1 (RCS)
|
ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg)
|
||||||
ProfId2LU=Id. prof. 2 (Business permit)
|
ProfId2LU=Id. prof. 2 (Business permit)
|
||||||
ProfId3LU=-
|
ProfId3LU=-
|
||||||
ProfId4LU=-
|
ProfId4LU=-
|
||||||
@ -317,10 +317,12 @@ ShowContact=Prikaži kontakt
|
|||||||
ContactsAllShort=Svi (bez filtera)
|
ContactsAllShort=Svi (bez filtera)
|
||||||
ContactType=Tip kontakta
|
ContactType=Tip kontakta
|
||||||
ContactForOrders=Kontakt narudžbe
|
ContactForOrders=Kontakt narudžbe
|
||||||
|
ContactForOrdersOrShipments=Order's or shipment's contact
|
||||||
ContactForProposals=Kontakt prijedloga
|
ContactForProposals=Kontakt prijedloga
|
||||||
ContactForContracts=Kontakt ugovora
|
ContactForContracts=Kontakt ugovora
|
||||||
ContactForInvoices=Kontakt fakture
|
ContactForInvoices=Kontakt fakture
|
||||||
NoContactForAnyOrder=Ovaj kontakt nije kontakt za bilo koju narudžbu
|
NoContactForAnyOrder=Ovaj kontakt nije kontakt za bilo koju narudžbu
|
||||||
|
NoContactForAnyOrderOrShipment=This contact is not a contact for any order or shipment
|
||||||
NoContactForAnyProposal=Ovaj kontakt nije kontakt za bilo koji poslovni prijedlog
|
NoContactForAnyProposal=Ovaj kontakt nije kontakt za bilo koji poslovni prijedlog
|
||||||
NoContactForAnyContract=Ovaj kontakt nije kontakt za bilo koji ugovor
|
NoContactForAnyContract=Ovaj kontakt nije kontakt za bilo koji ugovor
|
||||||
NoContactForAnyInvoice=Ovaj kontakt nije kontakt za bilo koju fakturu
|
NoContactForAnyInvoice=Ovaj kontakt nije kontakt za bilo koju fakturu
|
||||||
@ -438,3 +440,6 @@ MergeThirdparties=Merge third parties
|
|||||||
ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one.
|
ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one.
|
||||||
ThirdpartiesMergeSuccess=Thirdparties have been merged
|
ThirdpartiesMergeSuccess=Thirdparties have been merged
|
||||||
ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted.
|
ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted.
|
||||||
|
SaleRepresentativeLogin=Login of sale representative
|
||||||
|
SaleRepresentativeFirstname=Firstname of sale representative
|
||||||
|
SaleRepresentativeLastname=Lastname of sale representative
|
||||||
|
|||||||
@ -172,6 +172,8 @@ ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided
|
|||||||
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
|
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
|
||||||
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
|
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
|
||||||
ErrorSavingChanges=An error has ocurred when saving the changes
|
ErrorSavingChanges=An error has ocurred when saving the changes
|
||||||
|
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
|
||||||
|
ErrorFileMustHaveFormat=File must have format %s
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
||||||
|
|||||||
@ -128,6 +128,10 @@ SpecialCode=Special code
|
|||||||
ExportStringFilter=%% allows replacing one or more characters in the text
|
ExportStringFilter=%% allows replacing one or more characters in the text
|
||||||
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days
|
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days
|
||||||
ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'>NNNNN' filters by lower values<br>'>NNNNN' filters by higher values
|
||||||
|
ImportFromLine=Import starting from line number
|
||||||
|
EndAtLineNb=End at line number
|
||||||
|
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines
|
||||||
|
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file
|
||||||
## filters
|
## filters
|
||||||
SelectFilterFields=If you want to filter on some values, just input values here.
|
SelectFilterFields=If you want to filter on some values, just input values here.
|
||||||
FilterableFields=Filterable Fields
|
FilterableFields=Filterable Fields
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user