develop_dict
This commit is contained in:
Regis Houssin 2017-06-20 06:25:35 +02:00
commit 909826e24f
723 changed files with 22437 additions and 66426 deletions

View File

@ -17,16 +17,22 @@ php:
addons:
mariadb: '10.0'
# FIXME: find a way to import a MySQL dump into PostgreSQL
#postgresql: '9.3'
postgresql: '9.3'
apt:
sources:
# To use the last version of pgloader, we add repo of postgresql
- postgresql
- sourceline: 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main'
- key_url: 'https://www.postgresql.org/media/keys/ACCC4CF8.asc'
packages:
# We need a webserver to test the webservices
# Let's install Apache with.
- apache2
# mod_php is not supported by Travis. Add fcgi. We install FPM later on.
- libapache2-mod-fastcgi
# We need pgloader for import mysql database into pgsql
- pgloader
# Start on every boot
services:
- memcached
@ -39,8 +45,7 @@ env:
# MariaDB overrides MySQL installation so it's not possible to test both yet
#- DB=mysql
- DB=mariadb
# FIXME: find a way to import a MySQL dump into PostgreSQL
#- DB=postgresql
- DB=postgresql
# TODO
#- DB=sqlite
# See https://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP
@ -53,7 +58,6 @@ matrix:
allow_failures:
- php: 7.1
- php: nightly
# FIXME
#- env: DB=postgresql
# TODO
#- env: DB=sqlite
@ -77,6 +81,13 @@ before_install:
phpenv config-rm xdebug.ini
echo
- |
if [ "$DB" = 'postgresql' ]; then
echo "Check pgloader version"
pgloader --version
echo
fi
install:
- |
echo "Updating Composer"
@ -132,10 +143,10 @@ before_script:
echo "Set timezone"
echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
if [ "$TRAVIS_PHP_VERSION" = '5.3' ] || [ "$TRAVIS_PHP_VERSION" = '5.4' ]; then
echo
echo "Enabling APC for PHP <= 5.4"
#echo
#echo "Enabling APC for PHP <= 5.4"
# Documentation says it should be available for PHP <= 5.6 but it's not for 5.5 and 5.6!
echo 'extension = apc.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
#echo 'extension = apc.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
echo
echo "Enabling Memcached for PHP <= 5.4"
# Documentation says it should be available for all PHP versions but it's not for 5.5 and 5.6, 7.0, 7.1 and nightly!
@ -164,16 +175,19 @@ before_script:
- |
echo "Setting up database"
if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ]; then
if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ] || [ "$DB" = 'postgresql' ]; then
echo "MySQL"
mysql -e 'DROP DATABASE IF EXISTS travis;'
mysql -e 'CREATE DATABASE IF NOT EXISTS travis;'
mysql -e 'GRANT ALL PRIVILEGES ON travis.* TO travis@127.0.0.1;'
mysql -e 'FLUSH PRIVILEGES;'
mysql -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql
fi
# FIXME: find a way to import a MySQL dump into PostgreSQL
#if [ "$DB" = 'postgresql' ]; then
# pgsql travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql
#fi
if [ "$DB" = 'postgresql' ]; then
#pgsql travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql
#pgloader mysql://root:pass@127.0.0.1/base postgresql://dolibarrowner@127.0.0.1/dolibarr
pgloader mysql://root@127.0.0.1/travis postgresql:///travis
fi
# TODO: SQLite
echo
@ -190,10 +204,9 @@ before_script:
if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ]; then
echo '$'dolibarr_main_db_type=\'mysqli\'';' >> $CONF_FILE
fi
# FIXME
#if [ "$DB" = 'postgresql' ]; then
# echo '$'dolibarr_main_db_type=\'pgsql\'';' >> $CONF_FILE
#fi
if [ "$DB" = 'postgresql' ]; then
echo '$'dolibarr_main_db_type=\'pgsql\'';' >> $CONF_FILE
fi
# TODO: SQLite
echo '$'dolibarr_main_authentication=\'dolibarr\'';' >> $CONF_FILE
cat $CONF_FILE
@ -252,8 +265,6 @@ script:
set +e
echo
# TODO: dev/* checks
- |
echo "Checking coding style"
# Ensure we catch errors
@ -267,8 +278,6 @@ script:
# TODO: Check CSS (csslint?)
# TODO: check SQL syntax (pgsanity?)
- |
echo "Upgrading Dolibarr"
# Ensure we catch errors

View File

@ -174,7 +174,7 @@ or
Puis pour se connecter et préparer l'environnement
> schroot -c name_of_chroot (exemple schroot -c unstable-amd64-sbuild)
> cat /etc/debian_chroot to check which debian branch we are into
> apt-get install vi dialog
> apt-get install vim dialog
> vi /usr/sbin/policy-rc.d and replace return code 101 (not allowed) into 0 (ok)
> apt-get update
> apt-get upgrade

View File

@ -8,7 +8,7 @@
* Copyright (C) 2011 Remy Younes <ryounes@gmail.com>
* Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
* Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es>
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
*

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -8,7 +8,7 @@
* Copyright (C) 2011 Remy Younes <ryounes@gmail.com>
* Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
* Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es>
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
*

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -31,6 +31,7 @@ require '../../main.inc.php';
// Class
require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
$langs->load("compta");
$langs->load("bills");

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com>

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
/* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -100,10 +100,10 @@ if (! empty($search_accountancy_code_end)) {
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All tests are required to be compatible with all browsers
{
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$search_date_start = '';
$search_date_end = '';
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$search_date_start = '';
$search_date_end = '';
}
@ -137,140 +137,137 @@ if ($action == 'export_csv') {
}
else {
$title_page = $langs->trans("AccountBalance") . (($search_date_start || $search_date_end) ? ' ' . dol_print_date($search_date_start) . '-' . dol_print_date($search_date_end) : '');
llxHeader('', $title_page);
// List
$title_page = $langs->trans("AccountBalance") . (($search_date_start || $search_date_end) ? ' ' . dol_print_date($search_date_start) . '-' . dol_print_date($search_date_end) : '');
$nbtotalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$nbtotalofrecords = $object->fetchAllBalance($sortorder, $sortfield, 0, 0, $filter);
if ($nbtotalofrecords < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
}
$result = $object->fetchAllBalance($sortorder, $sortfield, $limit, $offset, $filter);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
$button = '<input type="submit" name="button_export_csv" class="butAction" value="' . $langs->trans("Export") . '" />';
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $options, $sortfield, $sortorder, '', $result, $result, 'title_accountancy', 0, $button);
$moreforfilter = '';
$moreforfilter .= '<div class="divsearchfield">';
$moreforfilter .= $langs->trans('DateStart') . ': ';
$moreforfilter .= $form->select_date($search_date_start, 'date_start', 0, 0, 1, '', 1, 0, 1);
$moreforfilter .= $langs->trans('DateEnd') . ': ';
$moreforfilter .= $form->select_date($search_date_end, 'date_end', 0, 0, 1, '', 1, 0, 1);
$moreforfilter .= '</div>';
if (! empty($moreforfilter)) {
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print $moreforfilter;
$parameters = array();
$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print '</div>';
}
print '<table class="liste ' . ($moreforfilter ? "listwithfilterbefore" : "") . '">';
llxHeader('', $title_page);
print '<tr class="liste_titre_filter">';
print '<td class="liste_titre" colspan="5">';
print $langs->trans('From');
print $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, '');
print ' ';
print $langs->trans('to');
print $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, '');
print '</td>';
print '<td align="right" class="liste_titre">';
// List
$nbtotalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$nbtotalofrecords = $object->fetchAllBalance($sortorder, $sortfield, 0, 0, $filter);
if ($nbtotalofrecords < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
}
$result = $object->fetchAllBalance($sortorder, $sortfield, $limit, $offset, $filter);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
$button = '<input type="submit" name="button_export_csv" class="butAction" value="' . $langs->trans("Export") . '" />';
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $options, $sortfield, $sortorder, '', $result, $result, 'title_accountancy', 0, $button);
$moreforfilter = '';
$moreforfilter .= '<div class="divsearchfield">';
$moreforfilter .= $langs->trans('DateStart') . ': ';
$moreforfilter .= $form->select_date($search_date_start, 'date_start', 0, 0, 1, '', 1, 0, 1);
$moreforfilter .= $langs->trans('DateEnd') . ': ';
$moreforfilter .= $form->select_date($search_date_end, 'date_end', 0, 0, 1, '', 1, 0, 1);
$moreforfilter .= '</div>';
if (! empty($moreforfilter)) {
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print $moreforfilter;
$parameters = array();
$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print '</div>';
}
print '<table class="liste ' . ($moreforfilter ? "listwithfilterbefore" : "") . '">';
print '<tr class="liste_titre_filter">';
print '<td class="liste_titre" colspan="5">';
print $langs->trans('From');
print $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, '');
print ' ';
print $langs->trans('to');
print $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, '');
print '</td>';
print '<td align="right" class="liste_titre">';
$searchpicto=$form->showFilterAndCheckAddButtons(0);
print $searchpicto;
print '</td>';
print '</tr>';
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("AccountAccounting"), $_SERVER['PHP_SELF'], "t.numero_compte", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.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("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, 'align="right"', $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Solde"), $_SERVER["PHP_SELF"], "", $options, "", 'align="right"', $sortfield, $sortorder);
print_liste_field_titre('', $_SERVER["PHP_SELF"], "", $options, "", 'width="60" align="center"', $sortfield, $sortorder);
print "</tr>\n";
$total_debit = 0;
$total_credit = 0;
$sous_total_debit = 0;
$sous_total_credit = 0;
$displayed_account = "";
foreach ($object->lines as $line) {
$link = '';
$total_debit += $line->debit;
$total_credit += $line->credit;
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
$root_account_description = $object->get_compte_racine($line->numero_compte);
if (empty($description)) {
$link = '<a href="../admin/card.php?action=create&compte=' . length_accountg($line->numero_compte) . '">' . img_edit_add() . '</a>';
}
print '<tr class="oddeven">';
// Permet d'afficher le compte comptable
if ($root_account_description != $displayed_account) {
// Affiche un Sous-Total par compte comptable
if ($displayed_account != "") {
print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap" align="right">' . price($sous_total_debit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit - $sous_total_debit) . '</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
}
// Affiche le compte comptable en d<>but de ligne
print "<tr>";
print '<td colspan="6" style="font-weight:bold; border-bottom: 1pt solid black;">' . $root_account_description . '</td>';
print '</tr>';
$displayed_account = $root_account_description;
$sous_total_debit = 0;
$sous_total_credit = 0;
}
// $object->get_compte_racine($line->numero_compte);
print '<td>' . length_accountg($line->numero_compte) . '</td>';
print '<td>' . $description . '</td>';
print '<td align="right">' . price($line->debit) . '</td>';
print '<td align="right">' . price($line->credit) . '</td>';
print '<td align="right">' . price($line->credit - $line->debit) . '</td>';
print '<td align="center">' . $link;
print '</td>';
print "</tr>\n";
// Comptabilise le sous-total
$sous_total_debit += $line->debit;
$sous_total_credit += $line->credit;
}
print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap" align="right">' . price($sous_total_debit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit - $sous_total_debit) . '</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("AccountBalance") . ':</td><td class="nowrap" align="right">' . price($total_debit) . '</td><td class="nowrap" align="right">' . price($total_credit) . '</td><td class="nowrap" align="right">' . price($total_credit - $total_debit) . '</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
print "</table>";
print '</form>';
llxFooter();
print '</td>';
print '</tr>';
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("AccountAccounting"), $_SERVER['PHP_SELF'], "t.numero_compte", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.label_operation", "", $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("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, 'align="right"', $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Solde"), $_SERVER["PHP_SELF"], "", $options, "", 'align="right"', $sortfield, $sortorder);
print_liste_field_titre('', $_SERVER["PHP_SELF"], "", $options, "", 'width="60" align="center"', $sortfield, $sortorder);
print "</tr>\n";
$total_debit = 0;
$total_credit = 0;
$sous_total_debit = 0;
$sous_total_credit = 0;
$displayed_account = "";
foreach ($object->lines as $line) {
$link = '';
$total_debit += $line->debit;
$total_credit += $line->credit;
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
$root_account_description = $object->get_compte_racine($line->numero_compte);
if (empty($description)) {
$link = '<a href="../admin/card.php?action=create&compte=' . length_accountg($line->numero_compte) . '">' . img_edit_add() . '</a>';
}
print '<tr class="oddeven">';
// Permet d'afficher le compte comptable
if ($root_account_description != $displayed_account) {
// Affiche un Sous-Total par compte comptable
if ($displayed_account != "") {
print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap" align="right">' . price($sous_total_debit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit - $sous_total_debit) . '</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
}
// Affiche le compte comptable en d<>but de ligne
print "<tr>";
print '<td colspan="6" style="font-weight:bold; border-bottom: 1pt solid black;">' . $root_account_description . '</td>';
print '</tr>';
$displayed_account = $root_account_description;
$sous_total_debit = 0;
$sous_total_credit = 0;
}
// $object->get_compte_racine($line->numero_compte);
print '<td>' . length_accountg($line->numero_compte) . '</td>';
print '<td>' . $description . '</td>';
print '<td align="right">' . price($line->debit) . '</td>';
print '<td align="right">' . price($line->credit) . '</td>';
print '<td align="right">' . price($line->credit - $line->debit) . '</td>';
print '<td align="center">' . $link;
print '</td>';
print "</tr>\n";
// Comptabilise le sous-total
$sous_total_debit += $line->debit;
$sous_total_credit += $line->credit;
}
print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap" align="right">' . price($sous_total_debit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit - $sous_total_debit) . '</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("AccountBalance") . ':</td><td class="nowrap" align="right">' . price($total_debit) . '</td><td class="nowrap" align="right">' . price($total_credit) . '</td><td class="nowrap" align="right">' . price($total_credit - $total_debit) . '</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
print "</table>";
print '</form>';
llxFooter();
}
$db->close();

View File

@ -1,8 +1,8 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
* Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
/* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2017 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,33 +16,29 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/accountancy/bookkeeping/card.php
* \ingroup Advanced accountancy
* \brief Page to show book-entry
* \file htdocs/accountancy/bookkeeping/card.php
* \ingroup Advanced accountancy
* \brief Page to show book-entry
*/
require '../../main.inc.php';
// Class
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingjournal.class.php';
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php';
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingjournal.class.php';
// Langs
$langs->load("accountancy");
$langs->load("bank");
$langs->load("bills");
$langs->load("trips");
// Security check
$id = GETPOST('id', 'int');
if ($user->societe_id > 0) {
accessforbidden();
}
$action = GETPOST('action','aZ09');
$action = GETPOST('action');
$mode = GETPOST('mode');
$piece_num = GETPOST("piece_num");
$mesg = '';
@ -53,6 +49,7 @@ if ($subledger_account == - 1) {
$subledger_account = null;
}
$label_compte = GETPOST('label_compte');
$label_operation= GETPOST('label_operation');
$debit = price2num(GETPOST('debit'));
$credit = price2num(GETPOST('credit'));
@ -64,7 +61,7 @@ $update = GETPOST('update');
if (! empty($update)) {
$action = 'confirm_update';
}
$object = new BookKeeping($db);
if ($action == "confirm_update") {
$error = 0;
@ -77,13 +74,14 @@ if ($action == "confirm_update") {
if (empty($error)) {
$book = new BookKeeping($db);
$result = $book->fetch($id);
$result = $book->fetch($id, null, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
$book->numero_compte = $account_number;
$book->subledger_account = $subledger_account;
$book->label_compte = $label_compte;
$book->label_operation= $label_operation;
$book->debit = $debit;
$book->credit = $credit;
@ -96,7 +94,7 @@ if ($action == "confirm_update") {
$book->sens = 'C';
}
$result = $book->update($user);
$result = $book->update($user, false, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
@ -121,6 +119,7 @@ else if ($action == "add") {
$book->numero_compte = $account_number;
$book->subledger_account = $subledger_account;
$book->label_compte = $label_compte;
$book->label_operation= $label_operation;
$book->debit = $debit;
$book->credit = $credit;
$book->doc_date = GETPOST('doc_date');
@ -141,7 +140,7 @@ else if ($action == "add") {
$book->sens = 'C';
}
$result = $book->createStd($user);
$result = $book->createStd($user, false, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
@ -154,14 +153,13 @@ else if ($action == "add") {
else if ($action == "confirm_delete") {
$book = new BookKeeping($db);
$result = $book->fetch($id);
$result = $book->fetch($id, null, $mode);
$piece_num = $book->piece_num;
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
$result = $book->delete($user);
$result = $book->delete($user, false, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
}
@ -170,57 +168,102 @@ else if ($action == "confirm_delete") {
}
else if ($action == "confirm_create") {
$error = 0;
$error = 0;
$book = new BookKeeping($db);
$book = new BookKeeping($db);
if (! GETPOST('next_num_mvt'))
{
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("NumPiece")), null, 'errors');
$error++;
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("NumPiece")), null, 'errors');
$error++;
}
if (! $error)
{
$book->label_compte = '';
$book->debit = 0;
$book->credit = 0;
$book->doc_date = $date_start = dol_mktime(0, 0, 0, GETPOST('doc_datemonth'), GETPOST('doc_dateday'), GETPOST('doc_dateyear'));
$book->doc_type = GETPOST('doc_type');
$book->piece_num = GETPOST('next_num_mvt');
$book->doc_ref = GETPOST('doc_ref');
$book->code_journal = GETPOST('code_journal');
$book->fk_doc = 0;
$book->fk_docdet = 0;
$book->label_compte = '';
$book->debit = 0;
$book->credit = 0;
$book->doc_date = $date_start = dol_mktime(0, 0, 0, GETPOST('doc_datemonth'), GETPOST('doc_dateday'), GETPOST('doc_dateyear'));
$book->doc_type = GETPOST('doc_type');
$book->piece_num = GETPOST('next_num_mvt');
$book->doc_ref = GETPOST('doc_ref');
$book->code_journal = GETPOST('code_journal');
$book->fk_doc = 0;
$book->fk_docdet = 0;
$book->montant = 0;
$book->montant = 0;
$result = $book->createStd($user);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
setEventMessages($langs->trans('Saved'), null, 'mesgs');
$action = '';
$piece_num = $book->piece_num;
}
$result = $book->createStd($user,0, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
setEventMessages($langs->trans('Saved'), null, 'mesgs');
$action = 'update';
$id=$book->id;
$piece_num = $book->piece_num;
}
}
}
if ($action == 'setdate') {
$datedoc = dol_mktime(0, 0, 0, GETPOST('doc_datemonth'), GETPOST('doc_dateday'), GETPOST('doc_dateyear'));
$result = $object->updateByMvt($piece_num,'doc_date',$db->idate($datedoc),$mode);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
} else {
setEventMessages($langs->trans('Saved'), null, 'mesgs');
$action = '';
}
}
if ($action == 'setjournal') {
$journaldoc = trim(GETPOST('code_journal'));
if (!empty($journaldoc)) {
$journaldoc='\''.$journaldoc.'\'';
}
$result = $object->updateByMvt($piece_num,'code_journal',$journaldoc,$mode);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
} else {
setEventMessages($langs->trans('Saved'), null, 'mesgs');
$action = '';
}
}
if ($action == 'setdocref') {
$refdoc = trim(GETPOST('doc_ref'));
if (!empty($refdoc)) {
$refdoc='\''.$refdoc.'\'';
}
$result = $object->updateByMvt(doc_ref,'code_journal',$refdoc,$mode);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
} else {
setEventMessages($langs->trans('Saved'), null, 'mesgs');
$action = '';
}
}
if ($action == 'valid') {
$result = $object->transformTransaction(0,$piece_num);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
} else {
header("Location: list.php?sortfield=t.piece_num&sortorder=asc");
exit;
}
}
/*
* View
*/
llxHeader();
$html = new Form($db);
$formaccountancy = new FormAccounting($db);
$formaccounting = new FormAccounting($db);
$accountjournal = new AccountingJournal($db);
/*
* Confirmation to delete the command
*/
// Confirmation to delete the command
if ($action == 'delete') {
$formconfirm = $html->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $id, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'confirm_delete', '', 0, 1);
$formconfirm = $html->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $id.'&mode='. $mode, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'confirm_delete', '', 0, 1);
print $formconfirm;
}
@ -228,15 +271,17 @@ if ($action == 'create') {
print load_fiche_titre($langs->trans("CreateMvts"));
$book = new BookKeeping($db);
$next_num_mvt = $book->getNextNumMvt();
if (empty($next_num_mvt))
{
dol_print_error('', 'Failed to get next piece number');
}
$next_num_mvt = $book->getNextNumMvt('_tmp');
if (empty($next_num_mvt))
{
dol_print_error('', 'Failed to get next piece number');
}
print '<form action="' . $_SERVER["PHP_SELF"] . '" name="create_mvt" method="POST">';
print '<input type="hidden" name="action" value="confirm_create">' . "\n";
print '<input type="hidden" name="next_num_mvt" value="' . $next_num_mvt . '">' . "\n";
print '<input type="hidden" name="mode" value="_tmp">' . "\n";
dol_fiche_head();
@ -254,10 +299,9 @@ if ($action == 'create') {
print '</tr>';
print '<tr>';
print '<td class="fieldrequired">'.$langs->trans("AccountancyJournal").'</td>';
print '<td>';
print $formaccountancy->select_journal('', 'code_journal', '', 0, 1, 1, 1, 1);
print '</td></tr>';
print '<td class="fieldrequired">' . $langs->trans("Codejournal") . '</td>';
print '<td>' . $formaccounting->select_journal(GETPOST('code_journal'),'code_journal',0,0,array(),1,1) . '</td>';
print '</tr>';
print '<tr>';
print '<td>' . $langs->trans("Docref") . '</td>';
@ -266,7 +310,7 @@ if ($action == 'create') {
print '<tr>';
print '<td>' . $langs->trans("Doctype") . '</td>';
print '<td><input type="text" class="minwidth200" name="doc_type" value=""/></td>';
print '<td><input type="text" class="minwidth200 name="doc_type" value=""/></td>';
print '</tr>';
print '</table>';
@ -280,7 +324,7 @@ if ($action == 'create') {
print '</form>';
} else {
$book = new BookKeeping($db);
$result = $book->fetchPerMvt($piece_num);
$result = $book->fetchPerMvt($piece_num, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
}
@ -290,59 +334,138 @@ if ($action == 'create') {
dol_fiche_head();
print '<div class="fichecenter">';
print '<div class="fichehalfleft">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
// account movement
print '<tr class="pair">';
print '<td class="titlefield">' . $langs->trans("NumMvts") . '</td>';
print '<td>' . $book->piece_num . '</td>';
print '</tr>';
print '<tr class="impair">';
print '<td>' . $langs->trans("Docdate") . '</td>';
print '<td>' . dol_print_date($book->doc_date, 'daytextshort') . '</td>';
// date
print '<tr class="impair"><td>';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('Docdate');
print '</td>';
if ($action != 'editdate')
print '<a href="'.$_SERVER["PHP_SELF"].'?action=editdate&amp;piece_num='. $book->piece_num .'&amp;mode='. $mode .'">'.img_edit($langs->transnoentitiesnoconv('SetDate'),1).'</a></td>';
print '</tr></table>';
print '</td><td colspan="3">';
if ($action == 'editdate') {
print '<form name="setdate" action="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '" method="post">';
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
print '<input type="hidden" name="action" value="setdate">';
print '<input type="hidden" name="mode" value="'.$mode.'">';
$form->select_date($book->doc_date ? $book->doc_date : - 1, 'doc_date', '', '', '', "setdate");
print '<input type="submit" class="button" value="' . $langs->trans('Modify') . '">';
print '</form>';
} else {
print $book->doc_date ? dol_print_date($book->doc_date, 'daytext') : '&nbsp;';
}
print '</td>';
print '</tr>';
print '<tr class="pair">';
print '<td>' . $langs->trans("Codejournal") . '</td>';
print '<td>';
$accountingjournal = new AccountingJournal($db);
$accountingjournal->fetch('',$book->code_journal);
print $accountingjournal->getNomUrl(0,1,1,'',1);
print '</td></tr>';
print '<tr class="impair">';
print '<td>' . $langs->trans("Docref") . '</td>';
print '<td>' . $book->doc_ref . '</td>';
//journal
print '<tr class="pair"><td>';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('Codejournal');
print '</td>';
if ($action != 'editjournal')
print '<a href="'.$_SERVER["PHP_SELF"].'?action=editjournal&amp;piece_num='.$book->piece_num.'&amp;mode='. $mode .'">'.img_edit($langs->transnoentitiesnoconv('Edit'),1).'</a></td>';
print '</tr></table>';
print '</td><td>';
if ($action == 'editjournal') {
print '<form name="setjournal" action="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '" method="post">';
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
print '<input type="hidden" name="action" value="setjournal">';
print '<input type="hidden" name="mode" value="'.$mode.'">';
print $formaccounting->select_journal($book->code_journal,'code_journal',0,0,array(),1,1);
print '<input type="submit" class="button" value="' . $langs->trans('Modify') . '">';
print '</form>';
} else {
print $book->code_journal ;
}
print '</td>';
print '</tr>';
$typelabel = $book->doc_type;
if ($typelabel == 'bank') {
$typelabel = $langs->trans('Bank');
}
if ($typelabel == 'customer_invoice') {
$typelabel = $langs->trans('CustomerInvoice');
}
if ($typelabel == 'supplier_invoice') {
$typelabel = $langs->trans('SupplierInvoice');
}
if ($typelabel == 'expense_report') {
$typelabel = $langs->trans('ExpenseReport');
//docref
print '<tr class="impair"><td>';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('Docref');
print '</td>';
if ($action != 'editdocref')
print '<a href="'.$_SERVER["PHP_SELF"].'?action=editdocref&amp;piece_num='.$book->piece_num.'&amp;mode='. $mode .'">'.img_edit($langs->transnoentitiesnoconv('Edit'),1).'</a></td>';
print '</tr></table>';
print '</td><td>';
if ($action == 'editdocref') {
print '<form name="setdocref" action="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '" method="post">';
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
print '<input type="hidden" name="action" value="setdocref">';
print '<input type="hidden" name="mode" value="'.$mode.'">';
print '<input type="text" size="20" name="doc_ref" value="'.$book->doc_ref.'">';
print '<input type="submit" class="button" value="' . $langs->trans('Modify') . '">';
print '</form>';
} else {
print $book->doc_ref ;
}
print '</td>';
print '</tr>';
//doctype
print '<tr class="pair">';
print '<td>' . $langs->trans("Doctype") . '</td>';
print '<td>' . $typelabel . '</td>';
print '<td>' . $book->doc_type . '</td>';
print '</tr>';
print '</table>';
print '</div>';
dol_fiche_end();
print '<div class="fichehalfright"><div class="ficheaddleft">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border tableforfield" width="100%">';
// Validate
print '<tr class="pair">';
print '<td class="titlefield">' . $langs->trans("Status") . '</td>';
print '<td>';
if (empty($book->validated)) {
print '<a href="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $line->rowid . '&action=enable">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a>';
} else {
print '<a href="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $line->rowid . '&action=disable">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a>';
}
print '</td>';
print '</tr>';
// check data
print '<tr class="impair">';
print '<td class="titlefield">' . $langs->trans("Control") . '</td>';
/*
if ($book->doc_type == 'customer_invoice')
{
$sqlmid = 'SELECT rowid as ref';
$sqlmid .= " FROM ".MAIN_DB_PREFIX."facture as fac";
$sqlmid .= " WHERE fac.rowid=" . $book->fk_doc;
dol_syslog("accountancy/bookkeeping/card.php::sqlmid=" . $sqlmid, LOG_DEBUG);
$resultmid = $db->query($sqlmid);
if ($resultmid) {
$objmid = $db->fetch_object($resultmid);
$invoicestatic = new Facture($db);
$invoicestatic->fetch($objmid->ref);
$ref=$langs->trans("Invoice").' '.$invoicestatic->getNomUrl(1);
}
else dol_print_error($db);
}
*/
print '<td>' . $ref .'</td>';
print "</table>\n";
print '</div>';
print '</div></div>';
print '<div style="clear:both"></div>';
print '<br>';
$result = $book->fetch_all_per_mvt($piece_num);
$result = $book->fetchAllPerMvt($piece_num, $mode);
if ($result < 0) {
setEventMessages($book->error, $book->errors, 'errors');
} else {
@ -356,8 +479,7 @@ if ($action == 'create') {
print '<input type="hidden" name="code_journal" value="' . $book->code_journal . '">' . "\n";
print '<input type="hidden" name="fk_doc" value="' . $book->fk_doc . '">' . "\n";
print '<input type="hidden" name="fk_docdet" value="' . $book->fk_docdet . '">' . "\n";
$var=False;
print '<input type="hidden" name="mode" value="' . $mode . '">' . "\n";
print "<table class=\"noborder\" width=\"100%\">";
if (count($book->linesmvt) > 0) {
@ -368,35 +490,32 @@ if ($action == 'create') {
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("AccountAccountingShort"));
print_liste_field_titre($langs->trans("subledger_account"));
print_liste_field_titre($langs->trans("Subledger_account"));
print_liste_field_titre($langs->trans("Labelcompte"));
print_liste_field_titre($langs->trans("Debit"), "", "", "", "", 'align="right"');
print_liste_field_titre($langs->trans("Credit"), "", "", "", "", 'align="right"');
print_liste_field_titre($langs->trans("Amount"), "", "", "", "", 'align="right"');
print_liste_field_titre($langs->trans("Sens"), "", "", "", "", 'align="center"');
print_liste_field_titre($langs->trans("Labeloperation"));
print_liste_field_titre($langs->trans("Debit"), "", "", "", "", 'align="center"');
print_liste_field_titre($langs->trans("Credit"), "", "", "", "", 'align="center"');
print_liste_field_titre($langs->trans("Action"), "", "", "", "", 'width="60" align="center"');
print "</tr>\n";
foreach ($book->linesmvt as $line) {
print '<tr class="oddeven">';
foreach ( $book->linesmvt as $line ) {
$var = ! $var;
print '<tr' . $bc[$var] . '>';
$total_debit += $line->debit;
$total_credit += $line->credit;
if ($action == 'update' && $line->id == $id) {
print '<td>';
print $formaccounting->select_account($line->numero_compte, 'account_number', 0, array (), 1, 1, 'maxwidth300');
print $formaccounting->select_account($line->numero_compte, 'account_number', 0, array (), 1, 1, '');
print '</td>';
print '<td>';
print $formaccounting->select_auxaccount($line->subledger_account, 'subledger_account', 1, 'maxwidth300');
print $formaccounting->select_auxaccount($line->subledger_account, 'subledger_account', 1);
print '</td>';
print '<td><input type="text" size="15" name="label_compte" value="' . $line->label_compte . '"/></td>';
print '<td><input type="text" size="15" name="label_operation" value="' . $line->label_operation. '"/></td>';
print '<td align="right"><input type="text" size="6" name="debit" value="' . price($line->debit) . '"/></td>';
print '<td align="right"><input type="text" size="6" name="credit" value="' . price($line->credit) . '"/></td>';
print '<td align="right">' . price($line->montant) . '</td>';
print '<td align="center">' . $line->sens . '</td>';
print '<td>';
print '<input type="hidden" name="id" value="' . $line->id . '">' . "\n";
print '<input type="submit" class="button" name="update" value="' . $langs->trans("Update") . '">';
@ -405,19 +524,18 @@ if ($action == 'create') {
print '<td>' . length_accountg($line->numero_compte) . '</td>';
print '<td>' . length_accounta($line->subledger_account) . '</td>';
print '<td>' . $line->label_compte . '</td>';
print '<td>' . $line->label_operation. '</td>';
print '<td align="right">' . price($line->debit) . '</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="center">';
print '<a href="./card.php?action=update&amp;id=' . $line->id . '&amp;piece_num=' . $line->piece_num . '">';
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=update&amp;id=' . $line->id . '&amp;piece_num=' . $line->piece_num . '&amp;mode='.$mode.'">';
print img_edit();
print '</a>&nbsp;';
print '<a href="./card.php?action=delete&amp;id=' . $line->id . '&amp;piece_num=' . $line->piece_num . '">';
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=delete&amp;id=' . $line->id . '&amp;piece_num=' . $line->piece_num . '&amp;mode='.$mode.'">';
print img_delete();
print '</a>';
print '</a>';
print '</td>';
}
print "</tr>\n";
@ -431,20 +549,24 @@ if ($action == 'create') {
if ($action == "" || $action == 'add') {
print '<tr class="oddeven">';
print '<td>';
print $formaccounting->select_account($account_number, 'account_number', 0, array (), 1, 1, 'maxwidth300');
print $formaccounting->select_account($account_number, 'account_number', 0, array (), 1, 1, '');
print '</td>';
print '<td>';
print $formaccounting->select_auxaccount($subledger_account, 'subledger_account', 1, 'maxwidth300');
print $formaccounting->select_auxaccount($subledger_account, 'subledger_account', 1);
print '</td>';
print '<td><input type="text" size="15" name="label_compte" value="' . $label_compte . '"/></td>';
print '<td align="right"><input type="text" class="right maxwidth50" name="debit" value="' . price($debit) . '"/></td>';
print '<td align="right"><input type="text" class="right maxwidth50" name="credit" value="' . price($credit) . '"/></td>';
print '<td></td>';
print '<td></td>';
print '<td><input type="text" size="15" name="label_compte" value="' . $line->label_compte . '"/></td>';
print '<td><input type="text" size="15" name="label_operation" value="' . $line->label_operation. '"/></td>';
print '<td align="right"><input type="text" size="6" name="debit" value="' . price($debit) . '"/></td>';
print '<td align="right"><input type="text" size="6" name="credit" value="' . price($credit) . '"/></td>';
print '<td><input type="submit" class="button" name="save" value="' . $langs->trans("Add") . '"></td>';
print '</tr>';
}
print '</table>';
if ($mode=='_tmp' && $total_debit == $total_credit && $action=='') {
print '<div class="tabsAction">';
print '<a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '&action=valid">'.$langs->trans("ValidTransaction").'</a>';
print "</div>";
}
print '</form>';
}
}
@ -453,5 +575,6 @@ if ($action == 'create') {
}
}
dol_fiche_end();
llxFooter();
$db->close();

View File

@ -99,7 +99,7 @@ $formother = new FormOther($db);
$form = new Form($db);
if ($action != 'export_csv' && ! isset($_POST['begin']) && ! isset($_GET['begin']) && ! isset($_POST['formfilteraction'])) {
if ($action != 'export_csv' && ! isset($_POST['begin']) && ! isset($_GET['begin']) && ! isset($_POST['formfilteraction']) && empty($page)) {
$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'));
}
@ -183,7 +183,7 @@ if (! empty($search_accountancy_aux_code_end)) {
$param .= '&search_accountancy_aux_code_end=' . $search_accountancy_aux_code_end;
}
if (! empty($search_mvt_label)) {
$filter['t.label_compte'] = $search_mvt_label;
$filter['t.label_operation'] = $search_mvt_label;
$param .= '&search_mvt_label=' . $search_mvt_label;
}
if (! empty($search_direction)) {
@ -424,7 +424,7 @@ print_liste_field_titre($langs->trans("Docdate"), $_SERVER['PHP_SELF'], "t.doc_d
print_liste_field_titre($langs->trans("Docref"), $_SERVER['PHP_SELF'], "t.doc_ref", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("AccountAccountingShort"), $_SERVER['PHP_SELF'], "t.numero_compte", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("SubledgerAccount"), $_SERVER['PHP_SELF'], "t.subledger_account", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.label_compte", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "t.debit", "", $param, 'align="right"', $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $param, 'align="right"', $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "t.code_journal", "", $param, 'align="center"', $sortfield, $sortorder);
@ -450,7 +450,7 @@ foreach ($object->lines as $line ) {
print '<td class="nowrap">' . $line->doc_ref . '</td>';
print '<td>' . length_accountg($line->numero_compte) . '</td>';
print '<td>' . length_accounta($line->subledger_account) . '</td>';
print '<td>' . $line->label_compte . '</td>';
print '<td>' . $line->label_operation . '</td>';
print '<td align="right">' . ($line->debit ? price($line->debit) : ''). '</td>';
print '<td align="right">' . ($line->credit ? price($line->credit) : '') . '</td>';

View File

@ -1,9 +1,8 @@
<?php
/*
* Copyright (C) 2016 Neil Orley <neil.orley@oeris.fr> largely based on the great work of :
* - Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* - Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
* - Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
/* Copyright (C) 2016 Neil Orley <neil.orley@oeris.fr>
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -100,11 +99,11 @@ if (!GETPOST("button_removefilter_x") && !GETPOST("button_removefilter")) // Bot
$options .= '&amp;search_accountancy_code_start=' . $search_accountancy_code_start;
}
if (! empty($search_label_account)) {
$filter['t.label_compte'] = $search_label_account;
$filter['t.label_operation'] = $search_label_account;
$options .= '&amp;search_label_account=' . $search_label_account;
}
if (! empty($search_mvt_label)) {
$filter['t.label_compte'] = $search_mvt_label;
$filter['t.label_operation'] = $search_mvt_label;
$options .= '&amp;search_mvt_label=' . $search_mvt_label;
}
if (! empty($search_direction)) {
@ -312,7 +311,7 @@ foreach ( $object->lines as $line ) {
// Affiche un lien vers la facture client/fournisseur
$doc_ref = preg_replace('/\(.*\)/', '', $line->doc_ref);
print strlen(length_accounta($line->subledger_account)) == 0 ? '<td>' . $line->label_compte . '</td>' : '<td>' . $line->label_compte . '<br /><span style="font-size:0.8em">(' . length_accounta($line->subledger_account) . ')</span></td>';
print strlen(length_accounta($line->subledger_account)) == 0 ? '<td>' . $line->label_operation . '</td>' : '<td>' . $line->label_operation . '<br /><span style="font-size:0.8em">(' . length_accounta($line->subledger_account) . ')</span></td>';
print '<td align="right">' . ($line->debit ? price($line->debit) :''). '</td>';

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify
@ -61,7 +61,7 @@ $search_subledger_account_end = GETPOST('search_subledger_account_end', 'alpha')
if ($search_subledger_account_end == - 1) {
$search_subledger_account_end = '';
}
$search_label_compte = GETPOST('search_label_compte', 'alpha');
$search_label_operation = GETPOST('search_label_operation', 'alpha');
$search_sens = GETPOST('search_sens', 'alpha');
$search_code_journal = GETPOST('search_code_journal', 'alpha');
@ -93,7 +93,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP
$search_doc_ref = "";
$search_numero_compte = "";
$search_subledger_account = "";
$search_label_compte = "";
$search_label_operation = "";
$search_sens = "";
$search_code_journal = "";
}
@ -144,9 +144,9 @@ if (! empty($search_subledger_account_end)) {
$filter['t.subledger_account<='] = $search_subledger_account_end;
$options .= '&amp;search_subledger_account_end=' . $search_subledger_account_end;
}
if (! empty($search_label_compte)) {
$filter['t.label_compte'] = $search_label_compte;
$options .= '&amp;search_label_compte=' . $search_label_compte;
if (! empty($search_label_operation)) {
$filter['t.label_operation'] = $search_label_operation;
$options .= '&amp;search_label_operation=' . $search_label_operation;
}
if (! empty($search_sens)) {
$filter['t.sens'] = $search_sens;
@ -207,7 +207,7 @@ print_liste_field_titre($langs->trans("Date"), $_SERVER['PHP_SELF'], "t.doc_date
print_liste_field_titre($langs->trans("Docref"), $_SERVER['PHP_SELF'], "t.doc_ref", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("AccountAccounting"), $_SERVER['PHP_SELF'], "t.numero_compte", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("ThirdPartyAccount"), $_SERVER['PHP_SELF'], "t.subledger_account", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.label_compte", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.label_operation", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "t.debit", "", $options, "", $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, 'align="center"', $sortfield, $sortorder);
print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "t.montant", "", $options, 'align="center"', $sortfield, $sortorder);
@ -242,7 +242,7 @@ print '<input type="text" size=6 class="flat" name="search_subledger_account" va
print '</td>';
print '<td class="liste_titre">';
print '<input type="text" size=6 class="flat" name="search_label_compte" value="' . $search_label_compte . '"/>';
print '<input type="text" size=6 class="flat" name="search_label_operation" value="' . $search_label_operation . '"/>';
print '</td>';
print '<td class="liste_titre">';
@ -279,7 +279,7 @@ foreach ( $object->lines as $line ) {
print '<td>' . $line->doc_ref . '</td>';
print '<td>' . length_accountg($line->numero_compte) . '</td>';
print '<td>' . length_accounta($line->subledger_account) . '</td>';
print '<td>' . $line->label_compte . '</td>';
print '<td>' . $line->label_operation . '</td>';
print '<td align="right">' . price($line->debit) . '</td>';
print '<td align="right">' . price($line->credit) . '</td>';
print '<td align="right">' . price($line->montant) . '</td>';

View File

@ -92,7 +92,7 @@ class AccountancyCategory
public function getCptBK($id) {
global $conf;
$sql = "SELECT t.numero_compte, t.label_compte, t.doc_ref";
$sql = "SELECT t.numero_compte, t.label_operation, t.doc_ref";
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t";
$sql .= " WHERE t.numero_compte NOT IN (";
$sql .= " SELECT t.account_number";
@ -104,7 +104,7 @@ class AccountancyCategory
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
$sql .= " AND aa.active = 1)";
$sql .= " GROUP BY t.numero_compte, t.label_compte, t.doc_ref";
$sql .= " GROUP BY t.numero_compte, t.label_operation, t.doc_ref";
$sql .= " ORDER BY t.numero_compte";
$this->lines_CptBk = array ();

View File

@ -5,7 +5,7 @@
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2016 Pierre-Henry Favre <phf@atm-consulting.fr>
* Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -198,7 +198,7 @@ class AccountancyExport
print length_accounta($line->subledger_account) . $separator;
print $line->sens . $separator;
print price($line->montant) . $separator;
print $line->label_compte . $separator;
print $line->label_operation . $separator;
print $line->doc_ref;
print $this->end_line;
}
@ -220,7 +220,7 @@ class AccountancyExport
print $line->piece_num . $this->separator;
print length_accountg($line->numero_compte) . $this->separator;
print '' . $this->separator;
print $line->label_compte . $this->separator;
print $line->label_operation . $this->separator;
print $date . $this->separator;
if ($line->sens=='D') {
print price($line->montant) . $this->separator;
@ -230,7 +230,7 @@ class AccountancyExport
print price($line->montant) . $this->separator;
}
print $line->doc_ref . $this->separator;
print $line->label_compte . $this->separator;
print $line->label_operation . $this->separator;
print $this->end_line;
}
}
@ -289,7 +289,7 @@ class AccountancyExport
print price($line->debit) . $this->separator;
print price($line->credit) . $this->separator;
print dol_trunc($line->label_compte, 32) . $this->separator;
print dol_trunc($line->label_operation, 32) . $this->separator;
print $this->end_line;
}
}
@ -320,11 +320,11 @@ class AccountancyExport
$Tab['date_ope'] = dol_print_date($data->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE);
$Tab['num_piece'] = str_pad(self::trunc($data->piece_num, 12), 12);
$Tab['num_compte'] = str_pad(self::trunc($code_compta, 11), 11);
$Tab['libelle_ecriture'] = str_pad(self::trunc($data->doc_ref . $data->label_compte, 25), 25);
$Tab['libelle_ecriture'] = str_pad(self::trunc($data->doc_ref . $data->label_operation, 25), 25);
$Tab['montant'] = str_pad(abs($data->montant), 13, ' ', STR_PAD_LEFT);
$Tab['type_montant'] = str_pad($data->sens, 1);
$Tab['vide'] = str_repeat(' ', 18);
$Tab['intitule_compte'] = str_pad(self::trunc($data->label_compte, 34), 34);
$Tab['intitule_compte'] = str_pad(self::trunc($data->label_operation, 34), 34);
$Tab['end'] = 'O2003';
$Tab['end_line'] = $this->end_line;
@ -359,7 +359,7 @@ class AccountancyExport
$Tab['folio'] = '000';
$Tab['date_ecriture'] = $date_ecriture;
$Tab['filler'] = ' ';
$Tab['libelle_ecriture'] = str_pad(self::trunc($data->doc_ref . ' ' . $data->label_compte, 20), 20);
$Tab['libelle_ecriture'] = str_pad(self::trunc($data->doc_ref . ' ' . $data->label_operation, 20), 20);
$Tab['sens'] = $data->sens; // C or D
$Tab['signe_montant'] = '+';
$Tab['montant'] = str_pad(abs($data->montant), 12, '0', STR_PAD_LEFT); // TODO manage negative amount
@ -375,7 +375,7 @@ class AccountancyExport
$Tab['devis'] = str_pad($conf->currency, 3);
$Tab['code_journal2'] = str_pad(self::trunc($data->code_journal, 3), 3);
$Tab['filler3'] = str_repeat(' ', 3);
$Tab['libelle_ecriture2'] = str_pad(self::trunc($data->doc_ref . ' ' . $data->label_compte, 32), 32);
$Tab['libelle_ecriture2'] = str_pad(self::trunc($data->doc_ref . ' ' . $data->label_operation, 32), 32);
$Tab['num_piece3'] = str_pad(self::trunc($data->piece_num, 10), 10);
$Tab['filler4'] = str_repeat(' ', 73);
@ -406,7 +406,7 @@ class AccountancyExport
print $line->code_journal . $this->separator;
print length_accountg($line->numero_compte) . $this->separator;
print substr(length_accountg($line->numero_compte),0,2) . $this->separator;
print '"'.dol_trunc($line->label_compte,40,'right','UTF-8',1).'"' . $this->separator;
print '"'.dol_trunc($line->label_operation,40,'right','UTF-8',1).'"' . $this->separator;
print '"'.dol_trunc($line->piece_num,15,'right','UTF-8',1).'"'.$this->separator;
print price2num($line->montant).$this->separator;
print $line->sens.$this->separator;

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com>

View File

@ -33,10 +33,12 @@ class AccountingJournal extends CommonObject
var $rowid;
var $code;
var $label;
var $nature; // 0:various operations, 1:sale, 2:purchase, 3:bank, 9: has-new
var $active;
public $code;
public $label;
public $nature; // 0:various operations, 1:sale, 2:purchase, 3:bank, 4:expense-report, 9: has-new
public $active;
public $lines;
/**
* Constructor
@ -80,7 +82,7 @@ class AccountingJournal extends CommonObject
$this->code = $obj->code;
$this->ref = $obj->code;
$this->label = $obj->label;
$this->nature = $obj->nature;
$this->nature = $obj->nature;
$this->active = $obj->active;
return $this->id;
@ -97,6 +99,74 @@ class AccountingJournal extends CommonObject
return -1;
}
/**
* Load object in memory from the database
*
* @param string $sortorder Sort Order
* @param string $sortfield Sort field
* @param int $limit offset limit
* @param int $offset offset limit
* @param array $filter filter array
* @param string $filtermode filter mode (AND or OR)
*
* @return int <0 if KO, >0 if OK
*/
function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') {
$sql = "SELECT rowid, code, label, nature, active";
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
// Manage filter
$sqlwhere = array();
if (count($filter) > 0) {
foreach ( $filter as $key => $value ) {
if ($key == 't.code' || $key == 't.label' || $key == 't.nature') {
$sqlwhere[] = $key . '\'' . $this->db->escape($value) . '\'';
} elseif ($key == 't.rowid' || $key == 't.active') {
$sqlwhere[] = $key . '=' . $value;
}
}
}
$sql .= ' WHERE 1 = 1';
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
if (count($sqlwhere) > 0) {
$sql .= ' AND ' . implode(' ' . $filtermode . ' ', $sqlwhere);
}
if (! empty($sortfield)) {
$sql .= $this->db->order($sortfield, $sortorder);
}
if (! empty($limit)) {
$sql .= ' ' . $this->db->plimit($limit + 1, $offset);
}
$this->lines = array();
dol_syslog(get_class($this) . "::fetch sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql) {
$num = $this->db->num_rows($resql);
while ( $obj = $this->db->fetch_object($resql) ) {
$line = new self($this->db);
$line->id = $obj->rowid;
$line->code = $obj->code;
$line->label = $obj->label;
$line->nature = $obj->nature;
$line->active = $obj->active;
$this->lines[] = $line;
}
$this->db->free($resql);
return $num;
} else {
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
return - 1;
}
}
/**
* Return clicable name (with picto eventually)
*
@ -130,17 +200,17 @@ class AccountingJournal extends CommonObject
$linkclose='';
if (empty($notooltip))
{
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
{
$label=$langs->trans("ShowAccoutingJournal");
$linkclose.=' alt="'.dol_escape_htmltag($label, 1).'"';
}
$linkclose.= ' title="'.dol_escape_htmltag($label, 1).'"';
$linkclose.=' class="classfortooltip"';
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
{
$label=$langs->trans("ShowAccoutingJournal");
$linkclose.=' alt="'.dol_escape_htmltag($label, 1).'"';
}
$linkclose.= ' title="'.dol_escape_htmltag($label, 1).'"';
$linkclose.=' class="classfortooltip"';
}
$linkstart='<a href="'.$url.'"';
$linkstart.=$linkclose.'>';
$linkstart='<a href="'.$url.'"';
$linkstart.=$linkclose.'>';
$linkend='</a>';
if ($nourl)
@ -162,43 +232,45 @@ class AccountingJournal extends CommonObject
/**
* Retourne le libelle du statut d'un user (actif, inactif)
*
* @param int $mode 0=libelle long, 1=libelle court
* @return string Label of type
* @param int $mode 0=libelle long, 1=libelle court
* @return string Label of type
*/
function getLibType($mode=0)
{
return $this->LibType($this->nature,$mode);
return $this->LibType($this->nature,$mode);
}
/**
* Return type of an accounting journal
*
* @param int $nature Id type
* @param int $mode 0=libelle long, 1=libelle court
* @return string Label of type
* @param int $nature Id type
* @param int $mode 0=libelle long, 1=libelle court
* @return string Label of type
*/
function LibType($nature,$mode=0)
{
global $langs;
global $langs;
$langs->load("accountancy");
if ($mode == 0)
{
$prefix='';
if ($mode == 0)
{
$prefix='';
if ($nature == 9) return $langs->trans('AccountingJournalType9');
if ($nature == 5) return $langs->trans('AccountingJournalType5');
if ($nature == 4) return $langs->trans('AccountingJournalType4');
if ($nature == 3) return $langs->trans('AccountingJournalType3');
if ($nature == 2) return $langs->trans('AccountingJournalType2');
if ($nature == 1) return $langs->trans('AccountingJournalType1');
}
if ($mode == 1)
{
if ($nature == 2) return $langs->trans('AccountingJournalType2');
if ($nature == 1) return $langs->trans('AccountingJournalType1');
}
if ($mode == 1)
{
if ($nature == 9) return $langs->trans('AccountingJournalType9');
if ($nature == 5) return $langs->trans('AccountingJournalType5');
if ($nature == 4) return $langs->trans('AccountingJournalType4');
if ($nature == 3) return $langs->trans('AccountingJournalType3');
if ($nature == 2) return $langs->trans('AccountingJournalType2');
if ($nature == 1) return $langs->trans('AccountingJournalType1');
}
if ($nature == 2) return $langs->trans('AccountingJournalType2');
if ($nature == 1) return $langs->trans('AccountingJournalType1');
}
}
}

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2014-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2015-2016 Florian Henry <florian.henry@open-concept.pro>
/* Copyright (C) 2014-2017 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2015-2017 Florian Henry <florian.henry@open-concept.pro>
*
* 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
@ -18,9 +18,9 @@
*/
/**
* \file htdocs/accountancy/class/bookkeeping.class.php
* \ingroup Advanced accountancy
* \brief File of class to manage Ledger (General Ledger and Subledger)
* \file htdocs/accountancy/class/bookkeeping.class.php
* \ingroup Advanced accountancy
* \brief File of class to manage Ledger (General Ledger and Subledger)
*/
// Class
@ -80,6 +80,7 @@ class BookKeeping extends CommonObject
public $subledger_label;
public $numero_compte;
public $label_compte;
public $label_operation;
public $debit;
public $credit;
public $montant;
@ -90,9 +91,6 @@ class BookKeeping extends CommonObject
public $journal_label;
public $piece_num;
/**
*/
/**
* Constructor
*
@ -105,9 +103,9 @@ class BookKeeping extends CommonObject
/**
* Create object into database
*
* @param User $user User that creates
* @param bool $notrigger false=launch triggers after, true=disable triggers
* @return int <0 if KO, Id of created object if OK
* @param User $user User that creates
* @param bool $notrigger false=launch triggers after, true=disable triggers
* @return int <0 if KO, Id of created object if OK
*/
public function create(User $user, $notrigger = false) {
global $conf, $langs;
@ -144,6 +142,9 @@ class BookKeeping extends CommonObject
if (isset($this->label_compte)) {
$this->label_compte = trim($this->label_compte);
}
if (isset($this->label_operation)) {
$this->label_operation = trim($this->label_operation);
}
if (isset($this->debit)) {
$this->debit = trim($this->debit);
}
@ -177,23 +178,23 @@ class BookKeeping extends CommonObject
// Check parameters
if (empty($this->numero_compte) || $this->numero_compte == '-1')
{
$langs->load("errors");
if (in_array($this->doc_type, array('bank', 'expense_report')))
{
$this->errors[]=$langs->trans('ErrorFieldAccountNotDefinedForBankLine', $this->fk_docdet, $this->doc_type);
}
else
{
//$this->errors[]=$langs->trans('ErrorFieldAccountNotDefinedForInvoiceLine', $this->doc_ref, $this->label_compte);
$mesg=$this->doc_ref.', '.$langs->trans("AccountAccounting").': '.$this->numero_compte;
if ($this->subledger_account && $this->subledger_account != $this->numero_compte)
{
$mesg.=', '.$langs->trans("SubledgerAccount").': '.$this->subledger_account;
}
$this->errors[]=$langs->trans('ErrorFieldAccountNotDefinedForLine', $mesg);
}
$langs->load("errors");
if (in_array($this->doc_type, array('bank', 'expense_report')))
{
$this->errors[]=$langs->trans('ErrorFieldAccountNotDefinedForBankLine', $this->fk_docdet, $this->doc_type);
}
else
{
//$this->errors[]=$langs->trans('ErrorFieldAccountNotDefinedForInvoiceLine', $this->doc_ref, $this->label_compte);
$mesg=$this->doc_ref.', '.$langs->trans("AccountAccounting").': '.$this->numero_compte;
if ($this->subledger_account && $this->subledger_account != $this->numero_compte)
{
$mesg.=', '.$langs->trans("SubledgerAccount").': '.$this->subledger_account;
}
$this->errors[]=$langs->trans('ErrorFieldAccountNotDefinedForLine', $mesg);
}
return -1;
return -1;
}
$this->db->begin();
@ -205,7 +206,7 @@ class BookKeeping extends CommonObject
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql .= " WHERE doc_type = '" . $this->db->escape($this->doc_type) . "'";
$sql .= " AND fk_doc = " . $this->fk_doc;
$sql .= " AND fk_docdet = " . $this->fk_docdet; // This field can be 0 is record is for several lines
$sql .= " AND fk_docdet = " . $this->fk_docdet; // This field can be 0 is record is for several lines
$sql .= " AND numero_compte = '" . $this->db->escape($this->numero_compte) . "'";
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
@ -219,7 +220,7 @@ class BookKeeping extends CommonObject
$sqlnum = "SELECT piece_num";
$sqlnum .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sqlnum .= " WHERE doc_type = '" . $this->db->escape($this->doc_type) . "'"; // For example doc_type = 'bank'
$sqlnum .= " AND fk_docdet = " . $this->db->escape($this->fk_docdet); // fk_docdet is rowid into llx_bank or llx_facturedet or llx_facturefourndet, or ...
$sqlnum .= " AND fk_docdet = " . $this->db->escape($this->fk_docdet); // fk_docdet is rowid into llx_bank or llx_facturedet or llx_facturefourndet, or ...
$sqlnum .= " AND doc_ref = '" . $this->db->escape($this->doc_ref) . "'"; // ref of source object
$sqlnum .= " AND entity IN (" . getEntity('accountancy') . ")";
@ -263,6 +264,7 @@ class BookKeeping extends CommonObject
$sql .= ", subledger_label";
$sql .= ", numero_compte";
$sql .= ", label_compte";
$sql .= ", label_operation";
$sql .= ", debit";
$sql .= ", credit";
$sql .= ", montant";
@ -284,6 +286,7 @@ class BookKeeping extends CommonObject
$sql .= ",'" . $this->db->escape($this->subledger_label) . "'";
$sql .= ",'" . $this->db->escape($this->numero_compte) . "'";
$sql .= ",'" . $this->db->escape($this->label_compte) . "'";
$sql .= ",'" . $this->db->escape($this->label_operation) . "'";
$sql .= "," . $this->debit;
$sql .= "," . $this->credit;
$sql .= "," . $this->montant;
@ -316,7 +319,7 @@ class BookKeeping extends CommonObject
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
} else { // Already exists
} else { // Already exists
$result = -3;
$error++;
$this->error='BookkeepingRecordAlreadyExists';
@ -355,11 +358,12 @@ class BookKeeping extends CommonObject
/**
* Create object into database
*
* @param User $user User that creates
* @param bool $notrigger false=launch triggers after, true=disable triggers
* @return int <0 if KO, Id of created object if OK
* @param User $user User that creates
* @param bool $notrigger false=launch triggers after, true=disable triggers
* @param string $mode Mode
* @return int <0 if KO, Id of created object if OK
*/
public function createStd(User $user, $notrigger = false) {
public function createStd(User $user, $notrigger = false, $mode='') {
dol_syslog(__METHOD__, LOG_DEBUG);
$error = 0;
@ -393,6 +397,9 @@ class BookKeeping extends CommonObject
if (isset($this->label_compte)) {
$this->label_compte = trim($this->label_compte);
}
if (isset($this->label_operation)) {
$this->label_operation = trim($this->label_operation);
}
if (isset($this->debit)) {
$this->debit = trim($this->debit);
}
@ -427,17 +434,18 @@ class BookKeeping extends CommonObject
// Put here code to add control on parameters values
// Insert request
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . '(';
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . $mode.'(';
$sql .= 'doc_date,';
$sql .= 'doc_type,';
$sql .= 'doc_ref,';
$sql .= 'fk_doc,';
$sql .= 'fk_docdet,';
$sql .= 'thirdparty,';
$sql .= 'thirdparty_code,';
$sql .= 'subledger_account,';
$sql .= 'subledger_label,';
$sql .= 'numero_compte,';
$sql .= 'label_compte,';
$sql .= 'label_operation,';
$sql .= 'debit,';
$sql .= 'credit,';
$sql .= 'montant,';
@ -457,8 +465,9 @@ class BookKeeping extends CommonObject
$sql .= ' ' . (! isset($this->thirdparty_code) ? 'NULL' : "'" . $this->db->escape($this->thirdparty_code) . "'") . ',';
$sql .= ' ' . (! isset($this->subledger_account) ? 'NULL' : "'" . $this->db->escape($this->subledger_account) . "'") . ',';
$sql .= ' ' . (! isset($this->subledger_label) ? 'NULL' : "'" . $this->db->escape($this->subledger_label) . "'") . ',';
$sql .= ' ' . (! isset($this->numero_compte) ? "NULL" : "'" . $this->db->escape($this->numero_compte) . "'") . ',';
$sql .= ' ' . (! isset($this->numero_compte) ? 'NULL' : "'" . $this->db->escape($this->numero_compte) . "'") . ',';
$sql .= ' ' . (! isset($this->label_compte) ? 'NULL' : "'" . $this->db->escape($this->label_compte) . "'") . ',';
$sql .= ' ' . (! isset($this->label_operation) ? 'NULL' : "'" . $this->db->escape($this->label_operation) . "'") . ',';
$sql .= ' ' . (! isset($this->debit) ? 'NULL' : $this->debit ). ',';
$sql .= ' ' . (! isset($this->credit) ? 'NULL' : $this->credit ). ',';
$sql .= ' ' . (! isset($this->montant) ? 'NULL' : $this->montant ). ',';
@ -511,10 +520,11 @@ class BookKeeping extends CommonObject
*
* @param int $id Id object
* @param string $ref Ref
* @param string $mode Mode
*
* @return int <0 if KO, 0 if not found, >0 if OK
*/
public function fetch($id, $ref = null) {
public function fetch($id, $ref = null, $mode='') {
global $conf;
dol_syslog(__METHOD__, LOG_DEBUG);
@ -531,6 +541,7 @@ class BookKeeping extends CommonObject
$sql .= " t.subledger_label,";
$sql .= " t.numero_compte,";
$sql .= " t.label_compte,";
$sql .= " t.label_operation,";
$sql .= " t.debit,";
$sql .= " t.credit,";
$sql .= " t.montant,";
@ -540,9 +551,9 @@ class BookKeeping extends CommonObject
$sql .= " t.code_journal,";
$sql .= " t.journal_label,";
$sql .= " t.piece_num";
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element.$mode. ' as t';
$sql .= ' WHERE 1 = 1';
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
if (null !== $ref) {
$sql .= ' AND t.ref = ' . '\'' . $ref . '\'';
} else {
@ -567,6 +578,7 @@ class BookKeeping extends CommonObject
$this->subledger_label = $obj->subledger_label;
$this->numero_compte = $obj->numero_compte;
$this->label_compte = $obj->label_compte;
$this->label_operation = $obj->label_operation;
$this->debit = $obj->debit;
$this->credit = $obj->credit;
$this->montant = $obj->montant;
@ -592,7 +604,7 @@ class BookKeeping extends CommonObject
}
}
/**
/**
* Load object in memory from the database
*
* @param string $sortorder Sort Order
@ -621,6 +633,7 @@ class BookKeeping extends CommonObject
$sql .= " t.subledger_label,";
$sql .= " t.numero_compte,";
$sql .= " t.label_compte,";
$sql .= " t.label_operation,";
$sql .= " t.debit,";
$sql .= " t.credit,";
$sql .= " t.montant,";
@ -644,23 +657,23 @@ class BookKeeping extends CommonObject
$sqlwhere[] = $key . '=' . $value;
} elseif ($key == 't.subledger_account' || $key == 't.numero_compte') {
$sqlwhere[] = $key . ' LIKE \'' . $this->db->escape($value) . '%\'';
} elseif ($key == 't.label_compte') {
} elseif ($key == 't.label_operation') {
$sqlwhere[] = $key . ' LIKE \'' . $this->db->escape($value) . '%\'';
}else {
} else {
$sqlwhere[] = $key . ' LIKE \'%' . $this->db->escape($value) . '%\'';
}
}
}
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
$sql .= ' WHERE 1 = 1';
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
if (count($sqlwhere) > 0) {
$sql .= ' AND ' . implode(' ' . $filtermode . ' ', $sqlwhere);
}
// Affichage par compte comptable
$sql .= ' ORDER BY t.numero_compte ASC';
// Affichage par compte comptable
$sql .= ' ORDER BY t.numero_compte ASC';
if (! empty($sortfield)) {
$sql .= ', ' . $sortfield . ' ' .$sortorder;
$sql .= ', ' . $sortfield . ' ' .$sortorder;
}
if (! empty($limit)) {
$sql .= ' ' . $this->db->plimit($limit + 1, $offset);
@ -686,6 +699,7 @@ class BookKeeping extends CommonObject
$line->subledger_label = $obj->subledger_label;
$line->numero_compte = $obj->numero_compte;
$line->label_compte = $obj->label_compte;
$line->label_operation = $obj->label_operation;
$line->debit = $obj->debit;
$line->credit = $obj->credit;
$line->montant = $obj->montant;
@ -709,7 +723,6 @@ class BookKeeping extends CommonObject
}
}
/**
* Load object in memory from the database
*
@ -725,7 +738,7 @@ class BookKeeping extends CommonObject
public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') {
global $conf;
dol_syslog(__METHOD__, LOG_DEBUG);
dol_syslog(__METHOD__, LOG_DEBUG);
$sql = 'SELECT';
$sql .= ' t.rowid,';
@ -739,6 +752,7 @@ class BookKeeping extends CommonObject
$sql .= " t.subledger_label,";
$sql .= " t.numero_compte,";
$sql .= " t.label_compte,";
$sql .= " t.label_operation,";
$sql .= " t.debit,";
$sql .= " t.credit,";
$sql .= " t.montant,";
@ -769,7 +783,7 @@ class BookKeeping extends CommonObject
}
}
$sql.= ' WHERE 1 = 1';
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
if (count($sqlwhere) > 0) {
$sql .= ' AND ' . implode(' ' . $filtermode . ' ', $sqlwhere);
}
@ -801,6 +815,7 @@ class BookKeeping extends CommonObject
$line->subledger_label = $obj->subledger_label;
$line->numero_compte = $obj->numero_compte;
$line->label_compte = $obj->label_compte;
$line->label_operation = $obj->label_operation;
$line->debit = $obj->debit;
$line->credit = $obj->credit;
$line->montant = $obj->montant;
@ -839,7 +854,7 @@ class BookKeeping extends CommonObject
public function fetchAllBalance($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') {
global $conf;
dol_syslog(__METHOD__, LOG_DEBUG);
dol_syslog(__METHOD__, LOG_DEBUG);
$sql = 'SELECT';
$sql .= " t.numero_compte,";
@ -860,13 +875,15 @@ class BookKeeping extends CommonObject
$sqlwhere[] = $key . '=' . $value;
} elseif ($key == 't.subledger_account' || $key == 't.numero_compte') {
$sqlwhere[] = $key . ' LIKE \'' . $this->db->escape($value) . '%\'';
} elseif ($key == 't.subledger_label') {
$sqlwhere[] = $key . ' LIKE \'' . $this->db->escape($value) . '%\'';
} else {
$sqlwhere[] = $key . ' LIKE \'%' . $this->db->escape($value) . '%\'';
}
}
}
$sql.= ' WHERE 1 = 1';
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
if (count($sqlwhere) > 0) {
$sql .= ' AND ' . implode(' ' . $filtermode . ' ', $sqlwhere);
}
@ -907,12 +924,12 @@ class BookKeeping extends CommonObject
/**
* Update object into database
*
* @param User $user User that modifies
* @param bool $notrigger false=launch triggers after, true=disable triggers
*
* @return int <0 if KO, >0 if OK
* @param User $user User that modifies
* @param bool $notrigger false=launch triggers after, true=disable triggers
* @param string $mode Mode
* @return int <0 if KO, >0 if OK
*/
public function update(User $user, $notrigger = false) {
public function update(User $user, $notrigger = false, $mode='') {
$error = 0;
dol_syslog(__METHOD__, LOG_DEBUG);
@ -945,6 +962,9 @@ class BookKeeping extends CommonObject
if (isset($this->label_compte)) {
$this->label_compte = trim($this->label_compte);
}
if (isset($this->label_operation)) {
$this->label_operation = trim($this->label_operation);
}
if (isset($this->debit)) {
$this->debit = trim($this->debit);
}
@ -977,7 +997,7 @@ class BookKeeping extends CommonObject
// Put here code to add a control on parameters values
// Update request
$sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . ' SET';
$sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . $mode.' SET';
$sql .= ' doc_date = ' . (! isset($this->doc_date) || dol_strlen($this->doc_date) != 0 ? "'" . $this->db->idate($this->doc_date) . "'" : 'null') . ',';
$sql .= ' doc_type = ' . (isset($this->doc_type) ? "'" . $this->db->escape($this->doc_type) . "'" : "null") . ',';
$sql .= ' doc_ref = ' . (isset($this->doc_ref) ? "'" . $this->db->escape($this->doc_ref) . "'" : "null") . ',';
@ -988,6 +1008,7 @@ class BookKeeping extends CommonObject
$sql .= ' subledger_label = ' . (isset($this->subledger_label) ? "'" . $this->db->escape($this->subledger_label) . "'" : "null") . ',';
$sql .= ' numero_compte = ' . (isset($this->numero_compte) ? "'" . $this->db->escape($this->numero_compte) . "'" : "null") . ',';
$sql .= ' label_compte = ' . (isset($this->label_compte) ? "'" . $this->db->escape($this->label_compte) . "'" : "null") . ',';
$sql .= ' label_operation = ' . (isset($this->label_operation) ? "'" . $this->db->escape($this->label_operation) . "'" : "null") . ',';
$sql .= ' debit = ' . (isset($this->debit) ? $this->debit : "null") . ',';
$sql .= ' credit = ' . (isset($this->credit) ? $this->credit : "null") . ',';
$sql .= ' montant = ' . (isset($this->montant) ? $this->montant : "null") . ',';
@ -1030,15 +1051,47 @@ class BookKeeping extends CommonObject
}
}
/**
* Update movement
*
* @param string $piece_num Piece num
* @param string $field Field
* @param string $value Value
* @param string $mode Mode
* @return number <0 if KO, >0 if OK
*/
public function updateByMvt($piece_num='', $field='', $value='', $mode='') {
$this->db->begin();
$sql = "UPDATE " . MAIN_DB_PREFIX . $this->table_element . $mode . " as ab";
$sql .= ' SET ab.' . $field . '=' . $value;
$sql .= ' WHERE ab.piece_num=' . $piece_num ;
$resql = $this->db->query($sql);
if (! $resql) {
$error ++;
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
if ($error) {
$this->db->rollback();
return - 1 * $error;
} else {
$this->db->commit();
return 1;
}
}
/**
* Delete object in database
*
* @param User $user User that deletes
* @param bool $notrigger false=launch triggers after, true=disable triggers
* @param string $mode Mode
*
* @return int <0 if KO, >0 if OK
*/
public function delete(User $user, $notrigger = false) {
public function delete(User $user, $notrigger = false, $mode='') {
dol_syslog(__METHOD__, LOG_DEBUG);
$error = 0;
@ -1058,7 +1111,7 @@ class BookKeeping extends CommonObject
}
if (! $error) {
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element;
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element.$mode;
$sql .= ' WHERE rowid=' . $this->id;
$resql = $this->db->query($sql);
@ -1084,7 +1137,7 @@ class BookKeeping extends CommonObject
/**
* Delete bookkepping by importkey
*
* @param string $importkey Import key
* @param string $importkey Import key
* @return int Result
*/
function deleteByImportkey($importkey) {
@ -1111,25 +1164,26 @@ class BookKeeping extends CommonObject
/**
* Delete bookkepping by year
*
* @param string $delyear Year to delete
* @param string $journal Journal to delete
* @return int <0 if KO, >0 if OK
* @param string $delyear Year to delete
* @param string $journal Journal to delete
* @param string $mode Mode
* @return int <0 if KO, >0 if OK
*/
function deleteByYearAndJournal($delyear='', $journal='') {
global $conf;
function deleteByYearAndJournal($delyear='', $journal='', $mode='') {
global $conf;
if (empty($delyear) && empty($journal))
{
return -1;
}
if (empty($delyear) && empty($journal))
{
return -1;
}
$this->db->begin();
// first check if line not yet in bookkeeping
$sql = "DELETE";
$sql.= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql.= " FROM " . MAIN_DB_PREFIX . $this->table_element.$mode;
$sql.= " WHERE 1 = 1";
if (! empty($delyear)) $sql.= " AND YEAR(doc_date) = " . $delyear; // FIXME Must use between
if (! empty($delyear)) $sql.= " AND YEAR(doc_date) = " . $delyear; // FIXME Must use between
if (! empty($journal)) $sql.= " AND code_journal = '".$journal."'";
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
$resql = $this->db->query($sql);
@ -1152,16 +1206,17 @@ class BookKeeping extends CommonObject
* Delete bookkepping by piece number
*
* @param int $piecenum peicenum to delete
* @param string $mode Mode
* @return int Result
*/
function deleteMvtNum($piecenum) {
global $conf;
function deleteMvtNum($piecenum, $mode) {
global $conf;
$this->db->begin();
// first check if line not yet in bookkeeping
$sql = "DELETE";
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element. $mode;
$sql .= " WHERE piece_num = " . $piecenum;
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
@ -1245,14 +1300,15 @@ class BookKeeping extends CommonObject
$this->fk_doc = '';
$this->fk_docdet = '';
$this->thirdparty_code = 'CU001';
$this->subledger_account = '410CU001';
$this->subledger_account = '41100001';
$this->subledger_label = 'My customer company';
$this->numero_compte = '410';
$this->label_compte = '';
$this->numero_compte = '411';
$this->label_compte = 'Customer';
$this->label_operation = 'Sales of pea';
$this->debit = 99.9;
$this->credit = '';
$this->montant = '';
$this->sens = '';
$this->sens = 'D';
$this->fk_user_author = $user->id;
$this->import_key = '';
$this->code_journal = 'VT';
@ -1264,13 +1320,14 @@ class BookKeeping extends CommonObject
* Load an accounting document into memory from database
*
* @param int $piecenum Accounting document to get
* @param string $mode Mode
* @return int <0 if KO, >0 if OK
*/
public function fetchPerMvt($piecenum) {
public function fetchPerMvt($piecenum, $mode='') {
global $conf;
$sql = "SELECT piece_num,doc_date,code_journal,journal_label,doc_ref,doc_type";
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element.$mode;
$sql .= " WHERE piece_num = " . $piecenum;
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
@ -1297,14 +1354,15 @@ class BookKeeping extends CommonObject
/**
* Return next number movement
*
* @return string Next numero to use
* @param string $mode Mode
* @return string Next numero to use
*/
public function getNextNumMvt()
public function getNextNumMvt($mode='')
{
global $conf;
$sql = "SELECT MAX(piece_num)+1 as max FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql .= " WHERE entity IN (" . getEntity('accountancy') . ")";
$sql = "SELECT MAX(piece_num)+1 as max FROM " . MAIN_DB_PREFIX . $this->table_element.$mode;
$sql .= " WHERE entity IN (" . getEntity('accountancy') . ")";
dol_syslog(get_class($this) . "getNextNumMvt sql=" . $sql, LOG_DEBUG);
$result = $this->db->query($sql);
@ -1324,17 +1382,18 @@ class BookKeeping extends CommonObject
/**
* Load all informations of accountancy document
*
* @param int $piecenum id of line to get
* @return int <0 if KO, >0 if OK
* @param int $piecenum Id of line to get
* @param string $mode Mode
* @return int <0 if KO, >0 if OK
*/
function fetch_all_per_mvt($piecenum) {
function fetchAllPerMvt($piecenum, $mode='') {
global $conf;
$sql = "SELECT rowid, doc_date, doc_type,";
$sql .= " doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,";
$sql .= " numero_compte, label_compte, debit, credit,";
$sql .= " numero_compte, label_compte, label_operation, debit, credit,";
$sql .= " montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num";
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element.$mode;
$sql .= " WHERE piece_num = " . $piecenum;
$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
@ -1358,6 +1417,7 @@ class BookKeeping extends CommonObject
$line->subledger_label = $obj->subledger_label;
$line->numero_compte = $obj->numero_compte;
$line->label_compte = $obj->label_compte;
$line->label_operation = $obj->label_operation;
$line->debit = $obj->debit;
$line->credit = $obj->credit;
$line->montant = $obj->montant;
@ -1380,15 +1440,15 @@ class BookKeeping extends CommonObject
/**
* Export bookkeping
*
* @param string $model Model
* @return int Result
* @param string $model Model
* @return int Result
*/
function export_bookkeping($model = 'ebp') {
global $conf;
$sql = "SELECT rowid, doc_date, doc_type,";
$sql .= " doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,";
$sql .= " numero_compte, label_compte, debit, credit,";
$sql .= " numero_compte, label_compte, label_operation, debit, credit,";
$sql .= " montant, sens, fk_user_author, import_key, code_journal, piece_num";
$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
$sql .= " WHERE entity IN (" . getEntity('accountancy') . ")";
@ -1416,6 +1476,7 @@ class BookKeeping extends CommonObject
$line->subledger_label = $obj->subledger_label;
$line->numero_compte = $obj->numero_compte;
$line->label_compte = $obj->label_compte;
$line->label_operation = $obj->label_operation;
$line->debit = $obj->debit;
$line->credit = $obj->credit;
$line->montant = $obj->montant;
@ -1435,99 +1496,181 @@ class BookKeeping extends CommonObject
}
}
/**
* Return list of accounts with label by chart of accounts
*
* @param string $selectid Preselected chart of accounts
* @param string $htmlname Name of field in html form
* @param int $showempty Add an empty field
* @param array $event Event options
* @param int $select_in Value is a aa.rowid (0 default) or aa.account_number (1)
* @param int $select_out Set value returned by select 0=rowid (default), 1=account_number
* @param int $aabase Set accounting_account base class to display empty=all or from 1 to 8 will display only account beginning by this number
* @return string String with HTML select
*/
function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $aabase = '') {
global $conf;
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
$pcgver = $conf->global->CHARTOFACCOUNTS;
$sql = "SELECT DISTINCT ab.numero_compte as account_number, aa.label as label, aa.rowid as rowid, aa.fk_pcg_version";
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as ab";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.account_number = ab.numero_compte";
$sql .= " AND aa.active = 1";
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " AND asy.rowid = " . $pcgver;
$sql .= " AND ab.entity IN (" . getEntity('accountancy') . ")";
$sql .= " ORDER BY account_number ASC";
dol_syslog(get_class($this) . "::select_account", LOG_DEBUG);
$resql = $this->db->query($sql);
if (! $resql) {
$this->error = "Error " . $this->db->lasterror();
dol_syslog(get_class($this) . "::select_account " . $this->error, LOG_ERR);
return - 1;
}
$out = ajax_combobox($htmlname, $event);
$options = array();
$selected = null;
while ($obj = $this->db->fetch_object($resql)) {
$label = length_accountg($obj->account_number) . ' - ' . $obj->label;
$select_value_in = $obj->rowid;
$select_value_out = $obj->rowid;
if ($select_in == 1) {
$select_value_in = $obj->account_number;
}
if ($select_out == 1) {
$select_value_out = $obj->account_number;
}
// Remember guy's we store in database llx_facturedet the rowid of accounting_account and not the account_number
// Because same account_number can be share between different accounting_system and do have the same meaning
if (($selectid != '') && $selectid == $select_value_in) {
$selected = $select_value_out;
}
$options[$select_value_out] = $label;
}
$out .= Form::selectarray($htmlname, $options, $selected, $showempty, 0, 0, '', 0, 0, 0, '', 'maxwidth300');
$this->db->free($resql);
return $out;
}
/**
* Transform transaction
*
* @param number $direction If 0 tmp => real, if 1 real => tmp
* @param string $piece_num Piece num
* @return void
*/
public function transformTransaction($direction=0,$piece_num='') {
$this->db->begin();
if ($direction==0) {
$next_piecenum=$this->getNextNumMvt();
if ($result < 0) {
$error++;
}
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element.'(doc_date, doc_type,';
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num)';
$sql .= 'SELECT doc_date, doc_type,';
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, '.$next_piecenum.'';
$sql .= ' FROM '.MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
$resql = $this->db->query($sql);
if (! $resql) {
$error ++;
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
$sql = 'DELETE FROM '.MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
$resql = $this->db->query($sql);
if (! $resql) {
$error ++;
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
}
if ($direction==1) {
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
$resql = $this->db->query($sql);
if (! $resql) {
$error ++;
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element.'_tmp(doc_date, doc_type,';
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num)';
$sql .= 'SELECT doc_date, doc_type,';
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num';
$sql .= ' FROM '.MAIN_DB_PREFIX . $this->table_element.' WHERE piece_num = '.$piece_num;
$resql = $this->db->query($sql);
if (! $resql) {
$error ++;
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
$sql = 'DELETE FROM '.MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
$resql = $this->db->query($sql);
if (! $resql) {
$error ++;
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
}
}
if (! $error) {
$this->db->commit();
return 1;
} else {
$this->db->rollback();
return - 1;
}
$sql = "DELETE FROM ";
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as ab";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.account_number = ab.numero_compte";
$sql .= " AND aa.active = 1";
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " AND asy.rowid = " . $pcgver;
$sql .= " AND ab.entity IN (" . getEntity('accountancy') . ")";
$sql .= " ORDER BY account_number ASC";
}
/**
* Description of a root accounting account
* Return list of accounts with label by chart of accounts
*
* @param string $account Accounting account
* @return string Root account
* @param string $selectid Preselected chart of accounts
* @param string $htmlname Name of field in html form
* @param int $showempty Add an empty field
* @param array $event Event options
* @param int $select_in Value is a aa.rowid (0 default) or aa.account_number (1)
* @param int $select_out Set value returned by select 0=rowid (default), 1=account_number
* @param int $aabase Set accounting_account base class to display empty=all or from 1 to 8 will display only account beginning by this number
* @return string String with HTML select
*/
function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $aabase = '') {
global $conf;
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
$pcgver = $conf->global->CHARTOFACCOUNTS;
$sql = "SELECT DISTINCT ab.numero_compte as account_number, aa.label as label, aa.rowid as rowid, aa.fk_pcg_version";
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as ab";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.account_number = ab.numero_compte";
$sql .= " AND aa.active = 1";
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " AND asy.rowid = " . $pcgver;
$sql .= " AND ab.entity IN (" . getEntity('accountancy') . ")";
$sql .= " ORDER BY account_number ASC";
dol_syslog(get_class($this) . "::select_account", LOG_DEBUG);
$resql = $this->db->query($sql);
if (! $resql) {
$this->error = "Error " . $this->db->lasterror();
dol_syslog(get_class($this) . "::select_account " . $this->error, LOG_ERR);
return - 1;
}
$out = ajax_combobox($htmlname, $event);
$options = array();
$selected = null;
while ($obj = $this->db->fetch_object($resql)) {
$label = length_accountg($obj->account_number) . ' - ' . $obj->label;
$select_value_in = $obj->rowid;
$select_value_out = $obj->rowid;
if ($select_in == 1) {
$select_value_in = $obj->account_number;
}
if ($select_out == 1) {
$select_value_out = $obj->account_number;
}
// Remember guy's we store in database llx_facturedet the rowid of accounting_account and not the account_number
// Because same account_number can be share between different accounting_system and do have the same meaning
if (($selectid != '') && $selectid == $select_value_in) {
$selected = $select_value_out;
}
$options[$select_value_out] = $label;
}
$out .= Form::selectarray($htmlname, $options, $selected, $showempty, 0, 0, '', 0, 0, 0, '', 'maxwidth300');
$this->db->free($resql);
return $out;
}
/**
* Description of a root accounting account
*
* @param string $account Accounting account
* @return string Root account
*/
function get_compte_racine($account = null)
{
global $conf;
$pcgver = $conf->global->CHARTOFACCOUNTS;
$sql = "SELECT root.account_number, root.label as label";
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " AND asy.rowid = " . $pcgver;
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as parent ON aa.account_parent = parent.rowid";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as root ON parent.account_parent = root.rowid";
$sql .= " WHERE aa.account_number = '" . $account . "'";
$sql .= " AND parent.active = 1";
$sql .= " AND root.active = 1";
$sql .= " AND aa.entity IN (" . getEntity('accountancy') . ")";
$sql = "SELECT root.account_number, root.label as label";
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " AND asy.rowid = " . $pcgver;
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as parent ON aa.account_parent = parent.rowid";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as root ON parent.account_parent = root.rowid";
$sql .= " WHERE aa.account_number = '" . $account . "'";
$sql .= " AND parent.active = 1";
$sql .= " AND root.active = 1";
$sql .= " AND aa.entity IN (" . getEntity('accountancy') . ")";
dol_syslog(get_class($this) . "::select_account sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
@ -1547,13 +1690,12 @@ class BookKeeping extends CommonObject
}
}
/**
* Description of accounting account
*
* @param string $account Accounting account
* @return string Account desc
*/
/**
* Description of accounting account
*
* @param string $account Accounting account
* @return string Account desc
*/
function get_compte_desc($account = null)
{
global $conf;
@ -1566,7 +1708,7 @@ class BookKeeping extends CommonObject
$sql .= " AND asy.rowid = " . $pcgver;
$sql .= " AND aa.active = 1";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "c_accounting_category as cat ON aa.fk_accounting_category = cat.rowid";
$sql .= " WHERE aa.entity IN (" . getEntity('accountancy') . ")";
$sql .= " WHERE aa.entity IN (" . getEntity('accountancy') . ")";
dol_syslog(get_class($this) . "::select_account sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
@ -1586,10 +1728,8 @@ class BookKeeping extends CommonObject
return -1;
}
}
}
/**
* Class BookKeepingLine
*/
@ -1606,6 +1746,7 @@ class BookKeepingLine
public $subledger_label;
public $numero_compte;
public $label_compte;
public $label_operation;
public $debit;
public $credit;
public $montant;
@ -1615,4 +1756,4 @@ class BookKeepingLine
public $code_journal;
public $journal_label;
public $piece_num;
}
}

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
*
@ -73,7 +73,7 @@ if ($action == 'validatehistory') {
// First clean corrupted data
$sqlclean = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sqlclean .= " SET fd.fk_code_ventilation = 0";
$sqlclean .= " SET fk_code_ventilation = 0";
$sqlclean .= ' WHERE fd.fk_code_ventilation NOT IN ';
$sqlclean .= ' (SELECT accnt.rowid ';
$sqlclean .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
@ -91,7 +91,7 @@ if ($action == 'validatehistory') {
$sql1 .= " AND " . MAIN_DB_PREFIX . "facturedet.fk_code_ventilation = 0";
} else {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
$sql1 .= " SET fk_code_ventilation = accnt.rowid";
$sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number";
$sql1 .= " AND fd.fk_code_ventilation = 0";
@ -113,7 +113,7 @@ if ($action == 'validatehistory') {
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sql1 .= " SET fd.fk_code_ventilation = 0";
$sql1 .= " SET fk_code_ventilation = 0";
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
$sql1 .= ' (SELECT accnt.rowid ';
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
@ -134,16 +134,16 @@ if ($action == 'validatehistory') {
} elseif ($action == 'cleanaccountancycode') {
$error = 0;
$db->begin();
// Now clean
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sql1.= " SET fd.fk_code_ventilation = 0";
$sql1.= " SET fk_code_ventilation = 0";
$sql1.= " WHERE fd.fk_facture IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture as f";
$sql1.= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
$sql1.= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "'";
$sql1.= " AND f.entity IN (" . getEntity('accountancy') . ")";
$sql1.=")";
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
$resql1 = $db->query($sql1);
@ -321,9 +321,9 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
{
print '<br>';
print '<br>';
print_fiche_titre($langs->trans("OtherInfo"), '', '');
print "<br>\n";
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="400" align="left">' . $langs->trans("TotalVente") . '</td>';
@ -331,7 +331,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<td width="60" align="right">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
}
print '<td width="60" align="right"><b>' . $langs->trans("Total") . '</b></td></tr>';
$sql = "SELECT '" . $langs->trans("TotalVente") . "' AS total,";
for($i = 1; $i <= 12; $i ++) {
$sql .= " SUM(" . $db->ifsql('MONTH(f.datef)=' . $i, 'fd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
@ -347,13 +347,13 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
} else {
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
}
dol_syslog('htdocs/accountancy/customer/index.php');
$resql = $db->query($sql);
if ($resql) {
$i = 0;
$num = $db->num_rows($resql);
while ($row = $db->fetch_row($resql)) {
print '<tr><td>' . $row[0] . '</td>';
for($i = 1; $i <= 12; $i ++) {
@ -368,7 +368,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print $db->lasterror(); // Show last sql error
}
print "</table>\n";
if (! empty($conf->margin->enabled)) {
print "<br>\n";
print '<table class="noborder" width="100%">';
@ -377,7 +377,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<td width="60" align="right">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
}
print '<td width="60" align="right"><b>' . $langs->trans("Total") . '</b></td></tr>';
$sql = "SELECT '" . $langs->trans("Vide") . "' AS marge,";
for($i = 1; $i <= 12; $i ++) {
$sql .= " SUM(" . $db->ifsql('MONTH(f.datef)=' . $i, '(fd.total_ht-(fd.qty * fd.buy_price_ht))', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
@ -393,14 +393,14 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
} else {
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
}
dol_syslog('htdocs/accountancy/customer/index.php:: $sql=' . $sql);
$resql = $db->query($sql);
if ($resql) {
$num = $db->num_rows($resql);
while ($row = $db->fetch_row($resql)) {
print '<tr><td>' . $row[0] . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td align="right">' . price(price2num($row[$i])) . '</td>';

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
* Copyright (C) 2014-2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>

View File

@ -50,6 +50,7 @@ require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
require_once DOL_DOCUMENT_ROOT . '/societe/class/client.class.php';
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/paymentexpensereport.class.php';
require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/paymentvarious.class.php';
$langs->load("companies");
$langs->load("other");
@ -60,6 +61,7 @@ $langs->load('donations');
$langs->load("accountancy");
$langs->load("trips");
$langs->load("salaries");
$langs->load("hrm");
// Multi journal
$id_journal = GETPOST('id_journal', 'int');
@ -131,6 +133,7 @@ $paymentdonstatic = new PaymentDonation($db);
$paymentvatstatic = new TVA($db);
$paymentsalstatic = new PaymentSalary($db);
$paymentexpensereportstatic = new PaymentExpenseReport($db);
$paymentvariousstatic = new PaymentVarious($db);
// Get code of finance journal
$accountingjournalstatic = new AccountingJournal($db);
@ -208,7 +211,7 @@ if ($result) {
// Now loop on each link of record in bank.
foreach ( $links as $key => $val ) {
if (in_array($links[$key]['type'], array('sc', 'payment_sc', 'payment', 'payment_supplier', 'payment_vat', 'payment_expensereport', 'banktransfert', 'payment_donation', 'payment_salary'))) // So we excluded 'company' here
if (in_array($links[$key]['type'], array('sc', 'payment_sc', 'payment', 'payment_supplier', 'payment_vat', 'payment_expensereport', 'banktransfert', 'payment_donation', 'payment_salary', 'payment_various'))) // So we excluded 'company' here
{
// We save tabtype for a future use, to remember what kind of payment it is
$tabtype[$obj->rowid] = $links[$key]['type'];
@ -250,9 +253,9 @@ if ($result) {
$sqlmid = 'SELECT cchgsoc.accountancy_code';
$sqlmid .= " FROM " . MAIN_DB_PREFIX . "c_chargesociales cchgsoc ";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
$sqlmid .= " WHERE bkurl.fk_bank=" . $obj->rowid;
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
@ -285,6 +288,15 @@ if ($result) {
$paymentexpensereportstatic->fk_expensereport = $links[$key]['url_id'];
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentexpensereportstatic->getNomUrl(2);
$tabpay[$obj->rowid]["fk_expensereport"] = $paymentexpensereportstatic->id;
} else if ($links[$key]['type'] == 'payment_various') {
$paymentvariousstatic->id = $links[$key]['url_id'];
$paymentvariousstatic->ref = $links[$key]['url_id'];
$paymentvariousstatic->label = $links[$key]['label'];
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentvariousstatic->getNomUrl(2);
$tabpay[$obj->rowid]["paymentvariousid"] = $paymentvariousstatic->id;
$paymentvariousstatic->fetch($paymentvariousstatic->id);
$account_various = (! empty($paymentvariousstatic->accountancy_code) ? $paymentvariousstatic->accountancy_code : $langs->trans("CodeNotDef"));
$tabtp[$obj->rowid][$account_various] += $obj->amount;
} else if ($links[$key]['type'] == 'banktransfert') {
$tabpay[$obj->rowid]["lib"] .= ' ' . $langs->trans("BankTransfer");
$tabtp[$obj->rowid][$account_transfer] += $obj->amount;
@ -353,7 +365,7 @@ if (! $error && $action == 'writebookkeeping') {
$bookkeeping->fk_doc = $key;
$bookkeeping->fk_docdet = $val["fk_bank"];
$bookkeeping->numero_compte = $k;
$bookkeeping->label_compte = $compte->label;
$bookkeeping->label_operation = $val["label"];
$bookkeeping->montant = ($mt < 0 ? - $mt : $mt);
$bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
$bookkeeping->debit = ($mt >= 0 ? $mt : 0);
@ -412,8 +424,11 @@ if (! $error && $action == 'writebookkeeping') {
$bookkeeping->doc_ref = $langs->trans("Donation") . ' (' . $val["paymentdonationid"] . ')'; // Rowid of donation
} else if ($tabtype[$key] == 'payment_salary') {
$bookkeeping->subledger_account = '';
$bookkeeping->label_compte = $tabuser[$key]['name'];
$bookkeeping->label_operation = $tabuser[$key]['name'];
$bookkeeping->doc_ref = $langs->trans("SalaryPayment") . ' (' . $val["paymentsalid"] . ')'; // Ref of salary payment
} else if ($tabtype[$key] == 'payment_various') {
$bookkeeping->subledger_account = '';
$bookkeeping->doc_ref = $langs->trans("VariousPayment") . ' (' . $val["paymentvariousid"] . ')'; // Ref of various payment
}
$result = $bookkeeping->create($user);
@ -447,7 +462,7 @@ if (! $error && $action == 'writebookkeeping') {
$bookkeeping->doc_type = 'bank';
$bookkeeping->fk_doc = $key;
$bookkeeping->fk_docdet = $val["fk_bank"];
$bookkeeping->label_compte = $tabcompany[$key]['name'];
$bookkeeping->label_operation = $tabcompany[$key]['name'];
$bookkeeping->montant = ($mt < 0 ? - $mt : $mt);
$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
$bookkeeping->debit = ($mt < 0 ? - $mt : 0);
@ -473,7 +488,8 @@ if (! $error && $action == 'writebookkeeping') {
$bookkeeping->doc_ref = $objmid->facnumber;
}
$bookkeeping->subledger_account = $tabcompany[$key]['code_compta'];
$bookkeeping->numero_compte = $k;
$bookkeeping->subledger_label = $tabcompany[$key]['name'];
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
} else if ($tabtype[$key] == 'payment_supplier') { // If payment is payment of supplier invoice, we get ref of invoice
$sqlmid = 'SELECT facf.ref_supplier,facf.ref';
$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture_fourn facf ";
@ -487,7 +503,23 @@ if (! $error && $action == 'writebookkeeping') {
$bookkeeping->doc_ref = $objmid->ref_supplier . ' (' . $objmid->ref . ')';
}
$bookkeeping->subledger_account = $tabcompany[$key]['code_compta'];
$bookkeeping->numero_compte = $k;
$bookkeeping->subledger_label = $tabcompany[$key]['name'];
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER;
} else if ($tabtype[$key] == 'payment_expensereport') {
$bookkeeping->subledger_account = $tabuser[$key]['accountancy_code'];
$bookkeeping->subledger_label = $tabuser[$key]['name'];
$bookkeeping->numero_compte = $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT;
$bookkeeping->label_operation = $tabuser[$key]['name'];
$sqlmid = 'SELECT e.ref';
$sqlmid .= " FROM " . MAIN_DB_PREFIX . "expensereport as e";
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "payment_expensereport as payer ON payer.fk_expensereport=e.rowid";
$sqlmid .= " WHERE payer.fk_expensereport=" . $val["fk_expensereport"];
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
$resultmid = $db->query($sqlmid);
if ($resultmid) {
$objmid = $db->fetch_object($resultmid);
$bookkeeping->doc_ref = $objmid->ref; // Ref of expensereport
}
} else if ($tabtype[$key] == 'payment_vat') {
$bookkeeping->subledger_account = '';
$bookkeeping->numero_compte = $k;
@ -499,16 +531,19 @@ if (! $error && $action == 'writebookkeeping') {
} else if ($tabtype[$key] == 'payment_salary') {
$bookkeeping->subledger_account = $tabuser[$key]['accountancy_code'];
$bookkeeping->numero_compte = $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT;
$bookkeeping->label_compte = $tabuser[$key]['name'];
$bookkeeping->label_operation = $tabuser[$key]['name'];
$bookkeeping->doc_ref = $langs->trans("SalaryPayment") . ' (' . $val["paymentsalid"] . ')'; // Rowid of salary payment
} else if ($tabtype[$key] == 'payment_various') {
$bookkeeping->subledger_account = '';
$bookkeeping->numero_compte = $k;
$bookkeeping->doc_ref = $langs->trans("VariousPayment") . ' (' . $val["paymentvariousid"] . ')'; // Rowid of various payment
} else if ($tabtype[$key] == 'banktransfert') {
$bookkeeping->subledger_account = '';
$bookkeeping->numero_compte = $k;
} else {
// FIXME Should be a temporary account ???
// Temporary account
$bookkeeping->doc_ref = $k;
//$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
$bookkeeping->numero_compte = 'CodeNotDef';
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_SUSPENSE;
}
$result = $bookkeeping->create($user);
@ -745,6 +780,7 @@ if (empty($action) || $action == 'view') {
$vatstatic = new Tva($db);
$donationstatic = new Don($db);
$salarystatic = new PaymentSalary($db);
$variousstatic = new PaymentVarious($db);
llxHeader('', $langs->trans("FinanceJournal"));
@ -913,7 +949,20 @@ if (empty($action) || $action == 'view') {
}
else dol_print_error($db);
}
elseif ($tabtype[$key] == 'payment_various')
{
$sqlmid = 'SELECT v.rowid as id';
$sqlmid .= " FROM " . MAIN_DB_PREFIX . "payment_various as v";
$sqlmid .= " WHERE v.rowid=" . $val["paymentvariousid"];
dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
$resultmid = $db->query($sqlmid);
if ($resultmid) {
$objmid = $db->fetch_object($resultmid);
$variousstatic->fetch($objmid->id);
$ref=$variousstatic->getNomUrl(1);
}
else dol_print_error($db);
}
/*$invoicestatic->id = $key;
$invoicestatic->ref = $val["ref"];

View File

@ -91,7 +91,7 @@ $idpays = $mysoc->country_id;
$sql = "SELECT er.rowid, er.ref, er.date_debut as de,";
$sql .= " erd.rowid as erdid, erd.comments, erd.total_ttc, erd.tva_tx, erd.total_ht, erd.total_tva, erd.fk_code_ventilation, erd.vat_src_code, ";
$sql .= " u.rowid as uid, u.firstname, u.lastname, u.accountancy_code as user_accountancy_account,";
$sql .= " f.accountancy_code, aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte,";
$sql .= " f.accountancy_code, aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte";
//$sql .= " ct.accountancy_code_buy as account_tva";
$sql .= " FROM " . MAIN_DB_PREFIX . "expensereport_det as erd";
//$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "c_tva as ct ON erd.tva_tx = ct.taux AND ct.fk_pays = '" . $idpays . "'";
@ -134,9 +134,9 @@ if ($result) {
$compta_tva = (! empty($vatdata['accountancy_code_sell']) ? $vatdata['accountancy_code_sell'] : $account_vat);
// Define array to display all VAT rates that use this accounting account $compta_tva
if ((! price2num($obj->tva_tx)) || ! empty($obj->vat_src_code))
if (price2num($obj->tva_tx) || ! empty($obj->vat_src_code))
{
$def_tva[$obj->rowid][$compta_tva][vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':'')]=(vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':''));
$def_tva[$obj->rowid][$compta_tva][vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':'')]=(vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':''));
}
$taber[$obj->rowid]["date"] = $db->jdate($obj->de);
@ -148,7 +148,7 @@ if ($result) {
$tabtva[$obj->rowid][$compta_tva] += $obj->total_tva;
$tabuser[$obj->rowid] = array (
'id' => $obj->uid,
'name' => $obj->firstname.' '.$obj->lastname,
'name' => dolGetFirstLastname($obj->firstname, $obj->lastname),
'user_accountancy_code' => $obj->user_accountancy_account
);
@ -169,6 +169,7 @@ if ($action == 'writebookkeeping') {
$db->begin();
// Thirdparty
if (! $errorforline)
{
foreach ( $tabttc[$key] as $k => $mt ) {
@ -183,7 +184,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->fk_docdet = $val["fk_expensereportdet"];
$bookkeeping->subledger_account = $tabuser[$key]['user_accountancy_code'];
$bookkeeping->subledger_label = $tabuser[$key]['user_accountancy_code'];
$bookkeeping->label_compte = $tabuser[$key]['name'];
$bookkeeping->label_operation = $tabuser[$key]['name'];
$bookkeeping->numero_compte = $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt >= 0) ? 'C' : 'D';
@ -212,9 +213,9 @@ if ($action == 'writebookkeeping') {
}
}
// Fees
if (! $errorforline)
{
// Fees
foreach ( $tabht[$key] as $k => $mt ) {
$accountingaccount = new AccountingAccount($db);
$accountingaccount->fetch(null, $k, true);
@ -231,7 +232,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->fk_docdet = $val["fk_expensereportdet"];
$bookkeeping->subledger_account = '';
$bookkeeping->subledger_label = '';
$bookkeeping->label_compte = $accountingaccount->label;
$bookkeeping->label_operation = $accountingaccount->label;
$bookkeeping->numero_compte = $k;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
@ -261,9 +262,9 @@ if ($action == 'writebookkeeping') {
}
}
// VAT
if (! $errorforline)
{
// VAT
// var_dump($tabtva);
foreach ( $tabtva[$key] as $k => $mt ) {
if ($mt) {
@ -277,7 +278,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->fk_docdet = $val["fk_expensereportdet"];
$bookkeeping->subledger_account = '';
$bookkeeping->subledger_label = '';
$bookkeeping->label_compte = $langs->trans("VAT"). ' '.join(', ',$def_tva[$key][$k]);
$bookkeeping->label_operation = $langs->trans("VAT"). ' '.join(', ',$def_tva[$key][$k]);
$bookkeeping->numero_compte = $k;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';

View File

@ -3,7 +3,7 @@
* Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info>
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
*
@ -145,7 +145,7 @@ if ($result) {
$compta_tva = (! empty($vatdata['accountancy_code_buy']) ? $vatdata['accountancy_code_buy'] : $cpttva);
// Define array to display all VAT rates that use this accounting account $compta_tva
if ((! price2num($obj->tva_tx)) || ! empty($obj->vat_src_code))
if (price2num($obj->tva_tx) || ! empty($obj->vat_src_code))
{
$def_tva[$obj->rowid][$compta_tva][vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':'')]=(vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':''));
}
@ -208,10 +208,10 @@ if ($action == 'writebookkeeping') {
$companystatic->code_fournisseur = $tabcompany[$key]['code_fournisseur'];
$companystatic->client = $tabcompany[$key]['code_client'];
// Thirdparty
if (! $errorforline)
{
foreach ( $tabttc[$key] as $k => $mt ) {
// get compte id and label
if ($mt) {
$bookkeeping = new BookKeeping($db);
$bookkeeping->doc_date = $val["date"];
@ -223,7 +223,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->thirdparty_code = $companystatic->code_fournisseur;
$bookkeeping->subledger_account = $tabcompany[$key]['code_compta_fournisseur'];
$bookkeeping->subledger_label = ''; // TODO To complete
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("subledger_account");
$bookkeeping->label_operation = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("subledger_account");
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt >= 0) ? 'C' : 'D';
@ -272,7 +272,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->thirdparty_code = $companystatic->code_fournisseur;
$bookkeeping->subledger_account = '';
$bookkeeping->subledger_label = '';
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $accountingaccount->label;
$bookkeeping->label_operation = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $accountingaccount->label;
$bookkeeping->numero_compte = $k;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
@ -319,7 +319,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->thirdparty_code = $companystatic->code_fournisseur;
$bookkeeping->subledger_account = '';
$bookkeeping->subledger_label = '';
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.join(', ',$def_tva[$key][$k]);
$bookkeeping->label_operation = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.join(', ',$def_tva[$key][$k]);
$bookkeeping->numero_compte = $k;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';

View File

@ -1,13 +1,13 @@
<?php
/* Copyright (C) 2007-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info>
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -150,9 +150,9 @@ if ($result) {
$compta_tva = (! empty($vatdata['accountancy_code_sell']) ? $vatdata['accountancy_code_sell'] : $cpttva);
// Define array to display all VAT rates that use this accounting account $compta_tva
if ((! price2num($obj->tva_tx)) || ! empty($obj->vat_src_code))
if (price2num($obj->tva_tx) || ! empty($obj->vat_src_code))
{
$def_tva[$obj->rowid][$compta_tva][vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':'')]=(vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':''));
$def_tva[$obj->rowid][$compta_tva][vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':'')]=(vatrate($obj->tva_tx).($obj->vat_src_code?' ('.$obj->vat_src_code.')':''));
}
// Situation invoices handling
@ -239,7 +239,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->subledger_account = $tabcompany[$key]['code_compta'];
$bookkeeping->subledger_label = ''; // TODO To complete
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("subledger_account");
$bookkeeping->label_operation = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("subledger_account");
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
$bookkeeping->debit = ($mt >= 0) ? $mt : 0;
@ -286,7 +286,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->subledger_account = '';
$bookkeeping->subledger_label = '';
$bookkeeping->numero_compte = $k;
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label;
$bookkeeping->label_operation = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label;
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
$bookkeeping->debit = ($mt < 0) ? $mt : 0;
@ -332,7 +332,7 @@ if ($action == 'writebookkeeping') {
$bookkeeping->subledger_account = '';
$bookkeeping->subledger_label = '';
$bookkeeping->numero_compte = $k;
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT").' '.join(', ',$def_tva[$key][$k]);
$bookkeeping->label_operation = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT").' '.join(', ',$def_tva[$key][$k]);
$bookkeeping->montant = $mt;
$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
$bookkeeping->debit = ($mt < 0) ? $mt : 0;
@ -591,7 +591,7 @@ if (empty($action) || $action == 'view') {
print "<td>" . $langs->trans("Date") . "</td>";
print "<td>" . $langs->trans("Piece") . ' (' . $langs->trans("InvoiceRef") . ")</td>";
print "<td>" . $langs->trans("AccountAccounting") . "</td>";
print "<td>" . $langs->trans("Type") . "</td>";
print "<td>" . $langs->trans("Label") . "</td>";
print "<td align='right'>" . $langs->trans("Debit") . "</td>";
print "<td align='right'>" . $langs->trans("Credit") . "</td>";
print "</tr>\n";
@ -617,7 +617,6 @@ if (empty($action) || $action == 'view') {
$companystatic->id = $tabcompany[$key]['id'];
$companystatic->name = $tabcompany[$key]['name'];
$companystatic->client = $tabcompany[$key]['code_client'];
$companystatic->client = $tabcompany[$key]['code_client'];
print "<td>";
$accountoshow = length_accounta($k);
if (empty($accountoshow) || $accountoshow == 'NotDefined')
@ -675,7 +674,8 @@ if (empty($action) || $action == 'view') {
}
else print $accountoshow;
print "</td>";
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . ' '.join(', ',$def_tva[$key][$k]). "</td>";
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT"). ' '.join(', ',$def_tva[$key][$k]);
print "</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>";

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2016 Jamal Elbaz <jamelbaz@gmail.pro>
* Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
*
* This program is free software; you can redistribute it and/or modify
@ -69,14 +69,14 @@ if ($action == 'validatehistory') {
// First clean corrupted data
$sqlclean = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sqlclean .= " SET fd.fk_code_ventilation = 0";
$sqlclean .= " SET fk_code_ventilation = 0";
$sqlclean .= ' WHERE fd.fk_code_ventilation NOT IN ';
$sqlclean .= ' (SELECT accnt.rowid ';
$sqlclean .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
$sqlclean .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
$sqlclean .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
$resql = $db->query($sqlclean);
// Now make the binding. Bind automatically only for product with a dedicated account that exists into chart of account, others need a manual bind
if ($db->type == 'pgsql') {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
@ -87,7 +87,7 @@ if ($action == 'validatehistory') {
$sql1 .= " AND " . MAIN_DB_PREFIX . "facture_fourn_det.fk_code_ventilation = 0";
} else {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
$sql1 .= " SET fk_code_ventilation = accnt.rowid";
$sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number";
$sql1 .= " AND fd.fk_code_ventilation = 0";
@ -107,7 +107,7 @@ if ($action == 'validatehistory') {
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
$sql1 .= " SET fd.fk_code_ventilation = 0";
$sql1 .= " SET fk_code_ventilation = 0";
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
$sql1 .= ' (SELECT accnt.rowid ';
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
@ -130,13 +130,13 @@ if ($action == 'validatehistory') {
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
$sql1.= " SET fd.fk_code_ventilation = 0";
$sql1.= " SET fk_code_ventilation = 0";
$sql1.= " WHERE fd.fk_facture_fourn IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture_fourn as f";
$sql1.= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
$sql1.= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "'";
$sql1.= " AND f.entity IN (" . getEntity('accountancy') . ")";
$sql1.= ")";
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
$resql1 = $db->query($sql1);
@ -291,9 +291,9 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
{
print '<br>';
print '<br>';
print_fiche_titre($langs->trans("OtherInfo"), '', '');
print "<br>\n";
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="400" align="left">' . $langs->trans("Total") . '</td>';
@ -301,7 +301,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<td width="60" align="right">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
}
print '<td width="60" align="right"><b>' . $langs->trans("Total") . '</b></td></tr>';
$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS label,";
for($i = 1; $i <= 12; $i ++) {
$sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
@ -313,15 +313,15 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
$sql .= " AND ff.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'";
$sql .= " AND ff.fk_statut > 0 ";
$sql .= " AND ff.entity IN (" . getEntity('facture_fourn', 0) . ")"; // We don't share object for accountancy
dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql);
$resql = $db->query($sql);
if ($resql) {
$num = $db->num_rows($resql);
while ( $row = $db->fetch_row($resql)) {
print '<tr><td>' . $row[0] . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td align="right">' . price($row[$i]) . '</td>';
@ -329,7 +329,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
print '<td align="right"><b>' . price($row[13]) . '</b></td>';
print '</tr>';
}
$db->free($resql);
} else {
print $db->lasterror(); // Show last sql error

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>s

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@zendsi.com>
* Copyright (C) 2016 Charlie Benke <charlie@patas-monkey.com>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -609,7 +609,9 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -0,0 +1,112 @@
<?php
/* Copyright (C) 2017 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
use Luracast\Restler\RestException;
//require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
/**
* API class for extra fields (content of the extrafields)
*
* @access protected
* @class DolibarrApiAccess {@requires user,external}
*/
class DictionaryExtraFields extends DolibarrApi
{
/**
* Constructor
*/
function __construct()
{
global $db;
$this->db = $db;
}
/**
* Get the list of extra fields.
*
* @param string $sortfield Sort field
* @param string $sortorder Sort order
* @param string $type Type of element ('adherent', 'commande', 'thirdparty', 'facture', 'propal', 'product', ...)
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.label:like:'SO-%')"
* @return List of events types
*
* @throws RestException
*/
function index($sortfield = "t.pos", $sortorder = 'ASC', $type = '', $sqlfilters = '')
{
$list = array();
if ($type == 'thirdparty') $type='societe';
if ($type == 'contact') $type='socpeople';
$sql = "SELECT t.rowid, t.name, t.label, t.type, t.size, t.elementtype, t.fieldunique, t.fieldrequired, t.param, t.pos, t.alwayseditable, t.perms, t.list, t.ishidden, t.fielddefault, t.fieldcomputed";
$sql.= " FROM ".MAIN_DB_PREFIX."extrafields as t";
$sql.= " WHERE t.entity IN (".getEntity('extrafields').")";
if (! empty($type)) $sql.= " AND t.elementtype = '".$this->db->escape($type)."'";
// Add sql filters
if ($sqlfilters)
{
if (! DolibarrApi::_checkFilters($sqlfilters))
{
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
}
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
}
$sql.= $this->db->order($sortfield, $sortorder);
$resql=$this->db->query($sql);
if ($resql)
{
if ($this->db->num_rows($resql))
{
while ($tab = $this->db->fetch_object($resql))
{
// New usage
$list[$tab->elementtype][$tab->name]['type']=$tab->type;
$list[$tab->elementtype][$tab->name]['label']=$tab->label;
$list[$tab->elementtype][$tab->name]['size']=$tab->size;
$list[$tab->elementtype][$tab->name]['elementtype']=$tab->elementtype;
$list[$tab->elementtype][$tab->name]['default']=$tab->fielddefault;
$list[$tab->elementtype][$tab->name]['computed']=$tab->fieldcomputed;
$list[$tab->elementtype][$tab->name]['unique']=$tab->fieldunique;
$list[$tab->elementtype][$tab->name]['required']=$tab->fieldrequired;
$list[$tab->elementtype][$tab->name]['param']=($tab->param ? unserialize($tab->param) : '');
$list[$tab->elementtype][$tab->name]['pos']=$tab->pos;
$list[$tab->elementtype][$tab->name]['alwayseditable']=$tab->alwayseditable;
$list[$tab->elementtype][$tab->name]['perms']=$tab->perms;
$list[$tab->elementtype][$tab->name]['list']=$tab->list;
$list[$tab->elementtype][$tab->name]['ishidden']=$tab->ishidden;
}
}
}
else
{
throw new RestException(503, 'Error when retrieving list of extra fields : '.$this->db->lasterror());
}
if (! count($list))
{
throw new RestException(404, 'No extrafield found');
}
return $list;
}
}

View File

@ -732,7 +732,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -1019,7 +1019,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -821,7 +821,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com>
/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,9 +16,9 @@
*/
/**
* \file htdocs/compta/bank/class/paymentvarious.class.php
* \ingroup salaries
* \brief Class for salaries module payment
* \file htdocs/compta/bank/class/paymentvarious.class.php
* \ingroup bank
* \brief Class for various payment
*/
// Put here all includes required by your class file
@ -30,7 +30,7 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
*/
class PaymentVarious extends CommonObject
{
//public $element='payment_various'; //!< Id that identify managed objects
//public $element='payment_various'; //!< Id that identify managed objects
//public $table_element='payment_various'; //!< Name of table without prefix where object is stored
var $tms;
@ -74,7 +74,6 @@ class PaymentVarious extends CommonObject
$error=0;
// Clean parameters
$this->fk_user=trim($this->fk_user);
$this->amount=trim($this->amount);
$this->label=trim($this->label);
$this->note=trim($this->note);
@ -85,10 +84,9 @@ class PaymentVarious extends CommonObject
$this->db->begin();
// Update request
$sql = "UPDATE ".MAIN_DB_PREFIX."payment_salary SET";
$sql = "UPDATE ".MAIN_DB_PREFIX."payment_various SET";
$sql.= " tms=".$this->db->idate($this->tms).",";
$sql.= " fk_user=".$this->fk_user.",";
$sql.= " datep=".$this->db->idate($this->datep).",";
$sql.= " datev=".$this->db->idate($this->datev).",";
$sql.= " sens=".$this->sens.",";
@ -114,10 +112,10 @@ class PaymentVarious extends CommonObject
if (! $notrigger)
{
// Call trigger
$result=$this->call_trigger('PAYMENT_SALARY_MODIFY',$user);
if ($result < 0) $error++;
// End call triggers
// Call trigger
$result=$this->call_trigger('PAYMENT_VARIOUS_MODIFY',$user);
if ($result < 0) $error++;
// End call triggers
}
if (! $error)
@ -178,7 +176,6 @@ class PaymentVarious extends CommonObject
$this->id = $obj->rowid;
$this->ref = $obj->rowid;
$this->tms = $this->db->jdate($obj->tms);
$this->fk_user = $obj->fk_user;
$this->datep = $this->db->jdate($obj->datep);
$this->datev = $this->db->jdate($obj->datev);
$this->sens = $obj->sens;
@ -252,12 +249,12 @@ class PaymentVarious extends CommonObject
$this->id=0;
$this->tms='';
$this->fk_user='';
$this->datep='';
$this->datev='';
$this->sens='';
$this->amount='';
$this->label='';
$this->accountancy_code='';
$this->note='';
$this->fk_bank='';
$this->fk_user_author='';

View File

@ -129,9 +129,9 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP
$search_number='';
$search_statut='';
}
/*
* View
*/
@ -416,7 +416,9 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}
@ -437,7 +439,7 @@ $var=true;
foreach ($accounts as $key=>$type)
{
if ($i >= $limit) break;
$found++;
$acc = new Account($db);
@ -454,7 +456,7 @@ foreach ($accounts as $key=>$type)
{
$lastcurrencycode=$acc->currency_code;
}
print '<tr class="oddeven">';
// Ref
@ -463,14 +465,14 @@ foreach ($accounts as $key=>$type)
print '<td>'.$acc->getNomUrl(1).'</td>';
if (! $i) $totalarray['nbfield']++;
}
// Label
if (! empty($arrayfields['b.label']['checked']))
{
print '<td>'.$acc->label.'</td>';
if (! $i) $totalarray['nbfield']++;
}
// Account type
if (! empty($arrayfields['accountype']['checked']))
{
@ -479,14 +481,14 @@ foreach ($accounts as $key=>$type)
print '</td>';
if (! $i) $totalarray['nbfield']++;
}
// Number
if (! empty($arrayfields['b.number']['checked']))
{
print '<td>'.$acc->number.'</td>';
if (! $i) $totalarray['nbfield']++;
}
// Account number
if (! empty($arrayfields['b.account_number']['checked']))
{
@ -499,7 +501,7 @@ foreach ($accounts as $key=>$type)
if (! $i) $totalarray['nbfield']++;
}
// Accountancy journal
if (! empty($arrayfields['b.fk_accountancy_journal']['checked']))
{
@ -509,7 +511,7 @@ foreach ($accounts as $key=>$type)
print '<td>'.$accountingjournal->getNomUrl(0,1,1,'',1).'</td>';
if (! $i) $totalarray['nbfield']++;
}
// Transactions to reconcile
if (! empty($arrayfields['toreconcile']['checked']))
{
@ -528,13 +530,13 @@ foreach ($accounts as $key=>$type)
print '</td>';
if (! $i) $totalarray['nbfield']++;
}
// Extra fields
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']))
if (! empty($arrayfields["ef.".$key]['checked']))
{
print '<td';
$align=$extrafields->getAlignFlag($key);
@ -567,14 +569,14 @@ foreach ($accounts as $key=>$type)
print '</td>';
if (! $i) $totalarray['nbfield']++;
}
// Statut
if (! empty($arrayfields['b.clos']['checked']))
{
print '<td align="center">'.$acc->getLibStatut(5).'</td>';
if (! $i) $totalarray['nbfield']++;
}
// Balance
if (! empty($arrayfields['balance']['checked']))
{
@ -585,7 +587,7 @@ foreach ($accounts as $key=>$type)
if (! $i) $totalarray['totalbalancefield']=$totalarray['nbfield'];
$totalarray['totalbalance'] += $solde;
}
// Action column
print '<td class="nowrap" align="center">';
if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
@ -596,7 +598,7 @@ foreach ($accounts as $key=>$type)
}
print '</td>';
if (! $i) $totalarray['nbfield']++;
print '</tr>';
$total[$acc->currency_code] += $solde;

View File

@ -49,7 +49,7 @@ $confirm=GETPOST('confirm','alpha');
$rowid=GETPOST("rowid",'int');
$orig_account=GETPOST("orig_account");
$backtopage=GETPOST('backtopage');
$cancel=GETPOSt('cancel');
$cancel=GETPOST('cancel');
// Security check
$fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref :''));

View File

@ -975,7 +975,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -680,7 +680,7 @@ for ($mois = 1+$nb_mois_decalage ; $mois <= 12+$nb_mois_decalage ; $mois++)
if($mois>12) {$annee_decalage=$annee+1;}
$case = strftime("%Y-%m",dol_mktime(12,0,0,$mois_modulo,1,$annee_decalage));
print '<td class="liste_titre" align="right">&nbsp;';
print '<td align="right">&nbsp;';
if (isset($decaiss_ttc[$case]) && $decaiss_ttc[$case] != 0)
{
print '<a href="clientfourn.php?year='.$annee_decalage.'&month='.$mois_modulo.($modecompta?'&modecompta='.$modecompta:'').'">'.price(price2num($decaiss_ttc[$case],'MT')).'</a>';
@ -689,7 +689,7 @@ for ($mois = 1+$nb_mois_decalage ; $mois <= 12+$nb_mois_decalage ; $mois++)
}
print "</td>";
print '<td align="right" class="liste_titre borderrightlight">&nbsp;';
print '<td align="right" class="borderrightlight">&nbsp;';
//if (isset($encaiss_ttc[$case]) && $encaiss_ttc[$case] != 0)
if (isset($encaiss_ttc[$case]))
{

View File

@ -535,7 +535,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -372,7 +372,9 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}
@ -516,23 +518,23 @@ $var=True; $i=0;
while ($i < min($num,$limit))
{
$obj = $db->fetch_object($resql);
$contractstatic->id=$obj->cid;
$contractstatic->ref=$obj->ref?$obj->ref:$obj->cid;
print '<tr class="oddeven">';
// Ref
if (! empty($arrayfields['c.ref']['checked']))
if (! empty($arrayfields['c.ref']['checked']))
{
print '<td>';
print $contractstatic->getNomUrl(1,16);
print '</td>';
}
// Service
if (! empty($arrayfields['p.description']['checked']))
if (! empty($arrayfields['p.description']['checked']))
{
print '<td>';
if ($obj->pid)
@ -552,9 +554,9 @@ while ($i < min($num,$limit))
}
print '</td>';
}
// Third party
if (! empty($arrayfields['s.nom']['checked']))
if (! empty($arrayfields['s.nom']['checked']))
{
print '<td>';
$companystatic->id=$obj->socid;
@ -563,9 +565,9 @@ while ($i < min($num,$limit))
print $companystatic->getNomUrl(1,'customer',28);
print '</td>';
}
// Start date
if (! empty($arrayfields['cd.date_ouverture_prevue']['checked']))
if (! empty($arrayfields['cd.date_ouverture_prevue']['checked']))
{
print '<td align="center">';
print ($obj->date_ouverture_prevue?dol_print_date($db->jdate($obj->date_ouverture_prevue)):'&nbsp;');
@ -574,15 +576,15 @@ while ($i < min($num,$limit))
else print '&nbsp;&nbsp;&nbsp;&nbsp;';
print '</td>';
}
if (! empty($arrayfields['cd.date_ouverture']['checked']))
if (! empty($arrayfields['cd.date_ouverture']['checked']))
{
print '<td align="center">'.($obj->date_ouverture?dol_print_date($db->jdate($obj->date_ouverture)):'&nbsp;').'</td>';
}
// End date
if (! empty($arrayfields['cd.date_fin_validite']['checked']))
if (! empty($arrayfields['cd.date_fin_validite']['checked']))
{
print '<td align="center">'.($obj->date_fin_validite?dol_print_date($db->jdate($obj->date_fin_validite)):'&nbsp;');
if ($obj->date_fin_validite && $db->jdate($obj->date_fin_validite) < ($now - $conf->contrat->services->expires->warning_delay) && $obj->statut < 5)
if ($obj->date_fin_validite && $db->jdate($obj->date_fin_validite) < ($now - $conf->contrat->services->expires->warning_delay) && $obj->statut < 5)
{
$warning_delay=$conf->contrat->services->expires->warning_delay / 3600 / 24;
$textlate = $langs->trans("Late").' = '.$langs->trans("DateReference").' > '.$langs->trans("DateToday").' '.(ceil($warning_delay) >= 0 ? '+' : '').ceil($warning_delay).' '.$langs->trans("days");
@ -591,7 +593,7 @@ while ($i < min($num,$limit))
else print '&nbsp;&nbsp;&nbsp;&nbsp;';
print '</td>';
}
if (! empty($arrayfields['cd.date_cloture']['checked']))
if (! empty($arrayfields['cd.date_cloture']['checked']))
{
print '<td align="center">'.dol_print_date($db->jdate($obj->date_cloture)).'</td>';
}
@ -658,7 +660,7 @@ while ($i < min($num,$limit))
}
print '</td>';
if (! $i) $totalarray['nbfield']++;
print "</tr>\n";
$i++;
}

View File

@ -325,9 +325,9 @@ class Conf
// Exception: Some dir are not the name of module. So we keep exception here for backward compatibility.
// Sous module bons d'expedition
$this->expedition_bon->enabled=$this->global->MAIN_SUBMODULE_EXPEDITION?$this->global->MAIN_SUBMODULE_EXPEDITION:0;
$this->expedition_bon->enabled=(! empty($this->global->MAIN_SUBMODULE_EXPEDITION)?$this->global->MAIN_SUBMODULE_EXPEDITION:0);
// Sous module bons de livraison
$this->livraison_bon->enabled=$this->global->MAIN_SUBMODULE_LIVRAISON?$this->global->MAIN_SUBMODULE_LIVRAISON:0;
$this->livraison_bon->enabled=(! empty($this->global->MAIN_SUBMODULE_LIVRAISON)?$this->global->MAIN_SUBMODULE_LIVRAISON:0);
// Module fournisseur
if (! empty($this->fournisseur))

View File

@ -275,7 +275,7 @@ class Fiscalyear extends CommonObject
if ($mode == 5)
{
if ($statut==0 && ! empty($this->statuts_short[$statut])) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut4');
if ($statut==1 && ! empty($this->statuts_short[$statut])) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut8');
if ($statut==1 && ! empty($this->statuts_short[$statut])) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut6');
}
}

View File

@ -279,9 +279,11 @@ function GETPOST($paramname, $check='', $method=0, $filter=NULL, $options=NULL)
if (empty($method) || $method == 3 || $method == 4)
{
$relativepathstring = $_SERVER["PHP_SELF"];
// Clean $relativepathstring
if (constant('DOL_URL_ROOT')) $relativepathstring = preg_replace('/^'.preg_quote(constant('DOL_URL_ROOT'),'/').'/', '', $relativepathstring);
$relativepathstring = preg_replace('/^custom\//', '', $relativepathstring);
$relativepathstring = preg_replace('/^\//', '', $relativepathstring);
$relativepathstring = preg_replace('/^custom\//', '', $relativepathstring);
//var_dump($relativepathstring);
// Code for search criteria persistence.
// Retrieve values if restore_lastsearch_values is set and there is saved values

View File

@ -49,12 +49,15 @@ function dol_json_encode($elements)
{
dol_syslog('dol_json_encode() is deprecated. Please update your code to use native json_encode().', LOG_WARNING);
$num = (is_null($elements) ? 0 : count($elements)); // for avoid phpunit error : "Parameter must be an array or an object that implements Countable"
$num=0;
if (is_object($elements)) // Count number of properties for an object
{
$num=0;
foreach($elements as $key => $value) $num++;
}
else
{
$num=count($elements);
}
//var_dump($num);
// determine type

View File

@ -333,8 +333,58 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
if (! empty($conf->accounting->enabled) && !empty($user->rights->accounting->mouvements->lire) && $mainmenu == 'accountancy') // Entry in accountancy journal for each bank account
{
$newmenu->add('',$langs->trans("Journalization"),0,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy');
if ($usemenuhider || empty($leftmenu) || preg_match('/accountancy/',$leftmenu)) $newmenu->add('',$langs->trans("Journalization"),0,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy');
// Multi journal
$sql = "SELECT rowid, code, label, nature";
$sql.= " FROM ".MAIN_DB_PREFIX."accounting_journal";
$sql.= " WHERE entity = ".$conf->entity;
$sql.= " ORDER BY label";
$resql = $db->query($sql);
if ($resql)
{
$numr = $db->num_rows($resql);
$i = 0;
if ($numr > 0)
{
while ($i < $numr)
{
$objp = $db->fetch_object($resql);
$nature='';
// Must match array $sourceList defined into journals_list.php
if ($objp->nature == 2) $nature="sells";
if ($objp->nature == 3) $nature="purchases";
if ($objp->nature == 4) $nature="bank";
if ($objp->nature == 5) $nature="expensereports";
if ($objp->nature == 1) $nature="various";
if ($objp->nature == 9) $nature="hasnew";
// To enable when page exists
if (empty($conf->global->MAIN_FEATURES_LEVEL))
{
if ($nature == 'various' || $nature == 'hasnew') $nature='';
}
if ($nature)
{
if ($usemenuhider || empty($leftmenu) || preg_match('/accountancy/',$leftmenu)) $newmenu->add('/accountancy/journal/'.$nature.'journal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal='.$objp->rowid,dol_trunc($objp->label,25),2,$user->rights->accounting->comptarapport->lire);
}
$i++;
}
}
else
{
// Should not happend. Entries are added
$newmenu->add('',$langs->trans("NoJournalDefined"), 2, $user->rights->accounting->comptarapport->lire);
}
}
else dol_print_error($db);
$db->free($resql);
/*
$sql = "SELECT rowid, label, accountancy_journal";
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
$sql.= " WHERE entity = ".$conf->entity;
@ -362,6 +412,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
$newmenu->add("/accountancy/journal/sellsjournal.php?leftmenu=journal",$langs->trans("SellsJournal"),1,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal');
$newmenu->add("/accountancy/journal/purchasesjournal.php?leftmenu=journal",$langs->trans("PurchasesJournal"),1,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal');
$newmenu->add("/accountancy/journal/expensereportsjournal.php?leftmenu=journal",$langs->trans("ExpenseReportsJournal"),1,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal');
*/
}
if ($conf->ftp->enabled && $mainmenu == 'ftp') // Entry for FTP

View File

@ -137,8 +137,8 @@ class modReceiptPrinter extends DolibarrModules
// Clean before activation
$this->remove($options);
$sql = array(
"CREATE TABLE IF NOT EXISTS llx_printer_receipt (rowid int(11) NOT NULL AUTO_INCREMENT, name varchar(128), fk_type int(11), fk_profile int(11), parameter varchar(128), entity int(11), PRIMARY KEY (rowid)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;",
"CREATE TABLE IF NOT EXISTS llx_printer_receipt_template (rowid int(11) NOT NULL AUTO_INCREMENT, name varchar(128), template text, entity int(11), PRIMARY KEY (rowid)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;",
"CREATE TABLE IF NOT EXISTS llx_printer_receipt (rowid integer AUTO_INCREMENT PRIMARY KEY, name varchar(128), fk_type integer, fk_profile integer, parameter varchar(128), entity integer) ENGINE=innodb;",
"CREATE TABLE IF NOT EXISTS llx_printer_receipt_template (rowid integer AUTO_INCREMENT PRIMARY KEY, name varchar(128), template text, entity integer) ENGINE=innodb;",
);
return $this->_init($sql,$options);
}

View File

@ -416,7 +416,7 @@ class modSociete extends DolibarrModules
$this->import_tables_array[$r]=array('sr'=>MAIN_DB_PREFIX.'societe_rib');
$this->import_fields_array[$r]=array('sr.fk_soc'=>"ThirdPartyName*",'sr.bank'=>"Bank",
'sr.code_banque'=>"BankCode*",'sr.code_guichet'=>"DeskCode*",'sr.number'=>"BankAccountNumber*",
'sr.cle_rib'=>"BankAccountNumberKey*",'sr.bic'=>"BIC",'sr.iban_prefix'=>"IBAN"
'sr.cle_rib'=>"BankAccountNumberKey*",'sr.bic'=>"BIC",'sr.iban_prefix'=>"IBAN", 'sr.domiciliation'=>"BankAccountDomiciliation",'sr.proprio' => "BankAccountOwner", 'sr.owner_address' => "BankAccountOwnerAddress", 'sr.default_rib' => 'Default'
);
$this->import_convertvalue_array[$r]=array(
@ -424,7 +424,7 @@ class modSociete extends DolibarrModules
);
$this->import_examplevalues_array[$r]=array('sr.fk_soc'=>"MyBigCompany",'sr.bank'=>"ING",
'sr.code_banque'=>"0000", 'sr.code_guichet'=>"1111",'sr.number'=>"3333333333",
'sr.cle_rib'=>"22",'sr.bic'=>"USHINGMMXXX",'sr.iban_prefix'=>"US00 0000 1111 22 3333 3333"
'sr.cle_rib'=>"22",'sr.bic'=>"USHINGMMXXX",'sr.iban_prefix'=>"US00 0000 1111 22 3333 3333",'sr.domiciliation'=>"PARIS",'sr.proprio' => "Name of owner", 'sr.owner_address' => "15 paris street 75000 Paris", 'sr.default_rib' => '1 or 0'
);
// Import Company Salesman

View File

@ -158,9 +158,9 @@ if (empty($reshook))
}
}
/*
* View
@ -271,9 +271,9 @@ if ($resql)
$tmpkey=preg_replace('/search_options_/','',$key);
if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val);
}
//$massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge")));
$i = 0;
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
@ -283,7 +283,7 @@ if ($resql)
print '<input type="hidden" name="page" value="'.$page.'">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print_barre_liste($langs->trans('ListOfSendings'), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num, $nbtotalofrecords, '', 0, '', '', $limit);
if ($sall)
@ -291,7 +291,7 @@ if ($resql)
foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val);
print $langs->trans("FilterOnInto", $sall) . join(', ',$fieldstosearchall);
}
$moreforfilter='';
if (! empty($moreforfilter))
{
@ -305,28 +305,28 @@ if ($resql)
$varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
// Lignes des champs de filtre
print '<tr class="liste_titre_filter">';
// Ref
if (! empty($arrayfields['e.ref']['checked']))
if (! empty($arrayfields['e.ref']['checked']))
{
print '<td class="liste_titre">';
print '<input class="flat" size="6" type="text" name="search_ref_exp" value="'.$search_ref_exp.'">';
print '</td>';
}
// Ref customer
if (! empty($arrayfields['e.ref_customer']['checked']))
if (! empty($arrayfields['e.ref_customer']['checked']))
{
print '<td class="liste_titre">';
print '<input class="flat" size="6" type="text" name="search_ref_customer" value="'.$search_ref_customer.'">';
print '</td>';
}
// Thirdparty
if (! empty($arrayfields['s.nom']['checked']))
if (! empty($arrayfields['s.nom']['checked']))
{
print '<td class="liste_titre" align="left">';
print '<input class="flat" type="text" size="8" name="search_company" value="'.dol_escape_htmltag($search_company).'">';
@ -358,18 +358,18 @@ if ($resql)
print '</td>';
}
// Date delivery planned
if (! empty($arrayfields['e.date_delivery']['checked']))
if (! empty($arrayfields['e.date_delivery']['checked']))
{
print '<td class="liste_titre">&nbsp;</td>';
}
if (! empty($arrayfields['l.ref']['checked']))
if (! empty($arrayfields['l.ref']['checked']))
{
// Delivery ref
print '<td class="liste_titre">';
print '<input class="flat" size="10" type="text" name="search_ref_liv" value="'.$search_ref_liv.'"';
print '</td>';
}
if (! empty($arrayfields['l.date_delivery']['checked']))
if (! empty($arrayfields['l.date_delivery']['checked']))
{
// Date received
print '<td class="liste_titre">&nbsp;</td>';
@ -447,7 +447,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}
@ -461,7 +463,7 @@ if ($resql)
if (! empty($arrayfields['l.fk_statut']['checked'])) print_liste_field_titre($arrayfields['l.fk_statut']['label'], $_SERVER["PHP_SELF"],"l.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="center"',$sortfield,$sortorder,'maxwidthsearch ');
print "</tr>\n";
$i=0;
$var=true;
$totalarray=array();
@ -471,15 +473,15 @@ if ($resql)
$shipment->id=$obj->rowid;
$shipment->ref=$obj->ref;
$companystatic->id=$obj->socid;
$companystatic->ref=$obj->name;
$companystatic->name=$obj->name;
print '<tr class="oddeven">';
// Ref
if (! empty($arrayfields['e.ref']['checked']))
{
@ -488,7 +490,7 @@ if ($resql)
print "</td>\n";
if (! $i) $totalarray['nbfield']++;
}
// Ref customer
if (! empty($arrayfields['e.ref_customer']['checked']))
{
@ -496,8 +498,8 @@ if ($resql)
print $obj->ref_customer;
print "</td>\n";
if (! $i) $totalarray['nbfield']++;
}
}
// Third party
if (! empty($arrayfields['s.nom']['checked']))
{
@ -546,7 +548,7 @@ if ($resql)
print '</td>';
if (! $i) $totalarray['nbfield']++;
}
// Date delivery planed
if (! empty($arrayfields['e.date_delivery']['checked']))
{
@ -558,7 +560,7 @@ if ($resql)
}*/
print "</td>\n";
}
if (! empty($arrayfields['l.ref']['checked']) || ! empty($arrayfields['l.date_delivery']['checked']))
{
$shipment->fetchObjectLinked($shipment->id,$shipment->element);
@ -572,7 +574,7 @@ if ($resql)
print !empty($receiving) ? $receiving->getNomUrl($db) : '';
print '</td>';
}
if (! empty($arrayfields['l.date_delivery']['checked']))
{
// Date received
@ -629,7 +631,7 @@ if ($resql)
// Action column
print '<td></td>';
if (! $i) $totalarray['nbfield']++;
print "</tr>\n";
$i++;

View File

@ -486,7 +486,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -117,7 +117,7 @@ $arrayfields=array(
// Extra fields
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
{
foreach($extrafields->attribute_label as $key => $val)
foreach($extrafields->attribute_label as $key => $val)
{
$arrayfields["ef.".$key]=array('label'=>$extrafields->attribute_label[$key], 'checked'=>$extrafields->attribute_list[$key], 'position'=>$extrafields->attribute_pos[$key], 'enabled'=>$extrafields->attribute_perms[$key]);
}
@ -224,7 +224,7 @@ foreach ($search_array_options as $key => $val)
$typ=$extrafields->attribute_type[$tmpkey];
$mode=0;
if (in_array($typ, array('int','double'))) $mode=1; // Search on a numeric
if ($val && ( ($crit != '' && ! in_array($typ, array('select'))) || ! empty($crit)))
if ($val && ( ($crit != '' && ! in_array($typ, array('select'))) || ! empty($crit)))
{
$sql .= natural_search('ef.'.$tmpkey, $crit, $mode);
}
@ -252,7 +252,7 @@ if ($resql)
$num = $db->num_rows($resql);
$arrayofselected=is_array($toselect)?$toselect:array();
$param='';
if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
@ -270,7 +270,7 @@ if ($resql)
$crit=$val;
$tmpkey=preg_replace('/search_options_/','',$key);
if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val);
}
}
// List of mass actions available
$arrayofmassactions = array(
@ -281,7 +281,7 @@ if ($resql)
if ($user->rights->ficheinter->supprimer) $arrayofmassactions['delete']=$langs->trans("Delete");
//if ($massaction == 'presend' || $massaction == 'createbills') $arrayofmassactions=array();
$massactionbutton=$form->selectMassAction('', $arrayofmassactions);
// Lines of title fields
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">'."\n";
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
@ -292,9 +292,9 @@ if ($resql)
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
print_barre_liste($title, $page, $_SERVER['PHP_SELF'], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_commercial.png', 0, '', '', $limit);
if ($sall)
{
foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val);
@ -302,23 +302,23 @@ if ($resql)
}
$moreforfilter='';
$parameters=array();
$reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook
if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint;
else $moreforfilter = $hookmanager->resPrint;
if (! empty($moreforfilter))
{
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print $moreforfilter;
print '</div>';
}
$varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
if ($massactionbutton) $selectedfields.=$form->showCheckAddButtons('checkforselect', 1);
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
@ -357,9 +357,9 @@ if ($resql)
// Extra fields
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']))
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
$typeofextrafield=$extrafields->attribute_type[$key];
@ -406,7 +406,7 @@ if ($resql)
$searchpicto=$form->showFilterButtons();
print $searchpicto;
print '</td>';
print "</tr>\n";
print '<tr class="liste_titre">';
@ -424,7 +424,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}
@ -437,24 +439,24 @@ if ($resql)
if (! empty($arrayfields['f.fk_statut']['checked'])) print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="center"',$sortfield,$sortorder,'maxwidthsearch ');
print "</tr>\n";
$total = 0;
$i = 0;
$totalarray=array();
while ($i < min($num, $limit))
{
$obj = $db->fetch_object($resql);
$objectstatic->id=$obj->rowid;
$objectstatic->ref=$obj->ref;
$objectstatic->statut=$obj->fk_statut;
print '<tr class="oddeven">';
if (! empty($arrayfields['f.ref']['checked']))
{
print "<td>";
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
// Picto + Ref
print '<td class="nobordernopadding nowrap">';
@ -484,7 +486,7 @@ if ($resql)
$urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid;
print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
print '</td></tr></table>';
print "</td>\n";
if (! $i) $totalarray['nbfield']++;
}
@ -525,9 +527,9 @@ if ($resql)
// Extra fields
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']))
if (! empty($arrayfields["ef.".$key]['checked']))
{
print '<td';
$align=$extrafields->getAlignFlag($key);
@ -576,7 +578,7 @@ if ($resql)
}
print '</td>';
if (! $i) $totalarray['nbfield']++;
print "</tr>\n";
$total += $obj->duree;
@ -603,14 +605,14 @@ if ($resql)
}
$db->free($resql);
$parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql);
$reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print '</table>'."\n";
print '</div>';
print "</form>\n";
if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files)
@ -620,18 +622,18 @@ if ($resql)
*/
$urlsource=$_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder;
$urlsource.=str_replace('&amp;','&',$param);
$filedir=$diroutputmassaction;
$genallowed=$user->rights->ficheinter->lire;
$delallowed=$user->rights->ficheinter->supprimer;
print $formfile->showdocuments('massfilesarea_interventions','',$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
{

View File

@ -1050,7 +1050,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -888,7 +888,9 @@ if ($resql)
if (! empty($arrayfields["ef.".$key]['checked']))
{
$align=$extrafields->getAlignFlag($key);
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
$sortonfield = "ef.".$key;
if (! empty($extrafields->attribute_computed[$key])) $sortonfield='';
print_liste_field_titre($langs->trans($extralabels[$key]),$_SERVER["PHP_SELF"],$sortonfield,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder);
}
}
}

View File

@ -24,6 +24,6 @@
-- Categories compte de résultat Français
--
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 1,'VTE','Ventes de marchandises', '707xxx', 0, 0, '', '10', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 2,'MAR','Coût d achats marchandises vendues', '603xxx | 607xxx | 609xxx', 0, 0, '', '20', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 1,'VTE', 'Ventes de marchandises', '707xxx', 0, 0, '', '10', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 2,'MAR', 'Coût achats marchandises vendues', '603xxx | 607xxx | 609xxx', 0, 0, '', '20', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 3,'MARGE','Marge commerciale', '', 0, 1, '1 + 2', '30', 1, 1);

View File

@ -9,14 +9,20 @@
-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname;
-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60);
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
-- To restrict request to Mysql version x.y or more: -- VMYSQLx.y
-- To restrict request to Pgsql version x.y or more: -- VPGSQLx.y
-- To make pk to be auto increment (mysql): VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
-- To make pk to be auto increment (postgres): VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE
-- To set a field as NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL;
-- To set a field as DEFAULT NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL;
-- To delete orphelins: VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
-- To delete orphelins: VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user);
-- To drop an index: -- VMYSQL4.0 DROP INDEX nomindex on llx_table
-- To drop an index: -- VPGSQL8.0 DROP INDEX nomindex
-- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y
-- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y
-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
-- To make pk to be auto increment (postgres): -- VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE
-- To set a field as NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NULL;
-- To set a field as NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL;
-- To set a field as NOT NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NOT NULL;
-- To set a field as NOT NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET NOT NULL;
-- To set a field as default NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL;
-- Note: fields with type BLOB/TEXT can't have default value.
-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user);
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
UPDATE llx_facture_fourn set ref=rowid where ref IS NULL;
@ -35,6 +41,7 @@ ALTER TABLE llx_societe_rib ADD COLUMN frstrecur varchar(16) DEFAULT 'FRST' AFTE
ALTER TABLE llx_cronjob ADD COLUMN entity integer DEFAULT 0;
ALTER TABLE llx_cronjob MODIFY COLUMN params text NULL;
-- VPGSQL8.2 ALTER TABLE llx_cronjob ALTER COLUMN params DROP NOT NULL;
-- Loan
create table llx_loan
@ -156,12 +163,12 @@ ALTER TABLE llx_facturedet ADD COLUMN situation_percent real;
ALTER TABLE llx_facturedet ADD COLUMN fk_prev_id integer;
-- Convert SMTP config to main entity, so new entities don't get the old values
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SENDMODE";
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTP_PORT";
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTP_SERVER";
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTPS_ID";
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTPS_PW";
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_EMAIL_TLS";
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = 'MAIN_MAIL_SENDMODE';
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = 'MAIN_MAIL_SMTP_PORT';
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = 'MAIN_MAIL_SMTP_SERVER';
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = 'MAIN_MAIL_SMTPS_ID';
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = 'MAIN_MAIL_SMTPS_PW';
UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = 'MAIN_MAIL_EMAIL_TLS';
-- This option with this value is not compatible with 3.8. Value must be set to 'mutiselect', 'select2'...
DELETE from llx_const where name = 'MAIN_USE_JQUERY_MULTISELECT' and value = '1';

View File

@ -292,7 +292,7 @@ create table llx_budget_lines
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
fk_budget integer NOT NULL,
fk_project_ids varchar(255) NOT NULL, -- List of project ids related to this budget. If budget is dedicated to projects not yet started, we recommand to create a project "Projects to come".
fk_project_ids varchar(255) NOT NULL, -- List of project ids related to this budget. If budget is dedicated to projects not yet started, we recommand to create a project 'Projects to come'.
amount double(24,8) NOT NULL,
datec datetime,
tms timestamp,
@ -600,7 +600,7 @@ ALTER TABLE llx_holiday ADD INDEX idx_holiday_entity (entity);
-- Fix Argentina provences
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('2326', 2305, '', 0, 'MISIONES', 'Misiones', 1);
UPDATE llx_c_departements SET ncc = "FORMOSA", nom = "Formosa" WHERE nom = "Formosa Misiones";
UPDATE llx_c_departements SET ncc = 'FORMOSA', nom = 'Formosa' WHERE nom = 'Formosa Misiones';
-- MALTA VATS (id country=148)
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (1481, 148, '18','0','VAT standard rate',1);

View File

@ -393,9 +393,9 @@ CREATE TABLE llx_c_accounting_category (
ALTER TABLE llx_c_accounting_category ADD UNIQUE INDEX uk_c_accounting_category(code);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 1,'VTE',"Ventes de marchandises", '707xxx', 0, 0, '', '10', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 2,'MAR',"Coût d'achats marchandises vendues", '603xxx | 607xxx | 609xxx', 0, 0, '', '20', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 3,'MARGE',"Marge commerciale", '', 0, 1, '1 + 2', '30', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 1,'VTE', 'Ventes de marchandises', '707xxx', 0, 0, '', '10', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 2,'MAR', 'Coût achats marchandises vendues', '603xxx | 607xxx | 609xxx', 0, 0, '', '20', 1, 1);
INSERT INTO llx_c_accounting_category (rowid, code, label, range_account, sens, category_type, formula, position, fk_country, active) VALUES ( 3,'MARGE','Marge commerciale', '', 0, 1, '1 + 2', '30', 1, 1);
UPDATE llx_accounting_account SET account_parent = '0' WHERE account_parent = '';
-- VMYSQL4.1 ALTER TABLE llx_accounting_account MODIFY COLUMN account_parent varchar(32) DEFAULT '0';

View File

@ -1,7 +1,7 @@
--
-- Be carefull to requests order.
-- This file must be loaded by calling /install/index.php page
-- when current version is 4.0.0 or higher.
-- when current version is 5.0.0 or higher.
--
-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new;
-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol;

View File

@ -1,7 +1,7 @@
--
-- Be carefull to requests order.
-- This file must be loaded by calling /install/index.php page
-- when current version is 5.0.0 or higher.
-- when current version is 6.0.0 or higher.
--
-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new;
-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol;
@ -25,7 +25,7 @@
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
ALTER TABLE llx_opensurvey_sondage MODIFY COLUMN tms timestamp DEFAULT '2001-01-01 00:00:00';
-- VMYSQL4.1 ALTER TABLE llx_opensurvey_sondage MODIFY COLUMN tms timestamp DEFAULT '2001-01-01 00:00:00';
-- Clean corrupted values for tms
-- VMYSQL4.1 SET sql_mode = 'ALLOW_INVALID_DATES';
@ -36,7 +36,7 @@ ALTER TABLE llx_opensurvey_sondage MODIFY COLUMN tms timestamp DEFAULT '2001-01-
-- VMYSQL4.3 ALTER TABLE llx_opensurvey_sondage MODIFY COLUMN date_fin DATETIME NULL DEFAULT NULL;
-- VPGSQL8.2 ALTER TABLE llx_opensurvey_sondage ALTER COLUMN date_fin DROP NOT NULL;
ALTER TABLE llx_opensurvey_sondage MODIFY COLUMN tms timestamp DEFAULT CURRENT_TIMESTAMP;
-- VMYSQL4.1 ALTER TABLE llx_opensurvey_sondage MODIFY COLUMN tms timestamp DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE llx_opensurvey_sondage ADD COLUMN fk_user_creat integer NOT NULL DEFAULT 0;
ALTER TABLE llx_opensurvey_sondage ADD COLUMN status integer DEFAULT 1 after date_fin;
@ -99,6 +99,14 @@ ALTER TABLE llx_actioncomm ADD COLUMN extraparams varchar(255);
ALTER TABLE llx_bank_account ADD COLUMN extraparams varchar(255);
-- VMYSQL4.1 ALTER TABLE llx_bank_account MODIFY COLUMN state_id integer DEFAULT NULL;
-- VPGSQL8.2 ALTER TABLE llx_bank_account MODIFY COLUMN state_id integer USING state_id::integer;
-- VMYSQL4.1 ALTER TABLE llx_adherent MODIFY COLUMN state_id integer DEFAULT NULL;
-- VPGSQL8.2 ALTER TABLE llx_adherent MODIFY COLUMN state_id integer USING state_id::integer;
-- VMYSQL4.1 ALTER TABLE llx_adherent MODIFY COLUMN country integer DEFAULT NULL;
-- VPGSQL8.2 ALTER TABLE llx_adherent MODIFY COLUMN country integer USING country::integer;
insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PRODUCT_CREATE','Product or service created','Executed when a product or sevice is created','product',30);
insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PRODUCT_MODIFY','Product or service modified','Executed when a product or sevice is modified','product',30);
insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PRODUCT_DELETE','Product or service deleted','Executed when a product or sevice is deleted','product',30);
@ -216,6 +224,46 @@ ALTER TABLE llx_accounting_bookkeeping ADD COLUMN date_lettering datetime AFTER
ALTER TABLE llx_accounting_bookkeeping ADD COLUMN journal_label varchar(255) AFTER code_journal;
ALTER TABLE llx_accounting_bookkeeping ADD COLUMN date_validated datetime AFTER validated;
CREATE TABLE llx_accounting_bookkeeping_tmp
(
rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY,
entity integer DEFAULT 1 NOT NULL, -- | multi company id
doc_date date NOT NULL, -- FEC:PieceDate
doc_type varchar(30) NOT NULL, -- FEC:PieceRef | facture_client/reglement_client/facture_fournisseur/reglement_fournisseur
doc_ref varchar(300) NOT NULL, -- | facture_client/reglement_client/... reference number
fk_doc integer NOT NULL, -- | facture_client/reglement_client/... rowid
fk_docdet integer NOT NULL, -- | facture_client/reglement_client/... line rowid
thirdparty_code varchar(32), -- Third party code (customer or supplier) when record is saved (may help debug)
subledger_account varchar(32), -- FEC:CompAuxNum | account number of subledger account
subledger_label varchar(255), -- FEC:CompAuxLib | label of subledger account
numero_compte varchar(32) NOT NULL, -- FEC:CompteNum | account number
label_compte varchar(255) NOT NULL, -- FEC:CompteLib | label of account
label_operation varchar(255), -- FEC:EcritureLib | label of the operation
debit numeric(24,8) NOT NULL, -- FEC:Debit
credit numeric(24,8) NOT NULL, -- FEC:Credit
montant numeric(24,8) NOT NULL, -- FEC:Montant (Not necessary)
sens varchar(1) DEFAULT NULL, -- FEC:Sens (Not necessary)
multicurrency_amount numeric(24,8), -- FEC:Montantdevise
multicurrency_code varchar(255), -- FEC:Idevise
lettering_code varchar(255), -- FEC:EcritureLet
date_lettering datetime, -- FEC:DateLet
fk_user_author integer NOT NULL, -- | user creating
fk_user_modif integer, -- | user making last change
date_creation datetime, -- FEC:EcritureDate | creation date
tms timestamp, -- | date last modification
import_key varchar(14),
code_journal varchar(32) NOT NULL, -- FEC:JournalCode
journal_label varchar(255), -- FEC:JournalLib
piece_num integer NOT NULL, -- FEC:EcritureNum
validated tinyint DEFAULT 0 NOT NULL, -- | 0 line not validated / 1 line validated (No deleting / No modification)
date_validated datetime -- FEC:ValidDate
) ENGINE=innodb;
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_doc_date (doc_date);
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_fk_docdet (fk_docdet);
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_numero_compte (numero_compte);
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_code_journal (code_journal);
ALTER TABLE llx_paiementfourn ADD COLUMN model_pdf varchar(255);
insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('EXPENSE_REPORT_CREATE','Expense report created','Executed when an expense report is created','expensereport',201);
@ -418,7 +466,7 @@ ALTER TABLE llx_usergroup_rights ADD CONSTRAINT fk_usergroup_rights_fk_usergroup
CREATE TABLE llx_blockedlog
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
tms timestamp,
action varchar(50),
amounts real NOT NULL,
signature varchar(100) NOT NULL,

View File

@ -0,0 +1,22 @@
-- ============================================================================
-- Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-- ============================================================================
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_doc_date (doc_date);
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_fk_docdet (fk_docdet);
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_numero_compte (numero_compte);
ALTER TABLE llx_accounting_bookkeeping_tmp ADD INDEX idx_accounting_bookkeeping_code_journal (code_journal);

View File

@ -0,0 +1,53 @@
-- ============================================================================
-- Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
-- Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-- ============================================================================
CREATE TABLE llx_accounting_bookkeeping_tmp
(
rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY,
entity integer DEFAULT 1 NOT NULL, -- | multi company id
doc_date date NOT NULL, -- FEC:PieceDate
doc_type varchar(30) NOT NULL, -- FEC:PieceRef | facture_client/reglement_client/facture_fournisseur/reglement_fournisseur
doc_ref varchar(300) NOT NULL, -- | facture_client/reglement_client/... reference number
fk_doc integer NOT NULL, -- | facture_client/reglement_client/... rowid
fk_docdet integer NOT NULL, -- | facture_client/reglement_client/... line rowid
thirdparty_code varchar(32), -- Third party code (customer or supplier) when record is saved (may help debug)
subledger_account varchar(32), -- FEC:CompAuxNum | account number of subledger account
subledger_label varchar(255), -- FEC:CompAuxLib | label of subledger account
numero_compte varchar(32) NOT NULL, -- FEC:CompteNum | account number
label_compte varchar(255) NOT NULL, -- FEC:CompteLib | label of account
label_operation varchar(255), -- FEC:EcritureLib | label of the operation
debit numeric(24,8) NOT NULL, -- FEC:Debit
credit numeric(24,8) NOT NULL, -- FEC:Credit
montant numeric(24,8) NOT NULL, -- FEC:Montant (Not necessary)
sens varchar(1) DEFAULT NULL, -- FEC:Sens (Not necessary)
multicurrency_amount numeric(24,8), -- FEC:Montantdevise
multicurrency_code varchar(255), -- FEC:Idevise
lettering_code varchar(255), -- FEC:EcritureLet
date_lettering datetime, -- FEC:DateLet
fk_user_author integer NOT NULL, -- | user creating
fk_user_modif integer, -- | user making last change
date_creation datetime, -- FEC:EcritureDate | creation date
tms timestamp, -- | date last modification
import_key varchar(14),
code_journal varchar(32) NOT NULL, -- FEC:JournalCode
journal_label varchar(255), -- FEC:JournalLib
piece_num integer NOT NULL, -- FEC:EcritureNum
validated tinyint DEFAULT 0 NOT NULL, -- | 0 line not validated / 1 line validated (No deleting / No modification)
date_validated datetime -- FEC:ValidDate
) ENGINE=innodb;

View File

@ -1,8 +1,25 @@
-- ===================================================================
-- Copyright (C) 2007 Laurent Destailleur <eldy@users.sourceforge.net>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-- ===================================================================
CREATE TABLE llx_blockedlog
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
tms timestamp,
action varchar(50),
amounts real NOT NULL,
signature varchar(100) NOT NULL,

View File

@ -23,9 +23,12 @@ CREATE LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITHOUT TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;';
CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITH TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;';
CREATE OR REPLACE FUNCTION date_format(timestamp without time zone, text) RETURNS text AS $$ DECLARE i int := 1; temp text := ''; c text; n text; res text; BEGIN WHILE i <= pg_catalog.length($2) LOOP c := SUBSTRING ($2 FROM i FOR 1); IF c = '%' AND i != pg_catalog.length($2) THEN n := SUBSTRING ($2 FROM (i + 1) FOR 1); SELECT INTO res CASE WHEN n = 'a' THEN pg_catalog.to_char($1, 'Dy') WHEN n = 'b' THEN pg_catalog.to_char($1, 'Mon') WHEN n = 'c' THEN pg_catalog.to_char($1, 'FMMM') WHEN n = 'D' THEN pg_catalog.to_char($1, 'FMDDth') WHEN n = 'd' THEN pg_catalog.to_char($1, 'DD') WHEN n = 'e' THEN pg_catalog.to_char($1, 'FMDD') WHEN n = 'f' THEN pg_catalog.to_char($1, 'US') WHEN n = 'H' THEN pg_catalog.to_char($1, 'HH24') WHEN n = 'h' THEN pg_catalog.to_char($1, 'HH12') WHEN n = 'I' THEN pg_catalog.to_char($1, 'HH12') WHEN n = 'i' THEN pg_catalog.to_char($1, 'MI') WHEN n = 'j' THEN pg_catalog.to_char($1, 'DDD') WHEN n = 'k' THEN pg_catalog.to_char($1, 'FMHH24') WHEN n = 'l' THEN pg_catalog.to_char($1, 'FMHH12') WHEN n = 'M' THEN pg_catalog.to_char($1, 'FMMonth') WHEN n = 'm' THEN pg_catalog.to_char($1, 'MM') WHEN n = 'p' THEN pg_catalog.to_char($1, 'AM') WHEN n = 'r' THEN pg_catalog.to_char($1, 'HH12:MI:SS AM') WHEN n = 'S' THEN pg_catalog.to_char($1, 'SS') WHEN n = 's' THEN pg_catalog.to_char($1, 'SS') WHEN n = 'T' THEN pg_catalog.to_char($1, 'HH24:MI:SS') WHEN n = 'U' THEN pg_catalog.to_char($1, '?') WHEN n = 'u' THEN pg_catalog.to_char($1, '?') WHEN n = 'V' THEN pg_catalog.to_char($1, '?') WHEN n = 'v' THEN pg_catalog.to_char($1, '?') WHEN n = 'W' THEN pg_catalog.to_char($1, 'FMDay') WHEN n = 'w' THEN EXTRACT(DOW FROM $1)::text WHEN n = 'X' THEN pg_catalog.to_char($1, '?') WHEN n = 'x' THEN pg_catalog.to_char($1, '?') WHEN n = 'Y' THEN pg_catalog.to_char($1, 'YYYY') WHEN n = 'y' THEN pg_catalog.to_char($1, 'YY') WHEN n = '%' THEN pg_catalog.to_char($1, '%') ELSE NULL END; temp := temp operator(pg_catalog.||) res; i := i + 2; ELSE temp = temp operator(pg_catalog.||) c; i := i + 1; END IF; END LOOP; RETURN temp; END $$ IMMUTABLE STRICT LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION date_format(timestamp with time zone, text) RETURNS text AS $$ DECLARE i int := 1; temp text := ''; c text; n text; res text; BEGIN WHILE i <= pg_catalog.length($2) LOOP c := SUBSTRING ($2 FROM i FOR 1); IF c = '%' AND i != pg_catalog.length($2) THEN n := SUBSTRING ($2 FROM (i + 1) FOR 1); SELECT INTO res CASE WHEN n = 'a' THEN pg_catalog.to_char($1, 'Dy') WHEN n = 'b' THEN pg_catalog.to_char($1, 'Mon') WHEN n = 'c' THEN pg_catalog.to_char($1, 'FMMM') WHEN n = 'D' THEN pg_catalog.to_char($1, 'FMDDth') WHEN n = 'd' THEN pg_catalog.to_char($1, 'DD') WHEN n = 'e' THEN pg_catalog.to_char($1, 'FMDD') WHEN n = 'f' THEN pg_catalog.to_char($1, 'US') WHEN n = 'H' THEN pg_catalog.to_char($1, 'HH24') WHEN n = 'h' THEN pg_catalog.to_char($1, 'HH12') WHEN n = 'I' THEN pg_catalog.to_char($1, 'HH12') WHEN n = 'i' THEN pg_catalog.to_char($1, 'MI') WHEN n = 'j' THEN pg_catalog.to_char($1, 'DDD') WHEN n = 'k' THEN pg_catalog.to_char($1, 'FMHH24') WHEN n = 'l' THEN pg_catalog.to_char($1, 'FMHH12') WHEN n = 'M' THEN pg_catalog.to_char($1, 'FMMonth') WHEN n = 'm' THEN pg_catalog.to_char($1, 'MM') WHEN n = 'p' THEN pg_catalog.to_char($1, 'AM') WHEN n = 'r' THEN pg_catalog.to_char($1, 'HH12:MI:SS AM') WHEN n = 'S' THEN pg_catalog.to_char($1, 'SS') WHEN n = 's' THEN pg_catalog.to_char($1, 'SS') WHEN n = 'T' THEN pg_catalog.to_char($1, 'HH24:MI:SS') WHEN n = 'U' THEN pg_catalog.to_char($1, '?') WHEN n = 'u' THEN pg_catalog.to_char($1, '?') WHEN n = 'V' THEN pg_catalog.to_char($1, '?') WHEN n = 'v' THEN pg_catalog.to_char($1, '?') WHEN n = 'W' THEN pg_catalog.to_char($1, 'FMDay') WHEN n = 'w' THEN EXTRACT(DOW FROM $1)::text WHEN n = 'X' THEN pg_catalog.to_char($1, '?') WHEN n = 'x' THEN pg_catalog.to_char($1, '?') WHEN n = 'Y' THEN pg_catalog.to_char($1, 'YYYY') WHEN n = 'y' THEN pg_catalog.to_char($1, 'YY') WHEN n = '%' THEN pg_catalog.to_char($1, '%') ELSE NULL END; temp := temp operator(pg_catalog.||) res; i := i + 2; ELSE temp = temp operator(pg_catalog.||) c; i := i + 1; END IF; END LOOP; RETURN temp; END $$ IMMUTABLE STRICT LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION YEAR(TIMESTAMP without TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(YEAR FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE;

View File

@ -185,10 +185,10 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
dolibarr_install_syslog("upgrade: " . $langs->transnoentities("ServerVersion") . ": " .$version);
// Test database version requirement
$versionmindb=$db::VERSIONMIN;
$versionmindb=explode('.',$db::VERSIONMIN);
//print join('.',$versionarray).' - '.join('.',$versionmindb);
if (count($versionmindb) && count($versionarray)
&& versioncompare($versionarray,$versionmindb) < 0)
&& versioncompare($versionarray, $versionmindb) < 0)
{
// Warning: database version too low.
print "<tr><td>".$langs->trans("ErrorDatabaseVersionTooLow",join('.',$versionarray),join('.',$versionmindb))."</td><td align=\"right\">".$langs->trans("Error")."</td></tr>\n";

View File

@ -184,6 +184,7 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
// dans la 4eme colonne, le texte 'OK' si fait ou 'AlreadyDone' si rien n'est fait ou 'Error'
$versiontoarray=explode('.',$versionto);
$versionranarray=explode('.',DOL_VERSION);
$afterversionarray=explode('.','2.0.0');
$beforeversionarray=explode('.','2.7.9');
@ -245,12 +246,6 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
migrate_directories($db,$langs,$conf,'/compta','/banque');
migrate_directories($db,$langs,$conf,'/societe','/mycompany');
// Reload modules
migrate_reload_modules($db,$langs,$conf);
// Reload menus
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Script for VX (X<2.8) -> V2.8
@ -278,12 +273,6 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
migrate_project_user_resp($db,$langs,$conf);
migrate_project_task_actors($db,$langs,$conf);
// Reload modules
migrate_reload_modules($db,$langs,$conf);
// Reload menus
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Script for VX (X<2.9) -> V2.9
@ -298,12 +287,6 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
migrate_shipping_delivery($db,$langs,$conf);
migrate_shipping_delivery2($db,$langs,$conf);
// Reload modules
migrate_reload_modules($db,$langs,$conf);
// Reload menus
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Script for VX (X<3.0) -> V3.0
@ -311,11 +294,7 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
$beforeversionarray=explode('.','3.0.9');
if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0)
{
// Reload modules
migrate_reload_modules($db,$langs,$conf);
// Reload menus
migrate_reload_menu($db,$langs,$conf,$versionto);
// No particular code
}
// Script for VX (X<3.1) -> V3.1
@ -326,12 +305,6 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
migrate_directories($db,$langs,$conf,'/rss','/externalrss');
migrate_actioncomm_element($db,$langs,$conf);
// Reload modules
migrate_reload_modules($db,$langs,$conf);
// Reload menus
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Script for VX (X<3.2) -> V3.2
@ -344,12 +317,6 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
migrate_mode_reglement($db,$langs,$conf);
migrate_clean_association($db,$langs,$conf);
// Reload modules
migrate_reload_modules($db,$langs,$conf);
// Reload menus
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Script for VX (X<3.3) -> V3.3
@ -376,29 +343,7 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
$beforeversionarray=explode('.','3.8.9');
if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0)
{
// Reload modules (this must be always and only into last targeted version)
$listofmodule=array(
'MAIN_MODULE_AGENDA'=>'newboxdefonly',
'MAIN_MODULE_BARCODE'=>'newboxdefonly',
'MAIN_MODULE_CRON'=>'newboxdefonly',
'MAIN_MODULE_COMMANDE'=>'newboxdefonly',
'MAIN_MODULE_DEPLACEMENT'=>'newboxdefonly',
'MAIN_MODULE_DON'=>'newboxdefonly',
'MAIN_MODULE_ECM'=>'newboxdefonly',
'MAIN_MODULE_FACTURE'=>'newboxdefonly',
'MAIN_MODULE_FOURNISSEUR'=>'newboxdefonly',
'MAIN_MODULE_HOLIDAY'=>'newboxdefonly',
'MAIN_MODULE_OPENSURVEY'=>'newboxdefonly',
'MAIN_MODULE_PAYBOX'=>'newboxdefonly',
'MAIN_MODULE_PRODUIT'=>'newboxdefonly',
'MAIN_MODULE_SOCIETE'=>'newboxdefonly',
'MAIN_MODULE_SERVICE'=>'newboxdefonly',
'MAIN_MODULE_USER'=>'newboxdefonly'
);
migrate_reload_modules($db,$langs,$conf,$listofmodule);
// Reload menus (this must be always and only into last targeted version)
migrate_reload_menu($db,$langs,$conf,$versionto);
// No particular code
}
// Scripts for last version
@ -419,19 +364,6 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
// Migrate to add entity value into llx_societe_remise_except
migrate_remise_except_entity($db,$langs,$conf);
// Reload modules (this must be always and only into last targeted version)
$listofmodule=array(
'MAIN_MODULE_ACCOUNTING'=>'newboxdefonly',
'MAIN_MODULE_BARCODE'=>'newboxdefonly',
'MAIN_MODULE_CRON'=>'newboxdefonly',
'MAIN_MODULE_FACTURE'=>'newboxdefonly',
'MAIN_MODULE_PRINTING'=>'newboxdefonly',
);
migrate_reload_modules($db,$langs,$conf,$listofmodule);
// Reload menus (this must be always and only into last targeted version)
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Scripts for last version
@ -439,17 +371,43 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
$beforeversionarray=explode('.','6.0.9');
if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0)
{
// Reload modules (this must be always and only into last targeted version)
$listofmodule=array(
'MAIN_MODULE_USER'=>'newboxdefonly',
);
migrate_reload_modules($db,$langs,$conf,$listofmodule);
// Reload menus (this must be always and only into last targeted version)
migrate_reload_menu($db,$langs,$conf,$versionto);
// No particular code
}
}
// Code executed only if migrate is LAST ONE. Must always be done.
if (versioncompare($versiontoarray,$versionranarray) >= 0 || versioncompare($versiontoarray,$versionranarray) <= -3)
{
// Reload modules (this must be always done and only into last targeted version, because code to reload module may need table structure of last version)
$listofmodule=array(
'MAIN_MODULE_AGENDA'=>'newboxdefonly',
'MAIN_MODULE_BARCODE'=>'newboxdefonly',
'MAIN_MODULE_CRON'=>'newboxdefonly',
'MAIN_MODULE_COMMANDE'=>'newboxdefonly',
'MAIN_MODULE_DEPLACEMENT'=>'newboxdefonly',
'MAIN_MODULE_DON'=>'newboxdefonly',
'MAIN_MODULE_ECM'=>'newboxdefonly',
'MAIN_MODULE_FACTURE'=>'newboxdefonly',
'MAIN_MODULE_FOURNISSEUR'=>'newboxdefonly',
'MAIN_MODULE_HOLIDAY'=>'newboxdefonly',
'MAIN_MODULE_OPENSURVEY'=>'newboxdefonly',
'MAIN_MODULE_PAYBOX'=>'newboxdefonly',
'MAIN_MODULE_PRODUIT'=>'newboxdefonly',
'MAIN_MODULE_SOCIETE'=>'newboxdefonly',
'MAIN_MODULE_SERVICE'=>'newboxdefonly',
'MAIN_MODULE_USER'=>'newboxdefonly',
'MAIN_MODULE_ACCOUNTING'=>'newboxdefonly',
'MAIN_MODULE_BARCODE'=>'newboxdefonly',
'MAIN_MODULE_CRON'=>'newboxdefonly',
'MAIN_MODULE_PRINTING'=>'newboxdefonly',
'MAIN_MODULE_USER'=>'newboxdefonly', //This one must be always done and only into last targeted version)
);
migrate_reload_modules($db,$langs,$conf,$listofmodule);
// Reload menus (this must be always and only into last targeted version)
migrate_reload_menu($db,$langs,$conf,$versionto);
}
// Can force activation of some module during migration with paramater 'enablemodules=MAIN_MODULE_XXX,MAIN_MODULE_YYY,...'
if (! $error && $enablemodules)

View File

@ -3,8 +3,8 @@ ACCOUNTING_EXPORT_SEPARATORCSV=فاصل العمود لملف التصدير
ACCOUNTING_EXPORT_DATE=تنسيق التاريخ لملف التصدير
ACCOUNTING_EXPORT_PIECE=تصدير عدد القطعة
ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=تصدير مع الحساب العام
ACCOUNTING_EXPORT_LABEL=Export label
ACCOUNTING_EXPORT_AMOUNT=Export amount
ACCOUNTING_EXPORT_LABEL=تصدير التسمية
ACCOUNTING_EXPORT_AMOUNT=تصدير الكمية
ACCOUNTING_EXPORT_DEVISE=Export currency
Selectformat=حدد تنسيق للملف
ACCOUNTING_EXPORT_PREFIX_SPEC=تحديد بادئة لاسم الملف
@ -26,27 +26,31 @@ InvoiceLabel=Invoice label
OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to accounting account
OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to accounting account
OtherInfo=Other information
DeleteCptCategory=Remove accounting account from group
ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group ?
AccountancyArea=Accountancy area
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step:
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year...
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making thee journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making the journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies...
AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s
AccountancyAreaDescChartModel=STEP %s: Create a model of chart of account from menu %s
AccountancyAreaDescChart=STEP %s: Create or check content of your chart of account from menu %s
AccountancyAreaDescBank=STEP %s: Check the binding between bank accounts and accounting account is done. Complete missing bindings. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescVat=STEP %s: Check the binding between vat rates and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescExpenseReport=STEP %s: Check the binding between type of expense report and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescSal=STEP %s: Check the binding between salaries payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Check the binding between special expences (miscellaneous taxes) and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Check the binding between donation and accounting account is done. Complete missing bindings. You can set the account dedicated for that from the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Check the default binding between miscellaneous transaction lines and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescProd=STEP %s: Check the binding between products/services and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Check the binding between loans payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescCustomer=STEP %s: Check the binding between existing customer invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescSupplier=STEP %s: Check the binding between existing supplier invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the General Ledger. For this, go into each Journal, and click into button "Journalize transactions in General Ledger".
AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s.
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s.
AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expences (miscellaneous taxes). For this, use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Define default accounting accounts for miscellaneous transactions. For this, use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s.
AccountancyAreaDescBank=STEP %s: Define accounting accounts for each bank and financial accounts. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s.
AccountancyAreaDescBind=STEP %s: Check the binding between existing %s lines and accounting account is done, so application will be able to journalize transactions in Ledger in one click. Complete missing bindings. For this, use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu <strong>%s</strong>, and click into button <strong>%s</strong>.
AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports.
AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future.
@ -57,6 +61,10 @@ ChangeAndLoad=Change and load
Addanaccount=إضافة حساب محاسبي
AccountAccounting=حساب محاسبي
AccountAccountingShort=حساب
SubledgerAccount=Subledger Account
subledger_account=Subledger Account
ShowAccountingAccount=Show accounting account
ShowAccountingJournal=Show accounting journal
AccountAccountingSuggest=Accounting account suggested
MenuDefaultAccounts=Default accounts
MenuVatAccounts=Vat accounts
@ -66,13 +74,13 @@ MenuLoanAccounts=Loan accounts
MenuProductsAccounts=Product accounts
ProductsBinding=Products accounts
Ventilation=Binding to accounts
CustomersVentilation=Customer invoice binding
CustomersVentilation=ربط فاتورة الزبون
SuppliersVentilation=Supplier invoice binding
ExpenseReportsVentilation=Expense report binding
CreateMvts=Create new transaction
UpdateMvts=Modification of a transaction
WriteBookKeeping=Journalize transactions in General Ledger
Bookkeeping=دفتر الأستاذ العام
WriteBookKeeping=Journalize transactions in Ledger
Bookkeeping=Ledger
AccountBalance=Account balance
CAHTF=إجمالي شراء المورد قبل الضريبة
@ -103,9 +111,9 @@ ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding don
ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts
ACCOUNTING_MANAGE_ZERO=Manage the zero at the end of an accounting account. Needed by some countries. Disabled by default. If set to on, you must also set the 2 following parameters (or it is ignored)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts (If you set value to 6 here, the account '706' will appear like '706000' on screen)
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen)
ACCOUNTING_MANAGE_ZERO=Allow to manage different number of zero at the end of an accounting account. Needed by some countries (like switzerland). If keep to off (default), you can set the 2 following parameters to ask application to add virtual zero.
BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account
ACCOUNTING_SELL_JOURNAL=دفتر البيع اليومي
@ -132,19 +140,19 @@ Sens=السيناتور
Codejournal=دفتر اليومية
NumPiece=Piece number
TransactionNumShort=Num. transaction
AccountingCategory=Accounting category
AccountingCategory=Accounting account groups
GroupByAccountAccounting=Group by accounting account
NotMatch=Not Set
DeleteMvt=Delete general ledger lines
DeleteMvt=Delete Ledger lines
DelYear=Year to delete
DelJournal=Journal to delete
ConfirmDeleteMvt=This will delete all lines of the general ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the general ledger
DelBookKeeping=Delete record of the general ledger
ConfirmDeleteMvt=This will delete all lines of the Ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the Ledger
DelBookKeeping=Delete record of the Ledger
FinanceJournal=دفتر المالية اليومي
ExpenseReportsJournal=Expense reports journal
DescFinanceJournal=دفتر المالية اليومي المتضمن لجميع الدفعات عن طريق الحساب المصرفي
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the General Ledger.
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the Ledger.
VATAccountNotDefined=Account for VAT not defined
ThirdpartyAccountNotDefined=Account for third party not defined
ProductAccountNotDefined=Account for product not defined
@ -156,13 +164,13 @@ NewAccountingMvt=New transaction
NumMvts=Numero of transaction
ListeMvts=List of movements
ErrorDebitCredit=الدائن والمدين لا يمكن أن يكون لهم قيمة في الوقت نفسه
AddCompteFromBK=Add accounting accounts to the group
ReportThirdParty=List third party account
DescThirdPartyReport=Consult here the list of the third party customers and suppliers and their accounting accounts
ListAccounts=قائمة الحسابات المحاسبية
Pcgtype=فئة الحساب
Pcgsubtype=تحت فئة الحساب
Pcgsubtype=Subclass of account
TotalVente=المبيعات الإجمالية قبل الضريبة
TotalMarge=إجمالي هامش المبيعات
@ -186,9 +194,9 @@ AutomaticBindingDone=Automatic binding done
ErrorAccountancyCodeIsAlreadyUse=خطأ، لا يمكنك حذف هذا الحساب المحاسبي لأنه مستخدم
MvtNotCorrectlyBalanced=الحركة غير متوازنة\nالدائن =%s\nالمدين =%s
FicheVentilation=Binding card
GeneralLedgerIsWritten=Transactions are written in the general ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be recorded.
NoNewRecordSaved=No new record saved
GeneralLedgerIsWritten=Transactions are written in the Ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be dispatched. If there is no other error message, this is probably because they were already dispatched.
NoNewRecordSaved=No new record dispatched
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account
ChangeBinding=Change the binding
@ -196,6 +204,18 @@ ChangeBinding=Change the binding
ApplyMassCategories=Apply mass categories
AddAccountFromBookKeepingWithNoCategories=Add acccount already used with no categories
CategoryDeleted=Category for the accounting account has been removed
AccountingJournals=Accounting journals
AccountingJournal=Accounting journal
NewAccountingJournal=New accounting journal
ShowAccoutingJournal=Show accounting journal
Code=رمز
Nature=طبيعة
AccountingJournalType1=Various operation
AccountingJournalType2=مبيعات
AccountingJournalType3=مشتريات
AccountingJournalType4=بنك
AccountingJournalType9=Has-new
ErrorAccountingJournalIsAlreadyUse=This journal is already use
## Export
Exports=صادرات
@ -211,6 +231,7 @@ Modelcsv_ciel=Export towards Sage Ciel Compta or Compta Evolution
Modelcsv_quadratus=Export towards Quadratus QuadraCompta
Modelcsv_ebp=Export towards EBP
Modelcsv_cogilog=Export towards Cogilog
Modelcsv_agiris=Export towards Agiris (Test)
ChartofaccountsId=Chart of accounts Id
## Tools - Init accounting account on product / service
@ -235,11 +256,12 @@ Calculated=Calculated
Formula=Formula
## Error
ErrorNoAccountingCategoryForThisCountry=No accounting category available for country %s (See Home - Setup - Dictionaries)
SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them
ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries)
ExportNotSupported=The export format setuped is not supported into this page
BookeppingLineAlreayExists=Lines already existing into bookeeping
NoJournalDefined=No journal defined
Binded=Lines bound
ToBind=Lines to bind
WarningReportNotReliable=Warning, this report is not based on the General Ledger, so is not reliable yet. It will be replaced by a correct report in a next version.
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manualy in the Ledger. It will be replaced by a more complete report in a next version.

View File

@ -48,6 +48,7 @@ InternalUsers=مستخدمين داخليين
ExternalUsers=مستخدمين خارجيين
GUISetup=العرض
SetupArea=منطقة الإعداد
UploadNewTemplate=Upload new template(s)
FormToTestFileUploadForm=نموذج لاختبار تحميل ملف (وفقا لبرنامج الإعداد)
IfModuleEnabled=ملاحظة : نعم فعالة فقط في حال كان النموذج <b>%s</b> مفعل
RemoveLock=قم بحذف الملف <b>%s</b> إذا كان موجوداً لتمكين اداة التحديث
@ -85,7 +86,7 @@ Mask=القناع
NextValue=القيمة التالية
NextValueForInvoices=القيمة التالية (الفواتير)
NextValueForCreditNotes=القيمة التالية (ملاحظات دائن)
NextValueForDeposit=القيمة التالية (وديعة)
NextValueForDeposit=Next value (down payment)
NextValueForReplacements=القيمة التالية (استبدال)
MustBeLowerThanPHPLimit=ملاحظة : البي إتش بي الخاص بك يحد من حجم الملفات المرفوعة <b>%s</b> %s, مهما كان الحجم المدخل
NoMaxSizeByPHPLimit=ملاحظة : لم يتم وضح حد في إعدادات الـ PHP الخاص بك
@ -103,7 +104,7 @@ MenuIdParent=رمز القائمة العليا
DetailMenuIdParent=رمز القائمة العليا (فراغ للقائمة العليا)
DetailPosition=رتب الرقم لتعريف موقع القائمة
AllMenus=الكل
NotConfigured=النموذج غير مهيء
NotConfigured=Module/Application not configured
Active=نشطة
SetupShort=الإعداد
OtherOptions=الخيارات الأخرى
@ -113,7 +114,6 @@ CurrentValueSeparatorThousand=ألفاصلة الألفية
Destination=المقصد
IdModule=ID حدة
IdPermissions=ضوابط ID
Modules=النموذج
LanguageBrowserParameter=الوحدة %s
LocalisationDolibarrParameters=الوحدات المحلية
ClientTZ=المنطقة الزمنية للعميل (المستخدم)
@ -123,7 +123,8 @@ PHPTZ=المنطقة الزمنية خادم PHP
DaylingSavingTime=التوقيت الصيفي
CurrentHour=PHP خادم ساعة
CurrentSessionTimeOut=إنتها مدة التصفح الحالية
YouCanEditPHPTZ=لضبط توقيت PHP مختلفة (غير مطلوب)، يمكنك محاولة إضافة .htacces الملف مع مثل هذا الخط "ابق ضاغطا TZ أوروبا / باريس"
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htaccess with a line like this "SetEnv TZ Europe/Paris"
HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but for the timezone of the server.
Box=Widget
Boxes=Widgets
MaxNbOfLinesForBoxes=Max number of lines for widgets
@ -189,7 +190,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions
Rights=الصلاحيات
BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it.
OnlyActiveElementsAreShown=فقط العناصر من <a href="%s">النماذج المفعلة </a> سوف تظهر.
ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off to enable a module/feature.
ModulesDesc=Dolibarr modules define which application/feature is enabled in software. Some application/modules require permissions you must grant to users, after activating it. Click on button on/off to enable a module/application.
ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet...
ModulesDeployDesc=If permissions on your file system allows it, you can use this tool to deploy an external module. The module wil then be visible on the tab <strong>%s</strong>.
ModulesMarketPlaces=Find external modules...
@ -213,7 +214,7 @@ MainDbPasswordFileConfEncrypted=كلمة السر في قاعدة بيانات
InstrucToEncodePass=لديك كلمة السر المشفرة في ملف <b>conf.php،</b> استبدال الخط <br> <b>$ dolibarr_main_db_pass = "..."؛</b> <br> بواسطة <br> <b>$ dolibarr_main_db_pass = "crypted:٪ ليالي".</b>
InstrucToClearPass=لديك كلمة مرور فك الشفرة (واضح) في ملف <b>conf.php،</b> استبدال الخط <br> <b>$ dolibarr_main_db_pass = "crypted: ...".</b> <br> بواسطة <br> <b>$ dolibarr_main_db_pass = "%s".</b>
ProtectAndEncryptPdfFiles=حماية الملفات ولدت الشعبي (لا recommandd ، تقتحم الجماهيري الشعبي وتوليد)
ProtectAndEncryptPdfFilesDesc=حماية وجود وثيقة من وثائق وتبقي الشعبي توفيرها لقراءة وطباعة أي متصفح الشعبي. ومع ذلك ، وتحريرها ونسخها وليس من الممكن بعد الآن. علما أن استخدام هذه الميزة تجعل بناء عالمي لا يعمل المتراكمة الشعبي (مثل الفواتير غير المدفوعة).
ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working.
Feature=ميزة
DolibarrLicense=الترخيص
Developpers=مطوري / المساهمين
@ -224,7 +225,9 @@ OfficialDemo=Dolibarr الانترنت التجريبي
OfficialMarketPlace=المسؤول عن وحدات السوق الخارجية / أدونس
OfficialWebHostingService=المشار خدمات استضافة المواقع (سحابة استضافة)
ReferencedPreferredPartners=الشركاء المفضلين
OtherResources=RESSOURCES AUTRES
OtherResources=Other resources
ExternalResources=External resources
SocialNetworks=Social Networks
ForDocumentationSeeWiki=للمستخدم أو وثائق المطور (الوثيقة، أسئلة وأجوبة ...)، <br> نلقي نظرة على Dolibarr يكي: <br> <b><a href="%s" target="_blank">%s</a></b>
ForAnswersSeeForum=عن أي أسئلة أخرى / مساعدة، يمكنك استخدام المنتدى Dolibarr: <br> <b><a href="%s" target="_blank">%s</a></b>
HelpCenterDesc1=هذا المجال يمكن أن تساعدك في الحصول على مساعدة لتقديم خدمات الدعم على Dolibarr.
@ -267,7 +270,7 @@ FeatureNotAvailableOnLinux=ميزة لا تتوفر على مثل أنظمة ي
SubmitTranslation=إذا ترجمة لهذه اللغة ليست كاملة أو تجد الأخطاء، يمكنك تصحيح هذا عن طريق تحرير الملفات إلى دليل <b>LANGS /%s</b> وتقديم التغيير إلى www.transifex.com/dolibarr-association/dolibarr/~~V
SubmitTranslationENUS=إذا ترجمة لهذه اللغة ليست كاملة أو تجد الأخطاء، يمكنك تصحيح هذا عن طريق تحرير الملفات إلى دليل <b>LANGS /%s</b> وتقديم الملفات التي تم تعديلها على dolibarr.org/forum أو للمطورين على github.com/Dolibarr/dolibarr.
ModuleSetup=إعداد وحدة
ModulesSetup=نمائط الإعداد
ModulesSetup=Modules/Application setup
ModuleFamilyBase=نظام
ModuleFamilyCrm=إدارة علاقات العملاء (CRM)
ModuleFamilySrm=Supplier Relation Management (SRM)
@ -300,14 +303,17 @@ CurrentVersion=Dolibarr النسخة الحالية
CallUpdatePage=Go to the page that updates the database structure and data: %s.
LastStableVersion=Latest stable version
LastActivationDate=Latest activation date
LastActivationAuthor=Latest activation author
LastActivationIP=Latest activation IP
UpdateServerOffline=خادم التحديث متواجد حاليا
WithCounter=Manage a counter
GenericMaskCodes=يمكنك إدخال أي قناع الترقيم. في هذا القناع ، وبعد ويمكن استخدام العلامات : <br> <b>(000000)</b> يطابق عدد الذي سيكون على كل يزداد ٪ s. كما تدخل العديد من أصفار على النحو المنشود طول المضادة. المضاد وسيتم الانتهاء من اصفار من اليسار من أجل الحصول على أكبر عدد اصفار كما القناع. <br> <b>000000 +000) (نفس</b> السابقة ولكن يقابل المقابلة لعدد للحق من علامة + يطبق اعتبارا من أول ٪ s. <br> <b>000000 @ (س)</b> نفس السابقة ولكن المضاد هو إعادة الصفر عندما يتم التوصل إلى الشهر خ خ ما بين 1 و 12). إذا كان هذا الخيار هو المستخدمة وس 2 أو أعلى ، ثم تسلسل (ذ ذ م م)) ((سنة أو ملم)) (مطلوب أيضا. <br> <b>(ب)</b> اليوم (01 الى 31). <br> <b>() ملم</b> في الشهر (01 الى 12). <br> <b>(كذا)</b> ، <b>(سنة))</b> أو <b>(ذ</b> السنة أكثر من 2 أو 4 أو 1 الأرقام. <br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.<br>
GenericMaskCodes3=جميع الشخصيات الاخرى في قناع سوف تظل سليمة. <br> المساحات غير مسموح بها. <br>
GenericMaskCodes4a=<u>ومثال على 99th %s من طرف ثالث TheCompany عمله 2007-01-31 :</u> <br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany, with date 2007-01-31:</u><br>
GenericMaskCodes4b=<u>ومثال على طرف ثالث على إنشاء 2007-03-01 :</u> <br>
GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b><br><b>IN{yy}{mm}-{0000}-{t}</b> will give <b>IN0701-0099-A</b> if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI'
GenericNumRefModelDesc=العودة للتخصيص وفقا لعدد محدد القناع.
ServerAvailableOnIPOrPort=الخدمة متاحة في معالجة <b>٪ ق %s</b> على الميناء
ServerNotAvailableOnIPOrPort=الخدمة غير متاحة في التصدي <b>٪ ق %s</b> على الميناء
@ -369,19 +375,21 @@ Int=عدد صحيح
Float=Float
DateAndTime=Date and hour
Unique=Unique
Boolean=Boolean (Checkbox)
Boolean=Boolean (one checkbox)
ExtrafieldPhone = هاتف
ExtrafieldPrice = الأسعار
ExtrafieldMail = Email
ExtrafieldUrl = Url
ExtrafieldSelect = Select list
ExtrafieldSelectList = Select from table
ExtrafieldSeparator=Separator
ExtrafieldSeparator=Separator (not a field)
ExtrafieldPassword=الرمز السري
ExtrafieldCheckBox=Checkbox
ExtrafieldRadio=Radio button
ExtrafieldCheckBoxFromList= مربع من الجدول
ExtrafieldRadio=Radio buttons (on choice only)
ExtrafieldCheckBox=Checkboxes
ExtrafieldCheckBoxFromList=Checkboxes from table
ExtrafieldLink=رابط إلى كائن
ComputedFormula=Computed field
ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: <strong>$db, $conf, $langs, $mysoc, $user, $object</strong>.<br><strong>WARNING</strong>: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.<br>Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.<br><br>Example of formula:<br>$object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)<br><br>Example to reload object<br>(($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1'<br><br>Other example of formula to force load of object and its parent object:<br>(($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found'
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another complementary attribute list :<br>1,value1|options_<i>parent_list_code</i>:parent_key<br>2,value2|options_<i>parent_list_code</i>:parent_key <br><br>In order to have the list depending on another list :<br>1,value1|<i>parent_list_code</i>:parent_key<br>2,value2|<i>parent_list_code</i>:parent_key
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
@ -422,6 +430,20 @@ Use3StepsApproval=By default, Purchase Orders need to be created and approved by
UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than...
WarningPHPMail=WARNING: Some email providers (like Yahoo) does not allow you to send an email from another server than the Yahoo server if the email address used as a sender is your Yahoo email (like myemail@yahoo.com, myemail@yahoo.fr, ...). Your current setup use the server of the application to send email, so some recipients (the one compatible with the restrictive DMARC protocol), will ask Yahoo if they can accept your email and Yahoo will respond "no" because the server is not a server owned by Yahoo, so few of your sent Emails may not be accepted.<br>If your Email provider (like Yahoo) has this restriction, you must change Email setup to choose the other method "SMTP server" and enter the SMTP server and credentials provided by your Email provider (ask your EMail provider to get SMTP credentials for your account).
ClickToShowDescription=Click to show description
DependsOn=This module need the module(s)
RequiredBy=This module is required by module(s)
TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. This need to have technical knowledges to read the content of the HTML page to get the key name of a field.
PageUrlForDefaultValues=You must enter here the relative url of the page. If you include parameters in URL, the default values will be effective if all parameters are set to same value. Examples:
PageUrlForDefaultValuesCreate=<br>For form to create a new thirdparty, it is <strong>%s</strong>
PageUrlForDefaultValuesList=<br>For page that list thirdparties, it is <strong>%s</strong>
EnableDefaultValues=Enable usage of personalized default values
EnableOverwriteTranslation=Enable usage of overwrote translation
GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code, so to change this value, you must edit it fom Home-Setup-translation.
WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior.
Field=حقل
ProductDocumentTemplates=Document templates to generate product document
FreeLegalTextOnExpenseReports=Free legal text on expense reports
WatermarkOnDraftExpenseReports=Watermark on draft expense reports
# Modules
Module0Name=& مجموعات المستخدمين
Module0Desc=Users / Employees and Groups management
@ -444,7 +466,7 @@ Module30Desc=ويلاحظ اعتماد الفواتير وإدارة العمل
Module40Name=الموردين
Module40Desc=الموردين وإدارة وشراء (الأوامر والفواتير)
Module42Name=Syslog
Module42Desc=قطع الأشجار مرافق (syslog)
Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes.
Module49Name=المحررين
Module49Desc=المحررين إدارة
Module50Name=المنتجات
@ -499,8 +521,8 @@ Module410Name=Webcalendar
Module410Desc=التكامل Webcalendar
Module500Name=المصروفات الخاصة
Module500Desc=إدارة المصروفات الخاصة (الضرائب، الضرائب الاجتماعية أو المالية وتوزيعات الأرباح)
Module510Name=Employee contracts and salaries
Module510Desc=Management of employees contracts, salaries and payments
Module510Name=Payment of employee wages
Module510Desc=Record and follow payment of your employee wages
Module520Name=قرض
Module520Desc=إدارة القروض
Module600Name=الإخطارات
@ -542,8 +564,10 @@ Module2900Name=GeoIPMaxmind
Module2900Desc=GeoIP التحويلات Maxmind القدرات
Module3100Name=سكايب
Module3100Desc=Add a Skype button into users / third parties / contacts / members cards
Module3200Name=Non Reversible Logs
Module3200Desc=Activate log of some business events into a non reversible log. Events are archived in real-time. The log is a table of chained event that can be then read and exported. This module may be mandatory for some countries.
Module4000Name=HRM
Module4000Desc=إدارة الموارد البشرية
Module4000Desc=Human resources management (mangement of department, employee contracts and feelings)
Module5000Name=شركة متعددة
Module5000Desc=يسمح لك لإدارة الشركات المتعددة
Module6000Name=سير العمل
@ -591,7 +615,7 @@ Permission32=إنشاء / تعديل المنتجات
Permission34=حذف المنتجات
Permission36=انظر / إدارة المنتجات المخفية
Permission38=منتجات التصدير
Permission41=مشاريع القراءة والمهام (مشروع مشترك ومشاريع انا اتصال ل). كما يمكن أن يدخل الوقت المستهلك في المهام الموكلة (الجدول الزمني)
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed, for me or my hierarchy, on assigned tasks (Timesheet)
Permission42=Create/modify projects (shared project and projects i'm contact for). Can also create tasks and assign users to project and tasks
Permission44=حذف مشاريع
Permission45=Export projects
@ -844,12 +868,14 @@ DictionaryOrderMethods=طرق ترتيب
DictionarySource=أصل مقترحات / أوامر
DictionaryAccountancyCategory=Accounting account groups
DictionaryAccountancysystem=نماذج للتخطيط للحسابات
DictionaryAccountancyJournal=Accounting journals
DictionaryEMailTemplates=رسائل البريد الإلكتروني قوالب
DictionaryUnits=الوحدات
DictionaryProspectStatus=حالة التنقيب
DictionaryHolidayTypes=Types of leaves
DictionaryOpportunityStatus=الوضع فرصة للمشروع / الرصاص
SetupSaved=الإعداد المحفوظة
SetupNotSaved=Setup not saved
BackToModuleList=العودة إلى قائمة الوحدات
BackToDictionaryList=العودة إلى قائمة القواميس
VATManagement=إدارة الضريبة على القيمة المضافة
@ -921,7 +947,7 @@ Host=الخادم
DriverType=سائق نوع
SummarySystem=نظام معلومات موجزة
SummaryConst=قائمة بجميع Dolibarr الإعداد البارامترات
MenuCompanySetup=الشركة / المؤسسة
MenuCompanySetup=Company/Organisation
DefaultMenuManager= معيار مدير القائمة
DefaultMenuSmartphoneManager=الهاتف الذكي القائمة مدير
Skin=موضوع الجلد
@ -931,12 +957,14 @@ DefaultMaxSizeList=افتراضي الطول الاقصى للقوائم
DefaultMaxSizeShortList=طول الأقصى الافتراضي للقوائم قصيرة (أي في بطاقة العميل)
MessageOfDay=رسالة اليوم
MessageLogin=ادخل صفحة الرسالة
LoginPage=Login page
BackgroundImageLogin=Background image
PermanentLeftSearchForm=دائم البحث عن شكل القائمة اليمنى
DefaultLanguage=اللغة الافتراضية لاستخدام (شفرة اللغة)
EnableMultilangInterface=تتيح واجهة متعددة اللغات
EnableShowLogo=عرض الشعار على اليسار القائمة
CompanyInfo=الشركة / المؤسسة المعلومات
CompanyIds=الشركة / المؤسسة الهويات
CompanyInfo=Company/organisation information
CompanyIds=Company/organisation identities
CompanyName=اسم
CompanyAddress=عنوان
CompanyZip=الرمز البريدي
@ -969,9 +997,9 @@ Delays_MAIN_DELAY_MEMBERS=تأخير التسامح (في يوم) في حالة
Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=تأخير التسامح (في يوم) في حالة تأهب قبل لإيداع الشيكات للقيام
Delays_MAIN_DELAY_EXPENSEREPORTS=تأخير التسامح (بالأيام) قبل حالة تأهب لتقارير النفقات الموافقة
SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr.
SetupDescription2=The two most important setup steps are the first two in the setup menu on the left: Company/foundation setup page and Modules setup page:
SetupDescription3=Parameters in menu <a href="%s">Setup -> Company/foundation</a> are required because submitted data are used on Dolibarr displays and to customize the default behaviour of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">Setup -> Modules</a> are required because Dolibarr is not a monolithic ERP/CRM but a collection of several modules, all more or less independent. New features will be added to menus for every module you'll enable.
SetupDescription2=The two mandatory setup steps are the first two in the setup menu on the left: %s setup page and %s setup page :
SetupDescription3=Parameters in menu <a href="%s">%s -> %s</a> are required because defined data are used on Dolibarr screens and to customize the default behavior of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">%s -> %s</a> are required because Dolibarr ERP/CRM is a collection of several modules/applications, all more or less independent. New features will be added to menus for every module you will activate.
SetupDescription5=القيود الأخرى القائمة في إدارة اختياري البارامترات.
LogEvents=مراجعة الحسابات الأحداث الأمنية
Audit=المراجعة
@ -987,7 +1015,7 @@ BrowserOS=متصفح OS
ListOfSecurityEvents=قائمة الأحداث الأمنية Dolibarr
SecurityEventsPurged=تطهير الاحداث الامنية
LogEventDesc=هنا يمكنك تمكين قطع الأشجار لDolibarr الأحداث الأمنية. يمكن للمشرفين ثم انظر مضمونه عبر <b>نظام</b> القائمة <b>أدوات -- لمراجعة الحسابات.</b> محذرا من أن هذه الميزة يمكن أن تستهلك كمية كبيرة من البيانات في قاعدة البيانات.
AreaForAdminOnly=هذه الميزات يمكن أن تستخدم من قبل <b>مدير المستخدمين</b> فقط.
AreaForAdminOnly=Setup parameters can be set by <b>administrator users</b> only.
SystemInfoDesc=نظام المعلومات المتنوعة المعلومات التقنية تحصل في قراءة فقط وواضحة للمشرفين فقط.
SystemAreaForAdminOnly=هذا المجال المتاح لمدير المستخدمين فقط. أيا من Dolibarr أذونات يمكن أن تقلل من هذا الحد.
CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" or "Save" button at bottom of page)
@ -1079,11 +1107,12 @@ CurrentTranslationString=Current translation string
WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string
NewTranslationStringToShow=New translation string to show
OriginalValueWas=The original translation is overwritten. Original value was:<br><br>%s
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b> / <b>%s</b>
TransKeyWithoutOriginalValue=You forced a new translation for the translation key '<strong>%s</strong>' that does not exists in any language files
TotalNumberOfActivatedModules=Activated application/modules: <b>%s</b> / <b>%s</b>
YouMustEnableOneModule=يجب على الأقل تمكين 1 وحدة
ClassNotFoundIntoPathWarning=لم يتم العثور على %s في مسار PHP
YesInSummer=نعم في الصيف
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users) and only if permissions were granted:
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users) and only if permissions were granted:
SuhosinSessionEncrypt=تخزين جلسة المشفرة بواسطة Suhosin
ConditionIsCurrently=الشرط هو حاليا %s
YouUseBestDriver=استخدام سائق %s التي هو أفضل سائق المتاحة حاليا.
@ -1129,12 +1158,14 @@ CompanyIdProfChecker=المهنية معرف فريد
MustBeUnique=Must be unique?
MustBeMandatory=Mandatory to create third parties?
MustBeInvoiceMandatory=Mandatory to validate invoices?
TechnicalServicesProvided=Technical services provided
##### Webcal setup #####
WebCalUrlForVCalExport=تصدير صلة <b>%s </b> شكل متاح على الوصلة التالية : %s
##### Invoices #####
BillsSetup=وحدة إعداد الفواتير
BillsNumberingModule=الفواتير والقروض وتلاحظ وحدة الترقيم
BillsPDFModules=فاتورة نماذج الوثائق
PaymentsPDFModules=Payment documents models
CreditNote=علما الائتمان
CreditNotes=ويلاحظ الائتمان
ForceInvoiceDate=قوة تاريخ الفاتورة تاريخ المصادقة على
@ -1327,9 +1358,16 @@ FilesOfTypeNotCached=لا يتم التخزين المؤقت الملفات من
FilesOfTypeCompressed=يتم ضغط الملفات من نوع %s من قبل خادم HTTP
FilesOfTypeNotCompressed=لا يتم ضغط الملفات من نوع %s من قبل خادم HTTP
CacheByServer=ذاكرة التخزين المؤقت من قبل خادم
CacheByServerDesc=For exemple using the Apache directive "ExpiresByType image/gif A2592000"
CacheByClient=الذاكرة المخبئية من خلال متصفح
CompressionOfResources=ضغط الردود HTTP
CompressionOfResourcesDesc=For exemple using the Apache directive "AddOutputFilterByType DEFLATE"
TestNotPossibleWithCurrentBrowsers=مثل هذا الكشف التلقائي غير ممكن مع المتصفحات الحالية
DefaultValuesDesc=You can define/force here the default value you want to get when your create a new record, and/or defaut filters or sort order when your list record.
DefaultCreateForm=Default values for new objects
DefaultSearchFilters=Default search filters
DefaultSortOrder=Default sort orders
DefaultFocus=Default focus fields
##### Products #####
ProductSetup=المنتجات وحدة الإعداد
ServiceSetup=خدمات وحدة الإعداد
@ -1464,7 +1502,7 @@ SupposedToBeInvoiceDate=فاتورة تاريخ المستخدمة
Buy=يشتري
Sell=يبيع
InvoiceDateUsed=فاتورة تاريخ المستخدمة
YourCompanyDoesNotUseVAT=وقد تم تسجيل شركة محددة لعدم استخدام ضريبة القيمة المضافة (الصفحة الرئيسية -- إعداد -- شركة / مؤسسة) ، لذلك لا يوجد خيارات لضريبة القيمة المضافة الإعداد.
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organisation), so there is no VAT options to setup.
AccountancyCode=قانون المحاسبة
AccountancyCodeSell=حساب بيع. رمز
AccountancyCodeBuy=شراء الحساب. رمز
@ -1479,9 +1517,10 @@ AGENDA_DEFAULT_FILTER_STATUS=تلقائيا تعيين هذه الحالة مع
AGENDA_DEFAULT_VIEW=علامة التبويب التي تريد فتح افتراضيا عند اختيار القائمة جدول الأعمال
AGENDA_NOTIFICATION=Enable event notification on user browsers when event date is reached (each user is able to refuse this from the browser confirmation question)
AGENDA_NOTIFICATION_SOUND=Enable sound notification
AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view
##### Clicktodial #####
ClickToDialSetup=انقر لإعداد وحدة الاتصال الهاتفي
ClickToDialUrlDesc=ودعا الموقع عندما تنقر على الهاتف picto ذلك. Dans l' رابط ، vous pouvez utiliser ليه balises <br> <b>٪ ٪ 1 $ ق</b> qui الأمصال remplacé قدم المساواة جنيه téléphone دي l' appelé <br> <b>٪ ٪</b> 2 $ <b>ق</b> qui الأمصال remplacé لو قدم المساواة téléphone دي l' appelant جنيه مصري vôtre) <br> <b>٪ ٪ ل 3</b> دولار qui الأمصال remplacé vôtre ادخل clicktodial الفقرة (défini سور vôtre فيشه utilisateur) <br> <b>٪ ٪</b> 4 <b>$</b> ق qui الأمصال remplacé الفقرة vôtre يذكره دي clicktodial عتيق (défini سور vôtre فيشه utilisateur).
ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags<br><b>__PHONETO__</b> that will be replaced with the phone number of person to call<br><b>__PHONEFROM__</b> that will be replaced with phone number of calling person (yours)<br><b>__LOGIN__</b> that will be replaced with clicktodial login (defined on user card)<br><b>__PASS__</b> that will be replaced with clicktodial password (defined on user card).
ClickToDialDesc=هذه الوحدة تسمح لجعل أرقام هواتف يمكن النقر عليها. وهناك انقر على هذه الأيقونة دعوة تجعل هاتفك إلى الاتصال برقم الهاتف. وهذا يمكن أن تستخدم لاستدعاء نظام مركز الاتصال من Dolibarr يمكن أن نسميه ورقم الهاتف على نظام SIP على سبيل المثال.
ClickToDialUseTelLink=مجرد استخدام الرابط "الهاتف:" على أرقام الهواتف
ClickToDialUseTelLinkDesc=استخدام هذا الأسلوب إذا كان المستخدمون يكون الهاتف الرقمي أو واجهة البرامج المثبتة على الكمبيوتر نفسه من المتصفح، ويسمى عند النقر على رابط في المتصفح التي تبدأ ب "الهاتف". إذا كنت في حاجة الى حل خادم الكامل (لا حاجة لتثبيت البرامج المحلية)، يجب عليك تعيين هذا إلى "لا" وملء الحقل التالي.
@ -1510,7 +1549,7 @@ EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint availa
ApiSetup=API وحدة الإعداد
ApiDesc=من خلال تمكين هذه الوحدة، Dolibarr يصبح الخادم REST لتوفير خدمات الإنترنت المتنوعة.
ApiProductionMode=Enable production mode (this will activate use of a cache for services management)
ApiExporerIs=You can explore the APIs at url
ApiExporerIs=You can explore and test the APIs at URL
OnlyActiveElementsAreExposed=ويتعرض عناصر فقط من وحدات تمكين
ApiKey=مفتاح API
WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it.
@ -1523,7 +1562,6 @@ BankOrderGlobalDesc=عرض عام النظام
BankOrderES=الأسبانية
BankOrderESDesc=الأسبانية عرض النظام
ChequeReceiptsNumberingModule=Cheque Receipts Numbering module
##### Multicompany #####
MultiCompanySetup=نموذج متعدد شركة الإعداد
##### Suppliers #####
@ -1582,12 +1620,12 @@ BackupDumpWizard=المعالج لبناء قاعدة بيانات النسخ ا
SomethingMakeInstallFromWebNotPossible=تركيب وحدة خارجية غير ممكن من واجهة ويب للسبب التالي:
SomethingMakeInstallFromWebNotPossible2=لهذا السبب، عملية لترقية وصفت هنا هو دليل على بعد خطوات قليلة يمكن للمستخدم متميز القيام به.
InstallModuleFromWebHasBeenDisabledByFile=تثبيت وحدة خارجية من التطبيق قد تم تعطيلها من قبل المسؤول. يجب أن يطلب منه إزالة <strong>الملف٪ s</strong> للسماح هذه الميزة.
ConfFileMuseContainCustom=Installing an external module from application need to 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 add the 2 directive lines:<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
ConfFileMustContainCustom=Installing or building an external module from application need to 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 add the 2 directive lines:<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
HighlightLinesOnMouseHover=تسليط الضوء على خطوط الجدول عندما يمر تحرك الماوس فوق
HighlightLinesColor=تسليط الضوء على لون الخط عند تمرير الماوس فوق (الحفاظ فارغة دون تمييز)
TextTitleColor=Color of page title
LinkColor=لون الروابط
PressF5AfterChangingThis=Press F5 on keyboard or clear your browser cache after changing this value to have it effective
PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective
NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes
BackgroundColor=لون الخلفية
TopMenuBackgroundColor=لون الخلفية لقائمة الأعلى
@ -1600,6 +1638,7 @@ MinimumNoticePeriod=الحد الأدنى لمدة إشعار (يجب أن يت
NbAddedAutomatically=عدد الأيام تضاف إلى العدادات من المستخدمين (تلقائيا) كل شهر
EnterAnyCode=يحتوي هذا الحقل على إشارة لتحديد الخط. أدخل أي قيمة من اختيارك، ولكن من دون أحرف خاصة.
UnicodeCurrency=أدخل هنا بين الأقواس، وقائمة من عدد البايت التي تمثل رمز العملة. لexemple: ل$، أدخل [36] - للبرازيل R الحقيقي $ [82،36] - ل€، أدخل [8364]
ColorFormat=The RGB color is in HEX format, eg: FF0000
PositionIntoComboList=موقف خط في قوائم السرد
SellTaxRate=بيع معدل الضريبة
RecuperableOnly=نعم لضريبة القيمة المضافة "غير مستردة Perçue" مخصصة لبعض الدول في فرنسا. إبقاء القيمة إلى "لا" في جميع الحالات الأخرى.
@ -1658,6 +1697,10 @@ SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choic
ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary.
UserHasNoPermissions=This user has no permission defined
TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")<br>Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)<br>Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days")
BaseCurrency=Reference currency of the company (go into setup of company to change this)
WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016).
WarningNoteModulePOSForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated.
WarningInstallationMayBecomeNotCompliantWithLaw=You try to install the module %s that is an external module. Activating an external module means you trust the publisher of the module and you are sure that this module does not alterate negatively the behavior of your application and is compliant with laws of your country (%s). If the module bring a non legal feature, you become responsible for the use of a non legal software.
##### Resource ####
ResourceSetup=Configuration du module Resource
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).

View File

@ -13,8 +13,8 @@ LTReportBuildWithOptionDefinedInModule=وتحسب المبالغ المبينة
Param=الإعداد
RemainingAmountPayment=دفع المبلغ المتبقي :
Account=حساب
Accountparent=الوالد حساب
Accountsparent=حسابات الأم
Accountparent=Parent account
Accountsparent=Parent accounts
Income=الدخل
Outcome=نتائج
ReportInOut=دخل / نتائج
@ -56,6 +56,7 @@ MenuTaxAndDividends=الضرائب وعوائد
MenuSocialContributions=الضرائب الاجتماعية / المالية
MenuNewSocialContribution=الضريبة الاجتماعية / مالية جديدة
NewSocialContribution=الضريبة الاجتماعية / مالية جديدة
AddSocialContribution=Add social/fiscal tax
ContributionsToPay=الضرائب الاجتماعية / المالية لدفع
AccountancyTreasuryArea=المحاسبة / الخزانة المنطقة
NewPayment=دفع جديدة
@ -134,8 +135,8 @@ RulesResultDue=- وتتضمن الفواتير غير المسددة، والن
RulesResultInOut=- ويشمل المدفوعات الحقيقية المحرز في الفواتير والمصاريف والضريبة على القيمة المضافة والرواتب. <br> - لأنه يقوم على مواعيد دفع الفواتير والمصاريف والضريبة على القيمة المضافة والرواتب. تاريخ التبرع للتبرع.
RulesCADue=- ويشمل الفواتير المستحقة على العميل سواء كانت بأجر أو لا. <br> - وهو يستند إلى تاريخ التحقق من هذه الفواتير. <br>
RulesCAIn=-- ويشمل جميع الفعال دفع الفواتير الواردة من العملاء. <br> -- يقوم على دفع هذه الفواتير تاريخ <br>
DepositsAreNotIncluded=- يتم ولا تشمل ودائع الفواتير
DepositsAreIncluded=- وترد الفواتير ودائع
DepositsAreNotIncluded=- Down payment invoices are nor included
DepositsAreIncluded=- Down payment invoices are included
LT2ReportByCustomersInInputOutputModeES=تقرير من قبل طرف ثالث IRPF
LT1ReportByCustomersInInputOutputModeES=تقرير RE طرف ثالث
VATReport=VAT report
@ -169,7 +170,7 @@ DescSellsJournal=مبيعات المجلة
DescPurchasesJournal=شراء مجلة
InvoiceRef=فاتورة المرجع.
CodeNotDef=لم يتم تعريف
WarningDepositsNotIncluded=لا يتم تضمين فواتير الودائع في هذا الإصدار مع هذه الوحدة المحاسبة.
WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module.
DatePaymentTermCantBeLowerThanObjectDate=تاريخ الدفع الأجل لا يمكن أن يكون أقل من تاريخ الكائن.
Pcg_version=Chart of accounts models
Pcg_type=نوع PCG
@ -189,8 +190,10 @@ AccountancyJournal=كود المحاسبة مجلة
ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for collecting VAT - VAT on sales (used if not defined on VAT dictionary setup)
ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for recovered VAT - VAT on purchases (used if not defined on VAT dictionary setup)
ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT
ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account by default for customer third parties (used if not defined on third party card)
ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account by default for supplier third parties (used if not defined on third party card)
ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties
ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Dedicated accounting account defined on third party card will be used for Subledger accouting, this one for General Ledger or as default value of Subledger accounting if dedicated customer accouting account on third party is not defined
ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for supplier third parties
ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Dedicated accounting account defined on third party card will be used for Subledger accouting, this one for General Ledger or as default value of Subledger accounting if dedicated supplier accouting account on third party is not defined
CloneTax=استنساخ ضريبة اجتماعية / مالية
ConfirmCloneTax=تأكيد استنساخ ل/ دفع الضرائب المالية الاجتماعي
CloneTaxForNextMonth=استنساخ لشهر المقبل
@ -205,3 +208,4 @@ ImportDataset_tax_contrib=الضرائب الاجتماعية / المالية
ImportDataset_tax_vat=Vat payments
ErrorBankAccountNotFound=Error: Bank account not found
FiscalPeriod=Accounting period
ListSocialContributionAssociatedProject=List of social contributions associated with the project

View File

@ -25,7 +25,7 @@ CronDelete=حذف المهام المجدولة
CronConfirmDelete=Are you sure you want to delete these scheduled jobs?
CronExecute=Launch scheduled job
CronConfirmExecute=Are you sure you want to execute these scheduled jobs now?
CronInfo=وحدة مهمة مجدولة تسمح لتنفيذ المهمة التي تم التخطيط لها
CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually.
CronTask=وظيفة
CronNone=بلا
CronDtStart=Not before
@ -57,12 +57,12 @@ CronStatusActiveBtn=تمكين
CronStatusInactiveBtn=يعطل
CronTaskInactive=تم تعطيل هذه الوظائف
CronId=هوية شخصية
CronClassFile=فصول (filename.class.php)
CronModuleHelp=اسم Dolibarr وحدة الدليل (يعمل أيضا مع وحدة Dolibarr الخارجية). <BR> لexemple لجلب طريقة الكائن المنتج Dolibarr / htdocs / <u>المنتج</u> /class/product.class.php، وقيمة الوحدة هي <i>المنتج</i>
CronClassFileHelp=اسم الملف لتحميل. <BR> لexemple لجلب طريقة الكائن المنتج Dolibarr / htdocs / المنتج / فئة / <u>product.class.php،</u> وقيمة اسم ملف فئة هي <i>product.class.php</i>
CronObjectHelp=اسم الكائن لتحميل. <BR> لexemple لجلب طريقة Dolibarr /htdocs/product/class/product.class.php الكائن المنتج، وقيمة اسم ملف فئة هي <i>المنتج</i>
CronMethodHelp=طريقة كائن لإطلاق. <BR> لexemple لجلب طريقة Dolibarr /htdocs/product/class/product.class.php الكائن المنتج، وقيمة الأسلوب هو <i>fecth</i>
CronArgsHelp=الحجج الأسلوب. <BR> لexemple لجلب طريقة Dolibarr /htdocs/product/class/product.class.php الكائن المنتج، وقيمة paramters يمكن أن يكون <i>0، ProductRef</i>
CronClassFile=Filename with class
CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module). <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/<u>product</u>/class/product.class.php, the value for module is <i>product</i>
CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory). <BR> For exemple to call the fetch method of Dolibarr Product object htdocs/product/class/<u>product.class.php</u>, the value for class file name is <i>product/class/product.class.php</i>
CronObjectHelp=The object name to load. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is <i>Product</i>
CronMethodHelp=The object method to launch. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is <i>fecth</i>
CronArgsHelp=The method arguments. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be <i>0, ProductRef</i>
CronCommandHelp=سطر الأوامر لتنفيذ النظام.
CronCreateJob=إنشاء مهمة مجدولة جديدة
CronFrom=من عند
@ -76,4 +76,4 @@ UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled job
JobDisabled=تعطيل وظيفة
MakeLocalDatabaseDumpShort=Local database backup
MakeLocalDatabaseDump=Create a local database dump
WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of active jobs, your jobs may be delayed to a maximum of %s hours before being run.
WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run.

View File

@ -18,6 +18,8 @@ ErrorFailToCreateFile=فشل إنشاء الملف <b>'٪ ق.</b>
ErrorFailToRenameDir=فشل إعادة تسمية الدليل <b>'٪ ق'</b> الى <b>'٪ ق.</b>
ErrorFailToCreateDir=فشل إنشاء الدليل <b>'٪ ق.</b>
ErrorFailToDeleteDir=فشل حذف الدليل <b>'٪ ق.</b>
ErrorFailToMakeReplacementInto=Failed to make replacement into file '<b>%s</b>'.
ErrorFailToGenerateFile=Failed to generate file '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=هذا الاتصال هو اتصال بالفعل تعريف لهذا النوع.
ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط.
ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة.
@ -42,6 +44,7 @@ ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=العثور على بريد إلكتروني صحيح لتركيب خطوط ق ٪ في ملف (على سبيل المثال خط ٪ ق= ٪ مع البريد الإلكتروني)
ErrorUserCannotBeDelete=User cannot be deleted. May be it is associated to Dolibarr entities.
ErrorFieldsRequired=تتطلب بعض المجالات لم تملأ.
ErrorSubjectIsRequired=The email topic is required
ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة).
ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم
ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض.
@ -114,7 +117,7 @@ ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير ال
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
ErrUnzipFails=فشل بفك٪ الصورة مع ZipArchive
ErrNoZipEngine=لا المحرك لبفك الصورة ملف٪ في هذا PHP
ErrNoZipEngine=No engine to zip/unzip %s file in this PHP
ErrorFileMustBeADolibarrPackage=يجب أن يكون الملف٪ s حزمة البريدي Dolibarr
ErrorModuleFileRequired=You must select a Dolibarr module package file
ErrorPhpCurlNotInstalled=وPHP الضفيرة لم يتم تثبيت، وهذا أمر ضروري لاجراء محادثات مع باي بال
@ -165,6 +168,7 @@ ErrorGlobalVariableUpdater5=لا متغير عمومي مختارة
ErrorFieldMustBeANumeric=يجب أن يكون <b>حقل٪ الصورة</b> قيمة رقمية
ErrorMandatoryParametersNotProvided=معيار إلزامي (ق) لم تقدم
ErrorOppStatusRequiredIfAmount=قمت بتعيين المبلغ المقدر لهذه الفرصة / الرصاص. لذلك يجب عليك أيضا إدخال مكانتها
ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
ErrorSavingChanges=وقد ocurred لخطأ عند حفظ التغييرات
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
@ -177,13 +181,19 @@ ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enough for product %s t
ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enough for product %s to add it into a new proposal.
ErrorFailedToLoadLoginFileForMode=Failed to get the login key for mode '%s'.
ErrorModuleNotFound=File of module was not found.
ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source bank line %s
ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source line id %s (%s)
ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s)
ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s)
ErrorBankStatementNameMustFollowRegex=Error, bank statement name must follow the following syntax rule %s
ErrorPhpMailDelivery=Check that you don't use a too high number of recipients and that your email content is not similar to a Spam. Ask also your administrator to check firewall and server logs files for a more complete information.
ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed.
ErrorTaskAlreadyAssigned=Task already assigned to user
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
ErrorNoWarehouseDefined=Error, no warehouses defined.
ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid.
ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped.
# Warnings
WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
@ -204,3 +214,4 @@ WarningPaymentDateLowerThanInvoiceDate=تاريخ الدفع (٪ ق) هو أقد
WarningTooManyDataPleaseUseMoreFilters=عدد كبير جدا من البيانات (أكثر من خطوط%s). يرجى استخدام المزيد من المرشحات أو تعيين ثابت٪ الصورة إلى حد أعلى.
WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent.
WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action.
WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language

View File

@ -43,7 +43,7 @@ ErrorConstantNotDefined=المعلمة٪ S غير معرف
ErrorUnknown=خطأ غير معروف
ErrorSQL=خطأ SQL
ErrorLogoFileNotFound=لم يتم العثور على ملف شعار '٪ ق'
ErrorGoToGlobalSetup=اذهب إلى 'شركة / مؤسسة' الإعداد لإصلاح هذه
ErrorGoToGlobalSetup=Go to 'Company/Organisation' setup to fix this
ErrorGoToModuleSetup=الذهاب إلى الوحدة الإعداد لإصلاح هذه
ErrorFailedToSendMail=فشل في إرسال البريد (المرسل =٪ ق، استقبال =٪ ق)
ErrorFileNotUploaded=ويتم تحميل الملف. تحقق لا يتجاوز هذا الحجم الأقصى المسموح به، أن المساحة الحرة المتوفرة على القرص والتي لا يوجد بالفعل ملف بنفس الاسم في هذا الدليل.
@ -153,6 +153,7 @@ Edit=تحرير
Validate=التحقق من صحة
ValidateAndApprove=التحقق من صحة والموافقة
ToValidate=للتحقق من صحة
NotValidated=Not validated
Save=حفظ
SaveAs=حفظ باسم
TestConnection=اختبار الاتصال
@ -222,6 +223,7 @@ NoLogoutProcessWithAuthMode=أي ميزة قطع تطبيقية مع وضع <b>
Connection=الاتصال
Setup=التثبيت
Alert=إنذار
MenuWarnings=تنبيهات
Previous=سابق
Next=التالى
Cards=بطاقات
@ -308,6 +310,7 @@ Copy=نسخ
Paste=لصق
Default=افتراضي
DefaultValue=القيمة الافتراضية
DefaultValues=Default values
Price=السعر
UnitPrice=سعر الوحدة
UnitPriceHT=سعر الوحدة (صافي)
@ -363,7 +366,8 @@ VATRate=معدل الضريبة
Average=متوسط
Sum=مجموع
Delta=دلتا
Module=وحدة
Module=Module/Application
Modules=Modules/Applications
Option=خيار
List=قائمة
FullList=القائمة الكاملة
@ -387,7 +391,7 @@ ActionRunningNotStarted=لبدء
ActionRunningShort=In progress
ActionDoneShort=تم الانتهاء من
ActionUncomplete=Uncomplete
CompanyFoundation=شركة / مؤسسة
CompanyFoundation=Company/Organisation
ContactsForCompany=اتصالات لهذا الطرف الثالث
ContactsAddressesForCompany=اتصالات / عناوين لهذا الطرف الثالث
AddressesForCompany=عناوين لهذا الطرف الثالث
@ -405,8 +409,9 @@ Generate=توليد
Duration=المدة الزمنية
TotalDuration=المدة الإجمالية
Summary=ملخص
DolibarrStateBoard=إحصائيات
DolibarrWorkBoard=مهام العمل متنها
DolibarrStateBoard=Database statistics
DolibarrWorkBoard=Open items dashboard
NoOpenedElementToProcess=No opened element to process
Available=متاح
NotYetAvailable=لم تتوفر بعد
NotAvailable=غير متوفر
@ -434,7 +439,7 @@ Reportings=التقارير
Draft=مسودة
Drafts=الداما
Validated=التحقق من صحة
Opened=Opened
Opened=فتح
New=جديد
Discount=تخفيض السعر
Unknown=غير معروف
@ -453,6 +458,7 @@ NextStep=الخطوة التالية
Datas=البيانات
None=لا شيء
NoneF=لا شيء
NoneOrSeveral=None or several
Late=متأخر
LateDesc=Delay to define if a record is late or not depends on your setup. Ask your admin to change delay from menu Home - Setup - Alerts.
Photo=صورة
@ -606,7 +612,8 @@ PartialWoman=جزئي
TotalWoman=المجموع
NeverReceived=لم يتلق
Canceled=ألغى
YouCanChangeValuesForThisListFromDictionarySetup=يمكنك تغيير قيم هذه القائمة من إعداد القائمة - القاموس
YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries
YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s
YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record into module setup
Color=لون
Documents=ربط الملفات
@ -642,6 +649,7 @@ FreeLineOfType=دخول مجاني من نوع
CloneMainAttributes=استنساخ وجوه مع السمات الرئيسية
PDFMerge=دمج الشعبي
Merge=دمج
DocumentModelStandardPDF=Standard PDF template
PrintContentArea=وتظهر الصفحة الرئيسية لطباعة ناحية المحتوى
MenuManager=مدير القائمة
WarningYouAreInMaintenanceMode=انذار ، كنت في وضع الصيانة ، <b>%s</b> الدخول فقط بحيث يتم السماح لاستخدام التطبيق في الوقت الراهن.
@ -708,6 +716,7 @@ from=من عند
toward=نحو
Access=وصول
SelectAction=حدد العمل
SelectTargetUser=Select target user/employee
HelpCopyToClipboard=استخدم Ctrl + C لنسخ إلى الحافظة
SaveUploadedFileWithMask=حفظ الملف على الخادم مع اسم <strong>"%s"</strong> (otherwise "%s")
OriginFileName=اسم الملف الأصلي
@ -718,7 +727,7 @@ ViewPrivateNote=عرض الملاحظات
XMoreLines=٪ ق خط (ق) مخبأة
PublicUrl=URL العام
AddBox=إضافة مربع
SelectElementAndClickRefresh=حدد عنصر وانقر فوق تحديث
SelectElementAndClick=Select an element and click %s
PrintFile=طباعة ملف٪ الصورة
ShowTransaction=Show entry on bank account
GoIntoSetupToChangeLogo=اذهب إلى الصفحة الرئيسية - إعداد - شركة لتغيير شعار أو الذهاب إلى الصفحة الرئيسية - إعداد - عرض للاختباء.
@ -734,8 +743,8 @@ Hello=أهلا
Sincerely=بإخلاص
DeleteLine=حذف الخط
ConfirmDeleteLine=Are you sure you want to delete this line?
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked records
TooManyRecordForMassAction=Too many record selected for mass action. The action is restricted to a list of %s records.
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record
TooManyRecordForMassAction=Too many record selected for mass action. The action is restricted to a list of %s record.
NoRecordSelected=No record selected
MassFilesArea=Area for files built by mass actions
ShowTempMassFilesArea=Show area of files built by mass actions
@ -755,11 +764,20 @@ Calendar=التقويم
GroupBy=Group by...
ViewFlatList=View flat list
RemoveString=Remove string '%s'
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="https://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="https://transifex.com/projects/p/dolibarr/" target="_blank">https://transifex.com/projects/p/dolibarr/</a>.
DirectDownloadLink=Direct download link
Download=Download
ActualizeCurrency=Update currency rate
Fiscalyear=السنة المالية
ModuleBuilder=Module Builder
SetMultiCurrencyCode=Set currency
BulkActions=Bulk actions
ClickToShowHelp=Click to show tooltip help
HR=HR
HRAndBank=HR and Bank
AutomaticallyCalculated=Automatically calculated
TitleSetToDraft=Go back to draft
ConfirmSetToDraft=Are you sure you want to go back to Draft status ?
# Week day
Monday=يوم الاثنين
Tuesday=الثلاثاء
@ -817,5 +835,3 @@ SearchIntoContracts=عقود
SearchIntoCustomerShipments=Customer shipments
SearchIntoExpenseReports=تقارير المصاريف
SearchIntoLeaves=أوراق
BulkActions=Bulk actions

View File

@ -9,6 +9,19 @@ BirthdayDate=Birthday date
DateToBirth=تاريخ الميلاد
BirthdayAlertOn=عيد ميلاد النشطة في حالة تأهب
BirthdayAlertOff=عيد الميلاد فى حالة تأهب الخاملة
TransKey=Translation of the key TransKey
MonthOfInvoice=Month (number 1-12) of invoice date
TextMonthOfInvoice=Month (tex) of invoice date
PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
TextPreviousMonthOfInvoice=Previous month (text) of invoice date
NextMonthOfInvoice=Following month (number 1-12) of invoice date
TextNextMonthOfInvoice=Following month (text) of invoice date
ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
YearOfInvoice=Year of invoice date
PreviousYearOfInvoice=Previous year of invoice date
NextYearOfInvoice=Following year of invoice date
Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention
Notify_FICHINTER_VALIDATE=تدخل المصادق
Notify_FICHINTER_SENTBYMAIL=تدخل ترسل عن طريق البريد
@ -61,13 +74,14 @@ PredefinedMailTestHtml=هذا هو البريد <b>الاختبار</b> (الا
PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ سوف تجد هنا الفاتورة __REF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ نود أن نحذر لكم أن __REF__ فاتورة يبدو أن لا يتم سيولي. لذلك هذا هو الفاتورة في المرفق مرة أخرى، بمثابة تذكير. __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendProposal=__CONTACTCIVNAME__ سوف تجد هنا اقتراح التجاري __PROPREF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendSupplierProposal=__CONTACTCIVNAME__ سوف تجد هنا طلب السعر __ASKREF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendSupplierProposal=__CONTACTCIVNAME__\n\nYou will find here the price request __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendOrder=__CONTACTCIVNAME__ سوف تجد هنا ترتيب __ORDERREF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ سوف تجد هنا نظامنا __ORDERREF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ سوف تجد هنا الفاتورة __REF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendShipping=__CONTACTCIVNAME__ سوف تجد هنا الشحن __SHIPPINGREF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ سوف تجد هنا تدخل __FICHINTERREF__ __PERSONALIZED__Sincerely __SIGNATURE__
PredefinedMailContentThirdparty=__CONTACTCIVNAME__ __PERSONALIZED__ __SIGNATURE__
PredefinedMailContentUser=aa__PERSONALIZED__\n\n__SIGNATURE__
DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available.
ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
@ -146,20 +160,20 @@ AuthenticationDoesNotAllowSendNewPassword=Authentication mode is <b>%s</b>.<br /
EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option.
ProfIdShortDesc=<b>الأستاذ عيد ٪ ق</b> هي المعلومات التي تعتمد على طرف ثالث. <br> على سبيل المثال ، لبلد <b>ق ٪</b> انها رمز <b>٪ ق.</b>
DolibarrDemo=Dolibarr تخطيط موارد المؤسسات وإدارة علاقات العملاء التجريبي
StatsByNumberOfUnits=إحصاءات في عدد من المنتجات / الخدمات وحدات
StatsByNumberOfEntities=إحصاءات في عدد من الكيانات في اشارة
NumberOfProposals=Number of proposals in past 12 months
NumberOfCustomerOrders=Number of customer orders in past 12 months
NumberOfCustomerInvoices=Number of customer invoices in past 12 months
NumberOfSupplierProposals=Number of supplier proposals in past 12 months
NumberOfSupplierOrders=Number of supplier orders in past 12 months
NumberOfSupplierInvoices=Number of supplier invoices in past 12 months
NumberOfUnitsProposals=Number of units on proposals in past 12 months
NumberOfUnitsCustomerOrders=Number of units on customer orders in past 12 months
NumberOfUnitsCustomerInvoices=Number of units on customer invoices in past 12 months
NumberOfUnitsSupplierProposals=Number of units on supplier proposals in past 12 months
NumberOfUnitsSupplierOrders=Number of units on supplier orders in past 12 months
NumberOfUnitsSupplierInvoices=Number of units on supplier invoices in past 12 months
StatsByNumberOfUnits=Statistics for sum of qty of products/services
StatsByNumberOfEntities=Statistics in number of referring entities (nb of invoice, or order...)
NumberOfProposals=Number of proposals
NumberOfCustomerOrders=Number of customer orders
NumberOfCustomerInvoices=Number of customer invoices
NumberOfSupplierProposals=Number of supplier proposals
NumberOfSupplierOrders=Number of supplier orders
NumberOfSupplierInvoices=Number of supplier invoices
NumberOfUnitsProposals=Number of units on proposals
NumberOfUnitsCustomerOrders=Number of units on customer orders
NumberOfUnitsCustomerInvoices=Number of units on customer invoices
NumberOfUnitsSupplierProposals=Number of units on supplier proposals
NumberOfUnitsSupplierOrders=Number of units on supplier orders
NumberOfUnitsSupplierInvoices=Number of units on supplier invoices
EMailTextInterventionAddedContact=A newintervention %s has been assigned to you.
EMailTextInterventionValidated=التدخل ٪ ق المصادق
EMailTextInvoiceValidated=فاتورة ٪ ق المصادق

View File

@ -9,6 +9,9 @@ ProjectsArea=Projects Area
ProjectStatus=حالة المشروع
SharedProject=مشاريع مشتركة
PrivateProject=مشروع اتصالات
ProjectsImContactFor=Projects I'm explicitely a contact of
AllAllowedProjects=All project I can read (mine + public)
AllProjects=جميع المشاريع
MyProjectsDesc=ويقتصر هذا الرأي على المشاريع التي تقوم على الاتصال (كل ما هو نوع).
ProjectsPublicDesc=هذا الرأي يعرض جميع المشاريع ويسمح لك قراءة.
TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read.
@ -23,20 +26,22 @@ TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task assigned to you. Assign task to yourself if you need to enter time on it.
OnlyYourTaskAreVisible=Only tasks assigned to you are visible. Assign task to yourself if it is not visible and you need to enter time on it.
ImportDatasetTasks=Tasks of projects
ProjectCategories=Project tags/categories
NewProject=مشروع جديد
AddProject=إنشاء مشروع
DeleteAProject=حذف مشروع
DeleteATask=حذف مهمة
ConfirmDeleteAProject=Are you sure you want to delete this project?
ConfirmDeleteATask=Are you sure you want to delete this task?
OpenedProjects=مشاريع فتح
OpenedTasks=Opened tasks
OpportunitiesStatusForOpenedProjects=فرص كمية من المشاريع فتحت حسب الحالة
OpenedProjects=Open projects
OpenedTasks=Open tasks
OpportunitiesStatusForOpenedProjects=Opportunities amount of open projects by status
OpportunitiesStatusForProjects=Opportunities amount of projects by status
ShowProject=وتبين للمشروع
SetProject=وضع المشروع
NoProject=لا يعرف أو المملوكة للمشروع
NbOfProjects=ملاحظة : للمشاريع
NbOfTasks=Nb of tasks
TimeSpent=الوقت الذي تستغرقه
TimeSpentByYou=الوقت الذي يقضيه من قبلك
TimeSpentByUser=الوقت الذي يقضيه المستخدم
@ -47,9 +52,9 @@ TaskTimeSpent=الوقت المستغرق في المهام
TaskTimeUser=المستعمل
TaskTimeNote=ملاحظة
TaskTimeDate=Date
TasksOnOpenedProject=Tasks on opened projects
TasksOnOpenedProject=المهام على المشاريع المفتوحة
WorkloadNotDefined=عبء العمل غير محددة
NewTimeSpent=جديد الوقت الذي يقضيه
NewTimeSpent=قضى وقتا
MyTimeSpent=وقتي قضى
Tasks=المهام
Task=مهمة
@ -59,6 +64,7 @@ TaskDescription=وصف المهمة
NewTask=مهمة جديدة
AddTask=إنشاء مهمة
AddTimeSpent=Create time spent
AddHereTimeSpentForDay=Add here time spent for this day/task
Activity=النشاط
Activities=المهام والأنشطة
MyActivities=بلدي المهام والأنشطة
@ -78,6 +84,7 @@ ListPredefinedInvoicesAssociatedProject=List of customer template invoices assoc
ListSupplierOrdersAssociatedProject=List of supplier orders associated with the project
ListSupplierInvoicesAssociatedProject=List of supplier invoices associated with the project
ListContractAssociatedProject=قائمة العقود المرتبطة بالمشروع.
ListShippingAssociatedProject=List of shippings associated with the project
ListFichinterAssociatedProject=قائمة التدخلات المرتبطة بالمشروع
ListExpenseReportsAssociatedProject=قائمة تقارير المصاريف المرتبطة بالمشروع
ListDonationsAssociatedProject=قائمة التبرعات المرتبطة بالمشروع
@ -102,6 +109,7 @@ ConfirmReOpenAProject=Are you sure you want to re-open this project?
ProjectContact=مشروع اتصالات
ActionsOnProject=الإجراءات على المشروع
YouAreNotContactOfProject=كنت لا اتصال لهذا المشروع الخاص
UserIsNotContactOfProject=User is not a contact of this private project
DeleteATimeSpent=قضى الوقت حذف
ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent?
DoNotShowMyTasksOnly=انظر أيضا المهام الغير موكلة الي
@ -110,7 +118,7 @@ TaskRessourceLinks=مصادر
ProjectsDedicatedToThisThirdParty=مشاريع مخصصة لهذا الطرف الثالث
NoTasks=أية مهام لهذا المشروع
LinkedToAnotherCompany=ربط طرف ثالث آخر
TaskIsNotAffectedToYou=مهمة غيرموكلة اليك
TaskIsNotAssignedToUser=Task not assigned to user. Use button '<strong>%s</strong>' to assign task now.
ErrorTimeSpentIsEmpty=الوقت الذي يقضيه فارغة
ThisWillAlsoRemoveTasks=وهذا العمل أيضا حذف كافة مهام المشروع <b>(%s</b> المهام في الوقت الحاضر) وجميع المدخلات من الوقت الذي تستغرقه.
IfNeedToUseOhterObjectKeepEmpty=إذا كانت بعض الكائنات (فاتورة، والنظام، ...)، الذين ينتمون إلى طرف ثالث آخر، يجب أن تكون مرتبطة بمشروع لإنشاء، والحفاظ على هذا فارغة لديها مشروع كونها متعددة الأطراف الثالثة.
@ -161,27 +169,32 @@ FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time
InputPerDay=إدخال يوميا
InputPerWeek=مساهمة في الأسبوع
InputPerAction=مساهمة في عمل
TimeAlreadyRecorded=الوقت الذي يقضيه سجلت بالفعل لهذه المهمة / يوم والمستخدم٪ الصورة
TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s
ProjectsWithThisUserAsContact=مشاريع مع هذا العضو عن الاتصال
TasksWithThisUserAsContact=المهام الموكلة إلى هذا المستخدم
ResourceNotAssignedToProject=لم يتم تعيين إلى المشروع
ResourceNotAssignedToTheTask=Not assigned to the task
TasksAssignedTo=Tasks assigned to
AssignTaskToMe=تعيين مهمة بالنسبة لي
AssignTaskToUser=Assign task to %s
SelectTaskToAssign=Select task to assign...
AssignTask=عين
ProjectOverview=نظرة عامة
ManageTasks=استخدام المشاريع لمتابعة المهام والوقت
ManageOpportunitiesStatus=استخدام مشاريع متابعة القرائن / opportinuties
ProjectNbProjectByMonth=ملحوظة من المشاريع التي تم إنشاؤها من قبل شهر
ProjectNbTaskByMonth=Nb of created tasks by month
ProjectOppAmountOfProjectsByMonth=كمية الفرص الشهر
ProjectWeightedOppAmountOfProjectsByMonth=كمية المرجح الفرص من قبل شهر
ProjectOpenedProjectByOppStatus=Open project/lead by opportunity status
ProjectsStatistics=إحصاءات عن المشاريع / يؤدي
TasksStatistics=Statistics on project/lead tasks
TaskAssignedToEnterTime=المهمة الموكلة. يجب دخول الوقت على هذه المهمة يكون ممكنا.
IdTaskTime=الوقت مهمة معرف
YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. But best practice may be to add a dedicated field, also called complementary attributes.
OpenedProjectsByThirdparties=مشاريع افتتحه thirdparties
OpenedProjectsByThirdparties=Open projects by third parties
OnlyOpportunitiesShort=Only opportunities
OpenedOpportunitiesShort=Opened opportunities
OpenedOpportunitiesShort=Open opportunities
NotAnOpportunityShort=Not an opportunity
OpportunityTotalAmount=فرص المبلغ الإجمالي
OpportunityPonderatedAmount=كمية الفرص المرجحة

View File

@ -26,27 +26,31 @@ InvoiceLabel=Invoice label
OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to accounting account
OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to accounting account
OtherInfo=Other information
DeleteCptCategory=Remove accounting account from group
ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group ?
AccountancyArea=Accountancy area
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step:
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year...
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making thee journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making the journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies...
AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s
AccountancyAreaDescChartModel=STEP %s: Create a model of chart of account from menu %s
AccountancyAreaDescChart=STEP %s: Create or check content of your chart of account from menu %s
AccountancyAreaDescBank=STEP %s: Check the binding between bank accounts and accounting account is done. Complete missing bindings. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescVat=STEP %s: Check the binding between vat rates and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescExpenseReport=STEP %s: Check the binding between type of expense report and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescSal=STEP %s: Check the binding between salaries payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Check the binding between special expences (miscellaneous taxes) and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Check the binding between donation and accounting account is done. Complete missing bindings. You can set the account dedicated for that from the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Check the default binding between miscellaneous transaction lines and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescProd=STEP %s: Check the binding between products/services and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Check the binding between loans payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescCustomer=STEP %s: Check the binding between existing customer invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescSupplier=STEP %s: Check the binding between existing supplier invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the General Ledger. For this, go into each Journal, and click into button "Journalize transactions in General Ledger".
AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s.
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s.
AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expences (miscellaneous taxes). For this, use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Define default accounting accounts for miscellaneous transactions. For this, use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s.
AccountancyAreaDescBank=STEP %s: Define accounting accounts for each bank and financial accounts. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s.
AccountancyAreaDescBind=STEP %s: Check the binding between existing %s lines and accounting account is done, so application will be able to journalize transactions in Ledger in one click. Complete missing bindings. For this, use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu <strong>%s</strong>, and click into button <strong>%s</strong>.
AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports.
AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future.
@ -57,6 +61,10 @@ ChangeAndLoad=Change and load
Addanaccount=Add an accounting account
AccountAccounting=Accounting account
AccountAccountingShort=Сметка
SubledgerAccount=Subledger Account
subledger_account=Subledger Account
ShowAccountingAccount=Show accounting account
ShowAccountingJournal=Show accounting journal
AccountAccountingSuggest=Accounting account suggested
MenuDefaultAccounts=Default accounts
MenuVatAccounts=Vat accounts
@ -71,8 +79,8 @@ SuppliersVentilation=Supplier invoice binding
ExpenseReportsVentilation=Expense report binding
CreateMvts=Create new transaction
UpdateMvts=Modification of a transaction
WriteBookKeeping=Journalize transactions in General Ledger
Bookkeeping=General ledger
WriteBookKeeping=Journalize transactions in Ledger
Bookkeeping=Ledger
AccountBalance=Account balance
CAHTF=Total purchase supplier before tax
@ -103,9 +111,9 @@ ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding don
ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts
ACCOUNTING_MANAGE_ZERO=Manage the zero at the end of an accounting account. Needed by some countries. Disabled by default. If set to on, you must also set the 2 following parameters (or it is ignored)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts (If you set value to 6 here, the account '706' will appear like '706000' on screen)
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen)
ACCOUNTING_MANAGE_ZERO=Allow to manage different number of zero at the end of an accounting account. Needed by some countries (like switzerland). If keep to off (default), you can set the 2 following parameters to ask application to add virtual zero.
BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account
ACCOUNTING_SELL_JOURNAL=Sell journal
@ -132,19 +140,19 @@ Sens=Sens
Codejournal=Дневник
NumPiece=Номер на част
TransactionNumShort=Num. transaction
AccountingCategory=Accounting category
AccountingCategory=Accounting account groups
GroupByAccountAccounting=Group by accounting account
NotMatch=Not Set
DeleteMvt=Delete general ledger lines
DeleteMvt=Delete Ledger lines
DelYear=Year to delete
DelJournal=Journal to delete
ConfirmDeleteMvt=This will delete all lines of the general ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the general ledger
DelBookKeeping=Delete record of the general ledger
ConfirmDeleteMvt=This will delete all lines of the Ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the Ledger
DelBookKeeping=Delete record of the Ledger
FinanceJournal=Finance journal
ExpenseReportsJournal=Expense reports journal
DescFinanceJournal=Finance journal including all the types of payments by bank account
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the General Ledger.
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the Ledger.
VATAccountNotDefined=Account for VAT not defined
ThirdpartyAccountNotDefined=Account for third party not defined
ProductAccountNotDefined=Account for product not defined
@ -156,13 +164,13 @@ NewAccountingMvt=New transaction
NumMvts=Numero of transaction
ListeMvts=List of movements
ErrorDebitCredit=Debit and Credit cannot have a value at the same time
AddCompteFromBK=Add accounting accounts to the group
ReportThirdParty=List third party account
DescThirdPartyReport=Consult here the list of the third party customers and suppliers and their accounting accounts
ListAccounts=List of the accounting accounts
Pcgtype=Class of account
Pcgsubtype=Under class of account
Pcgsubtype=Subclass of account
TotalVente=Total turnover before tax
TotalMarge=Total sales margin
@ -186,9 +194,9 @@ AutomaticBindingDone=Automatic binding done
ErrorAccountancyCodeIsAlreadyUse=Възникна грешка, вие не можете да изтриете тази счетоводна сметка, защото се използва.
MvtNotCorrectlyBalanced=Mouvement not correctly balanced. Credit = %s. Debit = %s
FicheVentilation=Binding card
GeneralLedgerIsWritten=Transactions are written in the general ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be recorded.
NoNewRecordSaved=No new record saved
GeneralLedgerIsWritten=Transactions are written in the Ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be dispatched. If there is no other error message, this is probably because they were already dispatched.
NoNewRecordSaved=No new record dispatched
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account
ChangeBinding=Change the binding
@ -196,6 +204,18 @@ ChangeBinding=Change the binding
ApplyMassCategories=Apply mass categories
AddAccountFromBookKeepingWithNoCategories=Add acccount already used with no categories
CategoryDeleted=Category for the accounting account has been removed
AccountingJournals=Accounting journals
AccountingJournal=Accounting journal
NewAccountingJournal=New accounting journal
ShowAccoutingJournal=Show accounting journal
Code=Код
Nature=Същност
AccountingJournalType1=Various operation
AccountingJournalType2=Sales
AccountingJournalType3=Purchases
AccountingJournalType4=Банка
AccountingJournalType9=Has-new
ErrorAccountingJournalIsAlreadyUse=This journal is already use
## Export
Exports=Exports
@ -211,6 +231,7 @@ Modelcsv_ciel=Export towards Sage Ciel Compta or Compta Evolution
Modelcsv_quadratus=Export towards Quadratus QuadraCompta
Modelcsv_ebp=Export towards EBP
Modelcsv_cogilog=Export towards Cogilog
Modelcsv_agiris=Export towards Agiris (Test)
ChartofaccountsId=Chart of accounts Id
## Tools - Init accounting account on product / service
@ -235,11 +256,12 @@ Calculated=Calculated
Formula=Formula
## Error
ErrorNoAccountingCategoryForThisCountry=No accounting category available for country %s (See Home - Setup - Dictionaries)
SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them
ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries)
ExportNotSupported=The export format setuped is not supported into this page
BookeppingLineAlreayExists=Lines already existing into bookeeping
NoJournalDefined=No journal defined
Binded=Lines bound
ToBind=Lines to bind
WarningReportNotReliable=Warning, this report is not based on the General Ledger, so is not reliable yet. It will be replaced by a correct report in a next version.
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manualy in the Ledger. It will be replaced by a more complete report in a next version.

View File

@ -48,6 +48,7 @@ InternalUsers=Вътрешни потребители
ExternalUsers=Външни потребители
GUISetup=Екран
SetupArea=Настройки
UploadNewTemplate=Upload new template(s)
FormToTestFileUploadForm=Форма за тестване качване на файлове (за настройка)
IfModuleEnabled=Забележка: Ефективно е само ако модула <b>%s</b> е активиран
RemoveLock=Премахнете файла <b>%s</b> ако съществува, за да се позволи използването на инструмента за актуализация.
@ -85,7 +86,7 @@ Mask=Маска
NextValue=Следваща стойност
NextValueForInvoices=Следваща стойност (фактури)
NextValueForCreditNotes=Следваща стойност (кредитни известия)
NextValueForDeposit=Next value (deposit)
NextValueForDeposit=Next value (down payment)
NextValueForReplacements=Next value (replacements)
MustBeLowerThanPHPLimit=Забележка: PHP ограничава размера на всяко качване на файлове на <b>%s</b> %s, независимо от стойността на този параметър е
NoMaxSizeByPHPLimit=Забележка: Не срокът се определя в конфигурацията на вашия PHP
@ -103,7 +104,7 @@ MenuIdParent=ID майка меню
DetailMenuIdParent=ID на основното меню (0 за горното меню)
DetailPosition=Брой Сортиране, за да определи позицията на менюто
AllMenus=Всички
NotConfigured=Модула не е конфигуриран
NotConfigured=Module/Application not configured
Active=Активен
SetupShort=Настройки
OtherOptions=Други опции
@ -113,7 +114,6 @@ CurrentValueSeparatorThousand=Thousand сепаратор
Destination=Destination
IdModule=Module ID
IdPermissions=Permissions ID
Modules=Модули
LanguageBrowserParameter=Параметър %s
LocalisationDolibarrParameters=Локализация параметри
ClientTZ=Часова зона на клиента (потребител)
@ -123,7 +123,8 @@ PHPTZ=Часова зона на PHP Сървъра
DaylingSavingTime=Лятното часово време
CurrentHour=Час на PHP (сървър)
CurrentSessionTimeOut=Продължителност на текущата сесия
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris"
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htaccess with a line like this "SetEnv TZ Europe/Paris"
HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but for the timezone of the server.
Box=Widget
Boxes=Widgets
MaxNbOfLinesForBoxes=Max number of lines for widgets
@ -189,7 +190,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions
Rights=Права
BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it.
OnlyActiveElementsAreShown=Показани са само елементи от <a href="%s">активирани модули</a>.
ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off to enable a module/feature.
ModulesDesc=Dolibarr modules define which application/feature is enabled in software. Some application/modules require permissions you must grant to users, after activating it. Click on button on/off to enable a module/application.
ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet...
ModulesDeployDesc=If permissions on your file system allows it, you can use this tool to deploy an external module. The module wil then be visible on the tab <strong>%s</strong>.
ModulesMarketPlaces=Find external modules...
@ -213,7 +214,7 @@ MainDbPasswordFileConfEncrypted=Парола за базата данни, ко
InstrucToEncodePass=To have password encoded into the <b>conf.php</b> file, replace the line <br><b>$dolibarr_main_db_pass="...";</b><br>by<br><b>$dolibarr_main_db_pass="crypted:%s";</b>
InstrucToClearPass=To have password decoded (clear) into the <b>conf.php</b> file, replace the line <br><b>$dolibarr_main_db_pass="crypted:...";</b><br>by<br><b>$dolibarr_main_db_pass="%s";</b>
ProtectAndEncryptPdfFiles=Защита на генерираните PDF файлове (активиран не се препоръчва, почивки поколение на маса PDF)
ProtectAndEncryptPdfFilesDesc=Защита на PDF документ продължава да прочетете и отпечатате с всеки PDF браузър. Въпреки това, редактиране и копиране не е възможно повече. Имайте предвид, че използването на тази функция изграждането на глобална сборен PDF не работи (като неплатени фактури).
ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working.
Feature=Особеност
DolibarrLicense=Лиценз
Developpers=Разработчици/сътрудници
@ -224,7 +225,9 @@ OfficialDemo=Dolibarr онлайн демо
OfficialMarketPlace=Официален магазин за външни модули/добавки
OfficialWebHostingService=Препоръчителен уеб хостинг услуги (хостинг в интернет облак)
ReferencedPreferredPartners=Preferred Partners
OtherResources=Autres ressources
OtherResources=Other resources
ExternalResources=External resources
SocialNetworks=Social Networks
ForDocumentationSeeWiki=Документация за потребител или разработчик (Doc, често задавани въпроси ...), <br> можете да намерите в Dolibarr Wiki: <br> <a href="%s" target="_blank"><b>%s</b></a>
ForAnswersSeeForum=За всякакви други въпроси / Помощ, можете да използвате форума Dolibarr: <br> <a href="%s" target="_blank"><b>%s</b></a>
HelpCenterDesc1=Тази област може да ви помогне да получите помощ и поддръжка за Dolibarr.
@ -267,7 +270,7 @@ FeatureNotAvailableOnLinux=Функцията не е на разположен
SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit your change to www.transifex.com/dolibarr-association/dolibarr/
SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr.
ModuleSetup=Настройки на модул
ModulesSetup=Настройки на модули
ModulesSetup=Modules/Application setup
ModuleFamilyBase=Система
ModuleFamilyCrm=Управление на Връзки с клиенти (CRM)
ModuleFamilySrm=Supplier Relation Management (SRM)
@ -300,14 +303,17 @@ CurrentVersion=Текуща версия на Dolibarr
CallUpdatePage=Go to the page that updates the database structure and data: %s.
LastStableVersion=Latest stable version
LastActivationDate=Latest activation date
LastActivationAuthor=Latest activation author
LastActivationIP=Latest activation IP
UpdateServerOffline=Update server offline
WithCounter=Manage a counter
GenericMaskCodes=Можете да въведете всяка маска за номериране. В тази маска, могат да се използват следните тагове: <br> <b>{000000}</b> съответства на номер, който се увеличава на всеки %s. Влез като много нули като желаната дължина на брояча. Броячът ще бъде завършен с нули от ляво, за да има колкото се може повече нули като маска. <br> <b>{000000 000}</b> същата като предишната, но компенсира, съответстваща на броя на правото на знака + се прилага започва на първи %s. <br> <b>{000000 @}</b> същата като предишната, но броячът се нулира, когато месеца Х е достигнал (Х между 1 и 12, или 0, за да използвате началото на месеца на фискалната година, определени в вашата конфигурация). Ако тази опция се използва и х е 2 или по-висока, тогава последователност {гг} {mm} или {гггг} {mm} също е задължително. <br> <b>{DD}</b> ден (01 до 31). <br> <b>{Mm}</b> месец (01 до 12). <br> <b>{Гг} {гггг}</b> или <b>{Y}</b> година над 2, 4 или 1 брой. <br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.<br>
GenericMaskCodes3=Всички други символи на маската ще останат непокътнати. <br> Интервалите не са разрешени. <br>
GenericMaskCodes4a=<u>Пример за използване на 99 %s на третата страна КОМПАНИЯТА извършва 2007-01-31:</u> <br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany, with date 2007-01-31:</u><br>
GenericMaskCodes4b=<u>Пример за контрагент е създаден на 2007-03-01:</u> <br>
GenericMaskCodes4c=<u>Пример за продукт, създаден на 2007-03-01:</u> <br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> ще даде <b>ABC0701-000099</b> <br> <b>{0000+100@1}-ZZZ/{dd} / XXX</b> ще даде <b>0199-ZZZ/31/XXX</b>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b><br><b>IN{yy}{mm}-{0000}-{t}</b> will give <b>IN0701-0099-A</b> if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI'
GenericNumRefModelDesc=Върнете адаптивни номер според определен маска.
ServerAvailableOnIPOrPort=Сървъра е достъпен на адрес <b>%s</b> , порт <b>%s</b>
ServerNotAvailableOnIPOrPort=Сървъра не е достъпен на адрес <b>%s</b> , порт <b>%s</b>
@ -369,19 +375,21 @@ Int=Цяло число
Float=Десетично число
DateAndTime=Дата и час
Unique=Уникално
Boolean=Логическо (Отметка)
Boolean=Boolean (one checkbox)
ExtrafieldPhone = Телефон
ExtrafieldPrice = Цена
ExtrafieldMail = Имейл
ExtrafieldUrl = Url
ExtrafieldSelect = Избор лист
ExtrafieldSelectList = Избор от таблица
ExtrafieldSeparator=Разделител
ExtrafieldSeparator=Separator (not a field)
ExtrafieldPassword=Парола
ExtrafieldCheckBox=Отметка
ExtrafieldRadio=Радио бутон
ExtrafieldCheckBoxFromList= Checkbox from table
ExtrafieldRadio=Radio buttons (on choice only)
ExtrafieldCheckBox=Checkboxes
ExtrafieldCheckBoxFromList=Checkboxes from table
ExtrafieldLink=Link to an object
ComputedFormula=Computed field
ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: <strong>$db, $conf, $langs, $mysoc, $user, $object</strong>.<br><strong>WARNING</strong>: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.<br>Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.<br><br>Example of formula:<br>$object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)<br><br>Example to reload object<br>(($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1'<br><br>Other example of formula to force load of object and its parent object:<br>(($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found'
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another complementary attribute list :<br>1,value1|options_<i>parent_list_code</i>:parent_key<br>2,value2|options_<i>parent_list_code</i>:parent_key <br><br>In order to have the list depending on another list :<br>1,value1|<i>parent_list_code</i>:parent_key<br>2,value2|<i>parent_list_code</i>:parent_key
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
@ -422,6 +430,20 @@ Use3StepsApproval=By default, Purchase Orders need to be created and approved by
UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than...
WarningPHPMail=WARNING: Some email providers (like Yahoo) does not allow you to send an email from another server than the Yahoo server if the email address used as a sender is your Yahoo email (like myemail@yahoo.com, myemail@yahoo.fr, ...). Your current setup use the server of the application to send email, so some recipients (the one compatible with the restrictive DMARC protocol), will ask Yahoo if they can accept your email and Yahoo will respond "no" because the server is not a server owned by Yahoo, so few of your sent Emails may not be accepted.<br>If your Email provider (like Yahoo) has this restriction, you must change Email setup to choose the other method "SMTP server" and enter the SMTP server and credentials provided by your Email provider (ask your EMail provider to get SMTP credentials for your account).
ClickToShowDescription=Click to show description
DependsOn=This module need the module(s)
RequiredBy=This module is required by module(s)
TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. This need to have technical knowledges to read the content of the HTML page to get the key name of a field.
PageUrlForDefaultValues=You must enter here the relative url of the page. If you include parameters in URL, the default values will be effective if all parameters are set to same value. Examples:
PageUrlForDefaultValuesCreate=<br>For form to create a new thirdparty, it is <strong>%s</strong>
PageUrlForDefaultValuesList=<br>For page that list thirdparties, it is <strong>%s</strong>
EnableDefaultValues=Enable usage of personalized default values
EnableOverwriteTranslation=Enable usage of overwrote translation
GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code, so to change this value, you must edit it fom Home-Setup-translation.
WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior.
Field=Област
ProductDocumentTemplates=Document templates to generate product document
FreeLegalTextOnExpenseReports=Free legal text on expense reports
WatermarkOnDraftExpenseReports=Watermark on draft expense reports
# Modules
Module0Name=Потребители и групи
Module0Desc=Users / Employees and Groups management
@ -444,7 +466,7 @@ Module30Desc=Фактура и управление на кредитно изв
Module40Name=Доставчици
Module40Desc=Управление и изкупуване на доставчика (нареждания и фактури)
Module42Name=Дневник
Module42Desc=Влизане съоръжения (файл, Syslog, ...)
Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes.
Module49Name=Редактори
Module49Desc=Управление на редактор
Module50Name=Продукти
@ -499,8 +521,8 @@ Module410Name=Webcalendar
Module410Desc=Webcalendar интеграция
Module500Name=Special expenses
Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends)
Module510Name=Employee contracts and salaries
Module510Desc=Management of employees contracts, salaries and payments
Module510Name=Payment of employee wages
Module510Desc=Record and follow payment of your employee wages
Module520Name=Loan
Module520Desc=Management of loans
Module600Name=Известия
@ -542,8 +564,10 @@ Module2900Name=GeoIPMaxmind
Module2900Desc=GeoIP MaxMind реализации възможности
Module3100Name=Skype
Module3100Desc=Add a Skype button into users / third parties / contacts / members cards
Module3200Name=Non Reversible Logs
Module3200Desc=Activate log of some business events into a non reversible log. Events are archived in real-time. The log is a table of chained event that can be then read and exported. This module may be mandatory for some countries.
Module4000Name=ЧР
Module4000Desc=Управление на човешки ресурси
Module4000Desc=Human resources management (mangement of department, employee contracts and feelings)
Module5000Name=Няколко фирми
Module5000Desc=Позволява ви да управлявате няколко фирми
Module6000Name=Workflow
@ -591,7 +615,7 @@ Permission32=Създаване / промяна на продукти
Permission34=Изтриване на продукти
Permission36=Преглед / управление на скрити продукти
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, for me or my hierarchy, on assigned tasks (Timesheet)
Permission42=Create/modify projects (shared project and projects i'm contact for). Can also create tasks and assign users to project and tasks
Permission44=Изтриване на проекти (общи проекти и проекти съм се с нас за)
Permission45=Export projects
@ -844,12 +868,14 @@ DictionaryOrderMethods=Ordering methods
DictionarySource=Origin of proposals/orders
DictionaryAccountancyCategory=Accounting account groups
DictionaryAccountancysystem=Models for chart of accounts
DictionaryAccountancyJournal=Accounting journals
DictionaryEMailTemplates=Emails templates
DictionaryUnits=Units
DictionaryProspectStatus=Prospection status
DictionaryHolidayTypes=Types of leaves
DictionaryOpportunityStatus=Opportunity status for project/lead
SetupSaved=Setup спаси
SetupNotSaved=Setup not saved
BackToModuleList=Обратно към списъка с модули
BackToDictionaryList=Back to dictionaries list
VATManagement=Управление на ДДС
@ -921,7 +947,7 @@ Host=Сървър
DriverType=Шофьор тип
SummarySystem=Резюме на информационна система
SummaryConst=Списък на всички параметри за настройка Dolibarr
MenuCompanySetup=Фирма/Организация
MenuCompanySetup=Company/Organisation
DefaultMenuManager= Стандартно меню мениджър
DefaultMenuSmartphoneManager=Smartphone Menu Manager
Skin=Кожата тема
@ -931,12 +957,14 @@ DefaultMaxSizeList=Макс. дължина за списъци по подра
DefaultMaxSizeShortList=Макс. дължина по подразбиране за кратки списъци (т.е. в клиентската карта)
MessageOfDay=Послание на деня
MessageLogin=Съобщение на страницата за вход
LoginPage=Login page
BackgroundImageLogin=Background image
PermanentLeftSearchForm=Постоянна форма за търсене в лявото меню
DefaultLanguage=Език по подразбиране (код на езика)
EnableMultilangInterface=Разрешаване на многоезичен интерфейс
EnableShowLogo=Показване на логото в лявото меню
CompanyInfo=Информация за фирмата/организацията
CompanyIds=Идентичност на фирмата/организацията
CompanyInfo=Company/organisation information
CompanyIds=Company/organisation identities
CompanyName=Име
CompanyAddress=Адрес
CompanyZip=П. код
@ -969,9 +997,9 @@ Delays_MAIN_DELAY_MEMBERS=Толерантност закъснение (в дн
Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Толерантност закъснение (в дни), преди сигнал за проверки депозит
Delays_MAIN_DELAY_EXPENSEREPORTS=Tolerance delay (in days) before alert for expense reports to approve
SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr.
SetupDescription2=The two most important setup steps are the first two in the setup menu on the left: Company/foundation setup page and Modules setup page:
SetupDescription3=Parameters in menu <a href="%s">Setup -> Company/foundation</a> are required because submitted data are used on Dolibarr displays and to customize the default behaviour of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">Setup -> Modules</a> are required because Dolibarr is not a monolithic ERP/CRM but a collection of several modules, all more or less independent. New features will be added to menus for every module you'll enable.
SetupDescription2=The two mandatory setup steps are the first two in the setup menu on the left: %s setup page and %s setup page :
SetupDescription3=Parameters in menu <a href="%s">%s -> %s</a> are required because defined data are used on Dolibarr screens and to customize the default behavior of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">%s -> %s</a> are required because Dolibarr ERP/CRM is a collection of several modules/applications, all more or less independent. New features will be added to menus for every module you will activate.
SetupDescription5=Другите записи от менюто управляват допълнителни параметри.
LogEvents=Събития одит на сигурността
Audit=Проверка
@ -987,7 +1015,7 @@ BrowserOS=Browser OS
ListOfSecurityEvents=Списък на събитията Dolibarr сигурност
SecurityEventsPurged=Събития по сигурността прочиства
LogEventDesc=Можете да разрешите тук сеч за събития Dolibarr сигурност. Администраторите могат да видите неговото съдържание чрез меню <b>&quot;Системни инструменти - Одит.</b> Внимание, тази функция може да се консумира голямо количество данни в база данни.
AreaForAdminOnly=Тези функции могат да се използват само от <b>администратори</b>.
AreaForAdminOnly=Setup parameters can be set by <b>administrator users</b> only.
SystemInfoDesc=Информационна система Разни техническа информация можете да получите в режим само за четене и видими само за администратори.
SystemAreaForAdminOnly=Тази област е достъпна само за администратори. Никой не може да промени това ограничение.
CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" or "Save" button at bottom of page)
@ -1079,11 +1107,12 @@ CurrentTranslationString=Current translation string
WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string
NewTranslationStringToShow=New translation string to show
OriginalValueWas=The original translation is overwritten. Original value was:<br><br>%s
TotalNumberOfActivatedModules=Общ брой на активираните модули: <b>%s</b> / <b>%s</b>
TransKeyWithoutOriginalValue=You forced a new translation for the translation key '<strong>%s</strong>' that does not exists in any language files
TotalNumberOfActivatedModules=Activated application/modules: <b>%s</b> / <b>%s</b>
YouMustEnableOneModule=Трябва да даде възможност на най-малко 1 модул
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
YesInSummer=Yes in summer
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users) and only if permissions were granted:
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users) and only if permissions were granted:
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
ConditionIsCurrently=Condition is currently %s
YouUseBestDriver=You use driver %s that is best driver available currently.
@ -1129,12 +1158,14 @@ CompanyIdProfChecker=Професионална Id уникален
MustBeUnique=Must be unique?
MustBeMandatory=Mandatory to create third parties?
MustBeInvoiceMandatory=Mandatory to validate invoices?
TechnicalServicesProvided=Technical services provided
##### Webcal setup #####
WebCalUrlForVCalExport=За износ на линк към <b>%s</b> формат е на разположение на следния линк: %s
##### Invoices #####
BillsSetup=Фактури модул за настройка
BillsNumberingModule=Фактури и кредитни известия, номериране модул
BillsPDFModules=Фактура модели документи
PaymentsPDFModules=Payment documents models
CreditNote=Кредитно известие
CreditNotes=Кредитни известия
ForceInvoiceDate=Принудително датата на фактурата датата на валидиране
@ -1327,9 +1358,16 @@ FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
CacheByServer=Cache by server
CacheByServerDesc=For exemple using the Apache directive "ExpiresByType image/gif A2592000"
CacheByClient=Cache by browser
CompressionOfResources=Compression of HTTP responses
CompressionOfResourcesDesc=For exemple using the Apache directive "AddOutputFilterByType DEFLATE"
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers
DefaultValuesDesc=You can define/force here the default value you want to get when your create a new record, and/or defaut filters or sort order when your list record.
DefaultCreateForm=Default values for new objects
DefaultSearchFilters=Default search filters
DefaultSortOrder=Default sort orders
DefaultFocus=Default focus fields
##### Products #####
ProductSetup=Настройка на модул Продукти
ServiceSetup=Услуги модул за настройка
@ -1464,7 +1502,7 @@ SupposedToBeInvoiceDate=Дата на фактура използва
Buy=Купувам
Sell=Продажба
InvoiceDateUsed=Дата на фактура използва
YourCompanyDoesNotUseVAT=Вашата фирма е настроена да не се използва ДДС (Начало - Настройки - Фирма/Организация), така че е без опции за настройка на ДДС.
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organisation), so there is no VAT options to setup.
AccountancyCode=Счетоводен код
AccountancyCodeSell=Sale account. code
AccountancyCodeBuy=Purchase account. code
@ -1479,9 +1517,10 @@ AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into searc
AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda
AGENDA_NOTIFICATION=Enable event notification on user browsers when event date is reached (each user is able to refuse this from the browser confirmation question)
AGENDA_NOTIFICATION_SOUND=Enable sound notification
AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view
##### Clicktodial #####
ClickToDialSetup=Кликнете, за да наберете настройка модул
ClickToDialUrlDesc=Адреса нарича, когато се извършва едно кликване на телефона пиктограма. URL, можете да използвате маркери <br> <b>__PHONETO__,</b> Които ще бъдат заменени с телефонния номер на лицето, да се обадите <br> <b>__PHONEFROM__,</b> Че ще бъде заменен с телефонния номер на повикващата лице (твое) <br> <b>__LOGIN__,</b> Които ще бъдат заменени с clicktodial вход (определено на вашето потребителско карта) <br> <b>__PASS__,</b> Които ще бъдат заменени с clicktodial вашата парола (определено на вашето потребителско карта).
ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags<br><b>__PHONETO__</b> that will be replaced with the phone number of person to call<br><b>__PHONEFROM__</b> that will be replaced with phone number of calling person (yours)<br><b>__LOGIN__</b> that will be replaced with clicktodial login (defined on user card)<br><b>__PASS__</b> that will be replaced with clicktodial password (defined on user card).
ClickToDialDesc=Този модул позволява телефонните номера да могат да се кликват. Кликване върху тази икона ще предизвика вашият телефон да набере телефонния номер. Това може да бъде използвано за обаждане към кол център система, която може да набере телефония номер на SIP система например.
ClickToDialUseTelLink=Use just a link "tel:" on phone numbers
ClickToDialUseTelLinkDesc=Използвайте този метод ако вашите потребители имат софт-телефон или софтуерен интерфейс на същия компютър, на който е браузера, и повиквани с клик на линк във вашия браузер, който започва с "tel:". Ако се нуждаете от пълно сървърно решение (без нужда за локална софтуерна инсталация), трябва да зададете на това "Не" или да попълните следващото поле.
@ -1510,7 +1549,7 @@ EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint availa
ApiSetup=API module setup
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
ApiProductionMode=Enable production mode (this will activate use of a cache for services management)
ApiExporerIs=You can explore the APIs at url
ApiExporerIs=You can explore and test the APIs at URL
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
ApiKey=Key for API
WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it.
@ -1523,7 +1562,6 @@ BankOrderGlobalDesc=Обща дисплей за
BankOrderES=Испански
BankOrderESDesc=Испански дисплей за
ChequeReceiptsNumberingModule=Cheque Receipts Numbering module
##### Multicompany #####
MultiCompanySetup=Multi-модул за настройка компания
##### Suppliers #####
@ -1582,12 +1620,12 @@ BackupDumpWizard=Wizard to build database backup dump file
SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason:
SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do.
InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file <strong>%s</strong> to allow this feature.
ConfFileMuseContainCustom=Installing an external module from application need to 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 add the 2 directive lines:<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
ConfFileMustContainCustom=Installing or building an external module from application need to 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 add the 2 directive lines:<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
HighlightLinesColor=Цвят за подчертаване на линията, когато мишката мине отгоре (оставете празно за без подчертаване)
TextTitleColor=Цвят на заглавието на страницата
LinkColor=Цвят на връзките
PressF5AfterChangingThis=Press F5 on keyboard or clear your browser cache after changing this value to have it effective
PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective
NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes
BackgroundColor=Background color
TopMenuBackgroundColor=Background color for Top menu
@ -1600,6 +1638,7 @@ MinimumNoticePeriod=Minimum notice period (Your leave request must be done befor
NbAddedAutomatically=Number of days added to counters of users (automatically) each month
EnterAnyCode=This field contains a reference to identify line. Enter any value of your choice, but without special characters.
UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For exemple: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364]
ColorFormat=The RGB color is in HEX format, eg: FF0000
PositionIntoComboList=Position of line into combo lists
SellTaxRate=Sale tax rate
RecuperableOnly=Yes for VAT "Non Perçue Récupérable" dedicated for some state in France. Keep value to "No" in all other cases.
@ -1658,6 +1697,10 @@ SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choic
ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary.
UserHasNoPermissions=This user has no permission defined
TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")<br>Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)<br>Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days")
BaseCurrency=Reference currency of the company (go into setup of company to change this)
WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016).
WarningNoteModulePOSForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated.
WarningInstallationMayBecomeNotCompliantWithLaw=You try to install the module %s that is an external module. Activating an external module means you trust the publisher of the module and you are sure that this module does not alterate negatively the behavior of your application and is compliant with laws of your country (%s). If the module bring a non legal feature, you become responsible for the use of a non legal software.
##### Resource ####
ResourceSetup=Configuration du module Resource
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).

View File

@ -13,8 +13,8 @@ LTReportBuildWithOptionDefinedInModule=Сумите показани тук са
Param=Структура
RemainingAmountPayment=Остатъчна сума за плащане:
Account=Сметка
Accountparent=Сметка родител
Accountsparent=Сметки родител
Accountparent=Parent account
Accountsparent=Parent accounts
Income=Доход
Outcome=Разход
ReportInOut=Приходи/разходи
@ -56,6 +56,7 @@ MenuTaxAndDividends=Данъци и дивиденти
MenuSocialContributions=Social/fiscal taxes
MenuNewSocialContribution=New social/fiscal tax
NewSocialContribution=New social/fiscal tax
AddSocialContribution=Add social/fiscal tax
ContributionsToPay=Social/fiscal taxes to pay
AccountancyTreasuryArea=Секция Счетоводство/ценности
NewPayment=Ново плащане
@ -134,8 +135,8 @@ RulesResultDue=- Показани Сумите са с включени всич
RulesResultInOut=- It includes the real payments made on invoices, expenses and VAT. <br>- It is based on the payment dates of the invoices, expenses and VAT.
RulesCADue=- Тя включва дължимите на клиента фактури, независимо дали са платени или не. <br> - Тя се основава на датата на валидиране тези фактури. <br>
RulesCAIn=- То включва всички ефективни плащания на фактурите, получени от клиенти. <br> - Тя се основава на датата на плащане на тези фактури <br>
DepositsAreNotIncluded=- Депозит фактури не са включени
DepositsAreIncluded=- Депозит фактури са включени
DepositsAreNotIncluded=- Down payment invoices are nor included
DepositsAreIncluded=- Down payment invoices are included
LT2ReportByCustomersInInputOutputModeES=Доклад от контрагент IRPF
LT1ReportByCustomersInInputOutputModeES=Report by third party RE
VATReport=VAT report
@ -169,7 +170,7 @@ DescSellsJournal=Продажби вестник
DescPurchasesJournal=Покупките вестник
InvoiceRef=Фактура с реф.
CodeNotDef=Не е определена
WarningDepositsNotIncluded=Депозити фактури не са включени в тази версия с този модул за счетоводството.
WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module.
DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date.
Pcg_version=Chart of accounts models
Pcg_type=PCG тип
@ -189,8 +190,10 @@ AccountancyJournal=Accountancy code journal
ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for collecting VAT - VAT on sales (used if not defined on VAT dictionary setup)
ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for recovered VAT - VAT on purchases (used if not defined on VAT dictionary setup)
ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT
ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account by default for customer third parties (used if not defined on third party card)
ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account by default for supplier third parties (used if not defined on third party card)
ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties
ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Dedicated accounting account defined on third party card will be used for Subledger accouting, this one for General Ledger or as default value of Subledger accounting if dedicated customer accouting account on third party is not defined
ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for supplier third parties
ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Dedicated accounting account defined on third party card will be used for Subledger accouting, this one for General Ledger or as default value of Subledger accounting if dedicated supplier accouting account on third party is not defined
CloneTax=Clone a social/fiscal tax
ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment
CloneTaxForNextMonth=Клониране за следващ месец
@ -205,3 +208,4 @@ ImportDataset_tax_contrib=Social/fiscal taxes
ImportDataset_tax_vat=Vat payments
ErrorBankAccountNotFound=Error: Bank account not found
FiscalPeriod=Accounting period
ListSocialContributionAssociatedProject=List of social contributions associated with the project

View File

@ -25,7 +25,7 @@ CronDelete=Изтриване на планирани задачи
CronConfirmDelete=Are you sure you want to delete these scheduled jobs?
CronExecute=Launch scheduled job
CronConfirmExecute=Are you sure you want to execute these scheduled jobs now?
CronInfo=Модул Планирана задача позволява да се изпълни задача, която е била планирана
CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually.
CronTask=Задача
CronNone=Няма
CronDtStart=Not before
@ -57,12 +57,12 @@ CronStatusActiveBtn=Активирайте
CronStatusInactiveBtn=Деактивирай
CronTaskInactive=Тази задача е неактивирана
CronId=Id
CronClassFile=Класове (filename.class.php)
CronModuleHelp=Име на Dolibarr модулна директория (работи също така с външен Dolibarr модул).<BR> Например, за да издърпате метод на обект Dolibarr Product /htdocs/<u>product</u>/class/product.class.php, стойността на модула е <i>product</i>
CronClassFileHelp=Име на файл да се зареди.<BR> Например, за да издърпате метод на обект Dolibarrr Product /htdocs/product/class/<u>product.class.php</u>, стойността на името на файла за класа е <i>product.class.php</i>
CronObjectHelp=Името на обекът, който да се зареди.<BR> Например, за да издърпате метод на обект Dolibarr Product /htdocs/product/class/product.class.php, стойността на името на файла за класа е <i>Product</i>
CronMethodHelp=Методът на обекта да се зареди.<BR> Например, за да издърпате метод на обект Dolibarr Product /htdocs/product/class/product.class.php, стойността на метода е <i>fecth</i>
CronArgsHelp=Аргументите за метода.<BR> Например, за да издърпате метод на обект Dolibarr Product /htdocs/product/class/product.class.php, стойността на параметрите може да бъде <i>0, ProductRef</i>
CronClassFile=Filename with class
CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module). <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/<u>product</u>/class/product.class.php, the value for module is <i>product</i>
CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory). <BR> For exemple to call the fetch method of Dolibarr Product object htdocs/product/class/<u>product.class.php</u>, the value for class file name is <i>product/class/product.class.php</i>
CronObjectHelp=The object name to load. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is <i>Product</i>
CronMethodHelp=The object method to launch. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is <i>fecth</i>
CronArgsHelp=The method arguments. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be <i>0, ProductRef</i>
CronCommandHelp=Системният команден ред за стартиране.
CronCreateJob=Създаване на нова Планирана задача
CronFrom=От
@ -76,4 +76,4 @@ UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled job
JobDisabled=Неактивирани задачи
MakeLocalDatabaseDumpShort=Local database backup
MakeLocalDatabaseDump=Create a local database dump
WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of active jobs, your jobs may be delayed to a maximum of %s hours before being run.
WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run.

View File

@ -18,6 +18,8 @@ ErrorFailToCreateFile=Грешка при създаване на файл <b>&q
ErrorFailToRenameDir=Неуспешно да преименувате директория <b>&quot;%s&quot;</b> в <b>&quot;%s&quot;.</b>
ErrorFailToCreateDir=Неуспешно създаване на директория <b>&quot;%s&quot;.</b>
ErrorFailToDeleteDir=Грешка при изтриване на директория <b>&quot;%s&quot;.</b>
ErrorFailToMakeReplacementInto=Failed to make replacement into file '<b>%s</b>'.
ErrorFailToGenerateFile=Failed to generate file '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=Този контакт е вече определен контакт за този тип.
ErrorCashAccountAcceptsOnlyCashMoney=Тази банкова сметка е разплащателна сметка, така че приема плащания пари само от тип.
ErrorFromToAccountsMustDiffers=Източника и целите на банкови сметки трябва да бъде различен.
@ -42,6 +44,7 @@ ErrorFailedToWriteInDir=Неуспех при запис в директория
ErrorFoundBadEmailInFile=Намерени неправилен синтаксис имейл за %s линии във файла (%s например съответствие с имейл = %s)
ErrorUserCannotBeDelete=User cannot be deleted. May be it is associated to Dolibarr entities.
ErrorFieldsRequired=Някои задължителни полета не са запълнени.
ErrorSubjectIsRequired=The email topic is required
ErrorFailedToCreateDir=Неуспешно създаване на директория. Уверете се, че уеб сървър потребител има разрешение да пишат в Dolibarr документи. Ако параметър <b>safe_mode</b> е разрешен в тази PHP, проверете дали Dolibarr PHP файлове притежава за потребителя на уеб сървъра (или група).
ErrorNoMailDefinedForThisUser=Не поща, определена за този потребител
ErrorFeatureNeedJavascript=Тази функция трябва ДжаваСкрипт да се активира, за да работят. Променете тази настройка - дисплей.
@ -114,7 +117,7 @@ ErrorQtyForCustomerInvoiceCantBeNegative=Количество за ред в к
ErrorWebServerUserHasNotPermission=Потребителски акаунт <b>%s</b> използват за извършване на уеб сървър не разполага с разрешение за това
ErrorNoActivatedBarcode=Не е тип баркод активира
ErrUnzipFails=Неуспех да разархивирате %s с ZipArchive
ErrNoZipEngine=No engine to unzip %s file in this PHP
ErrNoZipEngine=No engine to zip/unzip %s file in this PHP
ErrorFileMustBeADolibarrPackage=Файла %s трябва да бъде Dolibarr zip архив
ErrorModuleFileRequired=You must select a Dolibarr module package file
ErrorPhpCurlNotInstalled=PHP навийте не е инсталиран, това е от съществено значение, за да разговаря с Paypal
@ -165,6 +168,7 @@ ErrorGlobalVariableUpdater5=Няма избрана глобална проме
ErrorFieldMustBeANumeric=Поле <b>%s</b> трябва да бъде числена стойност
ErrorMandatoryParametersNotProvided=Задължителен параметър(и) не е даден
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
ErrorSavingChanges=An error has ocurred when saving the changes
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
@ -177,13 +181,19 @@ ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enough for product %s t
ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enough for product %s to add it into a new proposal.
ErrorFailedToLoadLoginFileForMode=Failed to get the login key for mode '%s'.
ErrorModuleNotFound=File of module was not found.
ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source bank line %s
ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source line id %s (%s)
ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s)
ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s)
ErrorBankStatementNameMustFollowRegex=Error, bank statement name must follow the following syntax rule %s
ErrorPhpMailDelivery=Check that you don't use a too high number of recipients and that your email content is not similar to a Spam. Ask also your administrator to check firewall and server logs files for a more complete information.
ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed.
ErrorTaskAlreadyAssigned=Task already assigned to user
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
ErrorNoWarehouseDefined=Error, no warehouses defined.
ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid.
ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped.
# Warnings
WarningPasswordSetWithNoAccount=Парола е зададено за този член. Обаче, няма създаден потребителски акаунт. Следователно тази парола е записана, но не може да бъде използвана за влизане в Dolibarr. Може да бъде използвана от външен модул/интерфейс, но ако нямате нужда да определите нито потребителско име нито парола за член, можете да деактивирате тази опция. Ако имате нужда да управлявате потребителско име, но нямата нужда от парола, можете да оставите това поле празно, за да избегнете това предупреждение. Забележка: Имейл също може да бъде използван като потребителско име ако члена с свързан към потребител.
@ -204,3 +214,4 @@ WarningPaymentDateLowerThanInvoiceDate=Датата на плащане (%s) е
WarningTooManyDataPleaseUseMoreFilters=Прекалено много информация (повече от %s линии). Моля използвайте повече филтри или задайте за константата %s по-висок лимит.
WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent.
WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action.
WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language

View File

@ -43,7 +43,7 @@ ErrorConstantNotDefined=Параметър %s не е дефиниран
ErrorUnknown=Неизвестна грешка
ErrorSQL=Грешка в SQL
ErrorLogoFileNotFound=Файлът с лого '%s' не е открит
ErrorGoToGlobalSetup=Отидете в настройки на 'Фирма/Организация', за да коригирате това
ErrorGoToGlobalSetup=Go to 'Company/Organisation' setup to fix this
ErrorGoToModuleSetup=Отидете в настройки на Модули, за да коригирате това
ErrorFailedToSendMail=Неуспешно изпращане на имейл (подател = %s, получател = %s)
ErrorFileNotUploaded=Файлът не беше качен. Уверете се, че размерът му не надвишава максимално допустимия, че е на разположение свободно пространство на диска и че няма файл със същото име в тази директория.
@ -153,6 +153,7 @@ Edit=Редактиране
Validate=Валидирай
ValidateAndApprove=Валидирай и одобри
ToValidate=За валидиране
NotValidated=Not validated
Save=Запис
SaveAs=Запис като
TestConnection=Проверка на връзката
@ -222,6 +223,7 @@ NoLogoutProcessWithAuthMode=Не се прилага функция за изк
Connection=Вход
Setup=Настройки
Alert=Предупреждение
MenuWarnings=Сигнали
Previous=Предишен
Next=Следващ
Cards=Карти
@ -308,6 +310,7 @@ Copy=Копиране
Paste=Поставяне
Default=По подразбиране
DefaultValue=Стойност по подразбиране
DefaultValues=Default values
Price=Цена
UnitPrice=Единична цена
UnitPriceHT=Единична цена (нето)
@ -363,7 +366,8 @@ VATRate=Данъчна ставка
Average=Средно
Sum=Сума
Delta=Делта
Module=Модул
Module=Module/Application
Modules=Modules/Applications
Option=Опция
List=Списък
FullList=Пълен списък
@ -387,7 +391,7 @@ ActionRunningNotStarted=За започване
ActionRunningShort=In progress
ActionDoneShort=Завършено
ActionUncomplete=Незавършено
CompanyFoundation=Фирма/Организация
CompanyFoundation=Company/Organisation
ContactsForCompany=Контакти за този контрагент
ContactsAddressesForCompany=Контакти/адреси за този контрагент
AddressesForCompany=Адреси за този контрагент
@ -405,8 +409,9 @@ Generate=Генерирай
Duration=Продължителност
TotalDuration=Обща продължителност
Summary=Резюме
DolibarrStateBoard=Статистика
DolibarrWorkBoard=Табло с текущи задачи
DolibarrStateBoard=Database statistics
DolibarrWorkBoard=Open items dashboard
NoOpenedElementToProcess=No opened element to process
Available=Налично
NotYetAvailable=Все още не е налично
NotAvailable=Не е налично
@ -434,7 +439,7 @@ Reportings=Справки
Draft=Чернова
Drafts=Чернови
Validated=Валидиран
Opened=Отворен
Opened=Отворено
New=Нов
Discount=Отстъпка
Unknown=Неизвестно
@ -453,6 +458,7 @@ NextStep=Следваща стъпка
Datas=Данни
None=Няма
NoneF=Няма
NoneOrSeveral=None or several
Late=Закъснели
LateDesc=Delay to define if a record is late or not depends on your setup. Ask your admin to change delay from menu Home - Setup - Alerts.
Photo=Снимка
@ -606,7 +612,8 @@ PartialWoman=Частична
TotalWoman=Обща
NeverReceived=Никога не получено
Canceled=Отменен
YouCanChangeValuesForThisListFromDictionarySetup=Можете да промените стойностите за този списък от меню Настройки - речник
YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries
YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s
YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record into module setup
Color=Цвят
Documents=Свързани файлове
@ -642,6 +649,7 @@ FreeLineOfType=Свободен вход с тип
CloneMainAttributes=Клонира обекта с неговите основни атрибути
PDFMerge=PDF обединяване
Merge=Обединяване
DocumentModelStandardPDF=Standard PDF template
PrintContentArea=Показване на страница за печат само с основното съдържание
MenuManager=Меню менажер
WarningYouAreInMaintenanceMode=Внимание, вие сте в режим на поддръжка, така че само вход <b>%s</b> се разрешава за използване приложение в момента.
@ -708,6 +716,7 @@ from=от
toward=към
Access=Достъп
SelectAction=Избиране на действие
SelectTargetUser=Select target user/employee
HelpCopyToClipboard=Използвайте Ctrl+C за да копирате в клипборда
SaveUploadedFileWithMask=Запишете файла на сървъра с име "<strong>%s</strong>" (иначе "%s")
OriginFileName=Оригинално име на файла
@ -718,7 +727,7 @@ ViewPrivateNote=Биж бележки
XMoreLines=%s ред(а) скрити
PublicUrl=Публичен URL
AddBox=Добави поле
SelectElementAndClickRefresh=Изберете елемент и натиснете Обнови
SelectElementAndClick=Select an element and click %s
PrintFile=Печат на файл %s
ShowTransaction=Show entry on bank account
GoIntoSetupToChangeLogo=Отидете на Начало - Настройки - Фирма/Организация, за да промените логото или отидете на Начало - Настройки- Екран, за да го скриете.
@ -734,8 +743,8 @@ Hello=Здравейте
Sincerely=Искрено
DeleteLine=Изтриване на линия
ConfirmDeleteLine=Are you sure you want to delete this line?
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked records
TooManyRecordForMassAction=Too many record selected for mass action. The action is restricted to a list of %s records.
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record
TooManyRecordForMassAction=Too many record selected for mass action. The action is restricted to a list of %s record.
NoRecordSelected=No record selected
MassFilesArea=Area for files built by mass actions
ShowTempMassFilesArea=Show area of files built by mass actions
@ -755,11 +764,20 @@ Calendar=Календар
GroupBy=Group by...
ViewFlatList=View flat list
RemoveString=Remove string '%s'
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="https://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="https://transifex.com/projects/p/dolibarr/" target="_blank">https://transifex.com/projects/p/dolibarr/</a>.
DirectDownloadLink=Direct download link
Download=Download
ActualizeCurrency=Update currency rate
Fiscalyear=Fiscal year
ModuleBuilder=Module Builder
SetMultiCurrencyCode=Set currency
BulkActions=Bulk actions
ClickToShowHelp=Click to show tooltip help
HR=HR
HRAndBank=HR and Bank
AutomaticallyCalculated=Automatically calculated
TitleSetToDraft=Go back to draft
ConfirmSetToDraft=Are you sure you want to go back to Draft status ?
# Week day
Monday=Понеделник
Tuesday=Вторник
@ -817,5 +835,3 @@ SearchIntoContracts=Договори
SearchIntoCustomerShipments=Customer shipments
SearchIntoExpenseReports=Опис разходи
SearchIntoLeaves=Отпуски
BulkActions=Bulk actions

View File

@ -9,6 +9,19 @@ BirthdayDate=Birthday date
DateToBirth=Дата на раждане
BirthdayAlertOn=Известяването за рожден ден е активно
BirthdayAlertOff=Известяването за рожден ден е неактивно
TransKey=Translation of the key TransKey
MonthOfInvoice=Month (number 1-12) of invoice date
TextMonthOfInvoice=Month (tex) of invoice date
PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
TextPreviousMonthOfInvoice=Previous month (text) of invoice date
NextMonthOfInvoice=Following month (number 1-12) of invoice date
TextNextMonthOfInvoice=Following month (text) of invoice date
ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
YearOfInvoice=Year of invoice date
PreviousYearOfInvoice=Previous year of invoice date
NextYearOfInvoice=Following year of invoice date
Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention
Notify_FICHINTER_VALIDATE=Интервенцията е валидирана
Notify_FICHINTER_SENTBYMAIL=Интервенцията е изпратена по пощата
@ -61,13 +74,14 @@ PredefinedMailTestHtml=Това е <b>тестов</b> имейл (думата
PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nТук ще намерите фактура __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nБихме искали да ви предопредим, че фактура __REF__ изглежда не е платена. Затова това фактурата е в прикачения файл, за напомняне.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierProposal=__CONTACTCIVNAME__\n\nЩе намерите запитването за цена тук __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierProposal=__CONTACTCIVNAME__\n\nYou will find here the price request __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nТук ще намерите фактура __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__
PredefinedMailContentUser=aa__PERSONALIZED__\n\n__SIGNATURE__
DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available.
ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
@ -146,20 +160,20 @@ AuthenticationDoesNotAllowSendNewPassword=Authentication mode is <b>%s</b>.<br /
EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option.
ProfIdShortDesc=<b>Проф. Id %s</b> е информация, в зависимост от трета държава, която е страна. <br> Например, за страната <b>%s,</b> това е код <b>%s.</b>
DolibarrDemo=Dolibarr ERP/CRM демо
StatsByNumberOfUnits=Статистика в брой на единици продукти/услуги
StatsByNumberOfEntities=Статистиката в брой на референции
NumberOfProposals=Number of proposals in past 12 months
NumberOfCustomerOrders=Number of customer orders in past 12 months
NumberOfCustomerInvoices=Number of customer invoices in past 12 months
NumberOfSupplierProposals=Number of supplier proposals in past 12 months
NumberOfSupplierOrders=Number of supplier orders in past 12 months
NumberOfSupplierInvoices=Number of supplier invoices in past 12 months
NumberOfUnitsProposals=Number of units on proposals in past 12 months
NumberOfUnitsCustomerOrders=Number of units on customer orders in past 12 months
NumberOfUnitsCustomerInvoices=Number of units on customer invoices in past 12 months
NumberOfUnitsSupplierProposals=Number of units on supplier proposals in past 12 months
NumberOfUnitsSupplierOrders=Number of units on supplier orders in past 12 months
NumberOfUnitsSupplierInvoices=Number of units on supplier invoices in past 12 months
StatsByNumberOfUnits=Statistics for sum of qty of products/services
StatsByNumberOfEntities=Statistics in number of referring entities (nb of invoice, or order...)
NumberOfProposals=Number of proposals
NumberOfCustomerOrders=Number of customer orders
NumberOfCustomerInvoices=Number of customer invoices
NumberOfSupplierProposals=Number of supplier proposals
NumberOfSupplierOrders=Number of supplier orders
NumberOfSupplierInvoices=Number of supplier invoices
NumberOfUnitsProposals=Number of units on proposals
NumberOfUnitsCustomerOrders=Number of units on customer orders
NumberOfUnitsCustomerInvoices=Number of units on customer invoices
NumberOfUnitsSupplierProposals=Number of units on supplier proposals
NumberOfUnitsSupplierOrders=Number of units on supplier orders
NumberOfUnitsSupplierInvoices=Number of units on supplier invoices
EMailTextInterventionAddedContact=A newintervention %s has been assigned to you.
EMailTextInterventionValidated=Намесата %s е потвърдена.
EMailTextInvoiceValidated=Фактура %s е потвърдена.

View File

@ -9,6 +9,9 @@ ProjectsArea=Projects Area
ProjectStatus=Статус на проект
SharedProject=Всички
PrivateProject=ПРОЕКТА Контакти
ProjectsImContactFor=Projects I'm explicitely a contact of
AllAllowedProjects=All project I can read (mine + public)
AllProjects=Всички проекти
MyProjectsDesc=Тази гледна точка е ограничена до проекти, които са за контакт (какъвто и да е тип).
ProjectsPublicDesc=Този възглед представя всички проекти, по които могат да се четат.
TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read.
@ -23,20 +26,22 @@ TasksDesc=Този възглед представя всички проекти
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task assigned to you. Assign task to yourself if you need to enter time on it.
OnlyYourTaskAreVisible=Only tasks assigned to you are visible. Assign task to yourself if it is not visible and you need to enter time on it.
ImportDatasetTasks=Tasks of projects
ProjectCategories=Project tags/categories
NewProject=Нов проект
AddProject=Създаване на проект
DeleteAProject=Изтриване на проект
DeleteATask=Изтриване на задача
ConfirmDeleteAProject=Are you sure you want to delete this project?
ConfirmDeleteATask=Are you sure you want to delete this task?
OpenedProjects=Отворени проекти
OpenedTasks=Opened tasks
OpportunitiesStatusForOpenedProjects=Opportunities amount of opened projects by status
OpenedProjects=Open projects
OpenedTasks=Open tasks
OpportunitiesStatusForOpenedProjects=Opportunities amount of open projects by status
OpportunitiesStatusForProjects=Opportunities amount of projects by status
ShowProject=Покажи проект
SetProject=Задайте проект
NoProject=Нито един проект няма определени или собственост
NbOfProjects=Nb на проекти
NbOfTasks=Nb of tasks
TimeSpent=Времето, прекарано
TimeSpentByYou=Време отделено от вас
TimeSpentByUser=Време отделено от потребител
@ -47,9 +52,9 @@ TaskTimeSpent=Време отдадено на задачи
TaskTimeUser=Потребител
TaskTimeNote=Бележка
TaskTimeDate=Дата
TasksOnOpenedProject=Tasks on opened projects
TasksOnOpenedProject=Задачи на отворени проекти
WorkloadNotDefined=Работна натовареност не е определена
NewTimeSpent=Времето, прекарано на
NewTimeSpent=Времето, прекарано
MyTimeSpent=Времето, прекарано
Tasks=Задачи
Task=Задача
@ -59,6 +64,7 @@ TaskDescription=Описание на задача
NewTask=Нова задача
AddTask=Създаване на задача
AddTimeSpent=Create time spent
AddHereTimeSpentForDay=Add here time spent for this day/task
Activity=Дейност
Activities=Задачите / дейностите
MyActivities=Моите задачи / дейности
@ -78,6 +84,7 @@ ListPredefinedInvoicesAssociatedProject=List of customer template invoices assoc
ListSupplierOrdersAssociatedProject=List of supplier orders associated with the project
ListSupplierInvoicesAssociatedProject=List of supplier invoices associated with the project
ListContractAssociatedProject=Списък на договори, свързани с проекта
ListShippingAssociatedProject=List of shippings associated with the project
ListFichinterAssociatedProject=Списък на интервенциите, свързани с проекта
ListExpenseReportsAssociatedProject=List of expense reports associated with the project
ListDonationsAssociatedProject=Списък на даренията асоциирани със този проект
@ -102,6 +109,7 @@ ConfirmReOpenAProject=Are you sure you want to re-open this project?
ProjectContact=ПРОЕКТА Контакти
ActionsOnProject=Събития по проекта
YouAreNotContactOfProject=Вие не сте контакт на този частен проект
UserIsNotContactOfProject=User is not a contact of this private project
DeleteATimeSpent=Изтриване на времето, прекарано
ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent?
DoNotShowMyTasksOnly=Показване също на задачи, които не са възложени на мен
@ -110,7 +118,7 @@ TaskRessourceLinks=Ресурси
ProjectsDedicatedToThisThirdParty=Проекти, насочени към този контрагент
NoTasks=Няма задачи за този проект
LinkedToAnotherCompany=Свързано с друг контрагент
TaskIsNotAffectedToYou=Задача, която не е възложена на вас
TaskIsNotAssignedToUser=Task not assigned to user. Use button '<strong>%s</strong>' to assign task now.
ErrorTimeSpentIsEmpty=Изразходваното време е празна
ThisWillAlsoRemoveTasks=Това действие ще изтрие всички задачи на проекта <b>(%s</b> задачи в момента) и всички входове на времето, прекарано.
IfNeedToUseOhterObjectKeepEmpty=Ако някои обекти (фактура, поръчка, ...), принадлежащи към друга трета страна, трябва да бъдат свързани с проекта за създаване, запазете тази празна да има проект е мулти трети страни.
@ -161,27 +169,32 @@ FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time
InputPerDay=Input per day
InputPerWeek=Input per week
InputPerAction=Input per action
TimeAlreadyRecorded=Вече записано отделено време за тази задача/ден и потребител %s
TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s
ProjectsWithThisUserAsContact=Проекти с този потребител като контакт
TasksWithThisUserAsContact=Задачи възложени на този потребител
ResourceNotAssignedToProject=Не е зададено към проект
ResourceNotAssignedToTheTask=Not assigned to the task
TasksAssignedTo=Tasks assigned to
AssignTaskToMe=Възлагане на задача към мен
AssignTaskToUser=Assign task to %s
SelectTaskToAssign=Select task to assign...
AssignTask=Възлагане
ProjectOverview=Общ преглед
ManageTasks=Use projects to follow tasks and time
ManageOpportunitiesStatus=Use projects to follow leads/opportinuties
ProjectNbProjectByMonth=Бр. на създадените проекти по месец
ProjectNbTaskByMonth=Nb of created tasks by month
ProjectOppAmountOfProjectsByMonth=Amount of opportunities by month
ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of opportunities by month
ProjectOpenedProjectByOppStatus=Open project/lead by opportunity status
ProjectsStatistics=Статистики за проекти/инициативи
TasksStatistics=Statistics on project/lead tasks
TaskAssignedToEnterTime=Задачата е възложена. Въвеждането на време на тази задача би трябвало да е възможно
IdTaskTime=Ид. време на задача
YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. But best practice may be to add a dedicated field, also called complementary attributes.
OpenedProjectsByThirdparties=Отворени проекти от трети лица
OpenedProjectsByThirdparties=Open projects by third parties
OnlyOpportunitiesShort=Only opportunities
OpenedOpportunitiesShort=Opened opportunities
OpenedOpportunitiesShort=Open opportunities
NotAnOpportunityShort=Not an opportunity
OpportunityTotalAmount=Opportunities total amount
OpportunityPonderatedAmount=Opportunities weighted amount

View File

@ -26,27 +26,31 @@ InvoiceLabel=Invoice label
OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to accounting account
OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to accounting account
OtherInfo=Other information
DeleteCptCategory=Remove accounting account from group
ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group ?
AccountancyArea=Accountancy area
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step:
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year...
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making thee journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making the journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies...
AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s
AccountancyAreaDescChartModel=STEP %s: Create a model of chart of account from menu %s
AccountancyAreaDescChart=STEP %s: Create or check content of your chart of account from menu %s
AccountancyAreaDescBank=STEP %s: Check the binding between bank accounts and accounting account is done. Complete missing bindings. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescVat=STEP %s: Check the binding between vat rates and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescExpenseReport=STEP %s: Check the binding between type of expense report and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescSal=STEP %s: Check the binding between salaries payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Check the binding between special expences (miscellaneous taxes) and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Check the binding between donation and accounting account is done. Complete missing bindings. You can set the account dedicated for that from the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Check the default binding between miscellaneous transaction lines and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescProd=STEP %s: Check the binding between products/services and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Check the binding between loans payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescCustomer=STEP %s: Check the binding between existing customer invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescSupplier=STEP %s: Check the binding between existing supplier invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the General Ledger. For this, go into each Journal, and click into button "Journalize transactions in General Ledger".
AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s.
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s.
AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expences (miscellaneous taxes). For this, use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Define default accounting accounts for miscellaneous transactions. For this, use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s.
AccountancyAreaDescBank=STEP %s: Define accounting accounts for each bank and financial accounts. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s.
AccountancyAreaDescBind=STEP %s: Check the binding between existing %s lines and accounting account is done, so application will be able to journalize transactions in Ledger in one click. Complete missing bindings. For this, use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu <strong>%s</strong>, and click into button <strong>%s</strong>.
AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports.
AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future.
@ -57,6 +61,10 @@ ChangeAndLoad=Change and load
Addanaccount=Add an accounting account
AccountAccounting=Accounting account
AccountAccountingShort=Account
SubledgerAccount=Subledger Account
subledger_account=Subledger Account
ShowAccountingAccount=Show accounting account
ShowAccountingJournal=Show accounting journal
AccountAccountingSuggest=Accounting account suggested
MenuDefaultAccounts=Default accounts
MenuVatAccounts=Vat accounts
@ -71,8 +79,8 @@ SuppliersVentilation=Supplier invoice binding
ExpenseReportsVentilation=Expense report binding
CreateMvts=Create new transaction
UpdateMvts=Modification of a transaction
WriteBookKeeping=Journalize transactions in General Ledger
Bookkeeping=General ledger
WriteBookKeeping=Journalize transactions in Ledger
Bookkeeping=Ledger
AccountBalance=Account balance
CAHTF=Total purchase supplier before tax
@ -103,9 +111,9 @@ ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding don
ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts
ACCOUNTING_MANAGE_ZERO=Manage the zero at the end of an accounting account. Needed by some countries. Disabled by default. If set to on, you must also set the 2 following parameters (or it is ignored)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts (If you set value to 6 here, the account '706' will appear like '706000' on screen)
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen)
ACCOUNTING_MANAGE_ZERO=Allow to manage different number of zero at the end of an accounting account. Needed by some countries (like switzerland). If keep to off (default), you can set the 2 following parameters to ask application to add virtual zero.
BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account
ACCOUNTING_SELL_JOURNAL=Sell journal
@ -132,19 +140,19 @@ Sens=Sens
Codejournal=Journal
NumPiece=Piece number
TransactionNumShort=Num. transaction
AccountingCategory=Accounting category
AccountingCategory=Accounting account groups
GroupByAccountAccounting=Group by accounting account
NotMatch=Not Set
DeleteMvt=Delete general ledger lines
DeleteMvt=Delete Ledger lines
DelYear=Year to delete
DelJournal=Journal to delete
ConfirmDeleteMvt=This will delete all lines of the general ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the general ledger
DelBookKeeping=Delete record of the general ledger
ConfirmDeleteMvt=This will delete all lines of the Ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the Ledger
DelBookKeeping=Delete record of the Ledger
FinanceJournal=Finance journal
ExpenseReportsJournal=Expense reports journal
DescFinanceJournal=Finance journal including all the types of payments by bank account
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the General Ledger.
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the Ledger.
VATAccountNotDefined=Account for VAT not defined
ThirdpartyAccountNotDefined=Account for third party not defined
ProductAccountNotDefined=Account for product not defined
@ -156,13 +164,13 @@ NewAccountingMvt=New transaction
NumMvts=Numero of transaction
ListeMvts=List of movements
ErrorDebitCredit=Debit and Credit cannot have a value at the same time
AddCompteFromBK=Add accounting accounts to the group
ReportThirdParty=List third party account
DescThirdPartyReport=Consult here the list of the third party customers and suppliers and their accounting accounts
ListAccounts=List of the accounting accounts
Pcgtype=Class of account
Pcgsubtype=Under class of account
Pcgsubtype=Subclass of account
TotalVente=Total turnover before tax
TotalMarge=Total sales margin
@ -186,9 +194,9 @@ AutomaticBindingDone=Automatic binding done
ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used
MvtNotCorrectlyBalanced=Mouvement not correctly balanced. Credit = %s. Debit = %s
FicheVentilation=Binding card
GeneralLedgerIsWritten=Transactions are written in the general ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be recorded.
NoNewRecordSaved=No new record saved
GeneralLedgerIsWritten=Transactions are written in the Ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be dispatched. If there is no other error message, this is probably because they were already dispatched.
NoNewRecordSaved=No new record dispatched
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account
ChangeBinding=Change the binding
@ -196,6 +204,18 @@ ChangeBinding=Change the binding
ApplyMassCategories=Apply mass categories
AddAccountFromBookKeepingWithNoCategories=Add acccount already used with no categories
CategoryDeleted=Category for the accounting account has been removed
AccountingJournals=Accounting journals
AccountingJournal=Accounting journal
NewAccountingJournal=New accounting journal
ShowAccoutingJournal=Show accounting journal
Code=Code
Nature=Nature
AccountingJournalType1=Various operation
AccountingJournalType2=Sales
AccountingJournalType3=Purchases
AccountingJournalType4=Bank
AccountingJournalType9=Has-new
ErrorAccountingJournalIsAlreadyUse=This journal is already use
## Export
Exports=Exports
@ -211,6 +231,7 @@ Modelcsv_ciel=Export towards Sage Ciel Compta or Compta Evolution
Modelcsv_quadratus=Export towards Quadratus QuadraCompta
Modelcsv_ebp=Export towards EBP
Modelcsv_cogilog=Export towards Cogilog
Modelcsv_agiris=Export towards Agiris (Test)
ChartofaccountsId=Chart of accounts Id
## Tools - Init accounting account on product / service
@ -235,11 +256,12 @@ Calculated=Calculated
Formula=Formula
## Error
ErrorNoAccountingCategoryForThisCountry=No accounting category available for country %s (See Home - Setup - Dictionaries)
SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them
ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries)
ExportNotSupported=The export format setuped is not supported into this page
BookeppingLineAlreayExists=Lines already existing into bookeeping
NoJournalDefined=No journal defined
Binded=Lines bound
ToBind=Lines to bind
WarningReportNotReliable=Warning, this report is not based on the General Ledger, so is not reliable yet. It will be replaced by a correct report in a next version.
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manualy in the Ledger. It will be replaced by a more complete report in a next version.

View File

@ -48,6 +48,7 @@ InternalUsers=Internal users
ExternalUsers=External users
GUISetup=Display
SetupArea=Setup area
UploadNewTemplate=Upload new template(s)
FormToTestFileUploadForm=Form to test file upload (according to setup)
IfModuleEnabled=Note: yes is effective only if module <b>%s</b> is enabled
RemoveLock=Remove file <b>%s</b> if it exists to allow usage of the update tool.
@ -85,7 +86,7 @@ Mask=Mask
NextValue=Next value
NextValueForInvoices=Next value (invoices)
NextValueForCreditNotes=Next value (credit notes)
NextValueForDeposit=Next value (deposit)
NextValueForDeposit=Next value (down payment)
NextValueForReplacements=Next value (replacements)
MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to <b>%s</b> %s, whatever this parameter's value is
NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration
@ -103,7 +104,7 @@ MenuIdParent=Parent menu ID
DetailMenuIdParent=ID of parent menu (empty for a top menu)
DetailPosition=Sort number to define menu position
AllMenus=All
NotConfigured=Module not configured
NotConfigured=Module/Application not configured
Active=Active
SetupShort=Setup
OtherOptions=Other options
@ -113,7 +114,6 @@ CurrentValueSeparatorThousand=Thousand separator
Destination=Destination
IdModule=Module ID
IdPermissions=Permissions ID
Modules=Modules
LanguageBrowserParameter=Parameter %s
LocalisationDolibarrParameters=Localisation parameters
ClientTZ=Client Time Zone (user)
@ -123,7 +123,8 @@ PHPTZ=PHP server Time Zone
DaylingSavingTime=Daylight saving time
CurrentHour=PHP Time (server)
CurrentSessionTimeOut=Current session timeout
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris"
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htaccess with a line like this "SetEnv TZ Europe/Paris"
HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but for the timezone of the server.
Box=Widget
Boxes=Widgets
MaxNbOfLinesForBoxes=Max number of lines for widgets
@ -189,7 +190,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions
Rights=Permissions
BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it.
OnlyActiveElementsAreShown=Only elements from <a href="%s">enabled modules</a> are shown.
ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off to enable a module/feature.
ModulesDesc=Dolibarr modules define which application/feature is enabled in software. Some application/modules require permissions you must grant to users, after activating it. Click on button on/off to enable a module/application.
ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet...
ModulesDeployDesc=If permissions on your file system allows it, you can use this tool to deploy an external module. The module wil then be visible on the tab <strong>%s</strong>.
ModulesMarketPlaces=Find external modules...
@ -213,7 +214,7 @@ MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activat
InstrucToEncodePass=To have password encoded into the <b>conf.php</b> file, replace the line <br><b>$dolibarr_main_db_pass="...";</b><br>by<br><b>$dolibarr_main_db_pass="crypted:%s";</b>
InstrucToClearPass=To have password decoded (clear) into the <b>conf.php</b> file, replace the line <br><b>$dolibarr_main_db_pass="crypted:...";</b><br>by<br><b>$dolibarr_main_db_pass="%s";</b>
ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation)
ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices).
ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working.
Feature=Feature
DolibarrLicense=License
Developpers=Developers/contributors
@ -224,7 +225,9 @@ OfficialDemo=Dolibarr online demo
OfficialMarketPlace=Official market place for external modules/addons
OfficialWebHostingService=Referenced web hosting services (Cloud hosting)
ReferencedPreferredPartners=Preferred Partners
OtherResources=Autres ressources
OtherResources=Other resources
ExternalResources=External resources
SocialNetworks=Social Networks
ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),<br>take a look at the Dolibarr Wiki:<br><b><a href="%s" target="_blank">%s</a></b>
ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:<br><b><a href="%s" target="_blank">%s</a></b>
HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr.
@ -267,7 +270,7 @@ FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your
SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit your change to www.transifex.com/dolibarr-association/dolibarr/
SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr.
ModuleSetup=Module setup
ModulesSetup=Modules setup
ModulesSetup=Modules/Application setup
ModuleFamilyBase=System
ModuleFamilyCrm=Customer Relation Management (CRM)
ModuleFamilySrm=Supplier Relation Management (SRM)
@ -300,14 +303,17 @@ CurrentVersion=Dolibarr current version
CallUpdatePage=Go to the page that updates the database structure and data: %s.
LastStableVersion=Latest stable version
LastActivationDate=Latest activation date
LastActivationAuthor=Latest activation author
LastActivationIP=Latest activation IP
UpdateServerOffline=Update server offline
WithCounter=Manage a counter
GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:<br><b>{000000}</b> corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask. <br><b>{000000+000}</b> same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s. <br><b>{000000@x}</b> same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required. <br><b>{dd}</b> day (01 to 31).<br><b>{mm}</b> month (01 to 12).<br><b>{yy}</b>, <b>{yyyy}</b> or <b>{y}</b> year over 2, 4 or 1 numbers. <br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.<br>
GenericMaskCodes3=All other characters in the mask will remain intact.<br>Spaces are not allowed.<br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany done 2007-01-31:</u><br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany, with date 2007-01-31:</u><br>
GenericMaskCodes4b=<u>Example on third party created on 2007-03-01:</u><br>
GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b><br><b>IN{yy}{mm}-{0000}-{t}</b> will give <b>IN0701-0099-A</b> if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI'
GenericNumRefModelDesc=Returns a customizable number according to a defined mask.
ServerAvailableOnIPOrPort=Server is available at address <b>%s</b> on port <b>%s</b>
ServerNotAvailableOnIPOrPort=Server is not available at address <b>%s</b> on port <b>%s</b>
@ -369,19 +375,21 @@ Int=Integer
Float=Float
DateAndTime=Date and hour
Unique=Unique
Boolean=Boolean (Checkbox)
Boolean=Boolean (one checkbox)
ExtrafieldPhone = Phone
ExtrafieldPrice = Price
ExtrafieldMail = Email
ExtrafieldUrl = Url
ExtrafieldSelect = Select list
ExtrafieldSelectList = Select from table
ExtrafieldSeparator=Separator
ExtrafieldSeparator=Separator (not a field)
ExtrafieldPassword=Password
ExtrafieldCheckBox=Checkbox
ExtrafieldRadio=Radio button
ExtrafieldCheckBoxFromList= Checkbox from table
ExtrafieldRadio=Radio buttons (on choice only)
ExtrafieldCheckBox=Checkboxes
ExtrafieldCheckBoxFromList=Checkboxes from table
ExtrafieldLink=Link to an object
ComputedFormula=Computed field
ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: <strong>$db, $conf, $langs, $mysoc, $user, $object</strong>.<br><strong>WARNING</strong>: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.<br>Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.<br><br>Example of formula:<br>$object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)<br><br>Example to reload object<br>(($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1'<br><br>Other example of formula to force load of object and its parent object:<br>(($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found'
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another complementary attribute list :<br>1,value1|options_<i>parent_list_code</i>:parent_key<br>2,value2|options_<i>parent_list_code</i>:parent_key <br><br>In order to have the list depending on another list :<br>1,value1|<i>parent_list_code</i>:parent_key<br>2,value2|<i>parent_list_code</i>:parent_key
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
@ -422,6 +430,20 @@ Use3StepsApproval=By default, Purchase Orders need to be created and approved by
UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than...
WarningPHPMail=WARNING: Some email providers (like Yahoo) does not allow you to send an email from another server than the Yahoo server if the email address used as a sender is your Yahoo email (like myemail@yahoo.com, myemail@yahoo.fr, ...). Your current setup use the server of the application to send email, so some recipients (the one compatible with the restrictive DMARC protocol), will ask Yahoo if they can accept your email and Yahoo will respond "no" because the server is not a server owned by Yahoo, so few of your sent Emails may not be accepted.<br>If your Email provider (like Yahoo) has this restriction, you must change Email setup to choose the other method "SMTP server" and enter the SMTP server and credentials provided by your Email provider (ask your EMail provider to get SMTP credentials for your account).
ClickToShowDescription=Click to show description
DependsOn=This module need the module(s)
RequiredBy=This module is required by module(s)
TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. This need to have technical knowledges to read the content of the HTML page to get the key name of a field.
PageUrlForDefaultValues=You must enter here the relative url of the page. If you include parameters in URL, the default values will be effective if all parameters are set to same value. Examples:
PageUrlForDefaultValuesCreate=<br>For form to create a new thirdparty, it is <strong>%s</strong>
PageUrlForDefaultValuesList=<br>For page that list thirdparties, it is <strong>%s</strong>
EnableDefaultValues=Enable usage of personalized default values
EnableOverwriteTranslation=Enable usage of overwrote translation
GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code, so to change this value, you must edit it fom Home-Setup-translation.
WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior.
Field=Field
ProductDocumentTemplates=Document templates to generate product document
FreeLegalTextOnExpenseReports=Free legal text on expense reports
WatermarkOnDraftExpenseReports=Watermark on draft expense reports
# Modules
Module0Name=Users & groups
Module0Desc=Users / Employees and Groups management
@ -444,7 +466,7 @@ Module30Desc=Invoice and credit note management for customers. Invoice managemen
Module40Name=Suppliers
Module40Desc=Supplier management and buying (orders and invoices)
Module42Name=Logs
Module42Desc=Logging facilities (file, syslog, ...)
Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes.
Module49Name=Editors
Module49Desc=Editor management
Module50Name=Products
@ -499,8 +521,8 @@ Module410Name=Webcalendar
Module410Desc=Webcalendar integration
Module500Name=Special expenses
Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends)
Module510Name=Employee contracts and salaries
Module510Desc=Management of employees contracts, salaries and payments
Module510Name=Payment of employee wages
Module510Desc=Record and follow payment of your employee wages
Module520Name=Loan
Module520Desc=Management of loans
Module600Name=Notifications
@ -542,8 +564,10 @@ Module2900Name=GeoIPMaxmind
Module2900Desc=GeoIP Maxmind conversions capabilities
Module3100Name=Skype
Module3100Desc=Add a Skype button into users / third parties / contacts / members cards
Module3200Name=Non Reversible Logs
Module3200Desc=Activate log of some business events into a non reversible log. Events are archived in real-time. The log is a table of chained event that can be then read and exported. This module may be mandatory for some countries.
Module4000Name=HRM
Module4000Desc=Human resources management
Module4000Desc=Human resources management (mangement of department, employee contracts and feelings)
Module5000Name=Multi-company
Module5000Desc=Allows you to manage multiple companies
Module6000Name=Workflow
@ -591,7 +615,7 @@ Permission32=Create/modify products
Permission34=Delete products
Permission36=See/manage hidden products
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, for me or my hierarchy, on assigned tasks (Timesheet)
Permission42=Create/modify projects (shared project and projects i'm contact for). Can also create tasks and assign users to project and tasks
Permission44=Delete projects (shared project and projects i'm contact for)
Permission45=Export projects
@ -844,12 +868,14 @@ DictionaryOrderMethods=Ordering methods
DictionarySource=Origin of proposals/orders
DictionaryAccountancyCategory=Accounting account groups
DictionaryAccountancysystem=Models for chart of accounts
DictionaryAccountancyJournal=Accounting journals
DictionaryEMailTemplates=Emails templates
DictionaryUnits=Units
DictionaryProspectStatus=Prospection status
DictionaryHolidayTypes=Types of leaves
DictionaryOpportunityStatus=Opportunity status for project/lead
SetupSaved=Setup saved
SetupNotSaved=Setup not saved
BackToModuleList=Back to modules list
BackToDictionaryList=Back to dictionaries list
VATManagement=VAT Management
@ -921,7 +947,7 @@ Host=Server
DriverType=Driver type
SummarySystem=System information summary
SummaryConst=List of all Dolibarr setup parameters
MenuCompanySetup=Company/Foundation
MenuCompanySetup=Company/Organisation
DefaultMenuManager= Standard menu manager
DefaultMenuSmartphoneManager=Smartphone menu manager
Skin=Skin theme
@ -931,12 +957,14 @@ DefaultMaxSizeList=Default max length for lists
DefaultMaxSizeShortList=Default max length for short lists (ie in customer card)
MessageOfDay=Message of the day
MessageLogin=Login page message
LoginPage=Login page
BackgroundImageLogin=Background image
PermanentLeftSearchForm=Permanent search form on left menu
DefaultLanguage=Default language to use (language code)
EnableMultilangInterface=Enable multilingual interface
EnableShowLogo=Show logo on left menu
CompanyInfo=Company/foundation information
CompanyIds=Company/foundation identities
CompanyInfo=Company/organisation information
CompanyIds=Company/organisation identities
CompanyName=Name
CompanyAddress=Address
CompanyZip=Zip
@ -969,9 +997,9 @@ Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed memb
Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do
Delays_MAIN_DELAY_EXPENSEREPORTS=Tolerance delay (in days) before alert for expense reports to approve
SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr.
SetupDescription2=The two most important setup steps are the first two in the setup menu on the left: Company/foundation setup page and Modules setup page:
SetupDescription3=Parameters in menu <a href="%s">Setup -> Company/foundation</a> are required because submitted data are used on Dolibarr displays and to customize the default behaviour of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">Setup -> Modules</a> are required because Dolibarr is not a monolithic ERP/CRM but a collection of several modules, all more or less independent. New features will be added to menus for every module you'll enable.
SetupDescription2=The two mandatory setup steps are the first two in the setup menu on the left: %s setup page and %s setup page :
SetupDescription3=Parameters in menu <a href="%s">%s -> %s</a> are required because defined data are used on Dolibarr screens and to customize the default behavior of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">%s -> %s</a> are required because Dolibarr ERP/CRM is a collection of several modules/applications, all more or less independent. New features will be added to menus for every module you will activate.
SetupDescription5=Other menu entries manage optional parameters.
LogEvents=Security audit events
Audit=Audit
@ -987,7 +1015,7 @@ BrowserOS=Browser OS
ListOfSecurityEvents=List of Dolibarr security events
SecurityEventsPurged=Security events purged
LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu <b>System tools - Audit</b>. Warning, this feature can consume a large amount of data in database.
AreaForAdminOnly=Those features can be used by <b>administrator users</b> only.
AreaForAdminOnly=Setup parameters can be set by <b>administrator users</b> only.
SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only.
SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit.
CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" or "Save" button at bottom of page)
@ -1079,11 +1107,12 @@ CurrentTranslationString=Current translation string
WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string
NewTranslationStringToShow=New translation string to show
OriginalValueWas=The original translation is overwritten. Original value was:<br><br>%s
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b> / <b>%s</b>
TransKeyWithoutOriginalValue=You forced a new translation for the translation key '<strong>%s</strong>' that does not exists in any language files
TotalNumberOfActivatedModules=Activated application/modules: <b>%s</b> / <b>%s</b>
YouMustEnableOneModule=You must at least enable 1 module
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
YesInSummer=Yes in summer
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users) and only if permissions were granted:
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users) and only if permissions were granted:
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
ConditionIsCurrently=Condition is currently %s
YouUseBestDriver=You use driver %s that is best driver available currently.
@ -1129,12 +1158,14 @@ CompanyIdProfChecker=Rules on Professional Ids
MustBeUnique=Must be unique?
MustBeMandatory=Mandatory to create third parties?
MustBeInvoiceMandatory=Mandatory to validate invoices?
TechnicalServicesProvided=Technical services provided
##### Webcal setup #####
WebCalUrlForVCalExport=An export link to <b>%s</b> format is available at following link: %s
##### Invoices #####
BillsSetup=Invoices module setup
BillsNumberingModule=Invoices and credit notes numbering model
BillsPDFModules=Invoice documents models
PaymentsPDFModules=Payment documents models
CreditNote=Credit note
CreditNotes=Credit notes
ForceInvoiceDate=Force invoice date to validation date
@ -1327,9 +1358,16 @@ FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
CacheByServer=Cache by server
CacheByServerDesc=For exemple using the Apache directive "ExpiresByType image/gif A2592000"
CacheByClient=Cache by browser
CompressionOfResources=Compression of HTTP responses
CompressionOfResourcesDesc=For exemple using the Apache directive "AddOutputFilterByType DEFLATE"
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers
DefaultValuesDesc=You can define/force here the default value you want to get when your create a new record, and/or defaut filters or sort order when your list record.
DefaultCreateForm=Default values for new objects
DefaultSearchFilters=Default search filters
DefaultSortOrder=Default sort orders
DefaultFocus=Default focus fields
##### Products #####
ProductSetup=Products module setup
ServiceSetup=Services module setup
@ -1464,7 +1502,7 @@ SupposedToBeInvoiceDate=Invoice date used
Buy=Buy
Sell=Sell
InvoiceDateUsed=Invoice date used
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup.
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organisation), so there is no VAT options to setup.
AccountancyCode=Accountancy Code
AccountancyCodeSell=Sale account. code
AccountancyCodeBuy=Purchase account. code
@ -1479,9 +1517,10 @@ AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into searc
AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda
AGENDA_NOTIFICATION=Enable event notification on user browsers when event date is reached (each user is able to refuse this from the browser confirmation question)
AGENDA_NOTIFICATION_SOUND=Enable sound notification
AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view
##### Clicktodial #####
ClickToDialSetup=Click To Dial module setup
ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags<br><b>__PHONETO__</b> that will be replaced with the phone number of person to call<br><b>__PHONEFROM__</b> that will be replaced with phone number of calling person (yours)<br><b>__LOGIN__</b> that will be replaced with your clicktodial login (defined on your user card)<br><b>__PASS__</b> that will be replaced with your clicktodial password (defined on your user card).
ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags<br><b>__PHONETO__</b> that will be replaced with the phone number of person to call<br><b>__PHONEFROM__</b> that will be replaced with phone number of calling person (yours)<br><b>__LOGIN__</b> that will be replaced with clicktodial login (defined on user card)<br><b>__PASS__</b> that will be replaced with clicktodial password (defined on user card).
ClickToDialDesc=This module allows to make phone numbers clickable. A click on this icon will call make your phone to call the phone number. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example.
ClickToDialUseTelLink=Use just a link "tel:" on phone numbers
ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on same computer than the browser, and called when you click on a link in your browser that start with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field.
@ -1510,7 +1549,7 @@ EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint availa
ApiSetup=API module setup
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
ApiProductionMode=Enable production mode (this will activate use of a cache for services management)
ApiExporerIs=You can explore the APIs at url
ApiExporerIs=You can explore and test the APIs at URL
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
ApiKey=Key for API
WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it.
@ -1523,7 +1562,6 @@ BankOrderGlobalDesc=General display order
BankOrderES=Spanish
BankOrderESDesc=Spanish display order
ChequeReceiptsNumberingModule=Cheque Receipts Numbering module
##### Multicompany #####
MultiCompanySetup=Multi-company module setup
##### Suppliers #####
@ -1582,12 +1620,12 @@ BackupDumpWizard=Wizard to build database backup dump file
SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason:
SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do.
InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file <strong>%s</strong> to allow this feature.
ConfFileMuseContainCustom=Installing an external module from application need to 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 add the 2 directive lines:<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
ConfFileMustContainCustom=Installing or building an external module from application need to 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 add the 2 directive lines:<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
HighlightLinesColor=Highlight color of the line when the mouse passes over (keep empty for no highlight)
TextTitleColor=Color of page title
LinkColor=Color of links
PressF5AfterChangingThis=Press F5 on keyboard or clear your browser cache after changing this value to have it effective
PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective
NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes
BackgroundColor=Background color
TopMenuBackgroundColor=Background color for Top menu
@ -1600,6 +1638,7 @@ MinimumNoticePeriod=Minimum notice period (Your leave request must be done befor
NbAddedAutomatically=Number of days added to counters of users (automatically) each month
EnterAnyCode=This field contains a reference to identify line. Enter any value of your choice, but without special characters.
UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For exemple: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364]
ColorFormat=The RGB color is in HEX format, eg: FF0000
PositionIntoComboList=Position of line into combo lists
SellTaxRate=Sale tax rate
RecuperableOnly=Yes for VAT "Non Perçue Récupérable" dedicated for some state in France. Keep value to "No" in all other cases.
@ -1658,6 +1697,10 @@ SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choic
ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary.
UserHasNoPermissions=This user has no permission defined
TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")<br>Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)<br>Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days")
BaseCurrency=Reference currency of the company (go into setup of company to change this)
WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016).
WarningNoteModulePOSForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated.
WarningInstallationMayBecomeNotCompliantWithLaw=You try to install the module %s that is an external module. Activating an external module means you trust the publisher of the module and you are sure that this module does not alterate negatively the behavior of your application and is compliant with laws of your country (%s). If the module bring a non legal feature, you become responsible for the use of a non legal software.
##### Resource ####
ResourceSetup=Configuration du module Resource
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).

View File

@ -13,8 +13,8 @@ LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using r
Param=Setup
RemainingAmountPayment=Amount payment remaining :
Account=Account
Accountparent=Account parent
Accountsparent=Accounts parent
Accountparent=Parent account
Accountsparent=Parent accounts
Income=Income
Outcome=Expense
ReportInOut=Income / Expense
@ -56,6 +56,7 @@ MenuTaxAndDividends=Taxes and dividends
MenuSocialContributions=Social/fiscal taxes
MenuNewSocialContribution=New social/fiscal tax
NewSocialContribution=New social/fiscal tax
AddSocialContribution=Add social/fiscal tax
ContributionsToPay=Social/fiscal taxes to pay
AccountancyTreasuryArea=Accountancy/Treasury area
NewPayment=New payment
@ -134,8 +135,8 @@ RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whet
RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries. <br>- It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation.
RulesCADue=- It includes the client's due invoices whether they are paid or not. <br>- It is based on the validation date of these invoices.<br>
RulesCAIn=- It includes all the effective payments of invoices received from clients.<br>- It is based on the payment date of these invoices<br>
DepositsAreNotIncluded=- Deposit invoices are nor included
DepositsAreIncluded=- Deposit invoices are included
DepositsAreNotIncluded=- Down payment invoices are nor included
DepositsAreIncluded=- Down payment invoices are included
LT2ReportByCustomersInInputOutputModeES=Report by third party IRPF
LT1ReportByCustomersInInputOutputModeES=Report by third party RE
VATReport=VAT report
@ -169,7 +170,7 @@ DescSellsJournal=Sales Journal
DescPurchasesJournal=Purchases Journal
InvoiceRef=Invoice ref.
CodeNotDef=Not defined
WarningDepositsNotIncluded=Deposits invoices are not included in this version with this accountancy module.
WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module.
DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date.
Pcg_version=Chart of accounts models
Pcg_type=Pcg type
@ -189,8 +190,10 @@ AccountancyJournal=Accountancy code journal
ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for collecting VAT - VAT on sales (used if not defined on VAT dictionary setup)
ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for recovered VAT - VAT on purchases (used if not defined on VAT dictionary setup)
ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT
ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account by default for customer third parties (used if not defined on third party card)
ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account by default for supplier third parties (used if not defined on third party card)
ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties
ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Dedicated accounting account defined on third party card will be used for Subledger accouting, this one for General Ledger or as default value of Subledger accounting if dedicated customer accouting account on third party is not defined
ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for supplier third parties
ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Dedicated accounting account defined on third party card will be used for Subledger accouting, this one for General Ledger or as default value of Subledger accounting if dedicated supplier accouting account on third party is not defined
CloneTax=Clone a social/fiscal tax
ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment
CloneTaxForNextMonth=Clone it for next month
@ -205,3 +208,4 @@ ImportDataset_tax_contrib=Social/fiscal taxes
ImportDataset_tax_vat=Vat payments
ErrorBankAccountNotFound=Error: Bank account not found
FiscalPeriod=Accounting period
ListSocialContributionAssociatedProject=List of social contributions associated with the project

View File

@ -25,7 +25,7 @@ CronDelete=Delete scheduled jobs
CronConfirmDelete=Are you sure you want to delete these scheduled jobs?
CronExecute=Launch scheduled job
CronConfirmExecute=Are you sure you want to execute these scheduled jobs now?
CronInfo=Scheduled job module allow to execute job that have been planned
CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually.
CronTask=Job
CronNone=None
CronDtStart=Not before
@ -57,12 +57,12 @@ CronStatusActiveBtn=Enable
CronStatusInactiveBtn=Disable
CronTaskInactive=This job is disabled
CronId=Id
CronClassFile=Classes (filename.class.php)
CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module). <BR> For exemple to fetch method of Dolibarr Product object /htdocs/<u>product</u>/class/product.class.php, the value of module is <i>product</i>
CronClassFileHelp=The file name to load. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/<u>product.class.php</u>, the value of class file name is <i>product.class.php</i>
CronObjectHelp=The object name to load. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is <i>Product</i>
CronMethodHelp=The object method to launch. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is <i>fecth</i>
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
CronClassFile=Filename with class
CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module). <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/<u>product</u>/class/product.class.php, the value for module is <i>product</i>
CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory). <BR> For exemple to call the fetch method of Dolibarr Product object htdocs/product/class/<u>product.class.php</u>, the value for class file name is <i>product/class/product.class.php</i>
CronObjectHelp=The object name to load. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is <i>Product</i>
CronMethodHelp=The object method to launch. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is <i>fecth</i>
CronArgsHelp=The method arguments. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be <i>0, ProductRef</i>
CronCommandHelp=The system command line to execute.
CronCreateJob=Create new Scheduled Job
CronFrom=From
@ -76,4 +76,4 @@ UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled job
JobDisabled=Job disabled
MakeLocalDatabaseDumpShort=Local database backup
MakeLocalDatabaseDump=Create a local database dump
WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of active jobs, your jobs may be delayed to a maximum of %s hours before being run.
WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run.

View File

@ -18,6 +18,8 @@ ErrorFailToCreateFile=Failed to create file '<b>%s</b>'.
ErrorFailToRenameDir=Failed to rename directory '<b>%s</b>' into '<b>%s</b>'.
ErrorFailToCreateDir=Failed to create directory '<b>%s</b>'.
ErrorFailToDeleteDir=Failed to delete directory '<b>%s</b>'.
ErrorFailToMakeReplacementInto=Failed to make replacement into file '<b>%s</b>'.
ErrorFailToGenerateFile=Failed to generate file '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type.
ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only.
ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different.
@ -42,6 +44,7 @@ ErrorFailedToWriteInDir=Failed to write in directory %s
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s)
ErrorUserCannotBeDelete=User cannot be deleted. May be it is associated to Dolibarr entities.
ErrorFieldsRequired=Some required fields were not filled.
ErrorSubjectIsRequired=The email topic is required
ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter <b>safe_mode</b> is enabled on this PHP, check that Dolibarr php files owns to web server user (or group).
ErrorNoMailDefinedForThisUser=No mail defined for this user
ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display.
@ -114,7 +117,7 @@ ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoice
ErrorWebServerUserHasNotPermission=User account <b>%s</b> used to execute web server has no permission for that
ErrorNoActivatedBarcode=No barcode type activated
ErrUnzipFails=Failed to unzip %s with ZipArchive
ErrNoZipEngine=No engine to unzip %s file in this PHP
ErrNoZipEngine=No engine to zip/unzip %s file in this PHP
ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package
ErrorModuleFileRequired=You must select a Dolibarr module package file
ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal
@ -165,6 +168,7 @@ ErrorGlobalVariableUpdater5=No global variable selected
ErrorFieldMustBeANumeric=Field <b>%s</b> must be a numeric value
ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status
ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu)
ErrorSavingChanges=An error has ocurred when saving the changes
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
@ -177,13 +181,19 @@ ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enough for product %s t
ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enough for product %s to add it into a new proposal.
ErrorFailedToLoadLoginFileForMode=Failed to get the login key for mode '%s'.
ErrorModuleNotFound=File of module was not found.
ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source bank line %s
ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source line id %s (%s)
ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s)
ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s)
ErrorBankStatementNameMustFollowRegex=Error, bank statement name must follow the following syntax rule %s
ErrorPhpMailDelivery=Check that you don't use a too high number of recipients and that your email content is not similar to a Spam. Ask also your administrator to check firewall and server logs files for a more complete information.
ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed.
ErrorTaskAlreadyAssigned=Task already assigned to user
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
ErrorNoWarehouseDefined=Error, no warehouses defined.
ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid.
ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped.
# 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.
@ -204,3 +214,4 @@ WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice
WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit.
WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent.
WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action.
WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language

View File

@ -43,7 +43,7 @@ ErrorConstantNotDefined=Parameter %s not defined
ErrorUnknown=Unknown error
ErrorSQL=SQL Error
ErrorLogoFileNotFound=Logo file '%s' was not found
ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this
ErrorGoToGlobalSetup=Go to 'Company/Organisation' setup to fix this
ErrorGoToModuleSetup=Go to Module setup to fix this
ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s)
ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory.
@ -153,6 +153,7 @@ Edit=Edit
Validate=Validate
ValidateAndApprove=Validate and Approve
ToValidate=To validate
NotValidated=Not validated
Save=Save
SaveAs=Save As
TestConnection=Test connection
@ -222,6 +223,7 @@ NoLogoutProcessWithAuthMode=No applicative disconnect feature with authenticatio
Connection=Connection
Setup=Setup
Alert=Alert
MenuWarnings=Alerts
Previous=Previous
Next=Next
Cards=Cards
@ -308,6 +310,7 @@ Copy=Copy
Paste=Paste
Default=Default
DefaultValue=Default value
DefaultValues=Default values
Price=Price
UnitPrice=Unit price
UnitPriceHT=Unit price (net)
@ -363,7 +366,8 @@ VATRate=Tax Rate
Average=Average
Sum=Sum
Delta=Delta
Module=Module
Module=Module/Application
Modules=Modules/Applications
Option=Option
List=List
FullList=Full list
@ -387,7 +391,7 @@ ActionRunningNotStarted=To start
ActionRunningShort=In progress
ActionDoneShort=Finished
ActionUncomplete=Uncomplete
CompanyFoundation=Company/Foundation
CompanyFoundation=Company/Organisation
ContactsForCompany=Contacts for this third party
ContactsAddressesForCompany=Contacts/addresses for this third party
AddressesForCompany=Addresses for this third party
@ -405,8 +409,9 @@ Generate=Generate
Duration=Duration
TotalDuration=Total duration
Summary=Summary
DolibarrStateBoard=Statistics
DolibarrWorkBoard=Work tasks board
DolibarrStateBoard=Database statistics
DolibarrWorkBoard=Open items dashboard
NoOpenedElementToProcess=No opened element to process
Available=Available
NotYetAvailable=Not yet available
NotAvailable=Not available
@ -434,7 +439,7 @@ Reportings=Reporting
Draft=Draft
Drafts=Drafts
Validated=Validated
Opened=Opened
Opened=Open
New=New
Discount=Discount
Unknown=Unknown
@ -453,6 +458,7 @@ NextStep=Next step
Datas=Data
None=None
NoneF=None
NoneOrSeveral=None or several
Late=Late
LateDesc=Delay to define if a record is late or not depends on your setup. Ask your admin to change delay from menu Home - Setup - Alerts.
Photo=Picture
@ -606,7 +612,8 @@ PartialWoman=Partial
TotalWoman=Total
NeverReceived=Never received
Canceled=Canceled
YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary
YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries
YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s
YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record into module setup
Color=Color
Documents=Linked files
@ -642,6 +649,7 @@ FreeLineOfType=Free entry of type
CloneMainAttributes=Clone object with its main attributes
PDFMerge=PDF Merge
Merge=Merge
DocumentModelStandardPDF=Standard PDF template
PrintContentArea=Show page to print main content area
MenuManager=Menu manager
WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login <b>%s</b> is allowed to use application at the moment.
@ -708,6 +716,7 @@ from=from
toward=toward
Access=Access
SelectAction=Select action
SelectTargetUser=Select target user/employee
HelpCopyToClipboard=Use Ctrl+C to copy to clipboard
SaveUploadedFileWithMask=Save file on server with name "<strong>%s</strong>" (otherwise "%s")
OriginFileName=Original filename
@ -718,7 +727,7 @@ ViewPrivateNote=View notes
XMoreLines=%s line(s) hidden
PublicUrl=Public URL
AddBox=Add box
SelectElementAndClickRefresh=Select an element and click Refresh
SelectElementAndClick=Select an element and click %s
PrintFile=Print File %s
ShowTransaction=Show entry on bank account
GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide.
@ -734,8 +743,8 @@ Hello=Hello
Sincerely=Sincerely
DeleteLine=Delete line
ConfirmDeleteLine=Are you sure you want to delete this line?
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked records
TooManyRecordForMassAction=Too many record selected for mass action. The action is restricted to a list of %s records.
NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record
TooManyRecordForMassAction=Too many record selected for mass action. The action is restricted to a list of %s record.
NoRecordSelected=No record selected
MassFilesArea=Area for files built by mass actions
ShowTempMassFilesArea=Show area of files built by mass actions
@ -755,11 +764,20 @@ Calendar=Calendar
GroupBy=Group by...
ViewFlatList=View flat list
RemoveString=Remove string '%s'
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="https://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="https://transifex.com/projects/p/dolibarr/" target="_blank">https://transifex.com/projects/p/dolibarr/</a>.
DirectDownloadLink=Direct download link
Download=Download
ActualizeCurrency=Update currency rate
Fiscalyear=Fiscal year
ModuleBuilder=Module Builder
SetMultiCurrencyCode=Set currency
BulkActions=Bulk actions
ClickToShowHelp=Click to show tooltip help
HR=HR
HRAndBank=HR and Bank
AutomaticallyCalculated=Automatically calculated
TitleSetToDraft=Go back to draft
ConfirmSetToDraft=Are you sure you want to go back to Draft status ?
# Week day
Monday=Monday
Tuesday=Tuesday
@ -817,5 +835,3 @@ SearchIntoContracts=Contracts
SearchIntoCustomerShipments=Customer shipments
SearchIntoExpenseReports=Expense reports
SearchIntoLeaves=Leaves
BulkActions=Bulk actions

View File

@ -9,6 +9,19 @@ BirthdayDate=Birthday date
DateToBirth=Date of birth
BirthdayAlertOn=birthday alert active
BirthdayAlertOff=birthday alert inactive
TransKey=Translation of the key TransKey
MonthOfInvoice=Month (number 1-12) of invoice date
TextMonthOfInvoice=Month (tex) of invoice date
PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
TextPreviousMonthOfInvoice=Previous month (text) of invoice date
NextMonthOfInvoice=Following month (number 1-12) of invoice date
TextNextMonthOfInvoice=Following month (text) of invoice date
ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
YearOfInvoice=Year of invoice date
PreviousYearOfInvoice=Previous year of invoice date
NextYearOfInvoice=Following year of invoice date
Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention
Notify_FICHINTER_VALIDATE=Intervention validated
Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail
@ -61,13 +74,14 @@ PredefinedMailTestHtml=This is a <b>test</b> mail (the word test must be in bold
PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __REF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierProposal=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierProposal=__CONTACTCIVNAME__\n\nYou will find here the price request __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __REF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__
PredefinedMailContentUser=aa__PERSONALIZED__\n\n__SIGNATURE__
DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available.
ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
@ -146,20 +160,20 @@ AuthenticationDoesNotAllowSendNewPassword=Authentication mode is <b>%s</b>.<br /
EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option.
ProfIdShortDesc=<b>Prof Id %s</b> is an information depending on third party country.<br>For example, for country <b>%s</b>, it's code <b>%s</b>.
DolibarrDemo=Dolibarr ERP/CRM demo
StatsByNumberOfUnits=Statistics in number of products/services units
StatsByNumberOfEntities=Statistics in number of referring entities
NumberOfProposals=Number of proposals in past 12 months
NumberOfCustomerOrders=Number of customer orders in past 12 months
NumberOfCustomerInvoices=Number of customer invoices in past 12 months
NumberOfSupplierProposals=Number of supplier proposals in past 12 months
NumberOfSupplierOrders=Number of supplier orders in past 12 months
NumberOfSupplierInvoices=Number of supplier invoices in past 12 months
NumberOfUnitsProposals=Number of units on proposals in past 12 months
NumberOfUnitsCustomerOrders=Number of units on customer orders in past 12 months
NumberOfUnitsCustomerInvoices=Number of units on customer invoices in past 12 months
NumberOfUnitsSupplierProposals=Number of units on supplier proposals in past 12 months
NumberOfUnitsSupplierOrders=Number of units on supplier orders in past 12 months
NumberOfUnitsSupplierInvoices=Number of units on supplier invoices in past 12 months
StatsByNumberOfUnits=Statistics for sum of qty of products/services
StatsByNumberOfEntities=Statistics in number of referring entities (nb of invoice, or order...)
NumberOfProposals=Number of proposals
NumberOfCustomerOrders=Number of customer orders
NumberOfCustomerInvoices=Number of customer invoices
NumberOfSupplierProposals=Number of supplier proposals
NumberOfSupplierOrders=Number of supplier orders
NumberOfSupplierInvoices=Number of supplier invoices
NumberOfUnitsProposals=Number of units on proposals
NumberOfUnitsCustomerOrders=Number of units on customer orders
NumberOfUnitsCustomerInvoices=Number of units on customer invoices
NumberOfUnitsSupplierProposals=Number of units on supplier proposals
NumberOfUnitsSupplierOrders=Number of units on supplier orders
NumberOfUnitsSupplierInvoices=Number of units on supplier invoices
EMailTextInterventionAddedContact=A newintervention %s has been assigned to you.
EMailTextInterventionValidated=The intervention %s has been validated.
EMailTextInvoiceValidated=The invoice %s has been validated.

View File

@ -9,6 +9,9 @@ ProjectsArea=Projects Area
ProjectStatus=Project status
SharedProject=Everybody
PrivateProject=Project contacts
ProjectsImContactFor=Projects I'm explicitely a contact of
AllAllowedProjects=All project I can read (mine + public)
AllProjects=All projects
MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type).
ProjectsPublicDesc=This view presents all projects you are allowed to read.
TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read.
@ -23,20 +26,22 @@ TasksDesc=This view presents all projects and tasks (your user permissions grant
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task assigned to you. Assign task to yourself if you need to enter time on it.
OnlyYourTaskAreVisible=Only tasks assigned to you are visible. Assign task to yourself if it is not visible and you need to enter time on it.
ImportDatasetTasks=Tasks of projects
ProjectCategories=Project tags/categories
NewProject=New project
AddProject=Create project
DeleteAProject=Delete a project
DeleteATask=Delete a task
ConfirmDeleteAProject=Are you sure you want to delete this project?
ConfirmDeleteATask=Are you sure you want to delete this task?
OpenedProjects=Opened projects
OpenedTasks=Opened tasks
OpportunitiesStatusForOpenedProjects=Opportunities amount of opened projects by status
OpenedProjects=Open projects
OpenedTasks=Open tasks
OpportunitiesStatusForOpenedProjects=Opportunities amount of open projects by status
OpportunitiesStatusForProjects=Opportunities amount of projects by status
ShowProject=Show project
SetProject=Set project
NoProject=No project defined or owned
NbOfProjects=Nb of projects
NbOfTasks=Nb of tasks
TimeSpent=Time spent
TimeSpentByYou=Time spent by you
TimeSpentByUser=Time spent by user
@ -47,9 +52,9 @@ TaskTimeSpent=Time spent on tasks
TaskTimeUser=User
TaskTimeNote=Note
TaskTimeDate=Date
TasksOnOpenedProject=Tasks on opened projects
TasksOnOpenedProject=Tasks on open projects
WorkloadNotDefined=Workload not defined
NewTimeSpent=New time spent
NewTimeSpent=Time spent
MyTimeSpent=My time spent
Tasks=Tasks
Task=Task
@ -59,6 +64,7 @@ TaskDescription=Task description
NewTask=New task
AddTask=Create task
AddTimeSpent=Create time spent
AddHereTimeSpentForDay=Add here time spent for this day/task
Activity=Activity
Activities=Tasks/activities
MyActivities=My tasks/activities
@ -78,6 +84,7 @@ ListPredefinedInvoicesAssociatedProject=List of customer template invoices assoc
ListSupplierOrdersAssociatedProject=List of supplier orders associated with the project
ListSupplierInvoicesAssociatedProject=List of supplier invoices associated with the project
ListContractAssociatedProject=List of contracts associated with the project
ListShippingAssociatedProject=List of shippings associated with the project
ListFichinterAssociatedProject=List of interventions associated with the project
ListExpenseReportsAssociatedProject=List of expense reports associated with the project
ListDonationsAssociatedProject=List of donations associated with the project
@ -102,6 +109,7 @@ ConfirmReOpenAProject=Are you sure you want to re-open this project?
ProjectContact=Project contacts
ActionsOnProject=Events on project
YouAreNotContactOfProject=You are not a contact of this private project
UserIsNotContactOfProject=User is not a contact of this private project
DeleteATimeSpent=Delete time spent
ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent?
DoNotShowMyTasksOnly=See also tasks not assigned to me
@ -110,7 +118,7 @@ TaskRessourceLinks=Resources
ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party
NoTasks=No tasks for this project
LinkedToAnotherCompany=Linked to other third party
TaskIsNotAffectedToYou=Task not assigned to you
TaskIsNotAssignedToUser=Task not assigned to user. Use button '<strong>%s</strong>' to assign task now.
ErrorTimeSpentIsEmpty=Time spent is empty
ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (<b>%s</b> tasks at the moment) and all inputs of time spent.
IfNeedToUseOhterObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties.
@ -161,27 +169,32 @@ FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time
InputPerDay=Input per day
InputPerWeek=Input per week
InputPerAction=Input per action
TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s
TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s
ProjectsWithThisUserAsContact=Projects with this user as contact
TasksWithThisUserAsContact=Tasks assigned to this user
ResourceNotAssignedToProject=Not assigned to project
ResourceNotAssignedToTheTask=Not assigned to the task
TasksAssignedTo=Tasks assigned to
AssignTaskToMe=Assign task to me
AssignTaskToUser=Assign task to %s
SelectTaskToAssign=Select task to assign...
AssignTask=Assign
ProjectOverview=Overview
ManageTasks=Use projects to follow tasks and time
ManageOpportunitiesStatus=Use projects to follow leads/opportinuties
ProjectNbProjectByMonth=Nb of created projects by month
ProjectNbTaskByMonth=Nb of created tasks by month
ProjectOppAmountOfProjectsByMonth=Amount of opportunities by month
ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of opportunities by month
ProjectOpenedProjectByOppStatus=Open project/lead by opportunity status
ProjectsStatistics=Statistics on projects/leads
TasksStatistics=Statistics on project/lead tasks
TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible.
IdTaskTime=Id task time
YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. But best practice may be to add a dedicated field, also called complementary attributes.
OpenedProjectsByThirdparties=Opened projects by thirdparties
OpenedProjectsByThirdparties=Open projects by third parties
OnlyOpportunitiesShort=Only opportunities
OpenedOpportunitiesShort=Opened opportunities
OpenedOpportunitiesShort=Open opportunities
NotAnOpportunityShort=Not an opportunity
OpportunityTotalAmount=Opportunities total amount
OpportunityPonderatedAmount=Opportunities weighted amount

View File

@ -1,24 +1,24 @@
# Dolibarr language file - en_US - Accounting Expert
ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file
ACCOUNTING_EXPORT_DATE=Date format for export file
ACCOUNTING_EXPORT_PIECE=Export the number of piece
ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account
ACCOUNTING_EXPORT_LABEL=Export label
ACCOUNTING_EXPORT_AMOUNT=Export amount
ACCOUNTING_EXPORT_DEVISE=Export currency
Selectformat=Select the format for the file
ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name
ACCOUNTING_EXPORT_SEPARATORCSV=Odvajanje kolona za izvoznu datoteku
ACCOUNTING_EXPORT_DATE=Format datuma za izvoznu datoteku
ACCOUNTING_EXPORT_PIECE=Izvoz broja komada
ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Izvoz sa globalnim računom
ACCOUNTING_EXPORT_LABEL=Izvoz naziva
ACCOUNTING_EXPORT_AMOUNT=Izvoz iznosa
ACCOUNTING_EXPORT_DEVISE=Izvoz valute
Selectformat=Odaberi format za datoteku
ACCOUNTING_EXPORT_PREFIX_SPEC=Odredi prefiks za naziv datoteke
ThisService=This service
ThisProduct=This product
DefaultForService=Default for service
DefaultForProduct=Default for product
CantSuggest=Can't suggest
AccountancySetupDoneFromAccountancyMenu=Most setup of the accountancy is done from the menu %s
ConfigAccountingExpert=Configuration of the module accounting expert
Journalization=Journalization
Journaux=Journals
JournalFinancial=Financial journals
BackToChartofaccounts=Return chart of accounts
ConfigAccountingExpert=Podešavanje modula eksperta računovodstva
Journalization=Prenos u dnevnik
Journaux=Dnevnici
JournalFinancial=Finansijski dnevnici
BackToChartofaccounts=Vraćanje na pregled računa
Chartofaccounts=Chart of accounts
CurrentDedicatedAccountingAccount=Current dedicated account
AssignDedicatedAccountingAccount=New account to assign
@ -26,38 +26,46 @@ InvoiceLabel=Invoice label
OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to accounting account
OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to accounting account
OtherInfo=Other information
DeleteCptCategory=Remove accounting account from group
ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group ?
AccountancyArea=Accountancy area
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step:
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year...
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making thee journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making the journalization (writing record in Journals and General ledger)
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies...
AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s
AccountancyAreaDescChartModel=STEP %s: Create a model of chart of account from menu %s
AccountancyAreaDescChart=STEP %s: Create or check content of your chart of account from menu %s
AccountancyAreaDescBank=STEP %s: Check the binding between bank accounts and accounting account is done. Complete missing bindings. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescVat=STEP %s: Check the binding between vat rates and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescExpenseReport=STEP %s: Check the binding between type of expense report and accounting account is done. Complete missing bindings. You can set accounting accounts to use for each VAT from page %s.
AccountancyAreaDescSal=STEP %s: Check the binding between salaries payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Check the binding between special expences (miscellaneous taxes) and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Check the binding between donation and accounting account is done. Complete missing bindings. You can set the account dedicated for that from the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Check the default binding between miscellaneous transaction lines and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescProd=STEP %s: Check the binding between products/services and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Check the binding between loans payment and accounting account is done. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescCustomer=STEP %s: Check the binding between existing customer invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescSupplier=STEP %s: Check the binding between existing supplier invoice lines and accounting account is done, so application will be able to journalize transactions in General Ledger in one click. Complete missing bindings. For this you can use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the General Ledger. For this, go into each Journal, and click into button "Journalize transactions in General Ledger".
AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s.
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s.
AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s.
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expences (miscellaneous taxes). For this, use the menu entry %s.
AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s.
AccountancyAreaDescMisc=STEP %s: Define default accounting accounts for miscellaneous transactions. For this, use the menu entry %s.
AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s.
AccountancyAreaDescBank=STEP %s: Define accounting accounts for each bank and financial accounts. For this, go on the card of each financial account. You can start from page %s.
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s.
AccountancyAreaDescBind=STEP %s: Check the binding between existing %s lines and accounting account is done, so application will be able to journalize transactions in Ledger in one click. Complete missing bindings. For this, use the menu entry %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu <strong>%s</strong>, and click into button <strong>%s</strong>.
AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports.
AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future.
MenuAccountancy=Računovodstvo
Selectchartofaccounts=Select active chart of accounts
Selectchartofaccounts=Odaberi aktivnog pregleda računa
ChangeAndLoad=Change and load
Addanaccount=Add an accounting account
AccountAccounting=Accounting account
Addanaccount=Dodaj računovodstveni račun
AccountAccounting=Računovodstveni račun
AccountAccountingShort=Account
AccountAccountingSuggest=Accounting account suggested
SubledgerAccount=Subledger Account
subledger_account=Subledger Account
ShowAccountingAccount=Show accounting account
ShowAccountingJournal=Show accounting journal
AccountAccountingSuggest=Predloženi računovodstveni račun
MenuDefaultAccounts=Default accounts
MenuVatAccounts=Vat accounts
MenuTaxAccounts=Tax accounts
@ -70,12 +78,12 @@ CustomersVentilation=Customer invoice binding
SuppliersVentilation=Supplier invoice binding
ExpenseReportsVentilation=Expense report binding
CreateMvts=Create new transaction
UpdateMvts=Modification of a transaction
WriteBookKeeping=Journalize transactions in General Ledger
Bookkeeping=General ledger
UpdateMvts=Modifikacija transakcije
WriteBookKeeping=Journalize transactions in Ledger
Bookkeeping=Ledger
AccountBalance=Account balance
CAHTF=Total purchase supplier before tax
CAHTF=Ukupno nabavke od dobavljača prije poreza
TotalExpenseReport=Total expense report
InvoiceLines=Lines of invoices to bind
InvoiceLinesDone=Bound lines of invoices
@ -103,9 +111,9 @@ ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding don
ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 50)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts
ACCOUNTING_MANAGE_ZERO=Manage the zero at the end of an accounting account. Needed by some countries. Disabled by default. If set to on, you must also set the 2 following parameters (or it is ignored)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts (If you set value to 6 here, the account '706' will appear like '706000' on screen)
ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen)
ACCOUNTING_MANAGE_ZERO=Allow to manage different number of zero at the end of an accounting account. Needed by some countries (like switzerland). If keep to off (default), you can set the 2 following parameters to ask application to add virtual zero.
BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account
ACCOUNTING_SELL_JOURNAL=Sell journal
@ -132,19 +140,19 @@ Sens=Sens
Codejournal=Journal
NumPiece=Piece number
TransactionNumShort=Num. transaction
AccountingCategory=Accounting category
AccountingCategory=Accounting account groups
GroupByAccountAccounting=Group by accounting account
NotMatch=Not Set
DeleteMvt=Delete general ledger lines
DeleteMvt=Delete Ledger lines
DelYear=Year to delete
DelJournal=Journal to delete
ConfirmDeleteMvt=This will delete all lines of the general ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the general ledger
DelBookKeeping=Delete record of the general ledger
ConfirmDeleteMvt=This will delete all lines of the Ledger for year and/or from a specific journal. At least one criteria is required.
ConfirmDeleteMvtPartial=This will delete the selected line(s) of the Ledger
DelBookKeeping=Delete record of the Ledger
FinanceJournal=Finance journal
ExpenseReportsJournal=Expense reports journal
DescFinanceJournal=Finance journal including all the types of payments by bank account
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the General Ledger.
DescJournalOnlyBindedVisible=This is a view of record that are bound to products/services accountancy account and can be recorded into the Ledger.
VATAccountNotDefined=Account for VAT not defined
ThirdpartyAccountNotDefined=Account for third party not defined
ProductAccountNotDefined=Account for product not defined
@ -156,13 +164,13 @@ NewAccountingMvt=New transaction
NumMvts=Numero of transaction
ListeMvts=List of movements
ErrorDebitCredit=Debit and Credit cannot have a value at the same time
AddCompteFromBK=Add accounting accounts to the group
ReportThirdParty=List third party account
DescThirdPartyReport=Consult here the list of the third party customers and suppliers and their accounting accounts
ListAccounts=List of the accounting accounts
Pcgtype=Class of account
Pcgsubtype=Under class of account
Pcgsubtype=Subclass of account
TotalVente=Total turnover before tax
TotalMarge=Total sales margin
@ -186,9 +194,9 @@ AutomaticBindingDone=Automatic binding done
ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used
MvtNotCorrectlyBalanced=Mouvement not correctly balanced. Credit = %s. Debit = %s
FicheVentilation=Binding card
GeneralLedgerIsWritten=Transactions are written in the general ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be recorded.
NoNewRecordSaved=No new record saved
GeneralLedgerIsWritten=Transactions are written in the Ledger
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be dispatched. If there is no other error message, this is probably because they were already dispatched.
NoNewRecordSaved=No new record dispatched
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account
ChangeBinding=Change the binding
@ -196,21 +204,34 @@ ChangeBinding=Change the binding
ApplyMassCategories=Apply mass categories
AddAccountFromBookKeepingWithNoCategories=Add acccount already used with no categories
CategoryDeleted=Category for the accounting account has been removed
AccountingJournals=Accounting journals
AccountingJournal=Accounting journal
NewAccountingJournal=New accounting journal
ShowAccoutingJournal=Show accounting journal
Code=Kod
Nature=Nature
AccountingJournalType1=Various operation
AccountingJournalType2=Sales
AccountingJournalType3=Purchases
AccountingJournalType4=Banka
AccountingJournalType9=Has-new
ErrorAccountingJournalIsAlreadyUse=This journal is already use
## Export
Exports=Exports
Export=Export
Modelcsv=Model of export
OptionsDeactivatedForThisExportModel=For this export model, options are deactivated
Selectmodelcsv=Select a model of export
Modelcsv_normal=Classic export
Modelcsv_CEGID=Export towards CEGID Expert Comptabilité
Exports=Izvozi
Export=Izvoz
Modelcsv=Model izvoza
OptionsDeactivatedForThisExportModel=Za ovaj model izvoza, opcije su onemogućene
Selectmodelcsv=Odaberi model izvoza
Modelcsv_normal=Klasični izvoz
Modelcsv_CEGID=Izvoz prema CEGID Expert Comptabilité
Modelcsv_COALA=Export towards Sage Coala
Modelcsv_bob50=Export towards Sage BOB 50
Modelcsv_ciel=Export towards Sage Ciel Compta or Compta Evolution
Modelcsv_quadratus=Export towards Quadratus QuadraCompta
Modelcsv_ebp=Export towards EBP
Modelcsv_cogilog=Export towards Cogilog
Modelcsv_agiris=Export towards Agiris (Test)
ChartofaccountsId=Chart of accounts Id
## Tools - Init accounting account on product / service
@ -235,11 +256,12 @@ Calculated=Calculated
Formula=Formula
## Error
ErrorNoAccountingCategoryForThisCountry=No accounting category available for country %s (See Home - Setup - Dictionaries)
SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them
ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries)
ExportNotSupported=The export format setuped is not supported into this page
BookeppingLineAlreayExists=Lines already existing into bookeeping
NoJournalDefined=No journal defined
Binded=Lines bound
ToBind=Lines to bind
WarningReportNotReliable=Warning, this report is not based on the General Ledger, so is not reliable yet. It will be replaced by a correct report in a next version.
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manualy in the Ledger. It will be replaced by a more complete report in a next version.

View File

@ -1,9 +1,9 @@
# Dolibarr language file - Source file is en_US - admin
Foundation=Foundation
Foundation=Fondacija
Version=Verzija
VersionProgram=Verzija programa
VersionLastInstall=Initial install version
VersionLastUpgrade=Latest version upgrade
VersionLastInstall=Prvobitno instalirana verzija
VersionLastUpgrade=Verzija zadnje nadogradnje
VersionExperimental=Eksperimentalno
VersionDevelopment=Razvoj
VersionUnknown=Nepoznato
@ -28,26 +28,27 @@ SessionId=ID sesije
SessionSaveHandler=Rukovatelj snimanje sesija
SessionSavePath=Lokalizacija snimanja sesije
PurgeSessions=Očistiti sesije
ConfirmPurgeSessions=Do you really want to purge all sessions? This will disconnect every user (except yourself).
ConfirmPurgeSessions=Da li zaista želite očistiti sve sesije? Ovo će uzrokovati odjavu svih korisnika (osim Vas).
NoSessionListWithThisHandler=Rukovatelj snimanja sesija konfigurisan u PHP-u ne dopušta da se prikažu sve pokrenute sesije.
LockNewSessions=Zaključaj nove konekcije
ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user <b>%s</b> will be able to connect after that.
UnlockNewSessions=Remove connection lock
YourSession=Your session
Sessions=Users session
ConfirmLockNewSessions=Da li ste sigurni da želite onemogućiti bilo koju novu Dolibarr konekciju sebi. Nakon toga samo će korisnik <b>%s</b> moći se prijaviti.
UnlockNewSessions=Ukloni zaključavanje veze
YourSession=Vaša sesija
Sessions=Korisničke sesije
WebUserGroup=Web server user/group
NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (<b>%s</b>) might be protected (For example, by OS permissions or by PHP directive open_basedir).
DBStoringCharset=Database charset to store data
DBSortingCharset=Database charset to sort data
WarningModuleNotActive=Module <b>%s</b> must be enabled
WarningModuleNotActive=Modul <b>%s</b> mora biti omogućen
WarningOnlyPermissionOfActivatedModules=Samo dozvole koje se odnose na aktivirane module su prikazane ovdje. Možete aktivirati druge module u Početna>Postavke>Stranice modula.
DolibarrSetup=Dolibarr install or upgrade
DolibarrSetup=Dolibarr instalacija ili unapređenje
InternalUser=Interni korisnik
ExternalUser=External user
InternalUsers=Internal users
ExternalUsers=External users
GUISetup=Display
ExternalUser=Vanjski korisnik
InternalUsers=Interni korisnici
ExternalUsers=Vanjski korisnici
GUISetup=Prikaz
SetupArea=Podrčje za postavke
UploadNewTemplate=Upload new template(s)
FormToTestFileUploadForm=Forma za testiranje uploada fajlova (prema postavkama)
IfModuleEnabled=Note: yes is effective only if module <b>%s</b> is enabled
RemoveLock=Remove file <b>%s</b> if it exists to allow usage of the update tool.
@ -60,32 +61,32 @@ ErrorDecimalLargerThanAreForbidden=Error, a precision higher than <b>%s</b> is n
DictionarySetup=Postavke rječnika
Dictionary=Dictionaries
ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record
ErrorCodeCantContainZero=Code can't contain value 0
DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers)
ErrorCodeCantContainZero=Kod ne može sadržavati vrijednost 0
DisableJavascript=Onemogući JavaScript i Ajax funkcije (preporučeno za slijepe osobe ili tekstualne preglednike)
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties, but it is less convenient)
DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact, but it is less convenient)
NumberOfKeyToSearch=Nbr of characters to trigger search: %s
NotAvailableWhenAjaxDisabled=Not available when Ajax disabled
NumberOfKeyToSearch=Broj znakova za početak pretrage: %s
NotAvailableWhenAjaxDisabled=Nije moguće kada je Ajax isključen
AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party
JavascriptDisabled=JavaScript disabled
UsePreviewTabs=Use preview tabs
ShowPreview=Show preview
PreviewNotAvailable=Preview not available
ThemeCurrentlyActive=Theme currently active
CurrentTimeZone=TimeZone PHP (server)
JavascriptDisabled=Onemogućena JavaScript
UsePreviewTabs=Koristi kartice pretpregleda
ShowPreview=Prikaži pretpregled
PreviewNotAvailable=Pretpregled nije moguć
ThemeCurrentlyActive=Trenutno aktivna tema
CurrentTimeZone=Vremenska zona PHP (servera)
MySQLTimeZone=TimeZone MySql (database)
TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered).
Space=Space
Table=Table
Fields=Fields
Index=Index
Mask=Mask
NextValue=Next value
NextValueForInvoices=Next value (invoices)
NextValueForCreditNotes=Next value (credit notes)
NextValueForDeposit=Slijedeća vrijednost (depozita)
Space=Razmak
Table=Tabela
Fields=Polja
Index=Indeks
Mask=Maska
NextValue=Sljedeća vrijednost
NextValueForInvoices=Sljedeća vrijednost (fakture)
NextValueForCreditNotes=Sljedeća vrijednost (KO)
NextValueForDeposit=Next value (down payment)
NextValueForReplacements=Slijedeća vrijednost (zamjene)
MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to <b>%s</b> %s, whatever this parameter's value is
NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration
@ -93,28 +94,27 @@ MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any uploa
UseCaptchaCode=Use graphical code (CAPTCHA) on login page
AntiVirusCommand= Full path to antivirus command
AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe<br>Example for ClamAv: /usr/bin/clamscan
AntiVirusParam= More parameters on command line
AntiVirusParam= Više parametara preko komandne linije
AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib"
ComptaSetup=Postavke modula za računovodstvo
UserSetup=Postavke upravljanja korisnika
MultiCurrencySetup=Multi-currency setup
MenuLimits=Limits and accuracy
MenuLimits=Ograničenja i preciznost
MenuIdParent=Parent menu ID
DetailMenuIdParent=ID of parent menu (empty for a top menu)
DetailPosition=Sort number to define menu position
AllMenus=All
NotConfigured=Module not configured
Active=Active
AllMenus=Sve
NotConfigured=Module/Application not configured
Active=Aktivan
SetupShort=Postavke
OtherOptions=Other options
OtherOptions=Druge opcije
OtherSetup=Ostale postavke
CurrentValueSeparatorDecimal=Decimal separator
CurrentValueSeparatorThousand=Thousand separator
CurrentValueSeparatorDecimal=Odvajanje decimala
CurrentValueSeparatorThousand=Odvajanje hiljada
Destination=Destination
IdModule=Module ID
IdPermissions=Permissions ID
Modules=Modules
LanguageBrowserParameter=Parameter %s
LanguageBrowserParameter=Parametar %s
LocalisationDolibarrParameters=Localisation parameters
ClientTZ=Client Time Zone (user)
ClientHour=Client time (user)
@ -123,19 +123,20 @@ PHPTZ=PHP server Time Zone
DaylingSavingTime=Daylight saving time
CurrentHour=PHP Time (server)
CurrentSessionTimeOut=Current session timeout
YouCanEditPHPTZ=Da biste postavili različite PHP vremenske zonu (nije potrebno), možete pokušati dodati fajl .htacces sa linijom kao što je ova "SetEnv TZ Europe/Paris"
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htaccess with a line like this "SetEnv TZ Europe/Paris"
HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but for the timezone of the server.
Box=Widget
Boxes=Widgets
MaxNbOfLinesForBoxes=Max number of lines for widgets
PositionByDefault=Default order
PositionByDefault=Pretpostavljeni red
Position=Pozicija
MenusDesc=Menu managers set content of the two menu bars (horizontal and vertical).
MenusEditorDesc=The menu editor allows you to define custom menu entries. Use it carefully to avoid instability and permanently unreachable menu entries.<br />Some modules add menu entries (in menu <b>All</b> mostly). If you remove some of these entries by mistake, you can restore them disabling and reenabling the module.
MenuForUsers=Menu for users
MenuForUsers=Meni za korisnike
LangFile=.lang file
System=System
SystemInfo=System information
SystemToolsArea=System tools area
System=Sistem
SystemInfo=Sistemske informacije
SystemToolsArea=Područje sistemskih alata
SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for.
Purge=Purge
PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in <b>%s</b> directory). Using this feature is not necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server.
@ -183,13 +184,13 @@ NoLockBeforeInsert=No lock commands around INSERT
DelayedInsert=Delayed insert
EncodeBinariesInHexa=Encode binary data in hexadecimal
IgnoreDuplicateRecords=Ignore errors of duplicate record (INSERT IGNORE)
AutoDetectLang=Automatsko otkrivanje (browser jezik)
AutoDetectLang=Automatsko otkrivanje (jezik preglednika)
FeatureDisabledInDemo=Feature disabled in demo
FeatureAvailableOnlyOnStable=Feature only available on official stable versions
Rights=Dozvole
BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it.
OnlyActiveElementsAreShown=Only elements from <a href="%s">enabled modules</a> are shown.
ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off to enable a module/feature.
ModulesDesc=Dolibarr modules define which application/feature is enabled in software. Some application/modules require permissions you must grant to users, after activating it. Click on button on/off to enable a module/application.
ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet...
ModulesDeployDesc=If permissions on your file system allows it, you can use this tool to deploy an external module. The module wil then be visible on the tab <strong>%s</strong>.
ModulesMarketPlaces=Find external modules...
@ -213,7 +214,7 @@ MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activat
InstrucToEncodePass=To have password encoded into the <b>conf.php</b> file, replace the line <br><b>$dolibarr_main_db_pass="...";</b><br>by<br><b>$dolibarr_main_db_pass="crypted:%s";</b>
InstrucToClearPass=To have password decoded (clear) into the <b>conf.php</b> file, replace the line <br><b>$dolibarr_main_db_pass="crypted:...";</b><br>by<br><b>$dolibarr_main_db_pass="%s";</b>
ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation)
ProtectAndEncryptPdfFilesDesc=Zaštita PDF dokument drži ga na raspolaganju za čitanje i printanje za bilo kojiPDF preglednikom. Međutim, uređivanje i kopiranje nije moguće. Imajte na umu da koristite ovu funkciju čine izgradnju globalne kumulirane pdf fajlove ne radi (kao što su neplaćeni računi).
ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working.
Feature=Feature
DolibarrLicense=License
Developpers=Developers/contributors
@ -224,7 +225,9 @@ OfficialDemo=Dolibarr online demo
OfficialMarketPlace=Official market place for external modules/addons
OfficialWebHostingService=Referenced web hosting services (Cloud hosting)
ReferencedPreferredPartners=Preferred Partners
OtherResources=Autres ressources
OtherResources=Other resources
ExternalResources=External resources
SocialNetworks=Social Networks
ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),<br>take a look at the Dolibarr Wiki:<br><b><a href="%s" target="_blank">%s</a></b>
ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:<br><b><a href="%s" target="_blank">%s</a></b>
HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr.
@ -243,7 +246,7 @@ NoticePeriod=Notice period
NewByMonth=New by month
Emails=E-mails
EMailsSetup=Postavke e-mailova
EMailsDesc=Ova stranica vam omogućava da prebriše PHP parametre za slanje e-mailova. U većini slučajeva na Unix / Linux OS, PHP postavke si ispravne i ovi parametri su beskorisni.
EMailsDesc=Ova stranica vam omogućava da prebriše PHP parametre za slanje e-mailova. U većini slučajeva na Unix / Linux OS, PHP postavke su ispravne i ovi parametri su beskorisni.
MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: <b>%s</b>)
MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: <b>%s</b>)
MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems)
@ -267,8 +270,8 @@ FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your
SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit your change to www.transifex.com/dolibarr-association/dolibarr/
SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr.
ModuleSetup=Postavke modula
ModulesSetup=Postavke modula
ModuleFamilyBase=System
ModulesSetup=Modules/Application setup
ModuleFamilyBase=Sistem
ModuleFamilyCrm=Customer Relation Management (CRM)
ModuleFamilySrm=Supplier Relation Management (SRM)
ModuleFamilyProducts=Products Management (PM)
@ -300,14 +303,17 @@ CurrentVersion=Dolibarr current version
CallUpdatePage=Go to the page that updates the database structure and data: %s.
LastStableVersion=Latest stable version
LastActivationDate=Latest activation date
LastActivationAuthor=Latest activation author
LastActivationIP=Latest activation IP
UpdateServerOffline=Update server offline
WithCounter=Manage a counter
GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:<br><b>{000000}</b> corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask. <br><b>{000000+000}</b> same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s. <br><b>{000000@x}</b> same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required. <br><b>{dd}</b> day (01 to 31).<br><b>{mm}</b> month (01 to 12).<br><b>{yy}</b>, <b>{yyyy}</b> or <b>{y}</b> year over 2, 4 or 1 numbers. <br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.<br>
GenericMaskCodes3=All other characters in the mask will remain intact.<br>Spaces are not allowed.<br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany done 2007-01-31:</u><br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany, with date 2007-01-31:</u><br>
GenericMaskCodes4b=<u>Example on third party created on 2007-03-01:</u><br>
GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b><br><b>IN{yy}{mm}-{0000}-{t}</b> will give <b>IN0701-0099-A</b> if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI'
GenericNumRefModelDesc=Returns a customizable number according to a defined mask.
ServerAvailableOnIPOrPort=Server is available at address <b>%s</b> on port <b>%s</b>
ServerNotAvailableOnIPOrPort=Server is not available at address <b>%s</b> on port <b>%s</b>
@ -367,21 +373,23 @@ String=String
TextLong=Long text
Int=Integer
Float=Float
DateAndTime=Date and hour
DateAndTime=Datum i vrijeme
Unique=Unique
Boolean=Boolean (Checkbox)
Boolean=Boolean (one checkbox)
ExtrafieldPhone = Telefon
ExtrafieldPrice = Price
ExtrafieldMail = Email
ExtrafieldPrice = Cijena
ExtrafieldMail = email
ExtrafieldUrl = Url
ExtrafieldSelect = Select list
ExtrafieldSelectList = Select from table
ExtrafieldSeparator=Separator
ExtrafieldPassword=Password
ExtrafieldCheckBox=Checkbox
ExtrafieldRadio=Radio button
ExtrafieldCheckBoxFromList= Checkbox from table
ExtrafieldSeparator=Separator (not a field)
ExtrafieldPassword=Šifra
ExtrafieldRadio=Radio buttons (on choice only)
ExtrafieldCheckBox=Checkboxes
ExtrafieldCheckBoxFromList=Checkboxes from table
ExtrafieldLink=Link to an object
ComputedFormula=Computed field
ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: <strong>$db, $conf, $langs, $mysoc, $user, $object</strong>.<br><strong>WARNING</strong>: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.<br>Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.<br><br>Example of formula:<br>$object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)<br><br>Example to reload object<br>(($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1'<br><br>Other example of formula to force load of object and its parent object:<br>(($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found'
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another complementary attribute list :<br>1,value1|options_<i>parent_list_code</i>:parent_key<br>2,value2|options_<i>parent_list_code</i>:parent_key <br><br>In order to have the list depending on another list :<br>1,value1|<i>parent_list_code</i>:parent_key<br>2,value2|<i>parent_list_code</i>:parent_key
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
@ -398,7 +406,7 @@ LinkToTest=Clickable link generated for user <strong>%s</strong> (click phone nu
KeepEmptyToUseDefault=Keep empty to use default value
DefaultLink=Default link
SetAsDefault=Set as default
ValueOverwrittenByUserSetup=Upozorenje, ova vrijednost se može prebrisati posebnim postabkama korisnika (svaki korisnik može postaviti svoj clicktodial URL)
ValueOverwrittenByUserSetup=Upozorenje, ova vrijednost se može prebrisati posebnim postavkama korisnika (svaki korisnik može postaviti svoj clicktodial URL)
ExternalModule=Eksterni moduli - Instalirani u direktorij %s
BarcodeInitForThirdparties=Mass barcode init for thirdparties
BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services
@ -422,6 +430,20 @@ Use3StepsApproval=By default, Purchase Orders need to be created and approved by
UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than...
WarningPHPMail=WARNING: Some email providers (like Yahoo) does not allow you to send an email from another server than the Yahoo server if the email address used as a sender is your Yahoo email (like myemail@yahoo.com, myemail@yahoo.fr, ...). Your current setup use the server of the application to send email, so some recipients (the one compatible with the restrictive DMARC protocol), will ask Yahoo if they can accept your email and Yahoo will respond "no" because the server is not a server owned by Yahoo, so few of your sent Emails may not be accepted.<br>If your Email provider (like Yahoo) has this restriction, you must change Email setup to choose the other method "SMTP server" and enter the SMTP server and credentials provided by your Email provider (ask your EMail provider to get SMTP credentials for your account).
ClickToShowDescription=Click to show description
DependsOn=This module need the module(s)
RequiredBy=This module is required by module(s)
TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. This need to have technical knowledges to read the content of the HTML page to get the key name of a field.
PageUrlForDefaultValues=You must enter here the relative url of the page. If you include parameters in URL, the default values will be effective if all parameters are set to same value. Examples:
PageUrlForDefaultValuesCreate=<br>For form to create a new thirdparty, it is <strong>%s</strong>
PageUrlForDefaultValuesList=<br>For page that list thirdparties, it is <strong>%s</strong>
EnableDefaultValues=Enable usage of personalized default values
EnableOverwriteTranslation=Enable usage of overwrote translation
GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code, so to change this value, you must edit it fom Home-Setup-translation.
WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior.
Field=Field
ProductDocumentTemplates=Document templates to generate product document
FreeLegalTextOnExpenseReports=Free legal text on expense reports
WatermarkOnDraftExpenseReports=Watermark on draft expense reports
# Modules
Module0Name=Users & groups
Module0Desc=Users / Employees and Groups management
@ -444,7 +466,7 @@ Module30Desc=Invoice and credit note management for customers. Invoice managemen
Module40Name=Dobavljači
Module40Desc=Supplier management and buying (orders and invoices)
Module42Name=Logs
Module42Desc=Logging facilities (file, syslog, ...)
Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes.
Module49Name=Editors
Module49Desc=Editor management
Module50Name=Proizvodi
@ -487,7 +509,7 @@ Module240Name=Data exports
Module240Desc=Tool to export Dolibarr data (with assistants)
Module250Name=Data imports
Module250Desc=Tool to import data in Dolibarr (with assistants)
Module310Name=Members
Module310Name=Članovi
Module310Desc=Foundation members management
Module320Name=RSS Feed
Module320Desc=Add RSS feed inside Dolibarr screen pages
@ -499,15 +521,15 @@ Module410Name=Webcalendar
Module410Desc=Webcalendar integration
Module500Name=Special expenses
Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends)
Module510Name=Employee contracts and salaries
Module510Desc=Management of employees contracts, salaries and payments
Module510Name=Payment of employee wages
Module510Desc=Record and follow payment of your employee wages
Module520Name=Loan
Module520Desc=Management of loans
Module600Name=Notifikacije
Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each third party) or fixed emails
Module700Name=Donacije
Module700Desc=Donation management
Module770Name=Expense reports
Module770Name=Izvještaj o troškovima
Module770Desc=Management and claim expense reports (transportation, meal, ...)
Module1120Name=Supplier commercial proposal
Module1120Desc=Request supplier commercial proposal and prices
@ -542,8 +564,10 @@ Module2900Name=GeoIPMaxmind
Module2900Desc=GeoIP Maxmind conversions capabilities
Module3100Name=Skype
Module3100Desc=Add a Skype button into users / third parties / contacts / members cards
Module3200Name=Non Reversible Logs
Module3200Desc=Activate log of some business events into a non reversible log. Events are archived in real-time. The log is a table of chained event that can be then read and exported. This module may be mandatory for some countries.
Module4000Name=Kadrovska služba
Module4000Desc=Human resources management
Module4000Desc=Human resources management (mangement of department, employee contracts and feelings)
Module5000Name=Multi-company
Module5000Desc=Allows you to manage multiple companies
Module6000Name=Workflow - Tok rada
@ -570,7 +594,7 @@ Module59000Name=Margins
Module59000Desc=Module to manage margins
Module60000Name=Commissions
Module60000Desc=Module to manage commissions
Module63000Name=Resources
Module63000Name=Resursi
Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events
Permission11=Read customer invoices
Permission12=Create/modify customer invoices
@ -591,7 +615,7 @@ Permission32=Create/modify products
Permission34=Delete products
Permission36=See/manage hidden products
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, for me or my hierarchy, on assigned tasks (Timesheet)
Permission42=Create/modify projects (shared project and projects i'm contact for). Can also create tasks and assign users to project and tasks
Permission44=Delete projects (shared project and projects i'm contact for)
Permission45=Export projects
@ -830,7 +854,7 @@ DictionaryActions=Types of agenda events
DictionarySocialContributions=Social or fiscal taxes types
DictionaryVAT=VAT Rates or Sales Tax Rates
DictionaryRevenueStamp=Amount of revenue stamps
DictionaryPaymentConditions=Payment terms
DictionaryPaymentConditions=Uslovi plaćanja
DictionaryPaymentModes=Payment modes
DictionaryTypeContact=Contact/Address types
DictionaryEcotaxe=Ecotax (WEEE)
@ -844,12 +868,14 @@ DictionaryOrderMethods=Ordering methods
DictionarySource=Origin of proposals/orders
DictionaryAccountancyCategory=Accounting account groups
DictionaryAccountancysystem=Models for chart of accounts
DictionaryAccountancyJournal=Accounting journals
DictionaryEMailTemplates=Emails templates
DictionaryUnits=Jedinice
DictionaryProspectStatus=Prospection status
DictionaryHolidayTypes=Types of leaves
DictionaryOpportunityStatus=Opportunity status for project/lead
SetupSaved=Postavke snimljene
SetupNotSaved=Setup not saved
BackToModuleList=Back to modules list
BackToDictionaryList=Back to dictionaries list
VATManagement=VAT Management
@ -858,7 +884,7 @@ VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases li
VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared.
VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices.
##### Local Taxes #####
LTRate=Rate
LTRate=Stopa
LocalTax1IsNotUsed=Do not use second tax
LocalTax1IsUsedDesc=Use a second type of tax (other than VAT)
LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT)
@ -921,7 +947,7 @@ Host=Server
DriverType=Driver type
SummarySystem=System information summary
SummaryConst=Lista svih parametara postavki za Dolibarr
MenuCompanySetup=Kompanija/Fondacija
MenuCompanySetup=Kompanija/organizacija
DefaultMenuManager= Standard menu manager
DefaultMenuSmartphoneManager=Smartphone menu manager
Skin=Skin theme
@ -931,12 +957,14 @@ DefaultMaxSizeList=Default max length for lists
DefaultMaxSizeShortList=Default max length for short lists (ie in customer card)
MessageOfDay=Message of the day
MessageLogin=Login page message
LoginPage=Login page
BackgroundImageLogin=Background image
PermanentLeftSearchForm=Permanent search form on left menu
DefaultLanguage=Default language to use (language code)
EnableMultilangInterface=Enable multilingual interface
EnableShowLogo=Show logo on left menu
CompanyInfo=Company/foundation information
CompanyIds=Company/foundation identities
CompanyInfo=Company/organisation information
CompanyIds=Company/organisation identities
CompanyName=Naziv
CompanyAddress=Adresa
CompanyZip=Zip
@ -950,7 +978,7 @@ NoActiveBankAccountDefined=No active bank account defined
OwnerOfBankAccount=Owner of bank account %s
BankModuleNotActive=Bank accounts module not enabled
ShowBugTrackLink=Show link "<strong>%s</strong>"
Alerts=Alerts
Alerts=Upozorenja
DelaysOfToleranceBeforeWarning=Tolerance delays before warning
DelaysOfToleranceDesc=This screen allows you to define the tolerated delays before an alert is reported on screen with picto %s for each late element.
Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events (agenda events) not completed yet
@ -969,9 +997,9 @@ Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed memb
Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do
Delays_MAIN_DELAY_EXPENSEREPORTS=Tolerance delay (in days) before alert for expense reports to approve
SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr.
SetupDescription2=The two most important setup steps are the first two in the setup menu on the left: Company/foundation setup page and Modules setup page:
SetupDescription3=Parameters in menu <a href="%s">Setup -> Company/foundation</a> are required because submitted data are used on Dolibarr displays and to customize the default behaviour of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">Setup -> Modules</a> are required because Dolibarr is not a monolithic ERP/CRM but a collection of several modules, all more or less independent. New features will be added to menus for every module you'll enable.
SetupDescription2=The two mandatory setup steps are the first two in the setup menu on the left: %s setup page and %s setup page :
SetupDescription3=Parameters in menu <a href="%s">%s -> %s</a> are required because defined data are used on Dolibarr screens and to customize the default behavior of the software (for country-related features for example).
SetupDescription4=Parameters in menu <a href="%s">%s -> %s</a> are required because Dolibarr ERP/CRM is a collection of several modules/applications, all more or less independent. New features will be added to menus for every module you will activate.
SetupDescription5=Other menu entries manage optional parameters.
LogEvents=Security audit events
Audit=Audit
@ -987,7 +1015,7 @@ BrowserOS=Browser OS
ListOfSecurityEvents=List of Dolibarr security events
SecurityEventsPurged=Security events purged
LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu <b>System tools - Audit</b>. Warning, this feature can consume a large amount of data in database.
AreaForAdminOnly=Those features can be used by <b>administrator users</b> only.
AreaForAdminOnly=Setup parameters can be set by <b>administrator users</b> only.
SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only.
SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit.
CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" or "Save" button at bottom of page)
@ -1079,11 +1107,12 @@ CurrentTranslationString=Current translation string
WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string
NewTranslationStringToShow=New translation string to show
OriginalValueWas=The original translation is overwritten. Original value was:<br><br>%s
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b> / <b>%s</b>
TransKeyWithoutOriginalValue=You forced a new translation for the translation key '<strong>%s</strong>' that does not exists in any language files
TotalNumberOfActivatedModules=Activated application/modules: <b>%s</b> / <b>%s</b>
YouMustEnableOneModule=You must at least enable 1 module
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
YesInSummer=Yes in summer
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users) and only if permissions were granted:
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users) and only if permissions were granted:
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
ConditionIsCurrently=Condition is currently %s
YouUseBestDriver=Možete koristiti driver %s koji je trenutno najbolji.
@ -1129,14 +1158,16 @@ CompanyIdProfChecker=Rules on Professional Ids
MustBeUnique=Must be unique?
MustBeMandatory=Mandatory to create third parties?
MustBeInvoiceMandatory=Mandatory to validate invoices?
TechnicalServicesProvided=Technical services provided
##### Webcal setup #####
WebCalUrlForVCalExport=An export link to <b>%s</b> format is available at following link: %s
##### Invoices #####
BillsSetup=Invoices module setup
BillsNumberingModule=Invoices and credit notes numbering model
BillsPDFModules=Invoice documents models
CreditNote=Dobropis
CreditNotes=Dobropisi
PaymentsPDFModules=Payment documents models
CreditNote=Knjižna obavijest
CreditNotes=Knjižne obavijesti
ForceInvoiceDate=Force invoice date to validation date
SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice
SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account
@ -1191,11 +1222,11 @@ AdherentMailRequired=EMail required to create a new member
MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default
##### LDAP setup #####
LDAPSetup=LDAP Setup
LDAPGlobalParameters=Global parameters
LDAPUsersSynchro=Users
LDAPGlobalParameters=Globalni parametri
LDAPUsersSynchro=Korisnici
LDAPGroupsSynchro=Grupe
LDAPContactsSynchro=Contacts
LDAPMembersSynchro=Members
LDAPContactsSynchro=Kontakti
LDAPMembersSynchro=Članovi
LDAPSynchronization=LDAP synchronisation
LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP
LDAPToDolibarr=LDAP -> Dolibarr
@ -1302,7 +1333,7 @@ LDAPFieldCompanyExample=Example : o
LDAPFieldSid=SID
LDAPFieldSidExample=Example : objectsid
LDAPFieldEndLastSubscription=Date of subscription end
LDAPFieldTitle=Job position
LDAPFieldTitle=Pozicija
LDAPFieldTitleExample=Example: title
LDAPSetupNotComplete=LDAP setup not complete (go on others tabs)
LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode.
@ -1327,9 +1358,16 @@ FilesOfTypeNotCached=Fajlovi tipa %s nisu keširani na HTTP serveru
FilesOfTypeCompressed=Fajlovi tipa %s su kompresovani od strane HTTP servera
FilesOfTypeNotCompressed=Fajlovi tipa %s nisu kompresovani od strane HTTP servera
CacheByServer=Keširanje na serveru
CacheByServerDesc=For exemple using the Apache directive "ExpiresByType image/gif A2592000"
CacheByClient=Keširanje u browser-u
CompressionOfResources=Kompresija HTTP odgovora
CompressionOfResourcesDesc=For exemple using the Apache directive "AddOutputFilterByType DEFLATE"
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers
DefaultValuesDesc=You can define/force here the default value you want to get when your create a new record, and/or defaut filters or sort order when your list record.
DefaultCreateForm=Default values for new objects
DefaultSearchFilters=Default search filters
DefaultSortOrder=Default sort orders
DefaultFocus=Default focus fields
##### Products #####
ProductSetup=Products module setup
ServiceSetup=Services module setup
@ -1464,7 +1502,7 @@ SupposedToBeInvoiceDate=Invoice date used
Buy=Buy
Sell=Sell
InvoiceDateUsed=Invoice date used
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup.
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organisation), so there is no VAT options to setup.
AccountancyCode=Accountancy Code
AccountancyCodeSell=Sale account. code
AccountancyCodeBuy=Purchase account. code
@ -1479,9 +1517,10 @@ AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into searc
AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda
AGENDA_NOTIFICATION=Enable event notification on user browsers when event date is reached (each user is able to refuse this from the browser confirmation question)
AGENDA_NOTIFICATION_SOUND=Enable sound notification
AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view
##### Clicktodial #####
ClickToDialSetup=Click To Dial module setup
ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags<br><b>__PHONETO__</b> that will be replaced with the phone number of person to call<br><b>__PHONEFROM__</b> that will be replaced with phone number of calling person (yours)<br><b>__LOGIN__</b> that will be replaced with your clicktodial login (defined on your user card)<br><b>__PASS__</b> that will be replaced with your clicktodial password (defined on your user card).
ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags<br><b>__PHONETO__</b> that will be replaced with the phone number of person to call<br><b>__PHONEFROM__</b> that will be replaced with phone number of calling person (yours)<br><b>__LOGIN__</b> that will be replaced with clicktodial login (defined on user card)<br><b>__PASS__</b> that will be replaced with clicktodial password (defined on user card).
ClickToDialDesc=This module allows to make phone numbers clickable. A click on this icon will call make your phone to call the phone number. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example.
ClickToDialUseTelLink=Use just a link "tel:" on phone numbers
ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on same computer than the browser, and called when you click on a link in your browser that start with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field.
@ -1510,7 +1549,7 @@ EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint availa
ApiSetup=API module setup
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
ApiProductionMode=Enable production mode (this will activate use of a cache for services management)
ApiExporerIs=You can explore the APIs at url
ApiExporerIs=You can explore and test the APIs at URL
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
ApiKey=Key for API
WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it.
@ -1518,12 +1557,11 @@ WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is n
BankSetupModule=Bank module setup
FreeLegalTextOnChequeReceipts=Free text on cheque receipts
BankOrderShow=Display order of bank accounts for countries using "detailed bank number"
BankOrderGlobal=General
BankOrderGlobal=Opće
BankOrderGlobalDesc=General display order
BankOrderES=Španski
BankOrderESDesc=Spanish display order
ChequeReceiptsNumberingModule=Cheque Receipts Numbering module
##### Multicompany #####
MultiCompanySetup=Multi-company module setup
##### Suppliers #####
@ -1582,12 +1620,12 @@ BackupDumpWizard=Wizard to build database backup dump file
SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason:
SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do.
InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file <strong>%s</strong> to allow this feature.
ConfFileMuseContainCustom=Installing an external module from application need to 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 add the 2 directive lines:<br><strong>$dolibarr_main_url_root_alt='/custom';</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
ConfFileMustContainCustom=Installing or building an external module from application need to 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 add the 2 directive lines:<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
HighlightLinesColor=Highlight color of the line when the mouse passes over (keep empty for no highlight)
TextTitleColor=Color of page title
LinkColor=Color of links
PressF5AfterChangingThis=Press F5 on keyboard or clear your browser cache after changing this value to have it effective
PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective
NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes
BackgroundColor=Background color
TopMenuBackgroundColor=Background color for Top menu
@ -1600,6 +1638,7 @@ MinimumNoticePeriod=Minimum notice period (Your leave request must be done befor
NbAddedAutomatically=Number of days added to counters of users (automatically) each month
EnterAnyCode=This field contains a reference to identify line. Enter any value of your choice, but without special characters.
UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For exemple: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364]
ColorFormat=The RGB color is in HEX format, eg: FF0000
PositionIntoComboList=Position of line into combo lists
SellTaxRate=Sale tax rate
RecuperableOnly=Yes for VAT "Non Perçue Récupérable" dedicated for some state in France. Keep value to "No" in all other cases.
@ -1658,6 +1697,10 @@ SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choic
ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary.
UserHasNoPermissions=This user has no permission defined
TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")<br>Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)<br>Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days")
BaseCurrency=Reference currency of the company (go into setup of company to change this)
WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016).
WarningNoteModulePOSForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated.
WarningInstallationMayBecomeNotCompliantWithLaw=You try to install the module %s that is an external module. Activating an external module means you trust the publisher of the module and you are sure that this module does not alterate negatively the behavior of your application and is compliant with laws of your country (%s). If the module bring a non legal feature, you become responsible for the use of a non legal software.
##### Resource ####
ResourceSetup=Configuration du module Resource
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).

View File

@ -5,14 +5,14 @@ BankName=Naziv banke
FinancialAccount=Račun
BankAccount=Žiro račun
BankAccounts=Žiro računi
ShowAccount=Show Account
AccountRef=Financijski računa ref
AccountLabel=Naziv za financijski račun
ShowAccount=Prikaži račun
AccountRef=Finansijski račun ref
AccountLabel=Naziv za finansijski račun
CashAccount=Gotovinski račun
CashAccounts=Gotovinski računi
CurrentAccounts=Tekući računi
SavingAccounts=Štedni računi
ErrorBankLabelAlreadyExists=Naziv za financijski račun već postoji
ErrorBankLabelAlreadyExists=Naziv za finansijski račun već postoji
BankBalance=Stanje
BankBalanceBefore=Stanje prije
BankBalanceAfter=Stanje poslije
@ -28,12 +28,12 @@ Reconciliation=Izmirenje
RIB=Broj bankovnog računa
IBAN=IBAN broj
BIC=BIC / SWIFT broj
SwiftValid=BIC/SWIFT valid
SwiftVNotalid=BIC/SWIFT not valid
IbanValid=BAN valid
IbanNotValid=BAN not valid
StandingOrders=Direct Debit orders
StandingOrder=Direct debit order
SwiftValid=BIC/SWIFT valjan
SwiftVNotalid=BIC/SWIFT nije valjan
IbanValid=BAN valjan
IbanNotValid=BAN nije valjan
StandingOrders=Nalozi za plaćanje
StandingOrder=Nalog za plaćanje
AccountStatement=Izvod računa
AccountStatementShort=Izvod
AccountStatements=Izvodi računa
@ -43,7 +43,7 @@ BankAccountDomiciliation=Adresa računa
BankAccountCountry=Zemlja računa
BankAccountOwner=Ime vlasnika računa
BankAccountOwnerAddress=Adresa vlasnika računa
RIBControlError=Integrity check of values fails. This means information for this account number are not complete or wrong (check country, numbers and IBAN).
RIBControlError=Provjera integriteta vrijednosti neuspješna. To znači da podaci za ovaj broj računa nisu tačni ili nepotpuni (provjerite državu, brojeve i IBAN).
CreateAccount=Kreiraj račun
NewBankAccount=Novi račun
NewFinancialAccount=Novi finansijski račun
@ -57,96 +57,101 @@ BankType2=Gotovinski račun
AccountsArea=Područje za račune
AccountCard=Kartica računa
DeleteAccount=Obriši račun
ConfirmDeleteAccount=Are you sure you want to delete this account?
ConfirmDeleteAccount=Da li ste sigurni da želite obrisati ovaj račun?
Account=Račun
BankTransactionByCategories=Bank entries by categories
BankTransactionForCategory=Bank entries for category <b>%s</b>
BankTransactionByCategories=Bankovne transakcije po kategorijama
BankTransactionForCategory=Bankovne transakcije za kategoriju <b>%s</b>
RemoveFromRubrique=Uklonite vezu sa kategorijom
RemoveFromRubriqueConfirm=Are you sure you want to remove link between the entry and the category?
ListBankTransactions=List of bank entries
RemoveFromRubriqueConfirm=Da li ste sigurni da želite ukloniti vezu između transakcije i kategorije?
ListBankTransactions=Spisak bankovnih transakcija
IdTransaction=ID transakcije
BankTransactions=Bank entries
ListTransactions=List entries
ListTransactionsByCategory=List entries/category
TransactionsToConciliate=Entries to reconcile
BankTransactions=Bankovne transakcije
BankTransaction=Bankovna transakcija
ListTransactions=Spisak transakcija
ListTransactionsByCategory=Spisak transakcija/kategorija
TransactionsToConciliate=Transakcije za izmirivanje
Conciliable=Može se izmiriti
Conciliate=Izmiriti
Conciliation=Podmirivanje
ReconciliationLate=Reconciliation late
ReconciliationLate=Kašnjenje s izmirivanjem
IncludeClosedAccount=Uključiti zatvorene račune
OnlyOpenedAccount=Samo otvoreni računi
AccountToCredit=Račun za potraživanja
AccountToDebit=Račun za zaduživanje
DisableConciliation=Isključi opciju podmirenja za ovaj račun
ConciliationDisabled=Opcija podmirivanja isključena
LinkedToAConciliatedTransaction=Linked to a conciliated entry
StatusAccountOpened=Otvoreno
StatusAccountClosed=Zatvoreno
LinkedToAConciliatedTransaction=Spojeno na izmirenu transakciju
StatusAccountOpened=Otvoren
StatusAccountClosed=Zatvoren
AccountIdShort=Broj
LineRecord=Transakcija
AddBankRecord=Add entry
AddBankRecordLong=Add entry manually
AddBankRecord=Dodaj unos
AddBankRecordLong=Dodaj unos ručno
ConciliatedBy=Izmireno od strane
DateConciliating=Datum izmirivanja
BankLineConciliated=Entry reconciled
Reconciled=Reconciled
NotReconciled=Not reconciled
CustomerInvoicePayment=Uplata mušterije
SupplierInvoicePayment=Plaćanje dobavljača
SubscriptionPayment=Subscription payment
BankLineConciliated=Transakcija izmirena
Reconciled=Izmireno
NotReconciled=Nije izmireno
CustomerInvoicePayment=Uplata kupca
SupplierInvoicePayment=Plaćanje dobavljaču
SubscriptionPayment=Plaćanje preplate
WithdrawalPayment=Povlačenje uplate
SocialContributionPayment=Social/fiscal tax payment
BankTransfer=Bankovna transakcija
BankTransfers=Bankovne transakcije
MenuBankInternalTransfer=Internal transfer
TransferDesc=Transfer from one account to another one, Dolibarr will write two record (a debit in source account and a credit in target account. The same amount (except sign), label and date will be used for this transaction)
SocialContributionPayment=Plaćanje socijalnog/fiskalnog poreza
BankTransfer=Prenos između banaka
BankTransfers=Prenosi između banaka
MenuBankInternalTransfer=Interni transfer
TransferDesc=Prebacivanje s jednog računa na drugi, Dolibarr zapisuje dva unosa (potražuje račun sa kojeg se prenosi i duguje ciljni račun. Isti iznos (osim predznaka), oznaka i datum će se koristiti za ovu transakciju)
TransferFrom=Od strane
TransferTo=Prema
TransferFromToDone=Transfer sa <b>%s</b> na <b>%s</b> u iznosu od <b>%s</b> %s je zapisan.
CheckTransmitter=Otpremnik
ValidateCheckReceipt=Validate this check receipt?
ConfirmValidateCheckReceipt=Are you sure you want to validate this check receipt, no change will be possible once this is done?
DeleteCheckReceipt=Delete this check receipt?
ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt?
ValidateCheckReceipt=Odobrite ovaj ispis čeka?
ConfirmValidateCheckReceipt=Da li ste sigurni da želite odobriti ovaj prijem čeka, kada to uradite nećete moći više vršiti promjene?
DeleteCheckReceipt=Obrišite ovaj izvod čeka?
ConfirmDeleteCheckReceipt=Da li ste sigurni da želite obrisati ovaj izvod od čeka?
BankChecks=Bankovni ček
BankChecksToReceipt=Checks awaiting deposit
BankChecksToReceipt=Čekovi koji čekaju na depozit
ShowCheckReceipt=Prikaži priznanicu depozita čeka
NumberOfCheques=Broj čeka
DeleteTransaction=Delete entry
ConfirmDeleteTransaction=Are you sure you want to delete this entry?
ThisWillAlsoDeleteBankRecord=This will also delete generated bank entry
DeleteTransaction=Obriši unos
ConfirmDeleteTransaction=Da li ste sigurni da želite obrisati ovaj unos?
ThisWillAlsoDeleteBankRecord=Ovim će se također obrisati i generisana bankovna transakcija
BankMovements=Promet
PlannedTransactions=Planned entries
PlannedTransactions=Planirane transakcije
Graph=Grafika
ExportDataset_banque_1=Bank entries and account statement
ExportDataset_banque_2=Deposit slip
ExportDataset_banque_1=Bankovne transakcije i izvod s računa
ExportDataset_banque_2=Priznanica depozita
TransactionOnTheOtherAccount=Transakcija na drugom računu
PaymentNumberUpdateSucceeded=Payment number updated successfully
PaymentNumberUpdateSucceeded=Broj uplate uspješno ažuriran
PaymentNumberUpdateFailed=Broj uplate nije ažuriran
PaymentDateUpdateSucceeded=Payment date updated successfully
PaymentDateUpdateSucceeded=Datum uplate uspješno ažuriran
PaymentDateUpdateFailed=Datum uplate nije ažuriran
Transactions=Transakcije
BankTransactionLine=Bank entry
BankTransactionLine=Bankovna transakcija
AllAccounts=Svi bankovni/novčani računi
BackToAccount=Nazad na račun
ShowAllAccounts=Pokaži za sve račune
FutureTransaction=Transakcije u budućnosti. Nema šanse da se izmiri.
FutureTransaction=Transakcija u budućnosti. Ne može se izmiriti.
SelectChequeTransactionAndGenerate=Izaberite/filtrirajte čekove za uključivanje u priznanicu za depozit i kliknite na "Kreiraj".
InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD
InputReceiptNumber=Izaberite izvod iz banke za izmirivanje. Koristite brojevne vrijednosti koje se mogu sortirati: YYYYMM ili YYYYMMDD
EventualyAddCategory=Na kraju, navesti kategoriju u koju će se svrstati zapisi
ToConciliate=To reconcile?
ToConciliate=Za izmirenje?
ThenCheckLinesAndConciliate=Zatim, provjerite tekst prisutan u izvodu banke i kliknite
DefaultRIB=Uobičajeni BAN
AllRIB=All BAN
LabelRIB=BAN Label
NoBANRecord=No BAN record
DeleteARib=Delete BAN record
ConfirmDeleteRib=Are you sure you want to delete this BAN record?
RejectCheck=Check returned
ConfirmRejectCheck=Are you sure you want to mark this check as rejected?
RejectCheckDate=Date the check was returned
CheckRejected=Check returned
CheckRejectedAndInvoicesReopened=Check returned and invoices reopened
BankAccountModelModule=Document templates for bank accounts
DocumentModelSepaMandate=Template of SEPA mandate. Usefull for european countries in EEC only.
DocumentModelBan=Template to print a page with BAN information.
AllRIB=Svi BAN
LabelRIB=Oznaka BAN
NoBANRecord=Nema BAN zapisa
DeleteARib=Brisanje BAN zapisa
ConfirmDeleteRib=Da li ste sigurni da želite obrisati ovaj BAN zapis?
RejectCheck=Ček vraćen
ConfirmRejectCheck=Da li ste sigurni da želite označiti ovaj ček kao odbijen?
RejectCheckDate=Datum vraćanja čeka
CheckRejected=Ček vraćen
CheckRejectedAndInvoicesReopened=Ček vraćen i fakture ponovno otvorene
BankAccountModelModule=Šabloni dokumenata za bankovne račune
DocumentModelSepaMandate=Šablon za SEPA mandat. Koristan je samo za evropske zemlje članice EU.
DocumentModelBan=Šablon za štampanje stranice sa BAN podacima.
NewVariousPayment=Novo ostalo plaćanje
VariousPayment=Razno plaćanje
VariousPayments=Razna plaćanja
ShowVariousPayment=Pokaži ostala plaćanja

View File

@ -1,32 +1,32 @@
# Dolibarr language file - Source file is en_US - bills
Bill=Faktura
Bills=Fakture
BillsCustomers=Customer invoices
BillsCustomers=Fakture kupaca
BillsCustomer=Faktura kupca
BillsSuppliers=Supplier invoices
BillsCustomersUnpaid=Unpaid customer invoices
BillsCustomersUnpaidForCompany=Unpaid customer invoices for %s
BillsSuppliersUnpaid=Unpaid supplier invoices
BillsSuppliersUnpaidForCompany=Unpaid supplier invoices for %s
BillsSuppliers=Fakture dobavljača
BillsCustomersUnpaid=Nenaplaćene fakture od kupca
BillsCustomersUnpaidForCompany=Neplaćene fakture kupca za %s
BillsSuppliersUnpaid=Neplaćene fakture dobavljača
BillsSuppliersUnpaidForCompany=Neplaćene fakture dobavljača za %s
BillsLate=Zakašnjela plaćanja
BillsStatistics=Customers invoices statistics
BillsStatisticsSuppliers=Suppliers invoices statistics
DisabledBecauseNotErasable=Disabled because cannot be erased
BillsStatistics=Statistika faktura kupaca
BillsStatisticsSuppliers=Statistika faktura dobavljača
DisabledBecauseNotErasable=Onemogućeno jer se ne može brisati
InvoiceStandard=Standardna faktura
InvoiceStandardAsk=Standardna faktura
InvoiceStandardDesc=Ova vrsta fakture je uobičajena faktura.
InvoiceDeposit=Faktura za avans
InvoiceDepositAsk=Faktura za avans
InvoiceDepositDesc=Ova vrsta fakture se izdaje kada se primi avans
InvoiceDeposit=Račun za akontaciju
InvoiceDepositAsk=Račun za akontaciju
InvoiceDepositDesc=Ova vrsta fakture se pravi kada je uplaćena akontacija.
InvoiceProForma=Predračun
InvoiceProFormaAsk=Predračun
InvoiceProFormaDesc=<b>Predračun</b> izgleda isto kao račun, vendar nima računaodske vrednosti.
InvoiceProFormaDesc=<b>Predračun</b> izgleda isto kao račun, ali nema računovodstvene vrijednosti.
InvoiceReplacement=Zamjenska faktura
InvoiceReplacementAsk=Zamjenska faktura za fakturu
InvoiceReplacementDesc=<b>Replacement invoice</b> is used to cancel and replace completely an invoice with no payment already received.<br><br>Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'.
InvoiceAvoir=Dobropis
InvoiceAvoirAsk=Dobropis za korekcijo računa
InvoiceAvoirDesc=<b>Dobropis</b> je negativni račun, ki se uporabi za rešitev problema, ko je iznos na računu drugačen od dejansko plačanega zneska (ker je kupec pomotoma plačal preveč, ali ne bo plačal v celoti, ker je na primer vrnil nekatere proizvode).
InvoiceAvoir=Knjižna obavijest
InvoiceAvoirAsk=Knjižna obavijest za korekciju računa
InvoiceAvoirDesc=<b>Knjižna obavijest</b> je negativni račun, koji se koristi za rješavanje činjenice da računa ima iznos različit od iznosa koji je zaista plaćen (jer je kupac platio greškom više, ili neće da plati ostatak jer je vratio neke robe naprimjer).
invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice
invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount
@ -39,9 +39,9 @@ CorrectionInvoice=Ispravak fakture
UsedByInvoice=Upotrebljeno za plaćanje fakture %s
ConsumedBy=Utrošeno od strane
NotConsumed=Nije utrošeno
NoReplacableInvoice=Ni nadomestnega računa
NoReplacableInvoice=Nema zamjenskih računa
NoInvoiceToCorrect=Nema fakture za ispravljanje
InvoiceHasAvoir=Was source of one or several credit notes
InvoiceHasAvoir=je bila izvor jedne ili više knjižnih obavijesti
CardBill=Kartica fakture
PredefinedInvoices=Predefinisane fakture
Invoice=Faktura
@ -59,11 +59,11 @@ PaymentBack=Povrat uplate
CustomerInvoicePaymentBack=Povrat uplate
Payments=Uplate
PaymentsBack=Povrat uplata
paymentInInvoiceCurrency=in invoices currency
paymentInInvoiceCurrency=u valuti faktura
PaidBack=Uplaćeno nazad
DeletePayment=Obriši uplatu
ConfirmDeletePayment=Jeste li sigurni da želite obrisati ovu uplatu?
ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount ?<br>The amount will so be saved among all discounts and could be used as a discount for a current or a future invoice for this customer.
ConfirmDeletePayment=Da li ste sigurni da želite obrisati ovu uplatu?
ConfirmConvertToReduc=Da li želite ovo %s pretvoriti u apsolutni popust ?<br>Iznos će biti spremljen među sve popuste i može se koristiti kao poput za trenutnu ili neke buduće fakture za ovog kupca.
SupplierPayments=Uplate dobavljača
ReceivedPayments=Primljene uplate
ReceivedCustomersPayments=Primljene uplate od kupaca
@ -75,76 +75,76 @@ PaymentsAlreadyDone=Izvršene uplate
PaymentsBackAlreadyDone=Izvršeni povrati uplata
PaymentRule=Pravilo plaćanja
PaymentMode=Način plaćanja
PaymentTypeDC=Debit/Credit Card
PaymentTypeDC=Debitna/kreditna kartica
PaymentTypePP=PayPal
IdPaymentMode=Payment type (id)
CodePaymentMode=Payment type (code)
CodePaymentMode=Vrsta plaćanja (šifra)
LabelPaymentMode=Payment type (label)
PaymentModeShort=Način plaćanja
PaymentTerm=Rok plaćanja
PaymentConditions=Payment terms
PaymentConditionsShort=Payment terms
PaymentConditions=Uslovi plaćanja
PaymentConditionsShort=Uslovi plaćanja
PaymentAmount=Iznos plaćanja
ValidatePayment=Potvrditi uplatu
PaymentHigherThanReminderToPay=Uplata viša od zaostalog duga
HelpPaymentHigherThanReminderToPay=Pozor, plačilo zneska enega ali več računa je višje od preostanka za plačilo. <br> Popravite vaš vnos, ali potrdite iznos in pripravite dobropise za prekoračene zneske za vsak preveč plačan račun.
HelpPaymentHigherThanReminderToPay=Upozorenje, plaćanje iznosa jedne ili više faktura je veće od ostatka duga. <br> Izmijenite vaš unos, u suprotnom potvrdite i napravite knjižnu obavijest za višak primljen za svaku više plaćenu fakturu.
HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay. <br> Edit your entry, otherwise confirm.
ClassifyPaid=Označi kao 'Plaćeno'
ClassifyPaidPartially=Označi kao 'Djelimično plaćeno'
ClassifyCanceled=Označi kao 'Otkazano'
ClassifyClosed=Označi kao 'Zaključeno'
ClassifyUnBilled=Classify 'Unbilled'
ClassifyUnBilled=Klasificiraj 'nefakturisano'
CreateBill=Kreiraj predračun
CreateCreditNote=Ustvari dobropis
AddBill=Create invoice or credit note
AddBill=Napravi račun ili knjižnu obavijest
AddToDraftInvoices=Dodaj na uzorak fakture
DeleteBill=Obriši fakturu
SearchACustomerInvoice=Traži fakturu kupca
SearchASupplierInvoice=Traži fakturu dobavljača
CancelBill=Otkaži fakturu
SendRemindByMail=Pošalji opomenu na E-Mail
DoPayment=Enter payment
DoPaymentBack=Enter refund
DoPayment=Unesi uplatu
DoPaymentBack=Unesi refundaciju
ConvertToReduc=Pretvori u budući popust
ConvertExcessReceivedToReduc=Convert excess received into future discount
EnterPaymentReceivedFromCustomer=Unesi uplate primljene od kupca
EnterPaymentDueToCustomer=Vnesi Rok plaćanja za kupca
DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero
EnterPaymentDueToCustomer=Unesi rok plaćanja za kupca
DisabledBecauseRemainderToPayIsZero=Onemogućeno jer je ostatak duga nula
PriceBase=Osnova cijene
BillStatus=Status fakture
StatusOfGeneratedInvoices=Status of generated invoices
BillStatusDraft=Uzorak (Potrebna je potvrda)
BillStatusPaid=Plaćeno
BillStatusPaidBackOrConverted=Refund or converted into discount
BillStatusConverted=Spremenjeno v popust
BillStatusPaidBackOrConverted=Refundacija knjiž.obavijesti ili pretvoreno u popust
BillStatusConverted=Plaćeno (spremno za konačnu fakturu)
BillStatusCanceled=Otkazano
BillStatusValidated=Potvrđeno (Potrebno platiti)
BillStatusStarted=Započeto
BillStatusNotPaid=Nije plaćeno
BillStatusNotRefunded=Not refunded
BillStatusNotRefunded=Nije vraćeno
BillStatusClosedUnpaid=Zaključeno (neplaćeno)
BillStatusClosedPaidPartially=Plaćeno (djelimično)
BillShortStatusDraft=Uzorak
BillShortStatusPaid=Plaćeno
BillShortStatusPaidBackOrConverted=Refund or converted
BillShortStatusConverted=Spremenjeno
BillShortStatusPaidBackOrConverted=Refundirano ili preplaćeno
BillShortStatusConverted=Plaćeno
BillShortStatusCanceled=Otkazano
BillShortStatusValidated=Potvrđeno
BillShortStatusStarted=Započeto
BillShortStatusNotPaid=Neplaćeno
BillShortStatusNotRefunded=Not refunded
BillShortStatusNotRefunded=Nije vraćeno
BillShortStatusClosedUnpaid=Zaključeno
BillShortStatusClosedPaidPartially=Plaćeno (djelimično)
PaymentStatusToValidShort=Za potvrdu
ErrorVATIntraNotConfigured=PDV broj nije definisan
ErrorNoPaiementModeConfigured=Ni določen privzet način plačila. Pojdite na nastavitve modula za račune.
ErrorCreateBankAccount=Kreirajte bančni račun, zatem pojdite na področje Nastavitve za definiranje načina plačila
ErrorNoPaiementModeConfigured=Nema definisanog načina plaćanja. Idite u postavke modula faktura da popravite ovo.
ErrorCreateBankAccount=Napravite bankovni račun, zatim idite u panel postavki modula računa za definiranje načina plaćanja
ErrorBillNotFound=Faktura %s ne postoji
ErrorInvoiceAlreadyReplaced=Greška, poskusili ste potrditi račun za zamenjavo račuuna %s. Vendar je ta že bil nadomeščen z računom %s.
ErrorInvoiceAlreadyReplaced=Greška, pokušavate odobriti fakturu za zamjenu fakture %s. Ali je ona već zamijenjena fakturom %s.
ErrorDiscountAlreadyUsed=Greška, popust se već koristi
ErrorInvoiceAvoirMustBeNegative=Greška, na popravljenem računu mora biti negativni iznos
ErrorInvoiceOfThisTypeMustBePositive=Greška, ovaj tup fakture mora imati pozitivnu količinu
ErrorCantCancelIfReplacementInvoiceNotValidated=Greška, ne morete preklicati računa, ki je bil zamenjan z drugim računom, ki je še v statusu osnutka
ErrorInvoiceOfThisTypeMustBePositive=Greška, ovaj tip fakture mora imati pozitivnu količinu
ErrorCantCancelIfReplacementInvoiceNotValidated=Greška, ne možete poništiti fakturu koju je zamijenila druga faktura a koja je još u statusu nacrta
BillFrom=Od
BillTo=Račun za
ActionsOnBill=Aktivnosti na fakturi
@ -153,14 +153,14 @@ NoQualifiedRecurringInvoiceTemplateFound=No recurring template invoice qualified
FoundXQualifiedRecurringInvoiceTemplate=Found %s recurring template invoice(s) qualified for generation.
NotARecurringInvoiceTemplate=Not a recurring template invoice
NewBill=Nova faktura
LastBills=Latest %s invoices
LastCustomersBills=Latest %s customer invoices
LastSuppliersBills=Latest %s supplier invoices
LastBills=Posljednjih %s faktura
LastCustomersBills=Posljednjih %s faktura kupaca
LastSuppliersBills=Posljednjih %s faktura dobavljača
AllBills=Sve fakture
OtherBills=Ostale fakture
DraftBills=Uzorak faktura
CustomersDraftInvoices=Customer draft invoices
SuppliersDraftInvoices=Supplier draft invoices
CustomersDraftInvoices=Nacrti faktura kupcima
SuppliersDraftInvoices=Nacrti faktura dobavljačima
Unpaid=Neplaćeno
ConfirmDeleteBill=Are you sure you want to delete this invoice?
ConfirmValidateBill=Are you sure you want to validate this invoice with reference <b>%s</b>?
@ -174,14 +174,14 @@ ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid <b>(%s %s)</b> is a dis
ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid <b>(%s %s)</b> is a discount granted because payment was made before term. I accept to lose the VAT on this discount.
ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid <b>(%s %s)</b> is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note.
ConfirmClassifyPaidPartiallyReasonBadCustomer=Loš kupac
ConfirmClassifyPaidPartiallyReasonProductReturned=Proizvodi djelomično vraćeni
ConfirmClassifyPaidPartiallyReasonProductReturned=Proizvodi djelimično vraćeni
ConfirmClassifyPaidPartiallyReasonOther=Iznos otkazan zbog drugog razloga
ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Ovaj izbor je moguć ako faktura sadrži odgovarajući komentar. (Primjer << Imate pravo na odbitak, samo ako je plaćen porez koji odgovara cijeni>>)
ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=U nekim državama je ovaj izbor moguć samo ako faktura sadrži ispavne bilješke
ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Ovaj izbor je moguć ako faktura sadrži odgovarajući komentar. (Primjer «Imate pravo na odbitak, samo ako je plaćen porez koji odgovara cijeni»)
ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=U nekim državama je ovaj izbor moguć samo ako faktura sadrži ispravne bilješke
ConfirmClassifyPaidPartiallyReasonAvoirDesc=Koristiti ovaj izbor samo ako nije drugi nije zadovoljavajući
ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=<b>Loš kupac</b> je kupac koji je odbija platiti svoj dug.
ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Ovaj izbor se koristi kada uplata nije završena zbog povrata nekih proizvoda
ConfirmClassifyPaidPartiallyReasonOtherDesc=To izbiro uporabite, če nobena druga ne ustreza, na primer v naslednji situaciji:<br>- plačilo ni izvršeno v celoti, ker so bili nekateri proizvodi vrnjeni<br>- iznos je bil reklamiran, ker ni bil obračunan popust<br>V vseh primerih mora biti reklamiran iznos popravljen v računaodskem sistemu s kreiranjem dobropisa.
ConfirmClassifyPaidPartiallyReasonOtherDesc=Koristite ovaj izbor ako bilo koji drugi ne odgovara, naprimjer u sljedećoj situaciji:<br>- plaćanje nije izvršeno jer su neki proizvodi vraćeni<br>- iznos je bio reklamiran, jer nije obračunat popust<br>U svim slučajevima, iznos koji je reklamiran mora biti ispravljen u računovodstvenom sistemu kreiranjem knjižne obavijesti.
ConfirmClassifyAbandonReasonOther=Ostalo
ConfirmClassifyAbandonReasonOtherDesc=Ovaj izbor se koristi u svim drugih slučajevima. Naprimjer, zbog toga sto planiranje kreirati zamjensku fakturu.
ConfirmCustomerPayment=Do you confirm this payment input for <b>%s</b> %s?
@ -198,16 +198,16 @@ ShowBill=Prikaži fakturu
ShowInvoice=Prikaži fakturu
ShowInvoiceReplace=Prikaži zamjensku fakturu
ShowInvoiceAvoir=Prikaži dobropis
ShowInvoiceDeposit=Prikaži fakture za avans
ShowInvoiceDeposit=Show down payment invoice
ShowInvoiceSituation=Show situation invoice
ShowPayment=Prikaži uplatu
AlreadyPaid=Već plaćeno
AlreadyPaidBack=Već izvršen povrat uplate
AlreadyPaidNoCreditNotesNoDeposits=Že plačano (brez dobropisa in avansa)
AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments)
Abandoned=Otkazano
RemainderToPay=Remaining unpaid
RemainderToTake=Remaining amount to take
RemainderToPayBack=Remaining amount to refund
RemainderToPay=Ostalo neplaćeno
RemainderToTake=Ostatak iznosa za naplatu
RemainderToPayBack=Ostatak iznosa za povrat
Rest=Čekanje
AmountExpected=Iznos za potraživati
ExcessReceived=Višak primljen
@ -216,7 +216,7 @@ EscompteOfferedShort=Popust
SendBillRef=Submission of invoice %s
SendReminderBillRef=Submission of invoice %s (reminder)
StandingOrders=Direct debit orders
StandingOrder=Direct debit order
StandingOrder=Nalog za plaćanje
NoDraftBills=Nema uzoraka faktura
NoOtherDraftBills=Nema drugih uzoraka faktura
NoDraftInvoices=Nema uzoraka faktura
@ -233,10 +233,10 @@ DateInvoice=Datum fakture
DatePointOfTax=Point of tax
NoInvoice=Nema fakture
ClassifyBill=Označi fakturu
SupplierBillsToPay=Unpaid supplier invoices
CustomerBillsUnpaid=Unpaid customer invoices
SupplierBillsToPay=Neplaćene fakture dobavljača
CustomerBillsUnpaid=Nenaplaćene fakture od kupca
NonPercuRecuperable=Nepovratno
SetConditions=Postaviti uslova plaćanja
SetConditions=Postaviti uslove plaćanja
SetMode=Postaviti način plaćanja
SetRevenuStamp=Set revenue stamp
Billed=Fakturisano
@ -270,10 +270,10 @@ RelativeDiscount=Relativni popust
GlobalDiscount=Globalni popust
CreditNote=Dobropis
CreditNotes=Dobropisi
Deposit=Avans
Deposits=Avansi
Deposit=Down payment
Deposits=Down payments
DiscountFromCreditNote=Popust z dobropisa %s
DiscountFromDeposit=Uplata sa fakture za avans %s
DiscountFromDeposit=Down payments from invoice %s
DiscountFromExcessReceived=Payments from excess received of invoice %s
AbsoluteDiscountUse=Ova vrsta kredita može se koristiti na fakturi prije potvrde
CreditNoteDepositUse=Invoice must be validated to use this kind of credits
@ -314,8 +314,8 @@ ConfirmRemoveDiscount=Are you sure you want to remove this discount?
RelatedBill=Povezana faktura
RelatedBills=Povezane fakture
RelatedCustomerInvoices=Related customer invoices
RelatedSupplierInvoices=Related supplier invoices
LatestRelatedBill=Latest related invoice
RelatedSupplierInvoices=Povezane fakture dobavljača
LatestRelatedBill=Posljednje povezane fakture
WarningBillExist=Warning, one or more invoice already exist
MergingPDFTool=Merging PDF tool
AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice
@ -323,9 +323,9 @@ PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but
PaymentNote=Payment note
ListOfPreviousSituationInvoices=List of previous situation invoices
ListOfNextSituationInvoices=List of next situation invoices
FrequencyPer_d=Every %s days
FrequencyPer_m=Every %s months
FrequencyPer_y=Every %s years
FrequencyPer_d=Svakih %s dana
FrequencyPer_m=Svakih %s mjeseci
FrequencyPer_y=Svakih %s godina
toolTipFrequency=Examples:<br /><b>Set 7, Day</b>: give a new invoice every 7 days<br /><b>Set 3, Month</b>: give a new invoice every 3 month
NextDateToExecution=Date for next invoice generation
DateLastGeneration=Date of latest generation
@ -340,28 +340,28 @@ WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date
WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date
# PaymentConditions
Statut=Status
PaymentConditionShortRECEP=Due Upon Receipt
PaymentConditionRECEP=Due Upon Receipt
PaymentConditionShortRECEP=Rok po preuzimanju
PaymentConditionRECEP=Rok po preuzimanju
PaymentConditionShort30D=30 dana
PaymentCondition30D=30 dana
PaymentConditionShort30DENDMONTH=30 days of month-end
PaymentCondition30DENDMONTH=Within 30 days following the end of the month
PaymentConditionShort30DENDMONTH=30 dana do kraja mjeseca
PaymentCondition30DENDMONTH=Unutar 30 dana nakon isteka mjeseca
PaymentConditionShort60D=60 dana
PaymentCondition60D=60 dana
PaymentConditionShort60DENDMONTH=60 days of month-end
PaymentCondition60DENDMONTH=Within 60 days following the end of the month
PaymentConditionShort60DENDMONTH=60 dana do kraja mjeseca
PaymentCondition60DENDMONTH=Unutar 60 dana nakon isteka mjeseca
PaymentConditionShortPT_DELIVERY=Isporuka
PaymentConditionPT_DELIVERY=Na isporuci
PaymentConditionShortPT_ORDER=Order
PaymentConditionShortPT_ORDER=Narudžba
PaymentConditionPT_ORDER=Na narudžbi
PaymentConditionShortPT_5050=50-50
PaymentConditionPT_5050=50%% unaprijed, 50%% na isporuci
PaymentConditionShort10D=10 days
PaymentCondition10D=10 days
PaymentConditionShort10D=10 dana
PaymentCondition10D=10 dana
PaymentConditionShort10DENDMONTH=10 days of month-end
PaymentCondition10DENDMONTH=Within 10 days following the end of the month
PaymentConditionShort14D=14 days
PaymentCondition14D=14 days
PaymentConditionShort14D=14 dana
PaymentCondition14D=14 dana
PaymentConditionShort14DENDMONTH=14 days of month-end
PaymentCondition14DENDMONTH=Within 14 days following the end of the month
FixAmount=Fiksni iznos
@ -369,19 +369,19 @@ VarAmount=Varijabilni iznos (%% tot.)
# PaymentType
PaymentTypeVIR=Bankovna transakcija
PaymentTypeShortVIR=Bankovna transakcija
PaymentTypePRE=Direct debit payment order
PaymentTypeShortPRE=Debit payment order
PaymentTypePRE=Direktni nalog za plaćanje
PaymentTypeShortPRE=Nalog za plaćanje
PaymentTypeLIQ=Gotovina
PaymentTypeShortLIQ=Gotovina
PaymentTypeCB=Kreditna kartica
PaymentTypeShortCB=Kreditna kartica
PaymentTypeCHQ=Ček
PaymentTypeShortCHQ=Ček
PaymentTypeTIP=TIP (Documents against Payment)
PaymentTypeShortTIP=TIP Payment
PaymentTypeTIP=Akreditiv (Akreditivno pismo)
PaymentTypeShortTIP=Plaćanje akreditivom
PaymentTypeVAD=Elektronska uplata
PaymentTypeShortVAD=Elektronska uplata
PaymentTypeTRA=Bank draft
PaymentTypeTRA=Povlačenje banke
PaymentTypeShortTRA=Nacrt
PaymentTypeFAC=Factor
PaymentTypeShortFAC=Factor
@ -390,7 +390,7 @@ BankCode=Kod banke
DeskCode=Kod blagajne
BankAccountNumber=Kod računa
BankAccountNumberKey=Ključ
Residence=Direct debit
Residence=Nalog za plaćanje
IBANNumber=IBAN broj
IBAN=IBAN
BIC=BIC/SWIFT
@ -439,7 +439,7 @@ ShowUnpaidAll=Prikaži sve neplaćene fakture
ShowUnpaidLateOnly=Prikaži samo zakašnjele neplaćene fakture
PaymentInvoiceRef=Faktura za plaćanje %s
ValidateInvoice=Potvrdi fakturu
ValidateInvoices=Validate invoices
ValidateInvoices=Potvrdi račune
Cash=Gotovina
Reported=Odgođeno
DisabledBecausePayments=Nije moguće jer ima nekoliko uplata
@ -447,7 +447,7 @@ CantRemovePaymentWithOneInvoicePaid=Ne može se obrisati uplata jer ima bar jedn
ExpectedToPay=Očekivano plaćanje
CantRemoveConciliatedPayment=Can't remove conciliated payment
PayedByThisPayment=Plaćeno ovom uplatom
ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid.
ClosePaidInvoicesAutomatically=Classify "Paid" all standard, down payment or replacement invoices entirely paid.
ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
ClosePaidContributionsAutomatically=Classify "Paid" all social or fiscal contributions entirely paid.
AllCompletelyPayedInvoiceWillBeClosed=Sve fakture bez preostalog iznosa za uplatu će atuomatski biti zatvorene uz status "Plaćeno".
@ -460,11 +460,11 @@ YouMustCreateInvoiceFromThird=This option is only available when creating invoic
YouMustCreateInvoiceFromSupplierThird=This option is only available when creating invoice from tab "supplier" of third party
YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice
PDFCrabeDescription=Predloga računa Crabe. Predloga kompletnega računa (Podpora PDV opcije, popusti, pogoji plačila, logo, itd...)
PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices
PDFCrevetteDescription=PDF šablon Crevette za račune. Kompletan šablon za situiranje privremenih situacija
TerreNumRefModelDesc1=Predlaga številko v formatu %syymm-nnnn za standardne račune in %syymm-nnnn za dobropise kjer je yy leto, mm mesec in nnnn zaporedna broj brez presledkov in večja od 0
MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for deposit invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
TerreNumRefModelError=Račun z začetkom $syymm že obstaja in ni kompatibilen s tem modelom zaporedja. Odstranite ga ali ga preimenujte za aktiviranje tega modula.
CactusNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for deposit invoices where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
CactusNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
##### Types de contacts #####
TypeContact_facture_internal_SALESREPFOLL=Predstavnik za kontrolu fakture kupca
TypeContact_facture_external_BILLING=Kontakt za fakturu kupca
@ -475,32 +475,32 @@ TypeContact_invoice_supplier_external_BILLING=Kontakt za fakturu dobavljača
TypeContact_invoice_supplier_external_SHIPPING=Kontakt za otpremanje dobavljaču
TypeContact_invoice_supplier_external_SERVICE=Kontakt službe za korisnike
# Situation invoices
InvoiceFirstSituationAsk=First situation invoice
InvoiceFirstSituationAsk=Prva privremena situacija
InvoiceFirstSituationDesc=The <b>situation invoices</b> are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice.
InvoiceSituation=Situation invoice
InvoiceSituationAsk=Invoice following the situation
InvoiceSituation=Privremena situacija
InvoiceSituationAsk=Faktura nakon situacije
InvoiceSituationDesc=Create a new situation following an already existing one
SituationAmount=Situation invoice amount(net)
SituationDeduction=Situation subtraction
ModifyAllLines=Modify all lines
CreateNextSituationInvoice=Create next situation
SituationDeduction=Oduzimanje situacije
ModifyAllLines=Izmijeni sve redove
CreateNextSituationInvoice=Napravi sljedeću situaciju
NotLastInCycle=This invoice is not the latest in cycle and must not be modified.
DisabledBecauseNotLastInCycle=The next situation already exists.
DisabledBecauseFinal=This situation is final.
DisabledBecauseNotLastInCycle=Sljedeća situacija već postoji.
DisabledBecauseFinal=Ova situacija je konačna.
CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation.
NoSituations=No open situations
NoSituations=Nema otvorenih situacija
InvoiceSituationLast=Final and general invoice
PDFCrevetteSituationNumber=Situation N°%s
PDFCrevetteSituationInvoiceLineDecompte=Situation invoice - COUNT
PDFCrevetteSituationInvoiceTitle=Situation invoice
PDFCrevetteSituationInvoiceLine=Situation N°%s : Inv. N°%s on %s
TotalSituationInvoice=Total situation
invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line
PDFCrevetteSituationNumber=Situacija br.%s
PDFCrevetteSituationInvoiceLineDecompte=Privremena situacija - broj
PDFCrevetteSituationInvoiceTitle=Privremena situacija
PDFCrevetteSituationInvoiceLine=Situacija br%s : fakt. br°%s od %s
TotalSituationInvoice=Ukupna situacija
invoiceLineProgressError=Red prethodno fakturisanog ne može biti veće ili jednako sljedećem redu u fakturi
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.
DeleteRepeatableInvoice=Delete template invoice
DeleteRepeatableInvoice=Obriši šablon fakture
ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice?
CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order)
BillCreated=%s bill(s) created

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