Merge remote-tracking branch 'upstream/develop' into correctstockbatch
This commit is contained in:
commit
590cd657df
3
.gitignore
vendored
3
.gitignore
vendored
@ -42,6 +42,8 @@ htdocs/includes/sebastian/
|
|||||||
htdocs/includes/squizlabs/
|
htdocs/includes/squizlabs/
|
||||||
htdocs/includes/webmozart/
|
htdocs/includes/webmozart/
|
||||||
htdocs/.well-known/apple-developer-merchantid-domain-association
|
htdocs/.well-known/apple-developer-merchantid-domain-association
|
||||||
|
/factory/
|
||||||
|
/output/
|
||||||
|
|
||||||
# Node Modules
|
# Node Modules
|
||||||
build/yarn-error.log
|
build/yarn-error.log
|
||||||
@ -55,4 +57,3 @@ yarn.lock
|
|||||||
package-lock.json
|
package-lock.json
|
||||||
|
|
||||||
doc/install.lock
|
doc/install.lock
|
||||||
/factory/
|
|
||||||
|
|||||||
@ -141,7 +141,7 @@ NEW: Added MMK currency (Myanmar Kyat)
|
|||||||
|
|
||||||
Modules
|
Modules
|
||||||
NEW: Module Partnership Management
|
NEW: Module Partnership Management
|
||||||
NEW: Experimental Module Event Organization Management
|
NEW: Module Event Organization Management
|
||||||
|
|
||||||
|
|
||||||
For developers or integrators:
|
For developers or integrators:
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Script used by the Dockerfile.
|
||||||
|
# See README.md to know how to create a Dolibarr env with docker
|
||||||
|
|
||||||
usermod -u ${HOST_USER_ID} www-data
|
usermod -u ${HOST_USER_ID} www-data
|
||||||
groupmod -g ${HOST_USER_ID} www-data
|
groupmod -g ${HOST_USER_ID} www-data
|
||||||
|
|||||||
@ -4,4 +4,5 @@ terms
|
|||||||
(en) VAT = Value Added Tax
|
(en) VAT = Value Added Tax
|
||||||
(fr) TVA = Taxe sur la Valeur Ajouté
|
(fr) TVA = Taxe sur la Valeur Ajouté
|
||||||
(es) NIF / CIF
|
(es) NIF / CIF
|
||||||
(de) USt / MwSt
|
(de) USt / MwSt = UmsatzSteuer / Mehrwertsteuer
|
||||||
|
(it) IVA
|
||||||
10
dev/resources/iso-normes/tax/world_tax_rates.txt
Normal file
10
dev/resources/iso-normes/tax/world_tax_rates.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
VAT Rates
|
||||||
|
---------
|
||||||
|
|
||||||
|
https://www.taxrates.cc/index.html
|
||||||
|
https://en.wikipedia.org/wiki/List_of_countries_by_tax_rates
|
||||||
|
|
||||||
|
For India: VAT=IGST / CGST=Localtax1 / SGST=Localtax2
|
||||||
|
see:
|
||||||
|
https://cleartax.in/s/what-is-sgst-cgst-igst
|
||||||
|
https://www.mastersindia.co/blog/what-is-cgst-sgst-igst-and-ugst/
|
||||||
@ -1,8 +0,0 @@
|
|||||||
VAT Rates
|
|
||||||
---------
|
|
||||||
|
|
||||||
http://www.taxrates.cc/index.html
|
|
||||||
https://en.wikipedia.org/wiki/List_of_countries_by_tax_rates
|
|
||||||
|
|
||||||
For India: VAT=IGST/CGST=Localtax1/SGST=Localtax2: https://cleartax.in/s/what-is-sgst-cgst-igst
|
|
||||||
|
|
||||||
@ -10,6 +10,7 @@
|
|||||||
# Syntax
|
# Syntax
|
||||||
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
|
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
|
||||||
then
|
then
|
||||||
|
echo "Detect .sh and .spec files that does not contains any tab inside"
|
||||||
echo "Usage: fixnotabfiles.sh [list|fix]"
|
echo "Usage: fixnotabfiles.sh [list|fix]"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@ -17,14 +17,14 @@ fi
|
|||||||
# To detec
|
# To detec
|
||||||
if [ "x$1" = "xlist" ]
|
if [ "x$1" = "xlist" ]
|
||||||
then
|
then
|
||||||
find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF
|
find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF
|
||||||
# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep -v 'htdocs\/includes' | grep CRLF
|
# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep -v 'htdocs\/includes' | grep CRLF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# To convert
|
# To convert
|
||||||
if [ "x$1" = "xfix" ]
|
if [ "x$1" = "xfix" ]
|
||||||
then
|
then
|
||||||
for fic in `find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF | awk -F':' '{ print $1 }' `
|
for fic in `find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF | awk -F':' '{ print $1 }' `
|
||||||
do
|
do
|
||||||
echo "Fix file $fic"
|
echo "Fix file $fic"
|
||||||
dos2unix "$fic"
|
dos2unix "$fic"
|
||||||
|
|||||||
@ -39,13 +39,14 @@ optimize_image()
|
|||||||
max_input_size=$(expr $max_input_size + $input_file_size)
|
max_input_size=$(expr $max_input_size + $input_file_size)
|
||||||
|
|
||||||
if [ "${1##*.}" = "png" ]; then
|
if [ "${1##*.}" = "png" ]; then
|
||||||
#optipng -o1 -clobber -quiet $1 -out $2.firstpass
|
#optipng -o1 -clobber -quiet "$1" -out "$2.firstpass"
|
||||||
optipng -o1 -quiet $1 -out $2.firstpass
|
echo optipng -o1 -quiet "$1" -out "$2.firstpass"
|
||||||
pngcrush -q -rem alla -reduce $2.firstpass $2 >/dev/null
|
optipng -o1 -quiet "$1" -out "$2.firstpass"
|
||||||
rm -fr $2.firstpass
|
pngcrush -q -rem alla -reduce "$2.firstpass" "$2" >/dev/null
|
||||||
|
rm -fr "$2.firstpass"
|
||||||
fi
|
fi
|
||||||
if [ "${1##*.}" = "jpg" -o "${1##*.}" = "jpeg" ]; then
|
if [ "${1##*.}" = "jpg" -o "${1##*.}" = "jpeg" ]; then
|
||||||
jpegtran -copy none -progressive $1 > $2
|
jpegtran -copy none -progressive "$1" > $2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
output_file_size=$(stat -c%s "$2")
|
output_file_size=$(stat -c%s "$2")
|
||||||
@ -120,8 +121,8 @@ main()
|
|||||||
|
|
||||||
# Search of all jpg/jpeg/png in $INPUT
|
# Search of all jpg/jpeg/png in $INPUT
|
||||||
# We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT
|
# We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT
|
||||||
echo "Scan $INPUT to find images"
|
echo "Scan $INPUT to find images with find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v '/gource/' | grep -v '/includes/' | grep -v '/custom/' | grep -v $OUTPUT"
|
||||||
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT)
|
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v '/gource/' | grep -v '/includes/' | grep -v '/custom/' | grep -v '/documents/' | grep -v $OUTPUT)
|
||||||
|
|
||||||
if [ "$QUIET" == "0" ]; then
|
if [ "$QUIET" == "0" ]; then
|
||||||
echo --- Optimizing $INPUT ---
|
echo --- Optimizing $INPUT ---
|
||||||
@ -135,11 +136,11 @@ main()
|
|||||||
printf '%*.*s' 0 $((linelength - ${#filename} - ${#sDone} )) "$pad"
|
printf '%*.*s' 0 $((linelength - ${#filename} - ${#sDone} )) "$pad"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
optimize_image $CURRENT_IMAGE $OUTPUT/$filename
|
optimize_image "$CURRENT_IMAGE" "$OUTPUT/$filename"
|
||||||
|
|
||||||
# Replace file
|
# Replace file
|
||||||
if [[ "$INPLACE" == "1" ]]; then
|
if [[ "$INPLACE" == "1" ]]; then
|
||||||
mv $OUTPUT/$filename $CURRENT_IMAGE
|
mv "$OUTPUT/$filename" "$CURRENT_IMAGE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$QUIET" == "0" ]; then
|
if [ "$QUIET" == "0" ]; then
|
||||||
|
|||||||
@ -52,8 +52,8 @@ $confirm = GETPOST('confirm', 'alpha');
|
|||||||
|
|
||||||
$chartofaccounts = GETPOST('chartofaccounts', 'int');
|
$chartofaccounts = GETPOST('chartofaccounts', 'int');
|
||||||
|
|
||||||
$permissiontoadd = !empty($user->rights->accounting->chartofaccount);
|
$permissiontoadd = $user->hasRight('accounting', 'chartofaccount');
|
||||||
$permissiontodelete = !empty($user->rights->accounting->chartofaccount);
|
$permissiontodelete = $user->hasRight('accounting', 'chartofaccount');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->socid > 0) {
|
if ($user->socid > 0) {
|
||||||
@ -294,7 +294,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// List of mass actions available
|
// List of mass actions available
|
||||||
if ($user->rights->accounting->chartofaccount) {
|
if ($user->hasRight('accounting', 'chartofaccount')) {
|
||||||
$arrayofmassactions['predelete'] = '<span class="fa fa-trash paddingrightonly"></span>'.$langs->trans("Delete");
|
$arrayofmassactions['predelete'] = '<span class="fa fa-trash paddingrightonly"></span>'.$langs->trans("Delete");
|
||||||
}
|
}
|
||||||
if (in_array($massaction, array('presend', 'predelete', 'closed'))) {
|
if (in_array($massaction, array('presend', 'predelete', 'closed'))) {
|
||||||
@ -590,7 +590,7 @@ if ($resql) {
|
|||||||
|
|
||||||
// Action
|
// Action
|
||||||
print '<td class="center nowraponall">';
|
print '<td class="center nowraponall">';
|
||||||
if ($user->rights->accounting->chartofaccount) {
|
if ($user->hasRight('accounting', 'chartofaccount')) {
|
||||||
print '<a class="editfielda" href="./card.php?action=update&token='.newToken().'&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?'.$param).'">';
|
print '<a class="editfielda" href="./card.php?action=update&token='.newToken().'&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?'.$param).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
|
|||||||
@ -66,7 +66,7 @@ if (GETPOST('cancel', 'alpha')) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'add' && $user->rights->accounting->chartofaccount) {
|
if ($action == 'add' && $user->hasRight('accounting', 'chartofaccount')) {
|
||||||
if (!$cancel) {
|
if (!$cancel) {
|
||||||
if (!$account_number) {
|
if (!$account_number) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountNumber")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountNumber")), null, 'errors');
|
||||||
@ -127,7 +127,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif ($action == 'edit' && $user->rights->accounting->chartofaccount) {
|
} elseif ($action == 'edit' && $user->hasRight('accounting', 'chartofaccount')) {
|
||||||
if (!$cancel) {
|
if (!$cancel) {
|
||||||
if (!$account_number) {
|
if (!$account_number) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountNumber")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountNumber")), null, 'errors');
|
||||||
@ -184,7 +184,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) {
|
|||||||
header("Location: ".$urltogo);
|
header("Location: ".$urltogo);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
} elseif ($action == 'delete' && $user->rights->accounting->chartofaccount) {
|
} elseif ($action == 'delete' && $user->hasRight('accounting', 'chartofaccount')) {
|
||||||
$result = $object->fetch($id);
|
$result = $object->fetch($id);
|
||||||
|
|
||||||
if (!empty($object->id)) {
|
if (!empty($object->id)) {
|
||||||
@ -419,13 +419,13 @@ if ($action == 'create') {
|
|||||||
*/
|
*/
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
if (!empty($user->rights->accounting->chartofaccount)) {
|
if ($user->hasRight('accounting', 'chartofaccount')) {
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=update&token='.newToken().'&id='.$object->id.'">'.$langs->trans('Modify').'</a>';
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=update&token='.newToken().'&id='.$object->id.'">'.$langs->trans('Modify').'</a>';
|
||||||
} else {
|
} else {
|
||||||
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NotAllowed")).'">'.$langs->trans('Modify').'</a>';
|
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NotAllowed")).'">'.$langs->trans('Modify').'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($user->rights->accounting->chartofaccount)) {
|
if ($user->hasRight('accounting', 'chartofaccount')) {
|
||||||
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&id='.$object->id.'">'.$langs->trans('Delete').'</a>';
|
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&id='.$object->id.'">'.$langs->trans('Delete').'</a>';
|
||||||
} else {
|
} else {
|
||||||
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NotAllowed")).'">'.$langs->trans('Delete').'</a>';
|
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NotAllowed")).'">'.$langs->trans('Delete').'</a>';
|
||||||
|
|||||||
@ -121,7 +121,7 @@ if ($result) {
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
|
|
||||||
$addbutton .= dolGetButtonTitle($langs->trans('NewFiscalYear'), '', 'fa fa-plus-circle', 'fiscalyear_card.php?action=create', '', $user->rights->accounting->fiscalyear->write);
|
$addbutton .= dolGetButtonTitle($langs->trans('NewFiscalYear'), '', 'fa fa-plus-circle', 'fiscalyear_card.php?action=create', '', $user->hasRight('accounting', 'fiscalyear', 'write'));
|
||||||
|
|
||||||
|
|
||||||
$title = $langs->trans('AccountingPeriods');
|
$title = $langs->trans('AccountingPeriods');
|
||||||
|
|||||||
@ -299,7 +299,7 @@ if ($action == 'create') {
|
|||||||
/*
|
/*
|
||||||
* Action bar
|
* Action bar
|
||||||
*/
|
*/
|
||||||
if (!empty($user->rights->accounting->fiscalyear->write)) {
|
if ($user->hasRight('accounting', 'fiscalyear', 'write')) {
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'&id='.$id.'">'.$langs->trans('Modify').'</a>';
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'&id='.$id.'">'.$langs->trans('Modify').'</a>';
|
||||||
|
|||||||
@ -522,7 +522,7 @@ if ($resql) {
|
|||||||
|
|
||||||
// Filter on categories
|
// Filter on categories
|
||||||
$moreforfilter = '';
|
$moreforfilter = '';
|
||||||
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) {
|
if (!empty($conf->categorie->enabled) && $user->hasRight('categorie', 'lire')) {
|
||||||
$moreforfilter .= '<div class="divsearchfield">';
|
$moreforfilter .= '<div class="divsearchfield">';
|
||||||
$moreforfilter .= img_picto($langs->trans('Categories'), 'category', 'class="pictofixedwidth"');
|
$moreforfilter .= img_picto($langs->trans('Categories'), 'category', 'class="pictofixedwidth"');
|
||||||
$categoriesProductArr = $form->select_all_categories(Categorie::TYPE_PRODUCT, '', '', 64, 0, 1);
|
$categoriesProductArr = $form->select_all_categories(Categorie::TYPE_PRODUCT, '', '', 64, 0, 1);
|
||||||
|
|||||||
@ -281,7 +281,7 @@ class AccountingJournal extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
$label_link = $this->code;
|
$label_link = $this->code;
|
||||||
if ($withlabel) {
|
if ($withlabel && !empty($this->label)) {
|
||||||
$label_link .= ' - '.($nourl ? '<span class="opacitymedium">' : '').$langs->transnoentities($this->label).($nourl ? '</span>' : '');
|
$label_link .= ' - '.($nourl ? '<span class="opacitymedium">' : '').$langs->transnoentities($this->label).($nourl ? '</span>' : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,7 @@ if (empty($user->rights->accounting->fiscalyear->write)) {
|
|||||||
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
|
|
||||||
if ($action == 'validate_movements_confirm' && !empty($user->rights->accounting->fiscalyear->write)) {
|
if ($action == 'validate_movements_confirm' && $user->hasRight('accounting', 'fiscalyear', 'write')) {
|
||||||
$date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int'));
|
$date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int'));
|
||||||
$date_end = dol_mktime(23, 59, 59, GETPOST('date_endmonth', 'int'), GETPOST('date_endday', 'int'), GETPOST('date_endyear', 'int'));
|
$date_end = dol_mktime(23, 59, 59, GETPOST('date_endmonth', 'int'), GETPOST('date_endday', 'int'), GETPOST('date_endyear', 'int'));
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ if (empty($user->rights->accounting->mouvements->lire)) {
|
|||||||
if (empty($conf->comptabilite->enabled) && empty($conf->accounting->enabled) && empty($conf->asset->enabled) && empty($conf->intracommreport->enabled)) {
|
if (empty($conf->comptabilite->enabled) && empty($conf->accounting->enabled) && empty($conf->asset->enabled) && empty($conf->intracommreport->enabled)) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
if (empty($user->hasRight('compta', 'resultat', 'lire')) && empty($user->hasRight('accounting', 'comptarapport', 'lire')) && empty($user->hasRight('accounting', 'mouvements', 'lire')) && empty($user->hasRight('asset', 'read')) && empty($user->hasRight('intracommreport', 'read'))) {
|
if (!$user->hasRight('compta', 'resultat', 'lire') && !$user->hasRight('accounting', 'comptarapport', 'lire') && !$user->hasRight('accounting', 'mouvements', 'lire') && !$user->hasRight('asset', 'read') && !$user->hasRight('intracommreport', 'read')) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -583,7 +583,6 @@ if (empty($reshook)) {
|
|||||||
} else {
|
} else {
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auto-create thirdparty on member creation
|
// Auto-create thirdparty on member creation
|
||||||
@ -1540,7 +1539,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
// Create form popup
|
// Create form popup
|
||||||
$formquestion = array();
|
$formquestion = array();
|
||||||
if ($object->email) {
|
if ($object->email) {
|
||||||
$formquestion[] = array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL ?true:false));
|
$formquestion[] = array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => (getDolGlobalString('ADHERENT_DEFAULT_SENDINFOBYMAIL') ? true : false));
|
||||||
}
|
}
|
||||||
if (!empty($conf->mailman->enabled) && !empty($conf->global->ADHERENT_USE_MAILMAN)) {
|
if (!empty($conf->mailman->enabled) && !empty($conf->global->ADHERENT_USE_MAILMAN)) {
|
||||||
$formquestion[] = array('type'=>'other', 'label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"), 'value'=>'');
|
$formquestion[] = array('type'=>'other', 'label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"), 'value'=>'');
|
||||||
@ -1571,7 +1570,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
$outputlangs->loadLangs(array("main", "members"));
|
$outputlangs->loadLangs(array("main", "members"));
|
||||||
// Get email content from template
|
// Get email content from template
|
||||||
$arraydefaultmessage = null;
|
$arraydefaultmessage = null;
|
||||||
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_CANCELATION;
|
$labeltouse = getDolGlobalString('ADHERENT_EMAIL_TEMPLATE_CANCELATION');
|
||||||
|
|
||||||
if (!empty($labeltouse)) {
|
if (!empty($labeltouse)) {
|
||||||
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'member', $user, $outputlangs, 0, 1, $labeltouse);
|
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'member', $user, $outputlangs, 0, 1, $labeltouse);
|
||||||
|
|||||||
@ -972,10 +972,10 @@ class Adherent extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fonction qui supprime l'adherent et les donnees associees
|
* Fonction to delete a member and its data
|
||||||
*
|
*
|
||||||
* @param int $rowid Id of member to delete
|
* @param int $rowid Id of member to delete
|
||||||
* @param User $user User object
|
* @param User $user User object
|
||||||
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
* @return int <0 if KO, 0=nothing to do, >0 if OK
|
* @return int <0 if KO, 0=nothing to do, >0 if OK
|
||||||
*/
|
*/
|
||||||
@ -1826,7 +1826,7 @@ class Adherent extends CommonObject
|
|||||||
if (!$error) {
|
if (!$error) {
|
||||||
// Create payment line for invoice
|
// Create payment line for invoice
|
||||||
$paiement_id = $paiement->create($user);
|
$paiement_id = $paiement->create($user);
|
||||||
if (!$paiement_id > 0) {
|
if (!($paiement_id > 0)) {
|
||||||
$this->error = $paiement->error;
|
$this->error = $paiement->error;
|
||||||
$this->errors = $paiement->errors;
|
$this->errors = $paiement->errors;
|
||||||
$error++;
|
$error++;
|
||||||
|
|||||||
@ -440,6 +440,7 @@ class AdherentType extends CommonObject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to delete the member's status
|
* Function to delete the member's status
|
||||||
|
* TODO Add param "User $user"
|
||||||
*
|
*
|
||||||
* @return int > 0 if OK, 0 if not found, < 0 if KO
|
* @return int > 0 if OK, 0 if not found, < 0 if KO
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -41,6 +41,7 @@ $langs->load("members");
|
|||||||
$rowid = GETPOST('rowid', 'int');
|
$rowid = GETPOST('rowid', 'int');
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$cancel = GETPOST('cancel', 'alpha');
|
$cancel = GETPOST('cancel', 'alpha');
|
||||||
|
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : str_replace('_', '', basename(dirname(__FILE__)).basename(__FILE__, '.php')); // To manage different context of search
|
||||||
$backtopage = GETPOST('backtopage', 'alpha');
|
$backtopage = GETPOST('backtopage', 'alpha');
|
||||||
|
|
||||||
$sall = GETPOST("sall", "alpha");
|
$sall = GETPOST("sall", "alpha");
|
||||||
@ -202,7 +203,7 @@ if ($action == 'update' && $user->rights->adherent->configurer) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'confirm_delete' && $user->rights->adherent->configurer) {
|
if ($action == 'confirm_delete' && !empty($user->rights->adherent->configurer)) {
|
||||||
$object->fetch($rowid);
|
$object->fetch($rowid);
|
||||||
$res = $object->delete();
|
$res = $object->delete();
|
||||||
|
|
||||||
@ -448,7 +449,7 @@ if ($rowid > 0) {
|
|||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
print '<table class="border centpercent">';
|
print '<table class="tableforfield border centpercent">';
|
||||||
|
|
||||||
// Morphy
|
// Morphy
|
||||||
print '<tr><td>'.$langs->trans("MembersNature").'</td><td class="valeur" >'.$object->getmorphylib($object->morphy).'</td>';
|
print '<tr><td>'.$langs->trans("MembersNature").'</td><td class="valeur" >'.$object->getmorphylib($object->morphy).'</td>';
|
||||||
@ -682,20 +683,23 @@ if ($rowid > 0) {
|
|||||||
print_liste_field_titre("Action", $_SERVER["PHP_SELF"], "", $param, "", 'width="60" align="center"', $sortfield, $sortorder);
|
print_liste_field_titre("Action", $_SERVER["PHP_SELF"], "", $param, "", 'width="60" align="center"', $sortfield, $sortorder);
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
while ($i < $num && $i < $conf->liste_limit) {
|
$adh = new Adherent($db);
|
||||||
|
|
||||||
|
$imaxinloop = ($limit ? min($num, $limit) : $num);
|
||||||
|
while ($i < $imaxinloop) {
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
|
||||||
$datefin = $db->jdate($objp->datefin);
|
$datefin = $db->jdate($objp->datefin);
|
||||||
|
|
||||||
$adh = new Adherent($db);
|
|
||||||
$adh->lastname = $objp->lastname;
|
$adh->lastname = $objp->lastname;
|
||||||
$adh->firstname = $objp->firstname;
|
$adh->firstname = $objp->firstname;
|
||||||
$adh->datefin = $datefin;
|
$adh->datefin = $datefin;
|
||||||
$adh->need_subscription = $objp->subscription;
|
$adh->need_subscription = $objp->subscription;
|
||||||
$adh->statut = $objp->status;
|
$adh->statut = $objp->status;
|
||||||
|
|
||||||
// Lastname
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
|
// Lastname
|
||||||
if ($objp->company != '') {
|
if ($objp->company != '') {
|
||||||
print '<td><a href="card.php?rowid='.$objp->rowid.'">'.img_object($langs->trans("ShowMember"), "user", 'class="paddingright"').$adh->getFullName($langs, 0, -1, 20).' / '.dol_trunc($objp->company, 12).'</a></td>'."\n";
|
print '<td><a href="card.php?rowid='.$objp->rowid.'">'.img_object($langs->trans("ShowMember"), "user", 'class="paddingright"').$adh->getFullName($langs, 0, -1, 20).' / '.dol_trunc($objp->company, 12).'</a></td>'."\n";
|
||||||
} else {
|
} else {
|
||||||
@ -703,7 +707,7 @@ if ($rowid > 0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Login
|
// Login
|
||||||
print "<td>".$objp->login."</td>\n";
|
print "<td>".dol_escape_htmltag($objp->login)."</td>\n";
|
||||||
|
|
||||||
// Type
|
// Type
|
||||||
/*print '<td class="nowrap">';
|
/*print '<td class="nowrap">';
|
||||||
@ -760,11 +764,15 @@ if ($rowid > 0) {
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($i == 0) {
|
||||||
|
print '<tr><td colspan="7"><span class="opacitymedium">'.$langs->trans("None").'</span></td></tr>';
|
||||||
|
}
|
||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
if ($num > $conf->liste_limit) {
|
if ($num > $limit) {
|
||||||
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, '');
|
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, '');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -34,7 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array('members', 'languages'));
|
$langs->loadLangs(array('members', 'languages'));
|
||||||
|
|
||||||
$id = GETPOST('rowid', 'int');
|
$id = GETPOST('rowid', 'int') ? GETPOST('rowid', 'int') : GETPOST('id', 'int');
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$cancel = GETPOST('cancel', 'alpha');
|
$cancel = GETPOST('cancel', 'alpha');
|
||||||
$ref = GETPOST('ref', 'alphanohtml');
|
$ref = GETPOST('ref', 'alphanohtml');
|
||||||
@ -61,7 +61,12 @@ if ($cancel == $langs->trans("Cancel")) {
|
|||||||
if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) {
|
if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) {
|
||||||
$object = new AdherentType($db);
|
$object = new AdherentType($db);
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$object->delMultiLangs(GETPOST('langtodelete', 'alpha'), $user);
|
$result = $object->delMultiLangs(GETPOST('langtodelete', 'alpha'), $user);
|
||||||
|
if ($result > 0) {
|
||||||
|
setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
|
||||||
|
header("Location: ".$_SERVER["PHP_SELF"].'?id='.$id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add translation
|
// Add translation
|
||||||
|
|||||||
@ -66,7 +66,7 @@ if (preg_match('/set_(.*)/', $action, $reg)) {
|
|||||||
$value = (GETPOST($code) ? GETPOST($code) : 1);
|
$value = (GETPOST($code) ? GETPOST($code) : 1);
|
||||||
|
|
||||||
$res = dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity);
|
||||||
if (!$res > 0) {
|
if (!($res > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
$errors[] = $db->lasterror();
|
$errors[] = $db->lasterror();
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ if (preg_match('/set_(.*)/', $action, $reg)) {
|
|||||||
$code = $reg[1];
|
$code = $reg[1];
|
||||||
|
|
||||||
$res = dolibarr_del_const($db, $code, $conf->entity);
|
$res = dolibarr_del_const($db, $code, $conf->entity);
|
||||||
if (!$res > 0) {
|
if (!($res > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
$errors[] = $db->lasterror();
|
$errors[] = $db->lasterror();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -142,7 +142,7 @@ if ($action == 'updateMask') {
|
|||||||
$value = GETPOST('activate_hideClosedServiceByDefault', 'alpha');
|
$value = GETPOST('activate_hideClosedServiceByDefault', 'alpha');
|
||||||
$res3 = dolibarr_set_const($db, "CONTRACT_HIDE_CLOSED_SERVICES_BY_DEFAULT", $value, 'chaine', 0, '', $conf->entity);
|
$res3 = dolibarr_set_const($db, "CONTRACT_HIDE_CLOSED_SERVICES_BY_DEFAULT", $value, 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
if (!$res1 > 0 || !$res2 > 0 || !$res3 > 0) {
|
if (!($res1 > 0) || !($res2 > 0) || !($res3 > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -90,12 +90,12 @@ print '<input type="hidden" name="action" value="set">';
|
|||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td>';
|
print '<td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td>';
|
||||||
print '<td class="right"><input type="submit" class="button button-edit" '.$option.' value="'.$langs->trans("Modify").'"></td>';
|
print '<td class="right"><input type="submit" class="button button-edit" value="'.$langs->trans("Modify").'"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="oddeven"><td class="nowrap">'.$langs->trans("DEBUGBAR_USE_LOG_FILE").'</td>';
|
print '<tr class="oddeven"><td class="nowrap">'.$langs->trans("DEBUGBAR_USE_LOG_FILE").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $form->selectyesno('DEBUGBAR_USE_LOG_FILE', $conf->global->DEBUGBAR_USE_LOG_FILE, 1);
|
print $form->selectyesno('DEBUGBAR_USE_LOG_FILE', !empty($conf->global->DEBUGBAR_USE_LOG_FILE), 1);
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
print '<span class="opacitymedium"> '.$langs->trans("UsingLogFileShowAllRecordOfSubrequestButIsSlower").'</span>';
|
print '<span class="opacitymedium"> '.$langs->trans("UsingLogFileShowAllRecordOfSubrequestButIsSlower").'</span>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -228,14 +228,14 @@ if ($action == 'edit') {
|
|||||||
|
|
||||||
if ($val['type'] == 'textarea') {
|
if ($val['type'] == 'textarea') {
|
||||||
print '<textarea class="flat" name="'.$constname.'" id="'.$constname.'" cols="50" rows="5" wrap="soft">' . "\n";
|
print '<textarea class="flat" name="'.$constname.'" id="'.$constname.'" cols="50" rows="5" wrap="soft">' . "\n";
|
||||||
print $conf->global->{$constname};
|
print getDolGlobalString($constname);
|
||||||
print "</textarea>\n";
|
print "</textarea>\n";
|
||||||
} elseif ($val['type']== 'html') {
|
} elseif ($val['type']== 'html') {
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor($constname, $conf->global->{$constname}, '', 160, 'dolibarr_notes', '', false, false, $conf->fckeditor->enabled, ROWS_5, '90%');
|
$doleditor = new DolEditor($constname, getDolGlobalString($constname), '', 160, 'dolibarr_notes', '', false, false, $conf->fckeditor->enabled, ROWS_5, '90%');
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
} elseif ($val['type'] == 'yesno') {
|
} elseif ($val['type'] == 'yesno') {
|
||||||
print $form->selectyesno($constname, $conf->global->{$constname}, 1);
|
print $form->selectyesno($constname, getDolGlobalString($constname), 1);
|
||||||
} elseif (preg_match('/emailtemplate:/', $val['type'])) {
|
} elseif (preg_match('/emailtemplate:/', $val['type'])) {
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
||||||
$formmail = new FormMail($db);
|
$formmail = new FormMail($db);
|
||||||
@ -255,7 +255,7 @@ if ($action == 'edit') {
|
|||||||
$arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->label)) . $moreonlabel;
|
$arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->label)) . $moreonlabel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print $form->selectarray($constname, $arrayofmessagename, $conf->global->{$constname}, 'None', 0, 0, '', 0, 0, 0, '', '', 1);
|
print $form->selectarray($constname, $arrayofmessagename, getDolGlobalString($constname), 'None', 0, 0, '', 0, 0, 0, '', '', 1);
|
||||||
} elseif (preg_match('/category:/', $val['type'])) {
|
} elseif (preg_match('/category:/', $val['type'])) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||||
@ -263,13 +263,13 @@ if ($action == 'edit') {
|
|||||||
|
|
||||||
$tmp = explode(':', $val['type']);
|
$tmp = explode(':', $val['type']);
|
||||||
print img_picto('', 'category', 'class="pictofixedwidth"');
|
print img_picto('', 'category', 'class="pictofixedwidth"');
|
||||||
print $formother->select_categories($tmp[1], $conf->global->{$constname}, $constname, 0, $langs->trans('CustomersProspectsCategoriesShort'));
|
print $formother->select_categories($tmp[1], getDolGlobalString($constname), $constname, 0, $langs->trans('CustomersProspectsCategoriesShort'));
|
||||||
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
|
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
$formcompany = new FormCompany($db);
|
$formcompany = new FormCompany($db);
|
||||||
print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname, 'customerorprospect', 'form', '', 1);
|
print $formcompany->selectProspectCustomerType(getDolGlobalString($constname), $constname, 'customerorprospect', 'form', '', 1);
|
||||||
} elseif ($val['type'] == 'securekey') {
|
} elseif ($val['type'] == 'securekey') {
|
||||||
print '<input required="required" type="text" class="flat" id="'.$constname.'" name="'.$constname.'" value="'.(GETPOST($constname, 'alpha') ?GETPOST($constname, 'alpha') : $conf->global->{$constname}).'" size="40">';
|
print '<input type="text" class="flat" id="'.$constname.'" name="'.$constname.'" value="'.(GETPOST($constname, 'alpha') ?GETPOST($constname, 'alpha') : getDolGlobalString($constname)).'" size="40">';
|
||||||
if (!empty($conf->use_javascript_ajax)) {
|
if (!empty($conf->use_javascript_ajax)) {
|
||||||
print ' '.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token'.$constname.'" class="linkobject"');
|
print ' '.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token'.$constname.'" class="linkobject"');
|
||||||
}
|
}
|
||||||
@ -283,7 +283,7 @@ if ($action == 'edit') {
|
|||||||
$form->select_produits($selected, $constname, '', 0);
|
$form->select_produits($selected, $constname, '', 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print '<input name="' . $constname . '" class="flat ' . (empty($val['css']) ? 'minwidth200' : $val['css']) . '" value="' . $conf->global->{$constname} . '">';
|
print '<input name="' . $constname . '" class="flat ' . (empty($val['css']) ? 'minwidth200' : $val['css']) . '" value="' . getDolGlobalString($constname) . '">';
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
@ -309,28 +309,28 @@ if ($action == 'edit') {
|
|||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
|
|
||||||
if ($val['type'] == 'textarea') {
|
if ($val['type'] == 'textarea') {
|
||||||
print dol_nl2br($conf->global->{$constname});
|
print dol_nl2br(getDolGlobalString($constname));
|
||||||
} elseif ($val['type']== 'html') {
|
} elseif ($val['type']== 'html') {
|
||||||
print $conf->global->{$constname};
|
print getDolGlobalString($constname);
|
||||||
} elseif ($val['type'] == 'yesno') {
|
} elseif ($val['type'] == 'yesno') {
|
||||||
print ajax_constantonoff($constname);
|
print ajax_constantonoff($constname);
|
||||||
} elseif (preg_match('/emailtemplate:/', $val['type'])) {
|
} elseif (preg_match('/emailtemplate:/', $val['type'])) {
|
||||||
if (!empty($conf->global->{$constname})) {
|
if (getDolGlobalString($constname)) {
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
||||||
$formmail = new FormMail($db);
|
$formmail = new FormMail($db);
|
||||||
|
|
||||||
$tmp = explode(':', $val['type']);
|
$tmp = explode(':', $val['type']);
|
||||||
|
|
||||||
$template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs, $conf->global->{$constname});
|
$template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs, getDolGlobalString($constname));
|
||||||
if ($template < 0) {
|
if ($template < 0) {
|
||||||
setEventMessages(null, $formmail->errors, 'errors');
|
setEventMessages(null, $formmail->errors, 'errors');
|
||||||
}
|
}
|
||||||
print $langs->trans($template->label);
|
print $langs->trans($template->label);
|
||||||
}
|
}
|
||||||
} elseif (preg_match('/category:/', $val['type'])) {
|
} elseif (preg_match('/category:/', $val['type'])) {
|
||||||
if (!empty($conf->global->{$constname})) {
|
if (getDolGlobalString($constname)) {
|
||||||
$c = new Categorie($db);
|
$c = new Categorie($db);
|
||||||
$result = $c->fetch($conf->global->{$constname});
|
$result = $c->fetch(getDolGlobalString($constname));
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages(null, $c->errors, 'errors');
|
setEventMessages(null, $c->errors, 'errors');
|
||||||
}
|
}
|
||||||
@ -342,25 +342,25 @@ if ($action == 'edit') {
|
|||||||
print '<div class="select2-container-multi-dolibarr" style="width: 90%;"><ul class="select2-choices-dolibarr">' . implode(' ', $toprint) . '</ul></div>';
|
print '<div class="select2-container-multi-dolibarr" style="width: 90%;"><ul class="select2-choices-dolibarr">' . implode(' ', $toprint) . '</ul></div>';
|
||||||
}
|
}
|
||||||
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
|
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
|
||||||
if ($conf->global->{$constname}==2) {
|
if (getDolGlobalString($constname)==2) {
|
||||||
print $langs->trans("Prospect");
|
print $langs->trans("Prospect");
|
||||||
} elseif ($conf->global->{$constname}==3) {
|
} elseif (getDolGlobalString($constname)==3) {
|
||||||
print $langs->trans("ProspectCustomer");
|
print $langs->trans("ProspectCustomer");
|
||||||
} elseif ($conf->global->{$constname}==1) {
|
} elseif (getDolGlobalString($constname)==1) {
|
||||||
print $langs->trans("Customer");
|
print $langs->trans("Customer");
|
||||||
} elseif ($conf->global->{$constname}==0) {
|
} elseif (getDolGlobalString($constname)==0) {
|
||||||
print $langs->trans("NorProspectNorCustomer");
|
print $langs->trans("NorProspectNorCustomer");
|
||||||
}
|
}
|
||||||
} elseif ($val['type'] == 'product') {
|
} elseif ($val['type'] == 'product') {
|
||||||
$product = new Product($db);
|
$product = new Product($db);
|
||||||
$resprod = $product->fetch($conf->global->{$constname});
|
$resprod = $product->fetch(getDolGlobalString($constname));
|
||||||
if ($resprod > 0) {
|
if ($resprod > 0) {
|
||||||
print $product->getNomUrl(1);
|
print $product->getNomUrl(1);
|
||||||
} elseif ($resprod < 0) {
|
} elseif ($resprod < 0) {
|
||||||
setEventMessages(null, $object->errors, "errors");
|
setEventMessages($product->error, $product->errors, "errors");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print $conf->global->{$constname};
|
print getDolGlobalString($constname);
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,12 +59,12 @@ if ($action == 'set') {
|
|||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$res1 = dolibarr_set_const($db, "GEOIP_VERSION", GETPOST('geoipversion', 'aZ09'), 'chaine', 0, '', $conf->entity);
|
$res1 = dolibarr_set_const($db, "GEOIP_VERSION", GETPOST('geoipversion', 'aZ09'), 'chaine', 0, '', $conf->entity);
|
||||||
if (!$res1 > 0) {
|
if (!($res1 > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$res2 = dolibarr_set_const($db, "GEOIPMAXMIND_COUNTRY_DATAFILE", $gimcdf, 'chaine', 0, '', $conf->entity);
|
$res2 = dolibarr_set_const($db, "GEOIPMAXMIND_COUNTRY_DATAFILE", $gimcdf, 'chaine', 0, '', $conf->entity);
|
||||||
if (!$res2 > 0) {
|
if (!($res2 > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -141,7 +141,7 @@ if ($action == 'updateMask') {
|
|||||||
$draft = GETPOST('HOLIDAY_DRAFT_WATERMARK', 'alpha');
|
$draft = GETPOST('HOLIDAY_DRAFT_WATERMARK', 'alpha');
|
||||||
$res2 = dolibarr_set_const($db, "HOLIDAY_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity);
|
$res2 = dolibarr_set_const($db, "HOLIDAY_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
if (!$res1 > 0 || !$res2 > 0) {
|
if (!($res1 > 0) || !($res2 > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -178,63 +178,63 @@ $elementList = array();
|
|||||||
|
|
||||||
$elementList['all'] = '-- '.dol_escape_htmltag($langs->trans("All")).' --';
|
$elementList['all'] = '-- '.dol_escape_htmltag($langs->trans("All")).' --';
|
||||||
$elementList['none'] = '-- '.dol_escape_htmltag($langs->trans("None")).' --';
|
$elementList['none'] = '-- '.dol_escape_htmltag($langs->trans("None")).' --';
|
||||||
$elementList['user'] = img_picto('', 'user', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToUser'));
|
$elementList['user'] = img_picto('', 'user', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToUser'));
|
||||||
if (!empty($conf->adherent->enabled) && !empty($user->rights->adherent->lire)) {
|
if (!empty($conf->adherent->enabled) && !empty($user->rights->adherent->lire)) {
|
||||||
$elementList['member'] = img_picto('', 'object_member', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToMember'));
|
$elementList['member'] = img_picto('', 'object_member', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToMember'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->recruitment->enabled) && !empty($user->rights->recruitment->recruitmentjobposition->read)) {
|
if (!empty($conf->recruitment->enabled) && !empty($user->rights->recruitment->recruitmentjobposition->read)) {
|
||||||
$elementList['recruitmentcandidature_send'] = img_picto('', 'recruitmentcandidature', 'class="paddingright"').dol_escape_htmltag($langs->trans('RecruitmentCandidatures'));
|
$elementList['recruitmentcandidature_send'] = img_picto('', 'recruitmentcandidature', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('RecruitmentCandidatures'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->societe->enabled) && !empty($user->rights->societe->lire)) {
|
if (!empty($conf->societe->enabled) && !empty($user->rights->societe->lire)) {
|
||||||
$elementList['thirdparty'] = img_picto('', 'company', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToThirdparty'));
|
$elementList['thirdparty'] = img_picto('', 'company', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToThirdparty'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->project->enabled)) {
|
if (!empty($conf->project->enabled)) {
|
||||||
$elementList['project'] = img_picto('', 'project', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToProject'));
|
$elementList['project'] = img_picto('', 'project', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToProject'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->propal->enabled) && !empty($user->rights->propal->lire)) {
|
if (!empty($conf->propal->enabled) && !empty($user->rights->propal->lire)) {
|
||||||
$elementList['propal_send'] = img_picto('', 'propal', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendProposal'));
|
$elementList['propal_send'] = img_picto('', 'propal', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendProposal'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->commande->enabled) && !empty($user->rights->commande->lire)) {
|
if (!empty($conf->commande->enabled) && !empty($user->rights->commande->lire)) {
|
||||||
$elementList['order_send'] = img_picto('', 'order', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendOrder'));
|
$elementList['order_send'] = img_picto('', 'order', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendOrder'));
|
||||||
}
|
}
|
||||||
if (isModEnabled('facture') && !empty($user->rights->facture->lire)) {
|
if (isModEnabled('facture') && !empty($user->rights->facture->lire)) {
|
||||||
$elementList['facture_send'] = img_picto('', 'bill', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendInvoice'));
|
$elementList['facture_send'] = img_picto('', 'bill', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendInvoice'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->expedition->enabled)) {
|
if (!empty($conf->expedition->enabled)) {
|
||||||
$elementList['shipping_send'] = img_picto('', 'dolly', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendShipment'));
|
$elementList['shipping_send'] = img_picto('', 'dolly', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendShipment'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->reception->enabled)) {
|
if (!empty($conf->reception->enabled)) {
|
||||||
$elementList['reception_send'] = img_picto('', 'dollyrevert', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendReception'));
|
$elementList['reception_send'] = img_picto('', 'dollyrevert', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendReception'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->ficheinter->enabled)) {
|
if (!empty($conf->ficheinter->enabled)) {
|
||||||
$elementList['fichinter_send'] = img_picto('', 'intervention', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendIntervention'));
|
$elementList['fichinter_send'] = img_picto('', 'intervention', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendIntervention'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->supplier_proposal->enabled)) {
|
if (!empty($conf->supplier_proposal->enabled)) {
|
||||||
$elementList['supplier_proposal_send'] = img_picto('', 'propal', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendSupplierRequestForQuotation'));
|
$elementList['supplier_proposal_send'] = img_picto('', 'propal', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendSupplierRequestForQuotation'));
|
||||||
}
|
}
|
||||||
if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->commande->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_order->enabled) && !empty($user->rights->supplier_order->lire))) {
|
if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->commande->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_order->enabled) && !empty($user->rights->supplier_order->lire))) {
|
||||||
$elementList['order_supplier_send'] = img_picto('', 'order', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendSupplierOrder'));
|
$elementList['order_supplier_send'] = img_picto('', 'order', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendSupplierOrder'));
|
||||||
}
|
}
|
||||||
if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_invoice->enabled) && !empty($user->rights->supplier_invoice->lire))) {
|
if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_invoice->enabled) && !empty($user->rights->supplier_invoice->lire))) {
|
||||||
$elementList['invoice_supplier_send'] = img_picto('', 'bill', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendSupplierInvoice'));
|
$elementList['invoice_supplier_send'] = img_picto('', 'bill', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendSupplierInvoice'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->contrat->enabled) && !empty($user->rights->contrat->lire)) {
|
if (!empty($conf->contrat->enabled) && !empty($user->rights->contrat->lire)) {
|
||||||
$elementList['contract'] = img_picto('', 'contract', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendContract'));
|
$elementList['contract'] = img_picto('', 'contract', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendContract'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->ticket->enabled) && !empty($user->rights->ticket->read)) {
|
if (!empty($conf->ticket->enabled) && !empty($user->rights->ticket->read)) {
|
||||||
$elementList['ticket_send'] = img_picto('', 'ticket', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToTicket'));
|
$elementList['ticket_send'] = img_picto('', 'ticket', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToTicket'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->expensereport->enabled) && !empty($user->rights->expensereport->lire)) {
|
if (!empty($conf->expensereport->enabled) && !empty($user->rights->expensereport->lire)) {
|
||||||
$elementList['expensereport_send'] = img_picto('', 'trip', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToTExpenseReport'));
|
$elementList['expensereport_send'] = img_picto('', 'trip', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToExpenseReport'));
|
||||||
}
|
}
|
||||||
if (isModEnabled('agenda')) {
|
if (isModEnabled('agenda')) {
|
||||||
$elementList['actioncomm_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventPush'));
|
$elementList['actioncomm_send'] = img_picto('', 'action', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendEventPush'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) {
|
if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) {
|
||||||
$elementList['conferenceorbooth'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization'));
|
$elementList['conferenceorbooth'] = img_picto('', 'action', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) {
|
if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) {
|
||||||
$elementList['partnership_send'] = img_picto('', 'partnership', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToPartnership'));
|
$elementList['partnership_send'] = img_picto('', 'partnership', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToPartnership'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$parameters = array('elementList'=>$elementList);
|
$parameters = array('elementList'=>$elementList);
|
||||||
|
|||||||
@ -77,7 +77,7 @@ if ($action == 'setconst' && $user->admin) {
|
|||||||
$constnote = dol_escape_htmltag($setupconst['note']);
|
$constnote = dol_escape_htmltag($setupconst['note']);
|
||||||
|
|
||||||
$result = dolibarr_set_const($db, $constname, $constvalue, $consttype, 0, $constnote, $conf->entity);
|
$result = dolibarr_set_const($db, $constname, $constvalue, $consttype, 0, $constnote, $conf->entity);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ if ($action == 'setvalue' && $user->admin) {
|
|||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$result = dolibarr_set_const($db, $varname, $value, 'chaine', 0, '', $conf->entity);
|
$result = dolibarr_set_const($db, $varname, $value, 'chaine', 0, '', $conf->entity);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -78,9 +78,10 @@ if ($action == 'updateMask') {
|
|||||||
$maskconststocktransfer = GETPOST('maskconststocktransfer', 'alpha');
|
$maskconststocktransfer = GETPOST('maskconststocktransfer', 'alpha');
|
||||||
$maskstocktransfer = GETPOST('maskStockTransfer', 'alpha');
|
$maskstocktransfer = GETPOST('maskStockTransfer', 'alpha');
|
||||||
|
|
||||||
if ($maskconststocktransfer) $res = dolibarr_set_const($db, $maskconststocktransfer, $maskstocktransfer, 'chaine', 0, '', $conf->entity);
|
if ($maskconststocktransfer) {
|
||||||
|
$res = dolibarr_set_const($db, $maskconststocktransfer, $maskstocktransfer, 'chaine', 0, '', $conf->entity);
|
||||||
if (!$res > 0) $error++;
|
if ($res <= 0) $error++;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
|
|||||||
@ -361,11 +361,11 @@ class BlockedLog
|
|||||||
$this->amounts = $amounts;
|
$this->amounts = $amounts;
|
||||||
// date
|
// date
|
||||||
if ($object->element == 'payment' || $object->element == 'payment_supplier') {
|
if ($object->element == 'payment' || $object->element == 'payment_supplier') {
|
||||||
$this->date_object = $object->datepaye;
|
$this->date_object = empty($object->datepaye) ? $object->date : $object->datepaye;
|
||||||
} elseif ($object->element == 'payment_salary') {
|
} elseif ($object->element == 'payment_salary') {
|
||||||
$this->date_object = $object->datev;
|
$this->date_object = $object->datev;
|
||||||
} elseif ($object->element == 'payment_donation' || $object->element == 'payment_various') {
|
} elseif ($object->element == 'payment_donation' || $object->element == 'payment_various') {
|
||||||
$this->date_object = $object->datepaid ? $object->datepaid : $object->datep;
|
$this->date_object = empty($object->datepaid) ? $object->datep : $object->datepaid;
|
||||||
} elseif ($object->element == 'subscription') {
|
} elseif ($object->element == 'subscription') {
|
||||||
$this->date_object = $object->dateh;
|
$this->date_object = $object->dateh;
|
||||||
} elseif ($object->element == 'cashcontrol') {
|
} elseif ($object->element == 'cashcontrol') {
|
||||||
@ -527,7 +527,7 @@ class BlockedLog
|
|||||||
|
|
||||||
$totalamount = 0;
|
$totalamount = 0;
|
||||||
|
|
||||||
// Loop on each invoice payment amount
|
// Loop on each invoice payment amount (payment_part)
|
||||||
if (is_array($object->amounts) && !empty($object->amounts)) {
|
if (is_array($object->amounts) && !empty($object->amounts)) {
|
||||||
$paymentpartnumber = 0;
|
$paymentpartnumber = 0;
|
||||||
foreach ($object->amounts as $objid => $amount) {
|
foreach ($object->amounts as $objid => $amount) {
|
||||||
|
|||||||
@ -216,7 +216,9 @@ class CActionComm
|
|||||||
if ($obj->module == 'shipping' && !empty($conf->expedition->enabled) && !empty($user->rights->expedition->lire)) {
|
if ($obj->module == 'shipping' && !empty($conf->expedition->enabled) && !empty($user->rights->expedition->lire)) {
|
||||||
$qualified = 1;
|
$qualified = 1;
|
||||||
}
|
}
|
||||||
if (preg_split("/@/", $obj->module, -1)[1] == 'eventorganization' && !empty($conf->eventorganization->enabled)) {
|
// For case module = 'myobject@eventorganization'
|
||||||
|
$tmparray = preg_split("/@/", $obj->module, -1);
|
||||||
|
if (count($tmparray) > 1 && $tmparray[1] == 'eventorganization' && !empty($conf->eventorganization->enabled)) {
|
||||||
$qualified = 1;
|
$qualified = 1;
|
||||||
}
|
}
|
||||||
// For the generic case with type = 'module...' and module = 'myobject@mymodule'
|
// For the generic case with type = 'module...' and module = 'myobject@mymodule'
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2022 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
@ -9,12 +9,12 @@
|
|||||||
* Copyright (C) 2010-2021 Philippe Grand <philippe.grand@atoo-net.com>
|
* Copyright (C) 2010-2021 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2020 Nicolas ZABOURI <info@inovea-conseil.com>
|
* Copyright (C) 2020 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||||
* Copyright (C) 2022 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
|
* Copyright (C) 2022 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -88,9 +88,6 @@ $hidedetails = (GETPOST('hidedetails', 'int') ? GETPOST('hidedetails', 'int') :
|
|||||||
$hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC) ? 1 : 0));
|
$hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC) ? 1 : 0));
|
||||||
$hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0));
|
$hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0));
|
||||||
|
|
||||||
// Nombre de ligne pour choix de produit/service predefinis
|
|
||||||
$NBLINES = 4;
|
|
||||||
|
|
||||||
$object = new Propal($db);
|
$object = new Propal($db);
|
||||||
$extrafields = new ExtraFields($db);
|
$extrafields = new ExtraFields($db);
|
||||||
|
|
||||||
@ -120,6 +117,7 @@ $usercanclose = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreat
|
|||||||
$usercanvalidate = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->propal->propal_advance->validate)));
|
$usercanvalidate = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->propal->propal_advance->validate)));
|
||||||
$usercansend = (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->propal->propal_advance->send)));
|
$usercansend = (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->propal->propal_advance->send)));
|
||||||
|
|
||||||
|
$usermustrespectpricemin = ((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS));
|
||||||
$usercancreateorder = $user->hasRight('commande', 'creer');
|
$usercancreateorder = $user->hasRight('commande', 'creer');
|
||||||
$usercancreateinvoice = $user->hasRight('facture', 'creer');
|
$usercancreateinvoice = $user->hasRight('facture', 'creer');
|
||||||
$usercancreatecontract = $user->hasRight('contrat', 'creer');
|
$usercancreatecontract = $user->hasRight('contrat', 'creer');
|
||||||
@ -898,6 +896,9 @@ if (empty($reshook)) {
|
|||||||
$product_desc = (GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : '');
|
$product_desc = (GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : '');
|
||||||
$price_ht = price2num(GETPOST('price_ht'), 'MU', 2);
|
$price_ht = price2num(GETPOST('price_ht'), 'MU', 2);
|
||||||
$price_ht_devise = price2num(GETPOST('multicurrency_price_ht'), 'CU', 2);
|
$price_ht_devise = price2num(GETPOST('multicurrency_price_ht'), 'CU', 2);
|
||||||
|
$price_ttc = price2num(GETPOST('price_ttc'), 'MU', 2);
|
||||||
|
$price_ttc_devise = price2num(GETPOST('multicurrency_price_ttc'), 'CU', 2);
|
||||||
|
|
||||||
$prod_entry_mode = GETPOST('prod_entry_mode');
|
$prod_entry_mode = GETPOST('prod_entry_mode');
|
||||||
if ($prod_entry_mode == 'free') {
|
if ($prod_entry_mode == 'free') {
|
||||||
$idprod = 0;
|
$idprod = 0;
|
||||||
@ -956,6 +957,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = 0;
|
$pu_ht = 0;
|
||||||
$pu_ttc = 0;
|
$pu_ttc = 0;
|
||||||
$price_min = 0;
|
$price_min = 0;
|
||||||
|
$price_min_ttc = 0;
|
||||||
$price_base_type = (GETPOST('price_base_type', 'alpha') ? GETPOST('price_base_type', 'alpha') : 'HT');
|
$price_base_type = (GETPOST('price_base_type', 'alpha') ? GETPOST('price_base_type', 'alpha') : 'HT');
|
||||||
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
@ -983,6 +985,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = $prod->price;
|
$pu_ht = $prod->price;
|
||||||
$pu_ttc = $prod->price_ttc;
|
$pu_ttc = $prod->price_ttc;
|
||||||
$price_min = $prod->price_min;
|
$price_min = $prod->price_min;
|
||||||
|
$price_min_ttc = $prod->price_min_ttc;
|
||||||
$price_base_type = $prod->price_base_type;
|
$price_base_type = $prod->price_base_type;
|
||||||
|
|
||||||
// If price per segment
|
// If price per segment
|
||||||
@ -990,6 +993,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = $prod->multiprices[$object->thirdparty->price_level];
|
$pu_ht = $prod->multiprices[$object->thirdparty->price_level];
|
||||||
$pu_ttc = $prod->multiprices_ttc[$object->thirdparty->price_level];
|
$pu_ttc = $prod->multiprices_ttc[$object->thirdparty->price_level];
|
||||||
$price_min = $prod->multiprices_min[$object->thirdparty->price_level];
|
$price_min = $prod->multiprices_min[$object->thirdparty->price_level];
|
||||||
|
$price_min_ttc = $prod->multiprices_min_ttc[$object->thirdparty->price_level];
|
||||||
$price_base_type = $prod->multiprices_base_type[$object->thirdparty->price_level];
|
$price_base_type = $prod->multiprices_base_type[$object->thirdparty->price_level];
|
||||||
if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) { // using this option is a bug. kept for backward compatibility
|
if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) { // using this option is a bug. kept for backward compatibility
|
||||||
if (isset($prod->multiprices_tva_tx[$object->thirdparty->price_level])) {
|
if (isset($prod->multiprices_tva_tx[$object->thirdparty->price_level])) {
|
||||||
@ -1014,6 +1018,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = price($prodcustprice->lines[0]->price);
|
$pu_ht = price($prodcustprice->lines[0]->price);
|
||||||
$pu_ttc = price($prodcustprice->lines[0]->price_ttc);
|
$pu_ttc = price($prodcustprice->lines[0]->price_ttc);
|
||||||
$price_min = price($prodcustprice->lines[0]->price_min);
|
$price_min = price($prodcustprice->lines[0]->price_min);
|
||||||
|
$price_min_ttc = price($prodcustprice->lines[0]->price_min_ttc);
|
||||||
$price_base_type = $prodcustprice->lines[0]->price_base_type;
|
$price_base_type = $prodcustprice->lines[0]->price_base_type;
|
||||||
$tva_tx = ($prodcustprice->lines[0]->default_vat_code ? $prodcustprice->lines[0]->tva_tx.' ('.$prodcustprice->lines[0]->default_vat_code.' )' : $prodcustprice->lines[0]->tva_tx);
|
$tva_tx = ($prodcustprice->lines[0]->default_vat_code ? $prodcustprice->lines[0]->tva_tx.' ('.$prodcustprice->lines[0]->default_vat_code.' )' : $prodcustprice->lines[0]->tva_tx);
|
||||||
if ($prodcustprice->lines[0]->default_vat_code && !preg_match('/\(.*\)/', $tva_tx)) {
|
if ($prodcustprice->lines[0]->default_vat_code && !preg_match('/\(.*\)/', $tva_tx)) {
|
||||||
@ -1119,18 +1124,6 @@ if (empty($reshook)) {
|
|||||||
$desc = dol_concatdesc($desc, $product_desc, '', !empty($conf->global->MAIN_CHANGE_ORDER_CONCAT_DESCRIPTION));
|
$desc = dol_concatdesc($desc, $product_desc, '', !empty($conf->global->MAIN_CHANGE_ORDER_CONCAT_DESCRIPTION));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add dimensions into product description
|
|
||||||
/*if (empty($conf->global->MAIN_PRODUCT_DISABLE_AUTOADD_DIM))
|
|
||||||
{
|
|
||||||
$text='';
|
|
||||||
if ($prod->weight) $text.=($text?"\n":"").$outputlangs->trans("Weight").': '.$prod->weight.' '.$prod->weight_units;
|
|
||||||
if ($prod->length) $text.=($text?"\n":"").$outputlangs->trans("Length").': '.$prod->length.' '.$prod->length_units;
|
|
||||||
if ($prod->surface) $text.=($text?"\n":"").$outputlangs->trans("Surface").': '.$prod->surface.' '.$prod->surface_units;
|
|
||||||
if ($prod->volume) $text.=($text?"\n":"").$outputlangs->trans("Volume").': '.$prod->volume.' '.$prod->volume_units;
|
|
||||||
|
|
||||||
$desc = dol_concatdesc($desc, $text);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// Add custom code and origin country into description
|
// Add custom code and origin country into description
|
||||||
if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (!empty($prod->customcode) || !empty($prod->country_code))) {
|
if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (!empty($prod->customcode) || !empty($prod->country_code))) {
|
||||||
$tmptxt = '(';
|
$tmptxt = '(';
|
||||||
@ -1186,6 +1179,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$fk_unit = GETPOST('units', 'alpha');
|
$fk_unit = GETPOST('units', 'alpha');
|
||||||
$pu_ht_devise = price2num($price_ht_devise, 'MU');
|
$pu_ht_devise = price2num($price_ht_devise, 'MU');
|
||||||
|
$pu_ttc_devise = price2num($price_ttc_devise, 'MU');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Margin
|
// Margin
|
||||||
@ -1204,10 +1198,22 @@ if (empty($reshook)) {
|
|||||||
$info_bits |= 0x01;
|
$info_bits |= 0x01;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && (!empty($price_min) && (price2num($pu_ht) * (1 - price2num($remise_percent) / 100) < price2num($price_min)))) {
|
//var_dump(price2num($price_min)); var_dump(price2num($pu_ht)); var_dump($remise_percent);
|
||||||
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency));
|
//var_dump(price2num($price_min_ttc)); var_dump(price2num($pu_ttc)); var_dump($remise_percent);exit;
|
||||||
setEventMessages($mesg, null, 'errors');
|
|
||||||
} else {
|
if ($usermustrespectpricemin) {
|
||||||
|
if ($pu_ht && $price_min && ((price2num($pu_ht) * (1 - $remise_percent / 100)) < price2num($price_min))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
} elseif ($pu_ttc && $price_min_ttc && ((price2num($pu_ttc) * (1 - $remise_percent / 100)) < price2num($price_min_ttc))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min_ttc, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
// Insert line
|
// Insert line
|
||||||
$result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $price_base_type, $pu_ttc, $info_bits, $type, min($rank, count($object->lines) + 1), 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $date_start, $date_end, $array_options, $fk_unit, '', 0, $pu_ht_devise);
|
$result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $price_base_type, $pu_ttc, $info_bits, $type, min($rank, count($object->lines) + 1), 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $date_start, $date_end, $array_options, $fk_unit, '', 0, $pu_ht_devise);
|
||||||
|
|
||||||
@ -1285,12 +1291,14 @@ if (empty($reshook)) {
|
|||||||
$localtax1_rate = get_localtax($vat_rate, 1, $object->thirdparty, $mysoc);
|
$localtax1_rate = get_localtax($vat_rate, 1, $object->thirdparty, $mysoc);
|
||||||
$localtax2_rate = get_localtax($vat_rate, 2, $object->thirdparty, $mysoc);
|
$localtax2_rate = get_localtax($vat_rate, 2, $object->thirdparty, $mysoc);
|
||||||
$pu_ht = price2num(GETPOST('price_ht'), '', 2);
|
$pu_ht = price2num(GETPOST('price_ht'), '', 2);
|
||||||
|
$pu_ttc = price2num(GETPOST('price_ttc'), '', 2);
|
||||||
|
|
||||||
// Add buying price
|
// Add buying price
|
||||||
$fournprice = price2num(GETPOST('fournprice') ? GETPOST('fournprice') : '');
|
$fournprice = price2num(GETPOST('fournprice') ? GETPOST('fournprice') : '');
|
||||||
$buyingprice = price2num(GETPOST('buying_price') != '' ? GETPOST('buying_price') : ''); // If buying_price is '0', we muste keep this value
|
$buyingprice = price2num(GETPOST('buying_price') != '' ? GETPOST('buying_price') : ''); // If buying_price is '0', we muste keep this value
|
||||||
|
|
||||||
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), '', 2);
|
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), '', 2);
|
||||||
|
//$pu_ttc_devise = price2num(GETPOST('multicurrency_subprice_ttc'), '', 2);
|
||||||
|
|
||||||
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
||||||
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
||||||
@ -1321,16 +1329,32 @@ if (empty($reshook)) {
|
|||||||
$res = $product->fetch($productid);
|
$res = $product->fetch($productid);
|
||||||
|
|
||||||
$type = $product->type;
|
$type = $product->type;
|
||||||
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
$price_min = $product->price_min;
|
$price_min = $product->price_min;
|
||||||
if (!empty($conf->global->PRODUIT_MULTIPRICES) && !empty($object->thirdparty->price_level)) {
|
if (!empty($conf->global->PRODUIT_MULTIPRICES) && !empty($object->thirdparty->price_level)) {
|
||||||
$price_min = $product->multiprices_min [$object->thirdparty->price_level];
|
$price_min = $product->multiprices_min[$object->thirdparty->price_level];
|
||||||
|
}
|
||||||
|
$price_min_ttc = $product->price_min_ttc;
|
||||||
|
if (!empty($conf->global->PRODUIT_MULTIPRICES) && !empty($object->thirdparty->price_level)) {
|
||||||
|
$price_min_ttc = $product->multiprices_min_ttc[$object->thirdparty->price_level];
|
||||||
}
|
}
|
||||||
|
|
||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
//var_dump(price2num($price_min)); var_dump(price2num($pu_ht)); var_dump($remise_percent);
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && ($price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
//var_dump(price2num($price_min_ttc)); var_dump(price2num($pu_ttc)); var_dump($remise_percent);exit;
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
|
||||||
$error++;
|
if ($usermustrespectpricemin) {
|
||||||
|
if ($pu_ht && $price_min && ((price2num($pu_ht) * (1 - $remise_percent / 100)) < price2num($price_min))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
$action = 'editline';
|
||||||
|
} elseif ($pu_ttc && $price_min_ttc && ((price2num($pu_ttc) * (1 - $remise_percent / 100)) < price2num($price_min_ttc))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min_ttc, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
$action = 'editline';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$type = GETPOST('type');
|
$type = GETPOST('type');
|
||||||
@ -2675,6 +2699,11 @@ if ($action == 'create') {
|
|||||||
// Show object lines
|
// Show object lines
|
||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
|
// Add products/services form
|
||||||
|
//$forceall = 1;
|
||||||
|
global $inputalsopricewithtax;
|
||||||
|
$inputalsopricewithtax = 1;
|
||||||
|
|
||||||
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '' : '#line_'.GETPOST('lineid', 'int')).'" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '' : '#line_'.GETPOST('lineid', 'int')).'" method="POST">
|
||||||
<input type="hidden" name="token" value="' . newToken().'">
|
<input type="hidden" name="token" value="' . newToken().'">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
||||||
@ -2699,8 +2728,6 @@ if ($action == 'create') {
|
|||||||
// Form to add new line
|
// Form to add new line
|
||||||
if ($object->statut == Propal::STATUS_DRAFT && $usercancreate && $action != 'selectlines') {
|
if ($object->statut == Propal::STATUS_DRAFT && $usercancreate && $action != 'selectlines') {
|
||||||
if ($action != 'editline') {
|
if ($action != 'editline') {
|
||||||
// Add products/services form
|
|
||||||
|
|
||||||
$parameters = array();
|
$parameters = array();
|
||||||
$reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|||||||
@ -1507,12 +1507,13 @@ class Propal extends CommonObject
|
|||||||
/**
|
/**
|
||||||
* Load a proposal from database. Get also lines.
|
* Load a proposal from database. Get also lines.
|
||||||
*
|
*
|
||||||
* @param int $rowid id of object to load
|
* @param int $rowid Id of object to load
|
||||||
* @param string $ref Ref of proposal
|
* @param string $ref Ref of proposal
|
||||||
* @param string $ref_ext Ref ext of proposal
|
* @param string $ref_ext Ref ext of proposal
|
||||||
* @return int >0 if OK, <0 if KO
|
* @param int $forceentity Entity id to force when searching on ref or ref_ext
|
||||||
|
* @return int >0 if OK, <0 if KO
|
||||||
*/
|
*/
|
||||||
public function fetch($rowid, $ref = '', $ref_ext = '')
|
public function fetch($rowid, $ref = '', $ref_ext = '', $forceentity = 0)
|
||||||
{
|
{
|
||||||
$sql = "SELECT p.rowid, p.ref, p.entity, p.remise, p.remise_percent, p.remise_absolue, p.fk_soc";
|
$sql = "SELECT p.rowid, p.ref, p.entity, p.remise, p.remise_percent, p.remise_absolue, p.fk_soc";
|
||||||
$sql .= ", p.total_ttc, p.total_tva, p.localtax1, p.localtax2, p.total_ht";
|
$sql .= ", p.total_ttc, p.total_tva, p.localtax1, p.localtax2, p.total_ht";
|
||||||
@ -1551,10 +1552,15 @@ class Propal extends CommonObject
|
|||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_input_reason as dr ON p.fk_input_reason = dr.rowid';
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_input_reason as dr ON p.fk_input_reason = dr.rowid';
|
||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON p.fk_incoterms = i.rowid';
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON p.fk_incoterms = i.rowid';
|
||||||
|
|
||||||
if ($ref) {
|
if (!empty($ref)) {
|
||||||
$sql .= " WHERE p.entity IN (".getEntity('propal').")"; // Dont't use entity if you use rowid
|
if (!empty($forceentity)) {
|
||||||
|
$sql .= " WHERE p.entity = ".(int) $forceentity; // Check only the current entity because we may have the same reference in several entities
|
||||||
|
} else {
|
||||||
|
$sql .= " WHERE p.entity IN (".getEntity('propal').")";
|
||||||
|
}
|
||||||
$sql .= " AND p.ref='".$this->db->escape($ref)."'";
|
$sql .= " AND p.ref='".$this->db->escape($ref)."'";
|
||||||
} else {
|
} else {
|
||||||
|
// Dont't use entity if you use rowid
|
||||||
$sql .= " WHERE p.rowid = ".((int) $rowid);
|
$sql .= " WHERE p.rowid = ".((int) $rowid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3812,7 +3818,7 @@ class Propal extends CommonObject
|
|||||||
* @param int $hidedetails Hide details of lines
|
* @param int $hidedetails Hide details of lines
|
||||||
* @param int $hidedesc Hide description
|
* @param int $hidedesc Hide description
|
||||||
* @param int $hideref Hide ref
|
* @param int $hideref Hide ref
|
||||||
* @param null|array $moreparams Array to provide more information
|
* @param null|array $moreparams Array to provide more information
|
||||||
* @return int 0 if KO, 1 if OK
|
* @return int 0 if KO, 1 if OK
|
||||||
*/
|
*/
|
||||||
public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null)
|
public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null)
|
||||||
|
|||||||
@ -113,12 +113,13 @@ $usercancreate = $user->hasRight("commande", "creer");
|
|||||||
$usercandelete = $user->hasRight("commande", "supprimer");
|
$usercandelete = $user->hasRight("commande", "supprimer");
|
||||||
// Advanced permissions
|
// Advanced permissions
|
||||||
|
|
||||||
$usercanclose = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($usercancreate)) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->hasRight('commande', 'order_advance', 'close'))));
|
$usercanclose = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($usercancreate)) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->hasRight('commande', 'order_advance', 'close')));
|
||||||
$usercanvalidate = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->hasRight('commande', 'order_advance', 'validate'))));
|
$usercanvalidate = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->hasRight('commande', 'order_advance', 'validate')));
|
||||||
$usercancancel = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->hasRight('commande', 'order_advance', 'annuler'))));
|
$usercancancel = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->hasRight('commande', 'order_advance', 'annuler')));
|
||||||
$usercansend = (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->hasRight('commande', 'order_advance', 'send'));
|
$usercansend = (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->hasRight('commande', 'order_advance', 'send'));
|
||||||
$usercangeneretedoc = (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->hasRight('commande', 'order_advance', 'generetedoc'));
|
$usercangeneretedoc = (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->hasRight('commande', 'order_advance', 'generetedoc'));
|
||||||
|
|
||||||
|
$usermustrespectpricemin = ((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS));
|
||||||
$usercancreatepurchaseorder = ($user->hasRight('fournisseur', 'commande', 'creer') || $user->hasRight('supplier_order', 'creer'));
|
$usercancreatepurchaseorder = ($user->hasRight('fournisseur', 'commande', 'creer') || $user->hasRight('supplier_order', 'creer'));
|
||||||
|
|
||||||
$permissionnote = $usercancreate; // Used by the include of actions_setnotes.inc.php
|
$permissionnote = $usercancreate; // Used by the include of actions_setnotes.inc.php
|
||||||
@ -647,6 +648,9 @@ if (empty($reshook)) {
|
|||||||
$product_desc = (GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : '');
|
$product_desc = (GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : '');
|
||||||
$price_ht = price2num(GETPOST('price_ht'), 'MU', 2);
|
$price_ht = price2num(GETPOST('price_ht'), 'MU', 2);
|
||||||
$price_ht_devise = price2num(GETPOST('multicurrency_price_ht'), 'CU', 2);
|
$price_ht_devise = price2num(GETPOST('multicurrency_price_ht'), 'CU', 2);
|
||||||
|
$price_ttc = price2num(GETPOST('price_ttc'), 'MU', 2);
|
||||||
|
$price_ttc_devise = price2num(GETPOST('multicurrency_price_ttc'), 'CU', 2);
|
||||||
|
|
||||||
$prod_entry_mode = GETPOST('prod_entry_mode');
|
$prod_entry_mode = GETPOST('prod_entry_mode');
|
||||||
if ($prod_entry_mode == 'free') {
|
if ($prod_entry_mode == 'free') {
|
||||||
$idprod = 0;
|
$idprod = 0;
|
||||||
@ -739,6 +743,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = $prod->price;
|
$pu_ht = $prod->price;
|
||||||
$pu_ttc = $prod->price_ttc;
|
$pu_ttc = $prod->price_ttc;
|
||||||
$price_min = $prod->price_min;
|
$price_min = $prod->price_min;
|
||||||
|
$price_min_ttc = $prod->price_min_ttc;
|
||||||
$price_base_type = $prod->price_base_type;
|
$price_base_type = $prod->price_base_type;
|
||||||
|
|
||||||
// If price per segment
|
// If price per segment
|
||||||
@ -746,6 +751,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = $prod->multiprices[$object->thirdparty->price_level];
|
$pu_ht = $prod->multiprices[$object->thirdparty->price_level];
|
||||||
$pu_ttc = $prod->multiprices_ttc[$object->thirdparty->price_level];
|
$pu_ttc = $prod->multiprices_ttc[$object->thirdparty->price_level];
|
||||||
$price_min = $prod->multiprices_min[$object->thirdparty->price_level];
|
$price_min = $prod->multiprices_min[$object->thirdparty->price_level];
|
||||||
|
$price_min_ttc = $prod->multiprices_min_ttc[$object->thirdparty->price_level];
|
||||||
$price_base_type = $prod->multiprices_base_type[$object->thirdparty->price_level];
|
$price_base_type = $prod->multiprices_base_type[$object->thirdparty->price_level];
|
||||||
if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) { // using this option is a bug. kept for backward compatibility
|
if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) { // using this option is a bug. kept for backward compatibility
|
||||||
if (isset($prod->multiprices_tva_tx[$object->thirdparty->price_level])) {
|
if (isset($prod->multiprices_tva_tx[$object->thirdparty->price_level])) {
|
||||||
@ -769,6 +775,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = price($prodcustprice->lines[0]->price);
|
$pu_ht = price($prodcustprice->lines[0]->price);
|
||||||
$pu_ttc = price($prodcustprice->lines[0]->price_ttc);
|
$pu_ttc = price($prodcustprice->lines[0]->price_ttc);
|
||||||
$price_min = price($prodcustprice->lines[0]->price_min);
|
$price_min = price($prodcustprice->lines[0]->price_min);
|
||||||
|
$price_min_ttc = price($prodcustprice->lines[0]->price_min_ttc);
|
||||||
$price_base_type = $prodcustprice->lines[0]->price_base_type;
|
$price_base_type = $prodcustprice->lines[0]->price_base_type;
|
||||||
$tva_tx = $prodcustprice->lines[0]->tva_tx;
|
$tva_tx = $prodcustprice->lines[0]->tva_tx;
|
||||||
if ($prodcustprice->lines[0]->default_vat_code && !preg_match('/\(.*\)/', $tva_tx)) {
|
if ($prodcustprice->lines[0]->default_vat_code && !preg_match('/\(.*\)/', $tva_tx)) {
|
||||||
@ -946,10 +953,19 @@ if (empty($reshook)) {
|
|||||||
$info_bits |= 0x01;
|
$info_bits |= 0x01;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && (!empty($price_min) && (price2num($pu_ht) * (1 - price2num($remise_percent) / 100) < price2num($price_min)))) {
|
if ($usermustrespectpricemin) {
|
||||||
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency));
|
if ($pu_ht && $price_min && ((price2num($pu_ht) * (1 - $remise_percent / 100)) < price2num($price_min))) {
|
||||||
setEventMessages($mesg, null, 'errors');
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
} else {
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
} elseif ($pu_ttc && $price_min_ttc && ((price2num($pu_ttc) * (1 - $remise_percent / 100)) < price2num($price_min_ttc))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min_ttc, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
// Insert line
|
// Insert line
|
||||||
$result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $info_bits, 0, $price_base_type, $pu_ttc, $date_start, $date_end, $type, min($rank, count($object->lines) + 1), 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $array_options, $fk_unit, '', 0, $pu_ht_devise);
|
$result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $info_bits, 0, $price_base_type, $pu_ttc, $date_start, $date_end, $type, min($rank, count($object->lines) + 1), 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $array_options, $fk_unit, '', 0, $pu_ht_devise);
|
||||||
|
|
||||||
@ -1017,9 +1033,12 @@ if (empty($reshook)) {
|
|||||||
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
||||||
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
||||||
$description = dol_htmlcleanlastbr(GETPOST('product_desc', 'restricthtml'));
|
$description = dol_htmlcleanlastbr(GETPOST('product_desc', 'restricthtml'));
|
||||||
$pu_ht = price2num(GETPOST('price_ht'), '', 2);
|
|
||||||
$vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx', 'alpha') : 0);
|
$vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx', 'alpha') : 0);
|
||||||
|
$vat_rate = str_replace('*', '', $vat_rate);
|
||||||
|
$pu_ht = price2num(GETPOST('price_ht'), '', 2);
|
||||||
|
$pu_ttc = price2num(GETPOST('price_ttc'), '', 2);
|
||||||
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), '', 2);
|
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), '', 2);
|
||||||
|
//$pu_ttc_devise = price2num(GETPOST('multicurrency_subprice_ttc'), '', 2);
|
||||||
|
|
||||||
$qty = price2num(GETPOST('qty'), 'MS');
|
$qty = price2num(GETPOST('qty'), 'MS');
|
||||||
|
|
||||||
@ -1068,13 +1087,25 @@ if (empty($reshook)) {
|
|||||||
if ((!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($object->thirdparty->price_level)) {
|
if ((!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($object->thirdparty->price_level)) {
|
||||||
$price_min = $product->multiprices_min[$object->thirdparty->price_level];
|
$price_min = $product->multiprices_min[$object->thirdparty->price_level];
|
||||||
}
|
}
|
||||||
|
$price_min_ttc = $product->price_min_ttc;
|
||||||
|
if ((!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($object->thirdparty->price_level)) {
|
||||||
|
$price_min_ttc = $product->multiprices_min_ttc[$object->thirdparty->price_level];
|
||||||
|
}
|
||||||
|
|
||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && ($price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
if ($usermustrespectpricemin) {
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
if ($pu_ht && $price_min && ((price2num($pu_ht) * (1 - $remise_percent / 100)) < price2num($price_min))) {
|
||||||
$error++;
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
$action = 'editline';
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
$action = 'editline';
|
||||||
|
} elseif ($pu_ttc && $price_min_ttc && ((price2num($pu_ttc) * (1 - $remise_percent / 100)) < price2num($price_min_ttc))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min_ttc, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
$action = 'editline';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$type = GETPOST('type');
|
$type = GETPOST('type');
|
||||||
|
|||||||
@ -361,7 +361,7 @@ if (GETPOST('save') && !$cancel && !empty($user->rights->banque->modifier)) {
|
|||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors');
|
||||||
}
|
}
|
||||||
if (!$bankaccountid > 0) {
|
if (!($bankaccountid > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankAccount")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankAccount")), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -618,7 +618,7 @@ class Account extends CommonObject
|
|||||||
$this->error = $this->db->lasterror();
|
$this->error = $this->db->lasterror();
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
|
|
||||||
return -3;
|
return -4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -630,7 +630,7 @@ class Account extends CommonObject
|
|||||||
$this->errors = $accline->errors;
|
$this->errors = $accline->errors;
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
|
|
||||||
return -2;
|
return -5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -141,7 +141,7 @@ if (!empty($conf->global->INVOICE_DISALLOW_REOPEN)) {
|
|||||||
}
|
}
|
||||||
$usercanunvalidate = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($usercancreate)) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->facture->invoice_advance->unvalidate)));
|
$usercanunvalidate = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($usercancreate)) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->facture->invoice_advance->unvalidate)));
|
||||||
|
|
||||||
$usercanproductignorepricemin = ((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS));
|
$usermustrespectpricemin = ((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS));
|
||||||
$usercancreatemargin = (!empty($user->rights->margins->creer) ? $user->rights->margins->creer : 0);
|
$usercancreatemargin = (!empty($user->rights->margins->creer) ? $user->rights->margins->creer : 0);
|
||||||
$usercanreadallmargin = (!empty($user->rights->margins->liretous) ? $user->rights->margins->liretous : 0);
|
$usercanreadallmargin = (!empty($user->rights->margins->liretous) ? $user->rights->margins->liretous : 0);
|
||||||
$usercancreatewithdrarequest = (!empty($user->rights->prelevement->bons->creer) ? $user->rights->prelevement->bons->creer : 0);
|
$usercancreatewithdrarequest = (!empty($user->rights->prelevement->bons->creer) ? $user->rights->prelevement->bons->creer : 0);
|
||||||
@ -2010,6 +2010,9 @@ if (empty($reshook)) {
|
|||||||
$product_desc =(GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : '');
|
$product_desc =(GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : '');
|
||||||
$price_ht = price2num(GETPOST('price_ht'), 'MU', 2);
|
$price_ht = price2num(GETPOST('price_ht'), 'MU', 2);
|
||||||
$price_ht_devise = price2num(GETPOST('multicurrency_price_ht'), 'CU', 2);
|
$price_ht_devise = price2num(GETPOST('multicurrency_price_ht'), 'CU', 2);
|
||||||
|
$price_ttc = price2num(GETPOST('price_ttc'), 'MU', 2);
|
||||||
|
$price_ttc_devise = price2num(GETPOST('multicurrency_price_ttc'), 'CU', 2);
|
||||||
|
|
||||||
$prod_entry_mode = GETPOST('prod_entry_mode', 'alpha');
|
$prod_entry_mode = GETPOST('prod_entry_mode', 'alpha');
|
||||||
if ($prod_entry_mode == 'free') {
|
if ($prod_entry_mode == 'free') {
|
||||||
$idprod = 0;
|
$idprod = 0;
|
||||||
@ -2126,6 +2129,7 @@ if (empty($reshook)) {
|
|||||||
$pu_ht = $datapriceofproduct['pu_ht'];
|
$pu_ht = $datapriceofproduct['pu_ht'];
|
||||||
$pu_ttc = $datapriceofproduct['pu_ttc'];
|
$pu_ttc = $datapriceofproduct['pu_ttc'];
|
||||||
$price_min = $datapriceofproduct['price_min'];
|
$price_min = $datapriceofproduct['price_min'];
|
||||||
|
$price_min_ttc = $datapriceofproduct['price_min_ttc'];
|
||||||
$price_base_type = $datapriceofproduct['price_base_type'];
|
$price_base_type = $datapriceofproduct['price_base_type'];
|
||||||
$tva_tx = $datapriceofproduct['tva_tx'];
|
$tva_tx = $datapriceofproduct['tva_tx'];
|
||||||
$tva_npr = $datapriceofproduct['tva_npr'];
|
$tva_npr = $datapriceofproduct['tva_npr'];
|
||||||
@ -2238,6 +2242,7 @@ if (empty($reshook)) {
|
|||||||
$type = GETPOST('type');
|
$type = GETPOST('type');
|
||||||
$fk_unit = GETPOST('units', 'alpha');
|
$fk_unit = GETPOST('units', 'alpha');
|
||||||
$pu_ht_devise = price2num($price_ht_devise, 'MU');
|
$pu_ht_devise = price2num($price_ht_devise, 'MU');
|
||||||
|
$pu_ttc_devise = price2num($price_ttc_devise, 'MU');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Margin
|
// Margin
|
||||||
@ -2256,6 +2261,7 @@ if (empty($reshook)) {
|
|||||||
$price2num_pu_ht = price2num($pu_ht);
|
$price2num_pu_ht = price2num($pu_ht);
|
||||||
$price2num_remise_percent = price2num($remise_percent);
|
$price2num_remise_percent = price2num($remise_percent);
|
||||||
$price2num_price_min = price2num($price_min);
|
$price2num_price_min = price2num($price_min);
|
||||||
|
$price2num_price_min_ttc = price2num($price_min_ttc);
|
||||||
if (empty($price2num_pu_ht)) {
|
if (empty($price2num_pu_ht)) {
|
||||||
$price2num_pu_ht = 0;
|
$price2num_pu_ht = 0;
|
||||||
}
|
}
|
||||||
@ -2265,11 +2271,24 @@ if (empty($reshook)) {
|
|||||||
if (empty($price2num_price_min)) {
|
if (empty($price2num_price_min)) {
|
||||||
$price2num_price_min = 0;
|
$price2num_price_min = 0;
|
||||||
}
|
}
|
||||||
|
if (empty($price2num_price_min_ttc)) {
|
||||||
|
$price2num_price_min_ttc = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if ($usercanproductignorepricemin && (!empty($price_min) && ($price2num_pu_ht * (1 - $price2num_remise_percent / 100) < $price2num_price_min))) {
|
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
||||||
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency));
|
if ($usermustrespectpricemin && ($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT)) {
|
||||||
setEventMessages($mesg, null, 'errors');
|
if ($pu_ht && $price_min && ((price2num($pu_ht) * (1 - $remise_percent / 100)) < price2num($price_min))) {
|
||||||
} else {
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
} elseif ($pu_ttc && $price_min_ttc && ((price2num($pu_ttc) * (1 - $remise_percent / 100)) < price2num($price_min_ttc))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min_ttc, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
// Add batchinfo if the detail_batch array is defined
|
// Add batchinfo if the detail_batch array is defined
|
||||||
if (!empty($conf->productbatch->enabled) && !empty($lines[$i]->detail_batch) && is_array($lines[$i]->detail_batch) && !empty($conf->global->INVOICE_INCUDE_DETAILS_OF_LOTS_SERIALS)) {
|
if (!empty($conf->productbatch->enabled) && !empty($lines[$i]->detail_batch) && is_array($lines[$i]->detail_batch) && !empty($conf->global->INVOICE_INCUDE_DETAILS_OF_LOTS_SERIALS)) {
|
||||||
$langs->load('productbatch');
|
$langs->load('productbatch');
|
||||||
@ -2360,10 +2379,14 @@ if (empty($reshook)) {
|
|||||||
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
||||||
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
||||||
$description = dol_htmlcleanlastbr(GETPOST('product_desc', 'restricthtml') ? GETPOST('product_desc', 'restricthtml') : GETPOST('desc', 'restricthtml'));
|
$description = dol_htmlcleanlastbr(GETPOST('product_desc', 'restricthtml') ? GETPOST('product_desc', 'restricthtml') : GETPOST('desc', 'restricthtml'));
|
||||||
$pu_ht = price2num(GETPOST('price_ht'), '', 2);
|
|
||||||
$vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0);
|
$vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0);
|
||||||
$qty = GETPOST('qty');
|
$vat_rate = str_replace('*', '', $vat_rate);
|
||||||
|
$pu_ht = price2num(GETPOST('price_ht'), '', 2);
|
||||||
|
$pu_ttc = price2num(GETPOST('price_ttc'), '', 2);
|
||||||
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), '', 2);
|
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), '', 2);
|
||||||
|
//$pu_ttc_devise = price2num(GETPOST('multicurrency_subprice_ttc'), '', 2);
|
||||||
|
|
||||||
|
$qty = GETPOST('qty');
|
||||||
|
|
||||||
// Define info_bits
|
// Define info_bits
|
||||||
$info_bits = 0;
|
$info_bits = 0;
|
||||||
@ -2434,15 +2457,28 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$price_min = $product->price_min;
|
$price_min = $product->price_min;
|
||||||
if ((!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($object->thirdparty->price_level)) {
|
if ((!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($object->thirdparty->price_level)) {
|
||||||
$price_min = $product->multiprices_min [$object->thirdparty->price_level];
|
$price_min = $product->multiprices_min[$object->thirdparty->price_level];
|
||||||
|
}
|
||||||
|
$price_min_ttc = $product->price_min_ttc;
|
||||||
|
if ((!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($object->thirdparty->price_level)) {
|
||||||
|
$price_min_ttc = $product->multiprices_min_ttc[$object->thirdparty->price_level];
|
||||||
}
|
}
|
||||||
|
|
||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
||||||
if ($usercanproductignorepricemin && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
if ($usermustrespectpricemin && ($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT)) {
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
if ($pu_ht && $price_min && ((price2num($pu_ht) * (1 - $remise_percent / 100)) < price2num($price_min))) {
|
||||||
$error++;
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
$action = 'editline';
|
||||||
|
} elseif ($pu_ttc && $price_min_ttc && ((price2num($pu_ttc) * (1 - $remise_percent / 100)) < price2num($price_min_ttc))) {
|
||||||
|
$mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min_ttc, 'MU'), 0, $langs, 0, 0, -1, $conf->currency));
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$error++;
|
||||||
|
$action = 'editline';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$type = GETPOST('type');
|
$type = GETPOST('type');
|
||||||
@ -4215,7 +4251,7 @@ if ($action == 'create') {
|
|||||||
// Cree un tableau formulaire
|
// Cree un tableau formulaire
|
||||||
$formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"), array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons), array('type' => 'text', 'name' => 'close_note', 'label' => $langs->trans("Comment"), 'value' => '', 'morecss' => 'minwidth300'));
|
$formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"), array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons), array('type' => 'text', 'name' => 'close_note', 'label' => $langs->trans("Comment"), 'value' => '', 'morecss' => 'minwidth300'));
|
||||||
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?facid='.$object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes", 1, 250);
|
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?facid='.$object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes", 1, 270);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5107,7 +5143,7 @@ if ($action == 'create') {
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="right"><span class="amount">'.price($obj->amount_ttc).'</span></td>';
|
print '<td class="right"><span class="amount">'.price($obj->amount_ttc).'</span></td>';
|
||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?facid='.$object->id.'&action=unlinkdiscount&discountid='.$obj->rowid.'">'.img_delete().'</a>';
|
print '<a href="'.$_SERVER["PHP_SELF"].'?facid='.$object->id.'&action=unlinkdiscount&token='.newToken().'&discountid='.$obj->rowid.'">'.img_delete().'</a>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
$i++;
|
$i++;
|
||||||
if ($invoice->type == Facture::TYPE_CREDIT_NOTE) {
|
if ($invoice->type == Facture::TYPE_CREDIT_NOTE) {
|
||||||
@ -5192,7 +5228,9 @@ if ($action == 'create') {
|
|||||||
}
|
}
|
||||||
print '</span>';
|
print '</span>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="right'.($resteapayeraffiche ? ' amountremaintopay' : (' '.$cssforamountpaymentcomplete)).'">'.(!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency).' '.price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT')).'</td><td> </td></tr>';
|
print '<td class="right'.($resteapayeraffiche ? ' amountremaintopay' : (' '.$cssforamountpaymentcomplete)).'">';
|
||||||
|
//print (empty($object->multicurrency_code) ? $conf->currency : $object->multicurrency_code).' ';
|
||||||
|
print price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT'), 1, $langs, 1, -1, -1, (empty($object->multicurrency_code) ? $conf->currency : $object->multicurrency_code)).'</td><td> </td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retained warranty : usualy use on construction industry
|
// Retained warranty : usualy use on construction industry
|
||||||
|
|||||||
@ -1533,7 +1533,7 @@ if ($resql) {
|
|||||||
// Status
|
// Status
|
||||||
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
||||||
print '<td class="liste_titre maxwidthonsmartphone right">';
|
print '<td class="liste_titre maxwidthonsmartphone right">';
|
||||||
$liststatus = array('0'=>$langs->trans("BillShortStatusDraft"), '1'=>$langs->trans("BillShortStatusNotPaid"), '0,1'=>$langs->trans("BillShortStatusDraft").'+'.$langs->trans("BillShortStatusNotPaid"), '2'=>$langs->trans("BillShortStatusPaid"), '1,2'=>$langs->trans("BillShortStatusNotPaid").'+'.$langs->trans("BillShortStatusPaid"), '3'=>$langs->trans("BillShortStatusCanceled"));
|
$liststatus = array('0'=>$langs->trans("BillShortStatusDraft"), '0,1'=>$langs->trans("BillShortStatusDraft").'+'.$langs->trans("BillShortStatusNotPaid"), '1'=>$langs->trans("BillShortStatusNotPaid"), '1,2'=>$langs->trans("BillShortStatusNotPaid").'+'.$langs->trans("BillShortStatusPaid"), '2'=>$langs->trans("BillShortStatusPaid"), '3'=>$langs->trans("BillShortStatusCanceled"));
|
||||||
print $form->selectarray('search_status', $liststatus, $search_status, 1, 0, 0, '', 0, 0, 0, '', '', 1);
|
print $form->selectarray('search_status', $liststatus, $search_status, 1, 0, 0, '', 0, 0, 0, '', '', 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
@ -1771,6 +1771,7 @@ if ($resql) {
|
|||||||
$facturestatic->situation_cycle_ref = $obj->situation_cycle_ref;
|
$facturestatic->situation_cycle_ref = $obj->situation_cycle_ref;
|
||||||
$facturestatic->situation_counter = $obj->situation_counter;
|
$facturestatic->situation_counter = $obj->situation_counter;
|
||||||
}
|
}
|
||||||
|
|
||||||
$companystatic->id = $obj->socid;
|
$companystatic->id = $obj->socid;
|
||||||
$companystatic->name = $obj->name;
|
$companystatic->name = $obj->name;
|
||||||
$companystatic->name_alias = $obj->alias;
|
$companystatic->name_alias = $obj->alias;
|
||||||
@ -2418,7 +2419,7 @@ if ($resql) {
|
|||||||
// Status
|
// Status
|
||||||
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
||||||
print '<td class="nowrap right">';
|
print '<td class="nowrap right">';
|
||||||
print $facturestatic->LibStatut($obj->paye, $obj->fk_statut, 5, $paiement, $obj->type);
|
print $facturestatic->getLibStatut(5, $paiement);
|
||||||
print "</td>";
|
print "</td>";
|
||||||
if (!$i) {
|
if (!$i) {
|
||||||
$totalarray['nbfield']++;
|
$totalarray['nbfield']++;
|
||||||
|
|||||||
@ -250,6 +250,7 @@ if ($date_endyear) {
|
|||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
if ($modecompta == 'BOOKKEEPING') {
|
if ($modecompta == 'BOOKKEEPING') {
|
||||||
print_liste_field_titre("PredefinedGroups", $_SERVER["PHP_SELF"], 'f.thirdparty_code,f.rowid', '', $param, '', $sortfield, $sortorder, 'width200 ');
|
print_liste_field_titre("PredefinedGroups", $_SERVER["PHP_SELF"], 'f.thirdparty_code,f.rowid', '', $param, '', $sortfield, $sortorder, 'width200 ');
|
||||||
} else {
|
} else {
|
||||||
@ -261,6 +262,8 @@ if ($modecompta == 'BOOKKEEPING') {
|
|||||||
} else {
|
} else {
|
||||||
if ($modecompta == 'CREANCES-DETTES') {
|
if ($modecompta == 'CREANCES-DETTES') {
|
||||||
print_liste_field_titre("AmountHT", $_SERVER["PHP_SELF"], 'amount_ht', '', $param, 'class="right"', $sortfield, $sortorder);
|
print_liste_field_titre("AmountHT", $_SERVER["PHP_SELF"], 'amount_ht', '', $param, 'class="right"', $sortfield, $sortorder);
|
||||||
|
} else {
|
||||||
|
print_liste_field_titre(''); // Make 4 columns in total whatever $modecompta is
|
||||||
}
|
}
|
||||||
print_liste_field_titre("AmountTTC", $_SERVER["PHP_SELF"], 'amount_ttc', '', $param, 'class="right"', $sortfield, $sortorder);
|
print_liste_field_titre("AmountTTC", $_SERVER["PHP_SELF"], 'amount_ttc', '', $param, 'class="right"', $sortfield, $sortorder);
|
||||||
}
|
}
|
||||||
@ -1525,18 +1528,24 @@ print '</tr>';
|
|||||||
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Income").'</td>';
|
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Income").'</td>';
|
||||||
if ($modecompta == 'CREANCES-DETTES') {
|
if ($modecompta == 'CREANCES-DETTES') {
|
||||||
print '<td class="liste_total right">'.price(price2num($total_ht_income, 'MT')).'</td>';
|
print '<td class="liste_total right">'.price(price2num($total_ht_income, 'MT')).'</td>';
|
||||||
|
} else {
|
||||||
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
print '<td class="liste_total right">'.price(price2num($total_ttc_income, 'MT')).'</td>';
|
print '<td class="liste_total right">'.price(price2num($total_ttc_income, 'MT')).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Outcome").'</td>';
|
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Outcome").'</td>';
|
||||||
if ($modecompta == 'CREANCES-DETTES') {
|
if ($modecompta == 'CREANCES-DETTES') {
|
||||||
print '<td class="liste_total right">'.price(price2num(-$total_ht_outcome, 'MT')).'</td>';
|
print '<td class="liste_total right">'.price(price2num(-$total_ht_outcome, 'MT')).'</td>';
|
||||||
|
} else {
|
||||||
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
print '<td class="liste_total right">'.price(price2num(-$total_ttc_outcome, 'MT')).'</td>';
|
print '<td class="liste_total right">'.price(price2num(-$total_ttc_outcome, 'MT')).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Profit").'</td>';
|
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Profit").'</td>';
|
||||||
if ($modecompta == 'CREANCES-DETTES') {
|
if ($modecompta == 'CREANCES-DETTES') {
|
||||||
print '<td class="liste_total right">'.price(price2num($total_ht, 'MT')).'</td>';
|
print '<td class="liste_total right">'.price(price2num($total_ht, 'MT')).'</td>';
|
||||||
|
} else {
|
||||||
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
print '<td class="liste_total right">'.price(price2num($total_ttc, 'MT')).'</td>';
|
print '<td class="liste_total right">'.price(price2num($total_ttc, 'MT')).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|||||||
@ -192,7 +192,7 @@ if ($action == 'add' && $user->rights->tax->charges->creer) {
|
|||||||
} elseif (!$dateperiod) {
|
} elseif (!$dateperiod) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Period")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Period")), null, 'errors');
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
} elseif (!$actioncode > 0) {
|
} elseif (!($actioncode > 0)) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Type")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Type")), null, 'errors');
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
} elseif (empty($amount)) {
|
} elseif (empty($amount)) {
|
||||||
|
|||||||
@ -375,7 +375,7 @@ if (empty($reshook)) {
|
|||||||
$newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
|
$newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
|
||||||
$result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1);
|
$result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1);
|
||||||
|
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
$errors[] = "ErrorFailedToSaveFile";
|
$errors[] = "ErrorFailedToSaveFile";
|
||||||
} else {
|
} else {
|
||||||
$object->photo = dol_sanitizeFileName($_FILES['photo']['name']);
|
$object->photo = dol_sanitizeFileName($_FILES['photo']['name']);
|
||||||
|
|||||||
@ -33,6 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||||
|
|
||||||
$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print')
|
$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print')
|
||||||
|
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : str_replace('_', '', basename(dirname(__FILE__)).basename(__FILE__, '.php')); // To manage different context of search
|
||||||
|
|
||||||
$id = GETPOST('id', 'int');
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
@ -46,7 +47,7 @@ if (empty($object->thirdparty)) {
|
|||||||
$socid = $object->thirdparty->id;
|
$socid = $object->thirdparty->id;
|
||||||
|
|
||||||
// Sort & Order fields
|
// Sort & Order fields
|
||||||
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
$sortfield = GETPOST('sortfield', 'aZ09comma');
|
$sortfield = GETPOST('sortfield', 'aZ09comma');
|
||||||
$sortorder = GETPOST('sortorder', 'aZ09comma');
|
$sortorder = GETPOST('sortorder', 'aZ09comma');
|
||||||
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
||||||
@ -230,7 +231,7 @@ if ($type_element == 'fichinter') { // Customer : show products from invoices
|
|||||||
$tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX.'element_contact ec ON ec.element_id=c.rowid AND ec.fk_socpeople = '.((int) $object->id);
|
$tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX.'element_contact ec ON ec.element_id=c.rowid AND ec.fk_socpeople = '.((int) $object->id);
|
||||||
$tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX."c_type_contact tc ON (ec.fk_c_type_contact=tc.rowid and tc.element='propal' and tc.source='external' and tc.active=1)";
|
$tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX."c_type_contact tc ON (ec.fk_c_type_contact=tc.rowid and tc.element='propal' and tc.source='external' and tc.active=1)";
|
||||||
$where = ' WHERE c.entity IN ('.getEntity('propal').')';
|
$where = ' WHERE c.entity IN ('.getEntity('propal').')';
|
||||||
$datePrint = 'c.datep';
|
$dateprint = 'c.datep';
|
||||||
$doc_number = 'c.ref';
|
$doc_number = 'c.ref';
|
||||||
$thirdTypeSelect = 'customer';
|
$thirdTypeSelect = 'customer';
|
||||||
} elseif ($type_element == 'order') {
|
} elseif ($type_element == 'order') {
|
||||||
@ -443,6 +444,8 @@ if ($sql_select) {
|
|||||||
|
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$total_qty = 0;
|
||||||
|
$total_ht = 0;
|
||||||
while (($objp = $db->fetch_object($resql)) && $i < min($num, $limit)) {
|
while (($objp = $db->fetch_object($resql)) && $i < min($num, $limit)) {
|
||||||
$documentstatic->id = $objp->doc_id;
|
$documentstatic->id = $objp->doc_id;
|
||||||
$documentstatic->ref = $objp->doc_number;
|
$documentstatic->ref = $objp->doc_number;
|
||||||
|
|||||||
@ -76,7 +76,11 @@ if ($id) {
|
|||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
$morehtmlref = '<div class="refidno">';
|
$morehtmlref = '<a href="'.DOL_URL_ROOT.'/contact/vcard.php?id='.$object->id.'" class="refid">';
|
||||||
|
$morehtmlref .= img_picto($langs->trans("Download").' '.$langs->trans("VCard"), 'vcard.png', 'class="valignmiddle marginleftonly paddingrightonly"');
|
||||||
|
$morehtmlref .= '</a>';
|
||||||
|
|
||||||
|
$morehtmlref .= '<div class="refidno">';
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS) && !empty($socid)) {
|
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS) && !empty($socid)) {
|
||||||
$object->thirdparty->fetch($socid);
|
$object->thirdparty->fetch($socid);
|
||||||
// Thirdparty
|
// Thirdparty
|
||||||
|
|||||||
@ -44,7 +44,6 @@ if ($result <= 0) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$physicalperson = 1;
|
|
||||||
|
|
||||||
$company = new Societe($db);
|
$company = new Societe($db);
|
||||||
if ($contact->socid) {
|
if ($contact->socid) {
|
||||||
@ -107,7 +106,7 @@ if ($company->id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Si contact lie a un tiers non de type "particulier"
|
// Si contact lie a un tiers non de type "particulier"
|
||||||
if ($contact->typent_code != 'TE_PRIVATE') {
|
if ($company->typent_code != 'TE_PRIVATE') {
|
||||||
$v->setOrg($company->name);
|
$v->setOrg($company->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,7 +77,7 @@ if (!isset($mode) || $mode != 'noajax') { // For ajax call
|
|||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
if ($section > 0) {
|
if ($section > 0) {
|
||||||
$result = $ecmdir->fetch($section);
|
$result = $ecmdir->fetch($section);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
//dol_print_error($db,$ecmdir->error);
|
//dol_print_error($db,$ecmdir->error);
|
||||||
//exit;
|
//exit;
|
||||||
}
|
}
|
||||||
@ -90,7 +90,7 @@ if (!isset($mode) || $mode != 'noajax') { // For ajax call
|
|||||||
$relativepath = '';
|
$relativepath = '';
|
||||||
if ($section > 0) {
|
if ($section > 0) {
|
||||||
$result = $ecmdir->fetch($section);
|
$result = $ecmdir->fetch($section);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,12 +53,13 @@ if (is_numeric($entity)) {
|
|||||||
define("DOLENTITY", $entity);
|
define("DOLENTITY", $entity);
|
||||||
}
|
}
|
||||||
include '../../main.inc.php';
|
include '../../main.inc.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
|
|
||||||
$signature = GETPOST('signaturebase64');
|
$signature = GETPOST('signaturebase64');
|
||||||
$ref = GETPOST('ref', 'aZ09');
|
$ref = GETPOST('ref', 'aZ09');
|
||||||
$mode = GETPOST('mode', 'aZ09');
|
$mode = GETPOST('mode', 'aZ09'); // 'proposal', ...
|
||||||
$SECUREKEY = GETPOST("securekey"); // Secure key
|
$SECUREKEY = GETPOST("securekey"); // Secure key
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
@ -69,7 +70,7 @@ $type = $mode;
|
|||||||
// Check securitykey
|
// Check securitykey
|
||||||
$securekeyseed = '';
|
$securekeyseed = '';
|
||||||
if ($type == 'proposal') {
|
if ($type == 'proposal') {
|
||||||
$securekeyseed = isset($conf->global->PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN) ? $conf->global->PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN : '';
|
$securekeyseed = getDolGlobalString('PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($SECUREKEY) || !dol_verifyHash($securekeyseed.$type.$ref, $SECUREKEY, '0')) {
|
if (empty($SECUREKEY) || !dol_verifyHash($securekeyseed.$type.$ref, $SECUREKEY, '0')) {
|
||||||
@ -123,33 +124,64 @@ if ($action == "importSignature") {
|
|||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
// Defined modele of doc
|
// Defined modele of doc
|
||||||
$directdownloadlink = $object->getLastMainDocLink('proposal');
|
$last_main_doc_file = $object->last_main_doc;
|
||||||
|
$directdownloadlink = $object->getLastMainDocLink('proposal'); // url to download the $object->last_main_doc
|
||||||
|
|
||||||
if (preg_match('/\.pdf/i', $directdownloadlink)) {
|
if (preg_match('/\.pdf/i', $last_main_doc_file)) {
|
||||||
|
// TODO Use the $last_main_doc_file to defined the $newpdffilename and $sourcefile
|
||||||
$newpdffilename = $upload_dir.$ref."_signed-".$date.".pdf";
|
$newpdffilename = $upload_dir.$ref."_signed-".$date.".pdf";
|
||||||
$sourcefile = $upload_dir.$ref.".pdf";
|
$sourcefile = $upload_dir.$ref.".pdf";
|
||||||
|
|
||||||
if (dol_is_file($sourcefile)) {
|
if (dol_is_file($sourcefile)) {
|
||||||
|
// We build the new PDF
|
||||||
$pdf = pdf_getInstance();
|
$pdf = pdf_getInstance();
|
||||||
$pdf->Open();
|
if (class_exists('TCPDF')) {
|
||||||
$pdf->AddPage();
|
$pdf->setPrintHeader(false);
|
||||||
$pagecount = $pdf->setSourceFile($sourcefile); // original PDF
|
$pdf->setPrintFooter(false);
|
||||||
|
}
|
||||||
|
$pdf->SetFont(pdf_getPDFFont($langs));
|
||||||
|
|
||||||
for ($i=1; $i<($pagecount+1); $i++) {
|
if (getDolGlobalString('MAIN_DISABLE_PDF_COMPRESSION')) {
|
||||||
if ($i>1) $pdf->AddPage();
|
$pdf->SetCompression(false);
|
||||||
$tppl=$pdf->importPage($i);
|
|
||||||
$pdf->useTemplate($tppl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf->Image($upload_dir.$filename, 129, 239.6, 60, 15); // FIXME Position will be wrong with non A4 format. Use a value from width and height of page minus relative offset.
|
|
||||||
$pdf->Close();
|
//$pdf->Open();
|
||||||
|
$pagecount = $pdf->setSourceFile($sourcefile); // original PDF
|
||||||
|
|
||||||
|
$s = array(); // Array with size of each page. Exemple array(w'=>210, 'h'=>297);
|
||||||
|
for ($i=1; $i<($pagecount+1); $i++) {
|
||||||
|
try {
|
||||||
|
$tppl = $pdf->importPage($i);
|
||||||
|
$s = $pdf->getTemplatesize($tppl);
|
||||||
|
$pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
|
||||||
|
$pdf->useTemplate($tppl);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
dol_syslog("Error when manipulating some PDF by onlineSign: ".$e->getMessage(), LOG_ERR);
|
||||||
|
$response = $e->getMessage();
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// A signature image file is 720 x 180 (ratio 1/4) but we use only the size into PDF
|
||||||
|
// TODO Get position of box from PDF template
|
||||||
|
$xforimgstart = (empty($s['w']) ? 120 : round($s['w'] / 2) + 15);
|
||||||
|
$yforimgstart = (empty($s['h']) ? 240 : $s['h'] - 60);
|
||||||
|
$wforimg = $s['w'] - 20 - $xforimgstart;
|
||||||
|
|
||||||
|
$pdf->Image($upload_dir.$filename, $xforimgstart, $yforimgstart, $wforimg, round($wforimg / 4));
|
||||||
|
//$pdf->Close();
|
||||||
$pdf->Output($newpdffilename, "F");
|
$pdf->Output($newpdffilename, "F");
|
||||||
|
|
||||||
// Index the new file and update the last_main_doc property of object.
|
// Index the new file and update the last_main_doc property of object.
|
||||||
$object->indexFile($newpdffilename, 1);
|
$object->indexFile($newpdffilename, 1);
|
||||||
}
|
}
|
||||||
|
} elseif (preg_match('/\.odt/i', $last_main_doc_file)) {
|
||||||
|
// Adding signature on .ODT not yet supported
|
||||||
|
// TODO
|
||||||
} else {
|
} else {
|
||||||
// Adding signature on doc not yet supported
|
// Document format not supported to insert online signature.
|
||||||
|
// We should just create an image file with the signature.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -885,6 +885,30 @@ class CMailFile
|
|||||||
|
|
||||||
$storage = new DoliStorage($db, $conf);
|
$storage = new DoliStorage($db, $conf);
|
||||||
try {
|
try {
|
||||||
|
$tokenobj = $storage->retrieveAccessToken($OAUTH_SERVICENAME);
|
||||||
|
$expire = false;
|
||||||
|
// Is token expired or will token expire in the next 30 seconds
|
||||||
|
if (is_object($tokenobj)) {
|
||||||
|
$expire = ($tokenobj->getEndOfLife() !== -9002 && $tokenobj->getEndOfLife() !== -9001 && time() > ($tokenobj->getEndOfLife() - 30));
|
||||||
|
}
|
||||||
|
// Token expired so we refresh it
|
||||||
|
if (is_object($tokenobj) && $expire) {
|
||||||
|
$credentials = new Credentials(
|
||||||
|
getDolGlobalString('OAUTH_'.getDolGlobalString('MAIN_MAIL_SMTPS_OAUTH_SERVICE').'_ID'),
|
||||||
|
getDolGlobalString('OAUTH_'.getDolGlobalString('MAIN_MAIL_SMTPS_OAUTH_SERVICE').'_SECRET'),
|
||||||
|
getDolGlobalString('OAUTH_'.getDolGlobalString('MAIN_MAIL_SMTPS_OAUTH_SERVICE').'_URLAUTHORIZE')
|
||||||
|
);
|
||||||
|
$serviceFactory = new \OAuth\ServiceFactory();
|
||||||
|
$oauthname = explode('-', $OAUTH_SERVICENAME);
|
||||||
|
// ex service is Google-Emails we need only the first part Google
|
||||||
|
$apiService = $serviceFactory->createService($oauthname[0], $credentials, $storage, array());
|
||||||
|
// We have to save the token because Google give it only once
|
||||||
|
$refreshtoken = $tokenobj->getRefreshToken();
|
||||||
|
$tokenobj = $apiService->refreshAccessToken($tokenobj);
|
||||||
|
$tokenobj->setRefreshToken($refreshtoken);
|
||||||
|
$storage->storeAccessToken($OAUTH_SERVICENAME, $tokenobj);
|
||||||
|
}
|
||||||
|
|
||||||
$tokenobj = $storage->retrieveAccessToken($OAUTH_SERVICENAME);
|
$tokenobj = $storage->retrieveAccessToken($OAUTH_SERVICENAME);
|
||||||
if (is_object($tokenobj)) {
|
if (is_object($tokenobj)) {
|
||||||
$this->smtps->setToken($tokenobj->getAccessToken());
|
$this->smtps->setToken($tokenobj->getAccessToken());
|
||||||
@ -1001,7 +1025,7 @@ class CMailFile
|
|||||||
$oauthname = explode('-', $OAUTH_SERVICENAME);
|
$oauthname = explode('-', $OAUTH_SERVICENAME);
|
||||||
// ex service is Google-Emails we need only the first part Google
|
// ex service is Google-Emails we need only the first part Google
|
||||||
$apiService = $serviceFactory->createService($oauthname[0], $credentials, $storage, array());
|
$apiService = $serviceFactory->createService($oauthname[0], $credentials, $storage, array());
|
||||||
// il faut sauvegarder le refresh token car google ne le donne qu'une seule fois
|
// We have to save the token because Google give it only once
|
||||||
$refreshtoken = $tokenobj->getRefreshToken();
|
$refreshtoken = $tokenobj->getRefreshToken();
|
||||||
$tokenobj = $apiService->refreshAccessToken($tokenobj);
|
$tokenobj = $apiService->refreshAccessToken($tokenobj);
|
||||||
$tokenobj->setRefreshToken($refreshtoken);
|
$tokenobj->setRefreshToken($refreshtoken);
|
||||||
|
|||||||
@ -574,8 +574,13 @@ abstract class CommonInvoice extends CommonObject
|
|||||||
$labelStatus = $langs->transnoentitiesnoconv('BillStatusDraft');
|
$labelStatus = $langs->transnoentitiesnoconv('BillStatusDraft');
|
||||||
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusDraft');
|
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusDraft');
|
||||||
} elseif (($status == 3 || $status == 2) && $alreadypaid <= 0) {
|
} elseif (($status == 3 || $status == 2) && $alreadypaid <= 0) {
|
||||||
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedUnpaid');
|
if ($status == 3) {
|
||||||
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusClosedUnpaid');
|
$labelStatus = $langs->transnoentitiesnoconv('BillStatusCanceled');
|
||||||
|
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusCanceled');
|
||||||
|
} else {
|
||||||
|
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedUnpaid');
|
||||||
|
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusClosedUnpaid');
|
||||||
|
}
|
||||||
$statusType = 'status5';
|
$statusType = 'status5';
|
||||||
} elseif (($status == 3 || $status == 2) && $alreadypaid > 0) {
|
} elseif (($status == 3 || $status == 2) && $alreadypaid > 0) {
|
||||||
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedPaidPartially');
|
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedPaidPartially');
|
||||||
|
|||||||
@ -1043,7 +1043,8 @@ abstract class CommonObject
|
|||||||
// Add entry into index
|
// Add entry into index
|
||||||
if ($initsharekey) {
|
if ($initsharekey) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php';
|
||||||
// TODO We can't, we dont' have full path of file, only last_main_doc adn ->element, so we must rebuild full path first
|
|
||||||
|
// TODO We can't, we dont' have full path of file, only last_main_doc and ->element, so we must first rebuild full path $destfull
|
||||||
/*
|
/*
|
||||||
$ecmfile->filepath = $rel_dir;
|
$ecmfile->filepath = $rel_dir;
|
||||||
$ecmfile->filename = $filename;
|
$ecmfile->filename = $filename;
|
||||||
@ -4941,7 +4942,7 @@ abstract class CommonObject
|
|||||||
*
|
*
|
||||||
* @param string $action GET/POST action
|
* @param string $action GET/POST action
|
||||||
* @param CommonObjectLine $line Selected object line to output
|
* @param CommonObjectLine $line Selected object line to output
|
||||||
* @param string $var Is it a an odd line (true)
|
* @param string $var Not used
|
||||||
* @param int $num Number of line (0)
|
* @param int $num Number of line (0)
|
||||||
* @param int $i I
|
* @param int $i I
|
||||||
* @param int $dateSelector 1=Show also date range input fields
|
* @param int $dateSelector 1=Show also date range input fields
|
||||||
|
|||||||
@ -1018,7 +1018,9 @@ class Conf
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (empty($handler_file_found)) {
|
if (empty($handler_file_found)) {
|
||||||
throw new Exception('Missing log handler file '.$handler.'.php');
|
// If log handler has been removed of is badly setup, we must be able to continue code.
|
||||||
|
//throw new Exception('Missing log handler file '.$handler.'.php');
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once $handler_file_found;
|
require_once $handler_file_found;
|
||||||
|
|||||||
@ -233,21 +233,21 @@ class Form
|
|||||||
}
|
}
|
||||||
if (preg_match('/^(string|safehtmlstring|email)/', $typeofdata)) {
|
if (preg_match('/^(string|safehtmlstring|email)/', $typeofdata)) {
|
||||||
$tmp = explode(':', $typeofdata);
|
$tmp = explode(':', $typeofdata);
|
||||||
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($editvalue ? $editvalue : $value).'"'.($tmp[1] ? ' size="'.$tmp[1].'"' : '').' autofocus>';
|
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($editvalue ? $editvalue : $value).'"'.(empty($tmp[1]) ? '' : ' size="'.$tmp[1].'"').' autofocus>';
|
||||||
} elseif (preg_match('/^(integer)/', $typeofdata)) {
|
} elseif (preg_match('/^(integer)/', $typeofdata)) {
|
||||||
$tmp = explode(':', $typeofdata);
|
$tmp = explode(':', $typeofdata);
|
||||||
$valuetoshow = price2num($editvalue ? $editvalue : $value, 0);
|
$valuetoshow = price2num($editvalue ? $editvalue : $value, 0);
|
||||||
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.$valuetoshow.'"'.($tmp[1] ? ' size="'.$tmp[1].'"' : '').' autofocus>';
|
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.$valuetoshow.'"'.(empty($tmp[1]) ? '' : ' size="'.$tmp[1].'"').' autofocus>';
|
||||||
} elseif (preg_match('/^(numeric|amount)/', $typeofdata)) {
|
} elseif (preg_match('/^(numeric|amount)/', $typeofdata)) {
|
||||||
$tmp = explode(':', $typeofdata);
|
$tmp = explode(':', $typeofdata);
|
||||||
$valuetoshow = price2num($editvalue ? $editvalue : $value);
|
$valuetoshow = price2num($editvalue ? $editvalue : $value);
|
||||||
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($valuetoshow != '' ? price($valuetoshow) : '').'"'.($tmp[1] ? ' size="'.$tmp[1].'"' : '').' autofocus>';
|
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($valuetoshow != '' ? price($valuetoshow) : '').'"'.(empty($tmp[1]) ? '' : ' size="'.$tmp[1].'"').' autofocus>';
|
||||||
} elseif (preg_match('/^(checkbox)/', $typeofdata)) {
|
} elseif (preg_match('/^(checkbox)/', $typeofdata)) {
|
||||||
$tmp = explode(':', $typeofdata);
|
$tmp = explode(':', $typeofdata);
|
||||||
$ret .= '<input type="checkbox" id="' . $htmlname . '" name="' . $htmlname . '" value="' . $value . '"' . ($tmp[1] ? $tmp[1] : '') . '/>';
|
$ret .= '<input type="checkbox" id="' . $htmlname . '" name="' . $htmlname . '" value="' . $value . '"' . (empty($tmp[1]) ? '' : $tmp[1]) . '/>';
|
||||||
} elseif (preg_match('/^text/', $typeofdata) || preg_match('/^note/', $typeofdata)) { // if wysiwyg is enabled $typeofdata = 'ckeditor'
|
} elseif (preg_match('/^text/', $typeofdata) || preg_match('/^note/', $typeofdata)) { // if wysiwyg is enabled $typeofdata = 'ckeditor'
|
||||||
$tmp = explode(':', $typeofdata);
|
$tmp = explode(':', $typeofdata);
|
||||||
$cols = $tmp[2];
|
$cols = (empty($tmp[2]) ? '' : $tmp[2]);
|
||||||
$morealt = '';
|
$morealt = '';
|
||||||
if (preg_match('/%/', $cols)) {
|
if (preg_match('/%/', $cols)) {
|
||||||
$morealt = ' style="width: '.$cols.'"';
|
$morealt = ' style="width: '.$cols.'"';
|
||||||
@ -255,7 +255,7 @@ class Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
$valuetoshow = ($editvalue ? $editvalue : $value);
|
$valuetoshow = ($editvalue ? $editvalue : $value);
|
||||||
$ret .= '<textarea id="'.$htmlname.'" name="'.$htmlname.'" wrap="soft" rows="'.($tmp[1] ? $tmp[1] : '20').'"'.($cols ? ' cols="'.$cols.'"' : 'class="quatrevingtpercent"').$morealt.'" autofocus>';
|
$ret .= '<textarea id="'.$htmlname.'" name="'.$htmlname.'" wrap="soft" rows="'.(empty($tmp[1]) ? '20' : $tmp[1]).'"'.($cols ? ' cols="'.$cols.'"' : 'class="quatrevingtpercent"').$morealt.'" autofocus>';
|
||||||
// textarea convert automatically entities chars into simple chars.
|
// textarea convert automatically entities chars into simple chars.
|
||||||
// So we convert & into & so a string like 'a < <b>b</b><br>é<br><script>alert('X');<script>' stay a correct html and is not converted by textarea component when wysiwig is off.
|
// So we convert & into & so a string like 'a < <b>b</b><br>é<br><script>alert('X');<script>' stay a correct html and is not converted by textarea component when wysiwig is off.
|
||||||
$valuetoshow = str_replace('&', '&', $valuetoshow);
|
$valuetoshow = str_replace('&', '&', $valuetoshow);
|
||||||
@ -277,7 +277,7 @@ class Form
|
|||||||
} elseif (preg_match('/^ckeditor/', $typeofdata)) {
|
} elseif (preg_match('/^ckeditor/', $typeofdata)) {
|
||||||
$tmp = explode(':', $typeofdata); // Example: ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols:uselocalbrowser
|
$tmp = explode(':', $typeofdata); // Example: ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols:uselocalbrowser
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor($htmlname, ($editvalue ? $editvalue : $value), ($tmp[2] ? $tmp[2] : ''), ($tmp[3] ? $tmp[3] : '100'), ($tmp[1] ? $tmp[1] : 'dolibarr_notes'), 'In', ($tmp[5] ? $tmp[5] : 0), (isset($tmp[8]) ? ($tmp[8] ?true:false) : true), true, ($tmp[6] ? $tmp[6] : '20'), ($tmp[7] ? $tmp[7] : '100'));
|
$doleditor = new DolEditor($htmlname, ($editvalue ? $editvalue : $value), (empty($tmp[2]) ? '' : $tmp[2]), (empty($tmp[3]) ? '100' : $tmp[3]), (empty($tmp[1]) ? 'dolibarr_notes' : $tmp[1]), 'In', (empty($tmp[5]) ? 0 : $tmp[5]), (isset($tmp[8]) ? ($tmp[8] ? true : false) : true), true, (empty($tmp[6]) ? '20' : $tmp[6]), (empty($tmp[7]) ? '100' : $tmp[7]));
|
||||||
$ret .= $doleditor->Create(1);
|
$ret .= $doleditor->Create(1);
|
||||||
}
|
}
|
||||||
if (empty($notabletag)) {
|
if (empty($notabletag)) {
|
||||||
@ -5034,7 +5034,7 @@ class Form
|
|||||||
$more .= '<div clas="tagtd'.(empty($input['tdclass']) ? '' : (' "'.$input['tdclass'])).'"> </div>';
|
$more .= '<div clas="tagtd'.(empty($input['tdclass']) ? '' : (' "'.$input['tdclass'])).'"> </div>';
|
||||||
}
|
}
|
||||||
$more .= '<div class="tagtd'.($i == 0 ? ' tdtop' : '').'"><input type="radio" class="flat'.$morecss.'" id="'.dol_escape_htmltag($input['name'].$selkey).'" name="'.dol_escape_htmltag($input['name']).'" value="'.$selkey.'"'.$moreattr;
|
$more .= '<div class="tagtd'.($i == 0 ? ' tdtop' : '').'"><input type="radio" class="flat'.$morecss.'" id="'.dol_escape_htmltag($input['name'].$selkey).'" name="'.dol_escape_htmltag($input['name']).'" value="'.$selkey.'"'.$moreattr;
|
||||||
if ($input['disabled']) {
|
if (!empty($input['disabled'])) {
|
||||||
$more .= ' disabled';
|
$more .= ' disabled';
|
||||||
}
|
}
|
||||||
if (isset($input['default']) && $input['default'] === $selkey) {
|
if (isset($input['default']) && $input['default'] === $selkey) {
|
||||||
|
|||||||
@ -1806,7 +1806,7 @@ class FormFile
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$found > 0 || !is_object($this->cache_objects[$modulepart.'_'.$id.'_'.$ref])) {
|
if ($found <= 0 || !is_object($this->cache_objects[$modulepart.'_'.$id.'_'.$ref])) {
|
||||||
continue; // We do not show orphelins files
|
continue; // We do not show orphelins files
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -93,19 +93,19 @@ $object = null;
|
|||||||
$ObjectClassName = '';
|
$ObjectClassName = '';
|
||||||
// Objects available by default
|
// Objects available by default
|
||||||
$arrayoftype = array(
|
$arrayoftype = array(
|
||||||
'thirdparty' => array('label' => 'ThirdParties', 'ObjectClassName' => 'Societe', 'enabled' => $conf->societe->enabled, 'ClassPath' => "/societe/class/societe.class.php"),
|
'thirdparty' => array('label' => 'ThirdParties', 'ObjectClassName' => 'Societe', 'enabled' => isModEnabled('societe'), 'ClassPath' => "/societe/class/societe.class.php"),
|
||||||
'contact' => array('label' => 'Contacts', 'ObjectClassName' => 'Contact', 'enabled' => $conf->societe->enabled, 'ClassPath' => "/contact/class/contact.class.php"),
|
'contact' => array('label' => 'Contacts', 'ObjectClassName' => 'Contact', 'enabled' => isModEnabled('societ'), 'ClassPath' => "/contact/class/contact.class.php"),
|
||||||
'proposal' => array('label' => 'Proposals', 'ObjectClassName' => 'Propal', 'enabled' => $conf->propal->enabled, 'ClassPath' => "/comm/propal/class/propal.class.php"),
|
'proposal' => array('label' => 'Proposals', 'ObjectClassName' => 'Propal', 'enabled' => isModEnabled('propal'), 'ClassPath' => "/comm/propal/class/propal.class.php"),
|
||||||
'order' => array('label' => 'Orders', 'ObjectClassName' => 'Commande', 'enabled' => $conf->commande->enabled, 'ClassPath' => "/commande/class/commande.class.php"),
|
'order' => array('label' => 'Orders', 'ObjectClassName' => 'Commande', 'enabled' => isModEnabled('commande'), 'ClassPath' => "/commande/class/commande.class.php"),
|
||||||
'invoice' => array('label' => 'Invoices', 'ObjectClassName' => 'Facture', 'enabled' => $conf->facture->enabled, 'ClassPath' => "/compta/facture/class/facture.class.php"),
|
'invoice' => array('label' => 'Invoices', 'ObjectClassName' => 'Facture', 'enabled' => isModEnabled('facture'), 'ClassPath' => "/compta/facture/class/facture.class.php"),
|
||||||
'invoice_template'=>array('label' => 'PredefinedInvoices', 'ObjectClassName' => 'FactureRec', 'enabled' => $conf->facture->enabled, 'ClassPath' => "/compta/class/facturerec.class.php", 'langs'=>'bills'),
|
'invoice_template'=>array('label' => 'PredefinedInvoices', 'ObjectClassName' => 'FactureRec', 'enabled' => isModEnabled('facture'), 'ClassPath' => "/compta/class/facturerec.class.php", 'langs'=>'bills'),
|
||||||
'contract' => array('label' => 'Contracts', 'ObjectClassName' => 'Contrat', 'enabled' => $conf->contrat->enabled, 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'),
|
'contract' => array('label' => 'Contracts', 'ObjectClassName' => 'Contrat', 'enabled' => isModEnabled('contrat'), 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'),
|
||||||
'contractdet' => array('label' => 'ContractLines', 'ObjectClassName' => 'ContratLigne', 'enabled' => $conf->contrat->enabled, 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'),
|
'contractdet' => array('label' => 'ContractLines', 'ObjectClassName' => 'ContratLigne', 'enabled' => isModEnabled('contrat'), 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'),
|
||||||
'bom' => array('label' => 'BOM', 'ObjectClassName' => 'Bom', 'enabled' => $conf->bom->enabled),
|
'bom' => array('label' => 'BOM', 'ObjectClassName' => 'Bom', 'enabled' => isModEnabled('bom')),
|
||||||
'mo' => array('label' => 'MO', 'ObjectClassName' => 'Mo', 'enabled' => $conf->mrp->enabled, 'ClassPath' => "/mrp/class/mo.class.php"),
|
'mo' => array('label' => 'MO', 'ObjectClassName' => 'Mo', 'enabled' => isModEnabled('mrp'), 'ClassPath' => "/mrp/class/mo.class.php"),
|
||||||
'ticket' => array('label' => 'Ticket', 'ObjectClassName' => 'Ticket', 'enabled' => $conf->ticket->enabled),
|
'ticket' => array('label' => 'Ticket', 'ObjectClassName' => 'Ticket', 'enabled' => isModEnabled('ticket')),
|
||||||
'member' => array('label' => 'Adherent', 'ObjectClassName' => 'Adherent', 'enabled' => $conf->adherent->enabled, 'ClassPath' => "/adherents/class/adherent.class.php", 'langs'=>'members'),
|
'member' => array('label' => 'Adherent', 'ObjectClassName' => 'Adherent', 'enabled' => isModEnabled('adherent'), 'ClassPath' => "/adherents/class/adherent.class.php", 'langs'=>'members'),
|
||||||
'cotisation' => array('label' => 'Subscriptions', 'ObjectClassName' => 'Subscription', 'enabled' => $conf->adherent->enabled, 'ClassPath' => "/adherents/class/subscription.class.php", 'langs'=>'members'),
|
'cotisation' => array('label' => 'Subscriptions', 'ObjectClassName' => 'Subscription', 'enabled' => isModEnabled('adherent'), 'ClassPath' => "/adherents/class/subscription.class.php", 'langs'=>'members'),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Complete $arrayoftype by external modules
|
// Complete $arrayoftype by external modules
|
||||||
|
|||||||
@ -207,7 +207,7 @@ function dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforend
|
|||||||
*/
|
*/
|
||||||
function convertTime2Seconds($iHours = 0, $iMinutes = 0, $iSeconds = 0)
|
function convertTime2Seconds($iHours = 0, $iMinutes = 0, $iSeconds = 0)
|
||||||
{
|
{
|
||||||
$iResult = ($iHours * 3600) + ($iMinutes * 60) + $iSeconds;
|
$iResult = ((int) $iHours * 3600) + ((int) $iMinutes * 60) + (int) $iSeconds;
|
||||||
return $iResult;
|
return $iResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,6 +243,7 @@ function convertSecondToTime($iSecond, $format = 'all', $lengthOfDay = 86400, $l
|
|||||||
if (empty($lengthOfWeek)) {
|
if (empty($lengthOfWeek)) {
|
||||||
$lengthOfWeek = 7; // 1 week = 7 days
|
$lengthOfWeek = 7; // 1 week = 7 days
|
||||||
}
|
}
|
||||||
|
$nbHbyDay = $lengthOfDay / 3600;
|
||||||
|
|
||||||
if ($format == 'all' || $format == 'allwithouthour' || $format == 'allhour' || $format == 'allhourmin' || $format == 'allhourminsec') {
|
if ($format == 'all' || $format == 'allwithouthour' || $format == 'allhour' || $format == 'allhourmin' || $format == 'allhourminsec') {
|
||||||
if ((int) $iSecond === 0) {
|
if ((int) $iSecond === 0) {
|
||||||
@ -290,11 +291,11 @@ function convertSecondToTime($iSecond, $format = 'all', $lengthOfDay = 86400, $l
|
|||||||
$sTime .= dol_print_date($iSecond, 'hourduration', true);
|
$sTime .= dol_print_date($iSecond, 'hourduration', true);
|
||||||
}
|
}
|
||||||
} elseif ($format == 'allhourminsec') {
|
} elseif ($format == 'allhourminsec') {
|
||||||
return sprintf("%02d", ($sWeek * $lengthOfWeek * 24 + $sDay * 24 + (int) floor($iSecond / 3600))).':'.sprintf("%02d", ((int) floor(($iSecond % 3600) / 60))).':'.sprintf("%02d", ((int) ($iSecond % 60)));
|
return sprintf("%02d", ($sWeek * $lengthOfWeek * $nbHbyDay + $sDay * $nbHbyDay + (int) floor($iSecond/3600))).':'.sprintf("%02d", ((int) floor(($iSecond % 3600) / 60))).':'.sprintf("%02d", ((int) ($iSecond % 60)));
|
||||||
} elseif ($format == 'allhourmin') {
|
} elseif ($format == 'allhourmin') {
|
||||||
return sprintf("%02d", ($sWeek * $lengthOfWeek * 24 + $sDay * 24 + (int) floor($iSecond / 3600))).':'.sprintf("%02d", ((int) floor(($iSecond % 3600) / 60)));
|
return sprintf("%02d", ($sWeek * $lengthOfWeek * $nbHbyDay + $sDay * $nbHbyDay + (int) floor($iSecond/3600))).':'.sprintf("%02d", ((int) floor(($iSecond % 3600)/60)));
|
||||||
} elseif ($format == 'allhour') {
|
} elseif ($format == 'allhour') {
|
||||||
return sprintf("%02d", ($sWeek * $lengthOfWeek * 24 + $sDay * 24 + (int) floor($iSecond / 3600)));
|
return sprintf("%02d", ($sWeek * $lengthOfWeek * $nbHbyDay + $sDay * $nbHbyDay + (int) floor($iSecond/3600)));
|
||||||
}
|
}
|
||||||
} elseif ($format == 'hour') { // only hour part
|
} elseif ($format == 'hour') { // only hour part
|
||||||
$sTime = dol_print_date($iSecond, '%H', true);
|
$sTime = dol_print_date($iSecond, '%H', true);
|
||||||
@ -899,6 +900,15 @@ function num_public_holiday($timestampStart, $timestampEnd, $country_code = '',
|
|||||||
}
|
}
|
||||||
// Fronleichnam
|
// Fronleichnam
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_array('genevafast', $specialdayrule)) {
|
||||||
|
// Geneva fast in Switzerland (Thursday after the first sunday in September)
|
||||||
|
$date_1sunsept = strtotime('next thursday', strtotime('next sunday', mktime(0, 0, 0, 9, 1, $annee)));
|
||||||
|
$jour_1sunsept = date("d", $date_1sunsept);
|
||||||
|
$mois_1sunsept = date("m", $date_1sunsept);
|
||||||
|
if ($jour_1sunsept == $jour && $mois_1sunsept == $mois) $ferie=true;
|
||||||
|
// Geneva fast in Switzerland
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//print "ferie=".$ferie."\n";
|
//print "ferie=".$ferie."\n";
|
||||||
|
|
||||||
|
|||||||
@ -233,19 +233,20 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
if ($filetowrite) {
|
if ($filetowrite) {
|
||||||
$imgfonction = '';
|
$imgfonction = '';
|
||||||
switch ($newExt) {
|
switch ($newExt) {
|
||||||
case 'gif': // IMG_GIF
|
case 'gif': // IMG_GIF
|
||||||
$imgfonction = 'imagecreatefromgif';
|
$imgfonction = 'imagecreatefromgif';
|
||||||
break;
|
break;
|
||||||
case 'jpg': // IMG_JPG
|
case 'jpg': // IMG_JPG
|
||||||
|
case 'jpeg': // IMG_JPEG
|
||||||
$imgfonction = 'imagecreatefromjpeg';
|
$imgfonction = 'imagecreatefromjpeg';
|
||||||
break;
|
break;
|
||||||
case 'png': // IMG_PNG
|
case 'png': // IMG_PNG
|
||||||
$imgfonction = 'imagecreatefrompng';
|
$imgfonction = 'imagecreatefrompng';
|
||||||
break;
|
break;
|
||||||
case 'bmp': // IMG_WBMP
|
case 'bmp': // IMG_WBMP
|
||||||
$imgfonction = 'imagecreatefromwbmp';
|
$imgfonction = 'imagecreatefromwbmp';
|
||||||
break;
|
break;
|
||||||
case 'webp': // IMG_WEBP
|
case 'webp': // IMG_WEBP
|
||||||
$imgfonction = 'imagecreatefromwebp';
|
$imgfonction = 'imagecreatefromwebp';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -300,12 +301,14 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set transparent color according to image extension
|
// Set transparent color according to image extension
|
||||||
|
$trans_colour = -1; // By default, undefined
|
||||||
switch ($newExt) {
|
switch ($newExt) {
|
||||||
case 'gif': // Gif
|
case 'gif': // Gif
|
||||||
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
|
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
|
||||||
imagecolortransparent($imgTarget, $trans_colour);
|
imagecolortransparent($imgTarget, $trans_colour);
|
||||||
break;
|
break;
|
||||||
case 'jpg': // Jpg
|
case 'jpg': // Jpg
|
||||||
|
case 'jpeg': // Jpeg
|
||||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
||||||
break;
|
break;
|
||||||
case 'png': // Png
|
case 'png': // Png
|
||||||
@ -319,11 +322,11 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127);
|
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (function_exists("imagefill")) {
|
if (function_exists("imagefill") && $trans_colour > 0) {
|
||||||
imagefill($imgTarget, 0, 0, $trans_colour);
|
imagefill($imgTarget, 0, 0, $trans_colour);
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_syslog("dol_imageResizeOrCrop: convert image from ($imgWidth x $imgHeight) at position ($src_x x $src_y) to ($newWidth x $newHeight) as $extImg");
|
dol_syslog("dol_imageResizeOrCrop: convert image from ($imgWidth x $imgHeight) at position ($src_x x $src_y) to ($newWidth x $newHeight) as a $extImg");
|
||||||
//imagecopyresized($imgTarget, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insere l'image de base redimensionnee
|
//imagecopyresized($imgTarget, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insere l'image de base redimensionnee
|
||||||
imagecopyresampled($imgTarget, $img, 0, 0, $src_x, $src_y, $newWidth, $newHeight, ($mode == 0 ? $imgWidth : $newWidth), ($mode == 0 ? $imgHeight : $newHeight)); // Insere l'image de base redimensionnee
|
imagecopyresampled($imgTarget, $img, 0, 0, $src_x, $src_y, $newWidth, $newHeight, ($mode == 0 ? $imgWidth : $newWidth), ($mode == 0 ? $imgHeight : $newHeight)); // Insere l'image de base redimensionnee
|
||||||
|
|
||||||
@ -338,6 +341,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
imagegif($imgTarget, $imgTargetName);
|
imagegif($imgTarget, $imgTargetName);
|
||||||
break;
|
break;
|
||||||
case 'jpg': // Jpg
|
case 'jpg': // Jpg
|
||||||
|
case 'jpeg': // Jpeg
|
||||||
$newquality = ($newquality ? $newquality : '100'); // % quality maximum
|
$newquality = ($newquality ? $newquality : '100'); // % quality maximum
|
||||||
imagejpeg($imgTarget, $imgTargetName, $newquality);
|
imagejpeg($imgTarget, $imgTargetName, $newquality);
|
||||||
break;
|
break;
|
||||||
@ -353,6 +357,8 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
$newquality = ($newquality ? $newquality : '100'); // % quality maximum
|
$newquality = ($newquality ? $newquality : '100'); // % quality maximum
|
||||||
imagewebp($imgTarget, $imgTargetName, $newquality);
|
imagewebp($imgTarget, $imgTargetName, $newquality);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
dol_syslog("images.lib.php::imageResizeOrCrop() Format ".$newExt." is not supported", LOG_WARNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set permissions on file
|
// Set permissions on file
|
||||||
|
|||||||
@ -82,7 +82,8 @@ class mod_expensereport_sand extends ModeleNumRefExpenseReport
|
|||||||
|
|
||||||
// Parametrage du prefix
|
// Parametrage du prefix
|
||||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.$conf->global->EXPENSEREPORT_SAND_MASK.'">', $tooltip, 1, 1).'</td>';
|
$mask = empty($conf->global->EXPENSEREPORT_SAND_MASK) ? '' : $conf->global->EXPENSEREPORT_SAND_MASK;
|
||||||
|
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||||
|
|
||||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||||
|
|
||||||
@ -128,7 +129,7 @@ class mod_expensereport_sand extends ModeleNumRefExpenseReport
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
|
|
||||||
// We get cursor rule
|
// We get cursor rule
|
||||||
$mask = $conf->global->EXPENSEREPORT_SAND_MASK;
|
$mask = empty($conf->global->EXPENSEREPORT_SAND_MASK) ? '' : $conf->global->EXPENSEREPORT_SAND_MASK;
|
||||||
|
|
||||||
if (!$mask) {
|
if (!$mask) {
|
||||||
$this->error = 'NotConfigured';
|
$this->error = 'NotConfigured';
|
||||||
|
|||||||
@ -56,7 +56,7 @@ class modEventOrganization extends DolibarrModules
|
|||||||
$this->description = "EventOrganizationDescription";
|
$this->description = "EventOrganizationDescription";
|
||||||
$this->descriptionlong = "EventOrganizationDescriptionLong";
|
$this->descriptionlong = "EventOrganizationDescriptionLong";
|
||||||
|
|
||||||
$this->version = 'experimental';
|
$this->version = 'dolibarr';
|
||||||
|
|
||||||
|
|
||||||
// Key used in llx_const table to save module status enabled/disabled (where EVENTORGANIZATION is value of property name of module in uppercase)
|
// Key used in llx_const table to save module status enabled/disabled (where EVENTORGANIZATION is value of property name of module in uppercase)
|
||||||
|
|||||||
@ -85,7 +85,8 @@ class mod_propale_saphir extends ModeleNumRefPropales
|
|||||||
|
|
||||||
// Parametrage du prefix
|
// Parametrage du prefix
|
||||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskpropal" value="'.$conf->global->PROPALE_SAPHIR_MASK.'">', $tooltip, 1, 1).'</td>';
|
$mask = empty($conf->global->PROPALE_SAPHIR_MASK) ? '' : $conf->global->PROPALE_SAPHIR_MASK;
|
||||||
|
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskpropal" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||||
|
|
||||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||||
|
|
||||||
@ -134,7 +135,7 @@ class mod_propale_saphir extends ModeleNumRefPropales
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
|
|
||||||
// On defini critere recherche compteur
|
// On defini critere recherche compteur
|
||||||
$mask = $conf->global->PROPALE_SAPHIR_MASK;
|
$mask = empty($conf->global->PROPALE_SAPHIR_MASK) ? '' : $conf->global->PROPALE_SAPHIR_MASK;
|
||||||
|
|
||||||
if (!$mask) {
|
if (!$mask) {
|
||||||
$this->error = 'NotConfigured';
|
$this->error = 'NotConfigured';
|
||||||
|
|||||||
@ -123,7 +123,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup
|
|||||||
$texte .= '<input type="hidden" name="page_y" value="">';
|
$texte .= '<input type="hidden" name="page_y" value="">';
|
||||||
$texte .= '<input type="hidden" name="action" value="setModuleOptions">';
|
$texte .= '<input type="hidden" name="action" value="setModuleOptions">';
|
||||||
$texte .= '<input type="hidden" name="param1" value="USERGROUP_ADDON_PDF_ODT_PATH">';
|
$texte .= '<input type="hidden" name="param1" value="USERGROUP_ADDON_PDF_ODT_PATH">';
|
||||||
if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0) {
|
if (!empty($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT)) {
|
||||||
$texte .= '<input type="hidden" name="param2" value="USERGROUP_ADDON_PDF_ODT_DEFAULT">';
|
$texte .= '<input type="hidden" name="param2" value="USERGROUP_ADDON_PDF_ODT_DEFAULT">';
|
||||||
$texte .= '<input type="hidden" name="param3" value="USERGROUP_ADDON_PDF_ODT_TOBILL">';
|
$texte .= '<input type="hidden" name="param3" value="USERGROUP_ADDON_PDF_ODT_TOBILL">';
|
||||||
$texte .= '<input type="hidden" name="param4" value="USERGROUP_ADDON_PDF_ODT_CLOSED">';
|
$texte .= '<input type="hidden" name="param4" value="USERGROUP_ADDON_PDF_ODT_CLOSED">';
|
||||||
@ -169,7 +169,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup
|
|||||||
if (count($listofdir)) {
|
if (count($listofdir)) {
|
||||||
$texte .= $langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
|
$texte .= $langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
|
||||||
|
|
||||||
if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0) {
|
if (!empty($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT)) {
|
||||||
// Model for creation
|
// Model for creation
|
||||||
$list = ModelePDFUserGroup::liste_modeles($this->db);
|
$list = ModelePDFUserGroup::liste_modeles($this->db);
|
||||||
$texte .= '<table width="50%;">';
|
$texte .= '<table width="50%;">';
|
||||||
|
|||||||
@ -56,13 +56,13 @@ if ($modulepart == 'produit' || $modulepart == 'product' || $modulepart == 'serv
|
|||||||
$accessallowed = 1;
|
$accessallowed = 1;
|
||||||
} elseif ($modulepart == 'project') {
|
} elseif ($modulepart == 'project') {
|
||||||
$result = restrictedArea($user, 'projet', $id);
|
$result = restrictedArea($user, 'projet', $id);
|
||||||
if (!$user->rights->projet->lire) {
|
if (empty($user->rights->projet->lire)) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
$accessallowed = 1;
|
$accessallowed = 1;
|
||||||
} elseif ($modulepart == 'bom') {
|
} elseif ($modulepart == 'bom') {
|
||||||
$result = restrictedArea($user, $modulepart, $id, 'bom_bom');
|
$result = restrictedArea($user, $modulepart, $id, 'bom_bom');
|
||||||
if (!$user->rights->bom->read) {
|
if (empty($user->rights->bom->read)) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
$accessallowed = 1;
|
$accessallowed = 1;
|
||||||
@ -73,14 +73,14 @@ if ($modulepart == 'produit' || $modulepart == 'product' || $modulepart == 'serv
|
|||||||
}
|
}
|
||||||
$accessallowed = 1;
|
$accessallowed = 1;
|
||||||
} elseif ($modulepart == 'user') {
|
} elseif ($modulepart == 'user') {
|
||||||
$result = restrictedArea($user, $modulepart, $id, $modulepart);
|
$result = restrictedArea($user, $modulepart, $id, $modulepart, $modulepart);
|
||||||
if (!$user->rights->user->user->lire) {
|
if (empty($user->rights->user->user->lire)) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
$accessallowed = 1;
|
$accessallowed = 1;
|
||||||
} elseif ($modulepart == 'tax') {
|
} elseif ($modulepart == 'tax') {
|
||||||
$result = restrictedArea($user, $modulepart, $id, 'chargesociales', 'charges');
|
$result = restrictedArea($user, $modulepart, $id, 'chargesociales', 'charges');
|
||||||
if (!$user->rights->tax->charges->lire) {
|
if (empty($user->rights->tax->charges->lire)) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
$accessallowed = 1;
|
$accessallowed = 1;
|
||||||
|
|||||||
@ -48,6 +48,7 @@ if (!isset($dateSelector)) {
|
|||||||
global $dateSelector; // Take global var only if not already defined into function calling (for example formAddObjectLine)
|
global $dateSelector; // Take global var only if not already defined into function calling (for example formAddObjectLine)
|
||||||
}
|
}
|
||||||
global $forceall, $forcetoshowtitlelines, $senderissupplier, $inputalsopricewithtax;
|
global $forceall, $forcetoshowtitlelines, $senderissupplier, $inputalsopricewithtax;
|
||||||
|
|
||||||
if (!isset($dateSelector)) {
|
if (!isset($dateSelector)) {
|
||||||
$dateSelector = 1; // For backward compatibility
|
$dateSelector = 1; // For backward compatibility
|
||||||
} elseif (empty($dateSelector)) {
|
} elseif (empty($dateSelector)) {
|
||||||
@ -734,7 +735,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
|||||||
$.post('<?php echo DOL_URL_ROOT; ?>/product/ajax/products.php?action=fetch',
|
$.post('<?php echo DOL_URL_ROOT; ?>/product/ajax/products.php?action=fetch',
|
||||||
{ 'id': $(this).val(), 'socid': <?php print $object->socid; ?> },
|
{ 'id': $(this).val(), 'socid': <?php print $object->socid; ?> },
|
||||||
function(data) {
|
function(data) {
|
||||||
console.log("Load unit price end, we got value "+data.price_ht);
|
console.log("Load unit price end, we got value ht="+data.price_ht+" ttc="+data.price_ttc+" pricebasetype="+data.pricebasetype);
|
||||||
|
|
||||||
$('#date_start').removeAttr('type');
|
$('#date_start').removeAttr('type');
|
||||||
$('#date_end').removeAttr('type');
|
$('#date_end').removeAttr('type');
|
||||||
@ -755,7 +756,11 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
|||||||
jQuery('#date_end').removeClass('inputmandatory');
|
jQuery('#date_end').removeClass('inputmandatory');
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery("#price_ht").val(data.price_ht);
|
if (<?php echo (int) $inputalsopricewithtax; ?> == 1 && data.pricebasetype == 'TTC') {
|
||||||
|
jQuery("#price_ttc").val(data.price_ttc);
|
||||||
|
} else {
|
||||||
|
jQuery("#price_ht").val(data.price_ht);
|
||||||
|
}
|
||||||
<?php
|
<?php
|
||||||
if (!empty($conf->global->PRODUIT_AUTOFILL_DESC) && $conf->global->PRODUIT_AUTOFILL_DESC == 1) {
|
if (!empty($conf->global->PRODUIT_AUTOFILL_DESC) && $conf->global->PRODUIT_AUTOFILL_DESC == 1) {
|
||||||
if (!empty($conf->global->MAIN_MULTILANGS) && !empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { ?>
|
if (!empty($conf->global->MAIN_MULTILANGS) && !empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { ?>
|
||||||
|
|||||||
@ -280,17 +280,17 @@ print vatrate($positiverates.($line->vat_src_code ? ' ('.$line->vat_src_code.')'
|
|||||||
//print vatrate($line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), '%', $line->info_bits);
|
//print vatrate($line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), '%', $line->info_bits);
|
||||||
?></td>
|
?></td>
|
||||||
|
|
||||||
<td class="linecoluht nowrap right"><?php $coldisplay++; ?><?php print price($sign * $line->subprice); ?></td>
|
<td class="linecoluht nowraponall right"><?php $coldisplay++; ?><?php print price($sign * $line->subprice); ?></td>
|
||||||
|
|
||||||
<?php if (!empty($conf->multicurrency->enabled) && $this->multicurrency_code != $conf->currency) { ?>
|
<?php if (!empty($conf->multicurrency->enabled) && $this->multicurrency_code != $conf->currency) { ?>
|
||||||
<td class="linecoluht_currency nowrap right"><?php $coldisplay++; ?><?php print price($sign * $line->multicurrency_subprice); ?></td>
|
<td class="linecoluht_currency nowraponall right"><?php $coldisplay++; ?><?php print price($sign * $line->multicurrency_subprice); ?></td>
|
||||||
<?php }
|
<?php }
|
||||||
|
|
||||||
if ($inputalsopricewithtax) { ?>
|
if ($inputalsopricewithtax) { ?>
|
||||||
<td class="linecoluttc nowrap right"><?php $coldisplay++; ?><?php print (isset($line->pu_ttc) ? price($sign * $line->pu_ttc) : price($sign * $line->subprice)); ?></td>
|
<td class="linecoluttc nowraponall right"><?php $coldisplay++; ?><?php print (isset($line->pu_ttc) ? price($sign * $line->pu_ttc) : price($sign * $line->subprice)); ?></td>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<td class="linecolqty nowrap right"><?php $coldisplay++; ?>
|
<td class="linecolqty nowraponall right"><?php $coldisplay++; ?>
|
||||||
<?php
|
<?php
|
||||||
if ((($line->info_bits & 2) != 2) && $line->special_code != 3) {
|
if ((($line->info_bits & 2) != 2) && $line->special_code != 3) {
|
||||||
// I comment this because it shows info even when not required
|
// I comment this because it shows info even when not required
|
||||||
|
|||||||
@ -63,7 +63,7 @@ if ($action == 'setvalue' && $user->admin) {
|
|||||||
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
|
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
|
||||||
$sub = "DATAPOLICIESREFUSE_".$l;
|
$sub = "DATAPOLICIESREFUSE_".$l;
|
||||||
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
|
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
|
|||||||
@ -120,7 +120,7 @@ if ($user->socid > 0) {
|
|||||||
|
|
||||||
// For some module part, dir may be privates
|
// For some module part, dir may be privates
|
||||||
if (in_array($modulepart, array('facture_paiement', 'unpaid'))) {
|
if (in_array($modulepart, array('facture_paiement', 'unpaid'))) {
|
||||||
if (empty($user->hasRight('societe', 'client', 'voir')) || $socid) {
|
if (!$user->hasRight('societe', 'client', 'voir') || $socid) {
|
||||||
$original_file = 'private/'.$user->id.'/'.$original_file; // If user has no permission to see all, output dir is specific to user
|
$original_file = 'private/'.$user->id.'/'.$original_file; // If user has no permission to see all, output dir is specific to user
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -111,7 +111,7 @@ if ($action == 'add_payment') {
|
|||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $payment->addPaymentToBank($user, 'payment_donation', '(DonationPayment)', GETPOST('accountid', 'int'), '', '');
|
$result = $payment->addPaymentToBank($user, 'payment_donation', '(DonationPayment)', GETPOST('accountid', 'int'), '', '');
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
$errmsg = $payment->error;
|
$errmsg = $payment->error;
|
||||||
setEventMessages($errmsg, null, 'errors');
|
setEventMessages($errmsg, null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
|
|||||||
@ -85,7 +85,7 @@ if (!$sortfield) {
|
|||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
if (!empty($section)) {
|
if (!empty($section)) {
|
||||||
$result = $ecmdir->fetch($section);
|
$result = $ecmdir->fetch($section);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,7 +76,7 @@ if (!$urlfile) {
|
|||||||
// Load ecm object
|
// Load ecm object
|
||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
$result = $ecmdir->fetch(GETPOST("section", 'alpha'));
|
$result = $ecmdir->fetch(GETPOST("section", 'alpha'));
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -80,7 +80,7 @@ if (!$urlfile) {
|
|||||||
// Load ecm object
|
// Load ecm object
|
||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
$result = $ecmdir->fetch(GETPOST("section", 'alpha'));
|
$result = $ecmdir->fetch(GETPOST("section", 'alpha'));
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,7 +64,7 @@ if (!$sortfield) {
|
|||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
if ($section > 0) {
|
if ($section > 0) {
|
||||||
$result = $ecmdir->fetch($section);
|
$result = $ecmdir->fetch($section);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,7 +74,7 @@ if ($module == 'invoice_supplier' && $sortfield == "fullname") {
|
|||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
if ($section) {
|
if ($section) {
|
||||||
$result = $ecmdir->fetch($section);
|
$result = $ecmdir->fetch($section);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -78,7 +78,7 @@ if (!$sortfield) {
|
|||||||
$ecmdir = new EcmDirectory($db);
|
$ecmdir = new EcmDirectory($db);
|
||||||
if (!empty($section)) {
|
if (!empty($section)) {
|
||||||
$result = $ecmdir->fetch($section);
|
$result = $ecmdir->fetch($section);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -752,7 +752,7 @@ class Expedition extends CommonObject
|
|||||||
|
|
||||||
//var_dump($this->lines[$i]);
|
//var_dump($this->lines[$i]);
|
||||||
$mouvS = new MouvementStock($this->db);
|
$mouvS = new MouvementStock($this->db);
|
||||||
//$mouvS->origin = dol_clone($this, 1);
|
|
||||||
$mouvS->setOrigin($this->element, $this->id);
|
$mouvS->setOrigin($this->element, $this->id);
|
||||||
|
|
||||||
if (empty($obj->edbrowid)) {
|
if (empty($obj->edbrowid)) {
|
||||||
|
|||||||
@ -1950,7 +1950,7 @@ if ($action == 'create') {
|
|||||||
|
|
||||||
// Payments already done (from payment on this expensereport)
|
// Payments already done (from payment on this expensereport)
|
||||||
$sql = "SELECT p.rowid, p.num_payment, p.datep as dp, p.amount, p.fk_bank,";
|
$sql = "SELECT p.rowid, p.num_payment, p.datep as dp, p.amount, p.fk_bank,";
|
||||||
$sql .= "c.code as p_code, c.libelle as payment_type,";
|
$sql .= "c.code as payment_code, c.libelle as payment_type,";
|
||||||
$sql .= "ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.fk_accountancy_journal";
|
$sql .= "ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.fk_accountancy_journal";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as e, ".MAIN_DB_PREFIX."payment_expensereport as p";
|
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as e, ".MAIN_DB_PREFIX."payment_expensereport as p";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as c ON p.fk_typepayment = c.id";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as c ON p.fk_typepayment = c.id";
|
||||||
@ -1969,18 +1969,20 @@ if ($action == 'create') {
|
|||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
|
||||||
$paymentexpensereportstatic->id = $objp->rowid;
|
$paymentexpensereportstatic->id = $objp->rowid;
|
||||||
$paymentexpensereportstatic->datepaye = $db->jdate($objp->dp);
|
$paymentexpensereportstatic->datep = $db->jdate($objp->dp);
|
||||||
$paymentexpensereportstatic->ref = $objp->rowid;
|
$paymentexpensereportstatic->ref = $objp->rowid;
|
||||||
$paymentexpensereportstatic->num_payment = $objp->num_payment;
|
$paymentexpensereportstatic->num_payment = $objp->num_payment;
|
||||||
$paymentexpensereportstatic->payment_code = $objp->payment_code;
|
$paymentexpensereportstatic->type_code = $objp->payment_code;
|
||||||
|
$paymentexpensereportstatic->type_label = $objp->payment_type;
|
||||||
|
|
||||||
print '<tr class="oddseven">';
|
print '<tr class="oddseven">';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $paymentexpensereportstatic->getNomUrl(1);
|
print $paymentexpensereportstatic->getNomUrl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>'.dol_print_date($db->jdate($objp->dp), 'day')."</td>\n";
|
print '<td>'.dol_print_date($db->jdate($objp->dp), 'day')."</td>\n";
|
||||||
$labeltype = $langs->trans("PaymentType".$objp->p_code) != ("PaymentType".$objp->p_code) ? $langs->trans("PaymentType".$objp->p_code) : $objp->payment_type;
|
$labeltype = $langs->trans("PaymentType".$objp->payment_code) != ("PaymentType".$objp->payment_code) ? $langs->trans("PaymentType".$objp->payment_code) : $objp->payment_type;
|
||||||
print "<td>".$labeltype.' '.$objp->num_payment."</td>\n";
|
print "<td>".$labeltype.' '.$objp->num_payment."</td>\n";
|
||||||
|
// Bank account
|
||||||
if (!empty($conf->banque->enabled)) {
|
if (!empty($conf->banque->enabled)) {
|
||||||
$bankaccountstatic->id = $objp->baid;
|
$bankaccountstatic->id = $objp->baid;
|
||||||
$bankaccountstatic->ref = $objp->baref;
|
$bankaccountstatic->ref = $objp->baref;
|
||||||
|
|||||||
@ -137,14 +137,17 @@ class PaymentExpenseReport extends CommonObject
|
|||||||
if (isset($this->note_public)) {
|
if (isset($this->note_public)) {
|
||||||
$this->note_public = trim($this->note_public);
|
$this->note_public = trim($this->note_public);
|
||||||
}
|
}
|
||||||
|
if (isset($this->note_private)) {
|
||||||
|
$this->note_private = trim($this->note_private);
|
||||||
|
}
|
||||||
if (isset($this->fk_bank)) {
|
if (isset($this->fk_bank)) {
|
||||||
$this->fk_bank = trim($this->fk_bank);
|
$this->fk_bank = ((int) $this->fk_bank);
|
||||||
}
|
}
|
||||||
if (isset($this->fk_user_creat)) {
|
if (isset($this->fk_user_creat)) {
|
||||||
$this->fk_user_creat = trim($this->fk_user_creat);
|
$this->fk_user_creat = ((int) $this->fk_user_creat);
|
||||||
}
|
}
|
||||||
if (isset($this->fk_user_modif)) {
|
if (isset($this->fk_user_modif)) {
|
||||||
$this->fk_user_modif = trim($this->fk_user_modif);
|
$this->fk_user_modif = ((int) $this->fk_user_modif);
|
||||||
}
|
}
|
||||||
|
|
||||||
$totalamount = 0;
|
$totalamount = 0;
|
||||||
@ -170,7 +173,7 @@ class PaymentExpenseReport extends CommonObject
|
|||||||
$sql .= " '".$this->db->idate($this->datepaid)."',";
|
$sql .= " '".$this->db->idate($this->datepaid)."',";
|
||||||
$sql .= " ".price2num($totalamount).",";
|
$sql .= " ".price2num($totalamount).",";
|
||||||
$sql .= " ".((int) $this->fk_typepayment).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".((int) $user->id).",";
|
$sql .= " ".((int) $this->fk_typepayment).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".((int) $user->id).",";
|
||||||
$sql .= " 0)";
|
$sql .= " 0)"; // fk_bank is ID of transaction into ll_bank
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::create", LOG_DEBUG);
|
dol_syslog(get_class($this)."::create", LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
@ -540,7 +543,7 @@ class PaymentExpenseReport extends CommonObject
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Update fk_bank in llx_paiement.
|
// Update fk_bank in llx_paiement.
|
||||||
// On connait ainsi le paiement qui a genere l'ecriture bancaire
|
// So we wil know the payment that have generated the bank transaction
|
||||||
if ($bank_line_id > 0) {
|
if ($bank_line_id > 0) {
|
||||||
$result = $this->update_fk_bank($bank_line_id);
|
$result = $this->update_fk_bank($bank_line_id);
|
||||||
if ($result <= 0) {
|
if ($result <= 0) {
|
||||||
@ -585,6 +588,7 @@ class PaymentExpenseReport extends CommonObject
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->error = $acc->error;
|
$this->error = $acc->error;
|
||||||
|
$this->errors = $acc->errors;
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -75,6 +75,7 @@ if ($action == 'add_payment') {
|
|||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Date")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Date")), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->banque->enabled) && !($accountid > 0)) {
|
if (!empty($conf->banque->enabled) && !($accountid > 0)) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountToDebit")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountToDebit")), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
@ -87,14 +88,16 @@ if ($action == 'add_payment') {
|
|||||||
// Read possible payments
|
// Read possible payments
|
||||||
foreach ($_POST as $key => $value) {
|
foreach ($_POST as $key => $value) {
|
||||||
if (substr($key, 0, 7) == 'amount_') {
|
if (substr($key, 0, 7) == 'amount_') {
|
||||||
$amounts[$expensereport->fk_user_author] = price2num(GETPOST($key));
|
if (GETPOST($key)) {
|
||||||
$total += price2num(GETPOST($key));
|
$amounts[$expensereport->fk_user_author] = price2num(GETPOST($key));
|
||||||
|
$total += price2num(GETPOST($key));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($amounts) <= 0) {
|
if (count($amounts) <= 0) {
|
||||||
$error++;
|
$error++;
|
||||||
$errmsg = 'ErrorNoPaymentDefined';
|
setEventMessages('ErrorNoPaymentDefined', null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
@ -109,6 +112,7 @@ if ($action == 'add_payment') {
|
|||||||
$payment->fk_typepayment = GETPOST("fk_typepayment", 'int');
|
$payment->fk_typepayment = GETPOST("fk_typepayment", 'int');
|
||||||
$payment->num_payment = GETPOST("num_payment", 'alphanothtml');
|
$payment->num_payment = GETPOST("num_payment", 'alphanothtml');
|
||||||
$payment->note_public = GETPOST("note_public", 'restricthtml');
|
$payment->note_public = GETPOST("note_public", 'restricthtml');
|
||||||
|
$payment->fk_bank = $accountid;
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$paymentid = $payment->create($user);
|
$paymentid = $payment->create($user);
|
||||||
@ -120,7 +124,7 @@ if ($action == 'add_payment') {
|
|||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $payment->addPaymentToBank($user, 'payment_expensereport', '(ExpenseReportPayment)', $accountid, '', '');
|
$result = $payment->addPaymentToBank($user, 'payment_expensereport', '(ExpenseReportPayment)', $accountid, '', '');
|
||||||
if (!$result > 0) {
|
if ($result <= 0) {
|
||||||
setEventMessages($payment->error, $payment->errors, 'errors');
|
setEventMessages($payment->error, $payment->errors, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -130,7 +134,7 @@ if ($action == 'add_payment') {
|
|||||||
$payment->fetch($paymentid);
|
$payment->fetch($paymentid);
|
||||||
if ($expensereport->total_ttc - $payment->amount == 0) {
|
if ($expensereport->total_ttc - $payment->amount == 0) {
|
||||||
$result = $expensereport->setPaid($expensereport->id, $user);
|
$result = $expensereport->setPaid($expensereport->id, $user);
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
setEventMessages($payment->error, $payment->errors, 'errors');
|
setEventMessages($payment->error, $payment->errors, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -202,7 +206,7 @@ if ($action == 'create' || empty($action)) {
|
|||||||
print '<table class="border centpercent">'."\n";
|
print '<table class="border centpercent">'."\n";
|
||||||
|
|
||||||
print '<tr><td class="titlefield">'.$langs->trans("Period").'</td><td>'.get_date_range($expensereport->date_debut, $expensereport->date_fin, "", $langs, 0).'</td></tr>';
|
print '<tr><td class="titlefield">'.$langs->trans("Period").'</td><td>'.get_date_range($expensereport->date_debut, $expensereport->date_fin, "", $langs, 0).'</td></tr>';
|
||||||
print '<tr><td>'.$langs->trans("Amount").'</td><td>'.price($expensereport->total_ttc, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>';
|
print '<tr><td>'.$langs->trans("Amount").'</td><td><span class="amount">'.price($expensereport->total_ttc, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
|
||||||
|
|
||||||
$sql = "SELECT sum(p.amount) as total";
|
$sql = "SELECT sum(p.amount) as total";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."payment_expensereport as p, ".MAIN_DB_PREFIX."expensereport as e";
|
$sql .= " FROM ".MAIN_DB_PREFIX."payment_expensereport as p, ".MAIN_DB_PREFIX."expensereport as e";
|
||||||
@ -214,8 +218,8 @@ if ($action == 'create' || empty($action)) {
|
|||||||
$sumpaid = $obj->total;
|
$sumpaid = $obj->total;
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
}
|
}
|
||||||
print '<tr><td>'.$langs->trans("AlreadyPaid").'</td><td>'.price($sumpaid, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>';
|
print '<tr><td>'.$langs->trans("AlreadyPaid").'</td><td><span class="amount">'.price($sumpaid, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
|
||||||
print '<tr><td class="tdtop">'.$langs->trans("RemainderToPay").'</td><td>'.price($total - $sumpaid, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>';
|
print '<tr><td class="tdtop">'.$langs->trans("RemainderToPay").'</td><td><span class="amount">'.price($total - $sumpaid, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
@ -223,6 +227,8 @@ if ($action == 'create' || empty($action)) {
|
|||||||
|
|
||||||
print dol_get_fiche_end();
|
print dol_get_fiche_end();
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
print dol_get_fiche_head();
|
print dol_get_fiche_head();
|
||||||
|
|
||||||
print '<table class="border centpercent">'."\n";
|
print '<table class="border centpercent">'."\n";
|
||||||
@ -243,7 +249,8 @@ if ($action == 'create' || empty($action)) {
|
|||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td class="fieldrequired">'.$langs->trans('AccountToDebit').'</td>';
|
print '<td class="fieldrequired">'.$langs->trans('AccountToDebit').'</td>';
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
$form->select_comptes(GETPOSTISSET("accountid") ? GETPOST("accountid", "int") : $expensereport->accountid, "accountid", 0, '', 2); // Show open bank account list
|
print img_picto('', 'bank_account', 'class="pictofixedwidth"');
|
||||||
|
$form->select_comptes(GETPOSTISSET("accountid") ? GETPOST("accountid", "int") : 0, "accountid", 0, '', 2); // Show open bank account list
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +284,7 @@ if ($action == 'create' || empty($action)) {
|
|||||||
print '<td class="center">'.$langs->trans("Amount").'</td>';
|
print '<td class="center">'.$langs->trans("Amount").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$total = 0;
|
$total_ttc = 0;
|
||||||
$totalrecu = 0;
|
$totalrecu = 0;
|
||||||
|
|
||||||
while ($i < $num) {
|
while ($i < $num) {
|
||||||
@ -298,7 +305,7 @@ if ($action == 'create' || empty($action)) {
|
|||||||
}
|
}
|
||||||
$remaintopay = $objp->total_ttc - $sumpaid; // autofill remainder amount
|
$remaintopay = $objp->total_ttc - $sumpaid; // autofill remainder amount
|
||||||
print '<input type=hidden class="sum_remain" name="'.$nameRemain.'" value="'.$remaintopay.'">'; // autofill remainder amount
|
print '<input type=hidden class="sum_remain" name="'.$nameRemain.'" value="'.$remaintopay.'">'; // autofill remainder amount
|
||||||
print '<input type="text" size="8" name="'.$namef.'" id="'.$namef.'">';
|
print '<input type="text" class="width75" name="'.$namef.'" id="'.$namef.'" value="'.GETPOST($namef).'">';
|
||||||
} else {
|
} else {
|
||||||
print '-';
|
print '-';
|
||||||
}
|
}
|
||||||
@ -306,9 +313,8 @@ if ($action == 'create' || empty($action)) {
|
|||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$total += $objp->total;
|
|
||||||
$total_ttc += $objp->total_ttc;
|
$total_ttc += $objp->total_ttc;
|
||||||
$totalrecu += $objp->am;
|
$totalrecu += $sumpaid;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
if ($i > 1) {
|
if ($i > 1) {
|
||||||
|
|||||||
@ -1464,8 +1464,8 @@ if ($resql) {
|
|||||||
}
|
}
|
||||||
// Zip
|
// Zip
|
||||||
if (!empty($arrayfields['s.zip']['checked'])) {
|
if (!empty($arrayfields['s.zip']['checked'])) {
|
||||||
print '<td class="nocellnopadd center">';
|
print '<td class="nocellnopadd center tdoverflowmax100" title="'.dol_escape_htmltag($obj->zip).'">';
|
||||||
print $obj->zip;
|
print dol_escape_htmltag($obj->zip);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (!$i) {
|
if (!$i) {
|
||||||
$totalarray['nbfield']++;
|
$totalarray['nbfield']++;
|
||||||
|
|||||||
@ -92,8 +92,8 @@ if ($socid > 0) {
|
|||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
if (!$num > 0) {
|
if ($num <= 0) {
|
||||||
print '<tr><td colspan="7">'.$langs->trans("NoInvoice").'</td></tr>';
|
print '<tr><td colspan="7"><span class="opacitymedium">'.$langs->trans("NoInvoice").'</span></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$solde = 0;
|
$solde = 0;
|
||||||
|
|||||||
@ -102,7 +102,7 @@ if (GETPOST("sendit") && !empty($conf->global->MAIN_UPLOAD_DOC)) {
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
$result = $ecmdir->fetch(GETPOST("section", 'int'));
|
$result = $ecmdir->fetch(GETPOST("section", 'int'));
|
||||||
if (!$result > 0) {
|
if (!($result > 0)) {
|
||||||
dol_print_error($db, $ecmdir->error);
|
dol_print_error($db, $ecmdir->error);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2007-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2007-2022 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
|
* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
|
||||||
* Copyright (C) 2013 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2013 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2016 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2016 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
@ -130,12 +130,15 @@ if (empty($reshook)) {
|
|||||||
// Si il y a une action de mise à jour
|
// Si il y a une action de mise à jour
|
||||||
if ($action == 'update' && GETPOSTISSET('update_cp')) {
|
if ($action == 'update' && GETPOSTISSET('update_cp')) {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
$nbok = 0;
|
||||||
|
|
||||||
$typeleaves = $holiday->getTypes(1, 1);
|
$typeleaves = $holiday->getTypes(1, 1);
|
||||||
|
|
||||||
$userID = array_keys(GETPOST('update_cp'));
|
$userID = array_keys(GETPOST('update_cp'));
|
||||||
$userID = $userID[0];
|
$userID = $userID[0];
|
||||||
|
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
foreach ($typeleaves as $key => $val) {
|
foreach ($typeleaves as $key => $val) {
|
||||||
$userValue = GETPOST('nb_holiday_'.$val['rowid']);
|
$userValue = GETPOST('nb_holiday_'.$val['rowid']);
|
||||||
$userValue = $userValue[$userID];
|
$userValue = $userValue[$userID];
|
||||||
@ -150,20 +153,26 @@ if (empty($reshook)) {
|
|||||||
$note_holiday = GETPOST('note_holiday');
|
$note_holiday = GETPOST('note_holiday');
|
||||||
$comment = ((isset($note_holiday[$userID]) && !empty($note_holiday[$userID])) ? ' ('.$note_holiday[$userID].')' : '');
|
$comment = ((isset($note_holiday[$userID]) && !empty($note_holiday[$userID])) ? ' ('.$note_holiday[$userID].')' : '');
|
||||||
|
|
||||||
//print 'holiday: '.$val['rowid'].'-'.$userValue;
|
//print 'holiday: '.$val['rowid'].'-'.$userValue;exit;
|
||||||
if ($userValue != '') {
|
if ($userValue != '') {
|
||||||
// We add the modification to the log (must be before update of sold because we read current value of sold)
|
// We add the modification to the log (must be done before the update of balance because we read current value of balance inside this method)
|
||||||
$result = $holiday->addLogCP($user->id, $userID, $langs->transnoentitiesnoconv('ManualUpdate').$comment, $userValue, $val['rowid']);
|
$result = $holiday->addLogCP($user->id, $userID, $langs->transnoentitiesnoconv('ManualUpdate').$comment, $userValue, $val['rowid']);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($holiday->error, $holiday->errors, 'errors');
|
setEventMessages($holiday->error, $holiday->errors, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
|
} elseif ($result == 0) {
|
||||||
|
setEventMessages($langs->trans("HolidayQtyNotModified", $user->login), null, 'warnings');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update of the days of the employee
|
// Update of the days of the employee
|
||||||
$result = $holiday->updateSoldeCP($userID, $userValue, $val['rowid']);
|
if ($result > 0) {
|
||||||
if ($result < 0) {
|
$nbok++;
|
||||||
setEventMessages($holiday->error, $holiday->errors, 'errors');
|
|
||||||
$error++;
|
$result = $holiday->updateSoldeCP($userID, $userValue, $val['rowid']);
|
||||||
|
if ($result < 0) {
|
||||||
|
setEventMessages($holiday->error, $holiday->errors, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If it first update of balance, we set date to avoid to have sold incremented by new month
|
// If it first update of balance, we set date to avoid to have sold incremented by new month
|
||||||
@ -179,7 +188,13 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
setEventMessages('UpdateConfCPOK', '', 'mesgs');
|
$db->commit();
|
||||||
|
|
||||||
|
if ($nbok > 0) {
|
||||||
|
setEventMessages('UpdateConfCPOK', '', 'mesgs');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$db->rollback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -159,15 +159,15 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
// Definition of fields for lists
|
// Definition of fields for lists
|
||||||
$arrayfields = array(
|
$arrayfields = array(
|
||||||
'cpl.rowid'=>array('label'=>$langs->trans("ID"), 'checked'=>1),
|
'cpl.rowid'=>array('label'=>"ID", 'checked'=>1),
|
||||||
'cpl.date_action'=>array('label'=>$langs->trans("Date"), 'checked'=>1),
|
'cpl.date_action'=>array('label'=>"Date", 'checked'=>1),
|
||||||
'cpl.fk_user_action'=>array('label'=>$langs->trans("ActionByCP"), 'checked'=>1),
|
'cpl.fk_user_action'=>array('label'=>"ActionByCP", 'checked'=>1),
|
||||||
'cpl.fk_user_update'=>array('label'=>$langs->trans("UserUpdateCP"), 'checked'=>1),
|
'cpl.fk_user_update'=>array('label'=>"UserUpdateCP", 'checked'=>1),
|
||||||
'cpl.type_action'=>array('label'=>$langs->trans("Description"), 'checked'=>1),
|
'cpl.type_action'=>array('label'=>"Description", 'checked'=>1),
|
||||||
'cpl.fk_type'=>array('label'=>$langs->trans("Type"), 'checked'=>1),
|
'cpl.fk_type'=>array('label'=>"Type", 'checked'=>1),
|
||||||
'cpl.prev_solde'=>array('label'=>$langs->trans("PrevSoldeCP"), 'checked'=>1),
|
'cpl.prev_solde'=>array('label'=>"PrevSoldeCP", 'checked'=>1),
|
||||||
'variation'=>array('label'=>$langs->trans("Variation"), 'checked'=>1),
|
'variation'=>array('label'=>"Variation", 'checked'=>1),
|
||||||
'cpl.new_solde'=>array('label'=>$langs->trans("NewSoldeCP"), 'checked'=>1),
|
'cpl.new_solde'=>array('label'=>"NewSoldeCP", 'checked'=>1),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -403,7 +403,7 @@ print '</tr>';
|
|||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
if (!empty($arrayfields['cpl.rowid']['checked'])) {
|
if (!empty($arrayfields['cpl.rowid']['checked'])) {
|
||||||
print_liste_field_titre($arrayfields['cpl.rowid']['label'], $_SERVER["PHP_SELF"], 'rowid', '', '', '', $sortfield, $sortorder);
|
print_liste_field_titre($arrayfields['cpl.rowid']['label'], $_SERVER["PHP_SELF"], 'cpl.rowid', '', '', '', $sortfield, $sortorder);
|
||||||
}
|
}
|
||||||
if (!empty($arrayfields['cpl.date_action']['checked'])) {
|
if (!empty($arrayfields['cpl.date_action']['checked'])) {
|
||||||
print_liste_field_titre($arrayfields['cpl.date_action']['label'], $_SERVER["PHP_SELF"], 'date_action', '', '', '', $sortfield, $sortorder, 'center ');
|
print_liste_field_titre($arrayfields['cpl.date_action']['label'], $_SERVER["PHP_SELF"], 'date_action', '', '', '', $sortfield, $sortorder, 'center ');
|
||||||
@ -484,11 +484,12 @@ while ($i < min($num, $limit)) {
|
|||||||
|
|
||||||
// Description
|
// Description
|
||||||
if (!empty($arrayfields['cpl.type_action']['checked'])) {
|
if (!empty($arrayfields['cpl.type_action']['checked'])) {
|
||||||
print '<td>'.$holidaylogstatic->description.'</td>';
|
print '<td class="tdoverflowmax400" title="'.dol_escape_htmltag($holidaylogstatic->description).'">'.dol_escape_htmltag($holidaylogstatic->description).'</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Type
|
// Type
|
||||||
if (!empty($arrayfields['cpl.fk_type']['checked'])) {
|
if (!empty($arrayfields['cpl.fk_type']['checked'])) {
|
||||||
|
$label = '';
|
||||||
if (!empty($alltypeleaves[$holidaylogstatic->type])) {
|
if (!empty($alltypeleaves[$holidaylogstatic->type])) {
|
||||||
if ($alltypeleaves[$holidaylogstatic->type]['code'] && $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']) != $alltypeleaves[$holidaylogstatic->type]['code']) {
|
if ($alltypeleaves[$holidaylogstatic->type]['code'] && $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']) != $alltypeleaves[$holidaylogstatic->type]['code']) {
|
||||||
$label = $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']);
|
$label = $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']);
|
||||||
@ -510,8 +511,13 @@ while ($i < min($num, $limit)) {
|
|||||||
// Variation
|
// Variation
|
||||||
if (!empty($arrayfields['variation']['checked'])) {
|
if (!empty($arrayfields['variation']['checked'])) {
|
||||||
$delta = price2num($holidaylogstatic->balance_new - $holidaylogstatic->balance_previous, 5);
|
$delta = price2num($holidaylogstatic->balance_new - $holidaylogstatic->balance_previous, 5);
|
||||||
$detasign = ($delta > 0 ? '+' : '');
|
print '<td style="text-align: right;">';
|
||||||
print '<td style="text-align: right;">'.$detasign.$delta.'</td>';
|
if ($delta > 0) {
|
||||||
|
print '<span class="stockmovemententry fontsizeunset">+'.$delta.'</span>';
|
||||||
|
} else {
|
||||||
|
print '<span class="stockmovementexit fontsizeunset">'.$delta.'</span>';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// New Balance
|
// New Balance
|
||||||
|
|||||||
0
htdocs/includes/OAuth/OAuth2/Service/WordPress.php
Executable file → Normal file
0
htdocs/includes/OAuth/OAuth2/Service/WordPress.php
Executable file → Normal file
@ -6,7 +6,7 @@
|
|||||||
-- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
|
-- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
-- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
|
-- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
|
||||||
-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
-- Copyright (C) 2021 Udo Tamm <dev@dolibit.de>
|
-- Copyright (C) 2021-2022 Udo Tamm <dev@dolibit.de>
|
||||||
--
|
--
|
||||||
-- This program is free software; you can redistribute it and/or modify
|
-- This program is free software; you can redistribute it and/or modify
|
||||||
-- it under the terms of the GNU General Public License as published by
|
-- it under the terms of the GNU General Public License as published by
|
||||||
@ -89,21 +89,21 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (58
|
|||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (59,'BG','BGR','Bulgaria',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (59,'BG','BGR','Bulgaria',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (60,'BF','BFA','Burkina Faso',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (60,'BF','BFA','Burkina Faso',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (61,'BI','BDI','Burundi',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (61,'BI','BDI','Burundi',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (62,'KH','KHM','Cambodge',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (62,'KH','KHM','Cambodge / Cambodia',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (63,'CV','CPV','Cap-Vert',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (63,'CV','CPV','Cap-Vert',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (64,'KY','CYM','Iles Cayman',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (64,'KY','CYM','Iles Cayman',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (65,'CF','CAF','République centrafricaine',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (65,'CF','CAF','Central African Republic (CAR/RCA)',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (66,'TD','TCD','Tchad',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (66,'TD','TCD','Tchad',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (67,'CL','CHL','Chili',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (67,'CL','CHL','Chile',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (68,'CX','CXR','Ile Christmas',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (68,'CX','CXR','Ile Christmas',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (69,'CC','CCK','Iles des Cocos (Keeling)',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (69,'CC','CCK','Iles des Cocos (Keeling)',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (70,'CO','COL','Colombie',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (70,'CO','COL','Colombie',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (71,'KM','COM','Comores',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (71,'KM','COM','Comores',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (72,'CG','COG','Congo',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (72,'CG','COG','Congo',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (73,'CD','COD','République démocratique du Congo',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (73,'CD','COD','DR Congo (RDC)',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (74,'CK','COK','Iles Cook',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (74,'CK','COK','Iles Cook',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (75,'CR','CRI','Costa Rica',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (75,'CR','CRI','Costa Rica',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (76,'HR','HRV','Croatie',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (76,'HR','HRV','Croatia',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (77,'CU','CUB','Cuba',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (77,'CU','CUB','Cuba',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (78,'CY','CYP','Cyprus',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (78,'CY','CYP','Cyprus',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (79,'CZ','CZE','Czech Republic',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (79,'CZ','CZE','Czech Republic',1,0);
|
||||||
@ -138,17 +138,17 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (10
|
|||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (109,'GW','GNB','Guinea-Bissao',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (109,'GW','GNB','Guinea-Bissao',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (111,'HT','HTI','Haiti',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (111,'HT','HTI','Haiti',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (112,'HM','HMD','Iles Heard et McDonald',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (112,'HM','HMD','Iles Heard et McDonald',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (113,'VA','VAT','Saint-Siège (Vatican)',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (113,'VA','VAT','Vatican City (Saint-Siège)',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (114,'HN','HND','Honduras',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (114,'HN','HND','Honduras',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (115,'HK','HKG','Hong Kong',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (115,'HK','HKG','Hong Kong',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (116,'IS','ISL','Islande',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (116,'IS','ISL','Islande',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (117,'IN','IND','India',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (117,'IN','IND','India',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (118,'ID','IDN','Indonésie',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (118,'ID','IDN','Indonesia',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (119,'IR','IRN','Iran',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (119,'IR','IRN','Iran',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (120,'IQ','IRQ','Iraq',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (120,'IQ','IRQ','Iraq',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (121,'IL','ISR','Israel',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (121,'IL','ISR','Israel',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (122,'JM','JAM','Jamaïque',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (122,'JM','JAM','Jamaica',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (123,'JP','JPN','Japon',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (123,'JP','JPN','Japan (Nippon)',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (124,'JO','JOR','Jordanie',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (124,'JO','JOR','Jordanie',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (125,'KZ','KAZ','Kazakhstan',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (125,'KZ','KAZ','Kazakhstan',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (126,'KE','KEN','Kenya',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (126,'KE','KEN','Kenya',1,0);
|
||||||
@ -167,7 +167,7 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (13
|
|||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (139,'LT','LTU','Lituanie',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (139,'LT','LTU','Lituanie',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (140,'LU','LUX','Luxembourg',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (140,'LU','LUX','Luxembourg',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (141,'MO','MAC','Macao',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (141,'MO','MAC','Macao',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (142,'MK','MKD','ex-République yougoslave de Macédoine',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (142,'MK','MKD','North Macedonia',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (143,'MG','MDG','Madagascar',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (143,'MG','MDG','Madagascar',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (144,'MW','MWI','Malawi',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (144,'MW','MWI','Malawi',1,0);
|
||||||
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (145,'MY','MYS','Malaisie',1,0);
|
INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (145,'MY','MYS','Malaisie',1,0);
|
||||||
|
|||||||
@ -40,7 +40,9 @@
|
|||||||
|
|
||||||
|
|
||||||
-- NOTES/CONTENT ---------------------------------------------------------------
|
-- NOTES/CONTENT ---------------------------------------------------------------
|
||||||
-- Departements/Cantons/Provinces/States
|
--
|
||||||
|
-- Table of Content (TOC)
|
||||||
|
-- Departements/Cantons/Provinces/States:
|
||||||
--
|
--
|
||||||
-- Algeria
|
-- Algeria
|
||||||
-- Andorra
|
-- Andorra
|
||||||
@ -57,6 +59,7 @@
|
|||||||
-- Croatia
|
-- Croatia
|
||||||
-- France
|
-- France
|
||||||
-- Germany
|
-- Germany
|
||||||
|
-- Greece
|
||||||
-- Honduras
|
-- Honduras
|
||||||
-- Hungary
|
-- Hungary
|
||||||
-- Italy
|
-- Italy
|
||||||
@ -81,7 +84,8 @@
|
|||||||
|
|
||||||
-- TEMPLATE -------------------------------------------------------------------------------------------------------------
|
-- TEMPLATE -------------------------------------------------------------------------------------------------------------
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES ( 0, '0', '0',0,'-','-');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES ( 0, '0', '0',0,'-','-');
|
||||||
-- active is always set as on = 1
|
--
|
||||||
|
-- field 'active' is not requiered - all lines are always set as active = on (1) by default
|
||||||
|
|
||||||
|
|
||||||
-- Algeria Provinces (id country=13)
|
-- Algeria Provinces (id country=13)
|
||||||
@ -540,6 +544,76 @@ INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom) VALUES (5
|
|||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom) VALUES (501, 'TH', 'THÜRINGEN', 'Thüringen');
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom) VALUES (501, 'TH', 'THÜRINGEN', 'Thüringen');
|
||||||
|
|
||||||
|
|
||||||
|
-- Greece Provinces (id country=102)
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('66', 10201, '', 0, '', 'Αθήνα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('67', 10205, '', 0, '', 'Δράμα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('01', 10205, '', 0, '', 'Έβρος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('02', 10205, '', 0, '', 'Θάσος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('03', 10205, '', 0, '', 'Καβάλα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('04', 10205, '', 0, '', 'Ξάνθη');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('05', 10205, '', 0, '', 'Ροδόπη');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('06', 10203, '', 0, '', 'Ημαθία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('07', 10203, '', 0, '', 'Θεσσαλονίκη');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('08', 10203, '', 0, '', 'Κιλκίς');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('09', 10203, '', 0, '', 'Πέλλα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('10', 10203, '', 0, '', 'Πιερία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('11', 10203, '', 0, '', 'Σέρρες');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('12', 10203, '', 0, '', 'Χαλκιδική');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('13', 10206, '', 0, '', 'Άρτα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('14', 10206, '', 0, '', 'Θεσπρωτία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('15', 10206, '', 0, '', 'Ιωάννινα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('16', 10206, '', 0, '', 'Πρέβεζα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('17', 10213, '', 0, '', 'Γρεβενά');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('18', 10213, '', 0, '', 'Καστοριά');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('19', 10213, '', 0, '', 'Κοζάνη');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('20', 10213, '', 0, '', 'Φλώρινα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('21', 10212, '', 0, '', 'Καρδίτσα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('22', 10212, '', 0, '', 'Λάρισα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('23', 10212, '', 0, '', 'Μαγνησία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('24', 10212, '', 0, '', 'Τρίκαλα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('25', 10212, '', 0, '', 'Σποράδες');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('26', 10212, '', 0, '', 'Βοιωτία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('27', 10202, '', 0, '', 'Εύβοια');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('28', 10202, '', 0, '', 'Ευρυτανία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('29', 10202, '', 0, '', 'Φθιώτιδα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('30', 10202, '', 0, '', 'Φωκίδα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('31', 10209, '', 0, '', 'Αργολίδα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('32', 10209, '', 0, '', 'Αρκαδία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('33', 10209, '', 0, '', 'Κορινθία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('34', 10209, '', 0, '', 'Λακωνία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('35', 10209, '', 0, '', 'Μεσσηνία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('36', 10211, '', 0, '', 'Αιτωλοακαρνανία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('37', 10211, '', 0, '', 'Αχαΐα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('38', 10211, '', 0, '', 'Ηλεία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('39', 10207, '', 0, '', 'Ζάκυνθος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('40', 10207, '', 0, '', 'Κέρκυρα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('41', 10207, '', 0, '', 'Κεφαλληνία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('42', 10207, '', 0, '', 'Ιθάκη');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('43', 10207, '', 0, '', 'Λευκάδα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('44', 10208, '', 0, '', 'Ικαρία');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('45', 10208, '', 0, '', 'Λέσβος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('46', 10208, '', 0, '', 'Λήμνος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('47', 10208, '', 0, '', 'Σάμος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('48', 10208, '', 0, '', 'Χίος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('49', 10210, '', 0, '', 'Άνδρος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('50', 10210, '', 0, '', 'Θήρα');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('51', 10210, '', 0, '', 'Κάλυμνος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('52', 10210, '', 0, '', 'Κάρπαθος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('53', 10210, '', 0, '', 'Κέα-Κύθνος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('54', 10210, '', 0, '', 'Κω');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('55', 10210, '', 0, '', 'Μήλος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('56', 10210, '', 0, '', 'Μύκονος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('57', 10210, '', 0, '', 'Νάξος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('58', 10210, '', 0, '', 'Πάρος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('59', 10210, '', 0, '', 'Ρόδος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('60', 10210, '', 0, '', 'Σύρος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('61', 10210, '', 0, '', 'Τήνος');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('62', 10204, '', 0, '', 'Ηράκλειο');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('63', 10204, '', 0, '', 'Λασίθι');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('64', 10204, '', 0, '', 'Ρέθυμνο');
|
||||||
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('65', 10204, '', 0, '', 'Χανιά');
|
||||||
|
|
||||||
|
|
||||||
-- Honduras Departamentos (id country=114)
|
-- Honduras Departamentos (id country=114)
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (11401, 'AT', '', 0, 'AT', 'Atlántida');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (11401, 'AT', '', 0, 'AT', 'Atlántida');
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (11401, 'CH', '', 0, 'CH', 'Choluteca');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (11401, 'CH', '', 0, 'CH', 'Choluteca');
|
||||||
@ -1272,118 +1346,118 @@ insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc
|
|||||||
|
|
||||||
|
|
||||||
-- Provinces Bolivia (id country=52)
|
-- Provinces Bolivia (id country=52)
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('001', 5201, '', 0, '', 'Belisario Boeto', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('001', 5201, '', 0, '', 'Belisario Boeto');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('002', 5201, '', 0, '', 'Hernando Siles', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('002', 5201, '', 0, '', 'Hernando Siles');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('003', 5201, '', 0, '', 'Jaime Zudáñez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('003', 5201, '', 0, '', 'Jaime Zudáñez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('004', 5201, '', 0, '', 'Juana Azurduy de Padilla', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('004', 5201, '', 0, '', 'Juana Azurduy de Padilla');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('005', 5201, '', 0, '', 'Luis Calvo', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('005', 5201, '', 0, '', 'Luis Calvo');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('006', 5201, '', 0, '', 'Nor Cinti', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('006', 5201, '', 0, '', 'Nor Cinti');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('007', 5201, '', 0, '', 'Oropeza', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('007', 5201, '', 0, '', 'Oropeza');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('008', 5201, '', 0, '', 'Sud Cinti', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('008', 5201, '', 0, '', 'Sud Cinti');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('009', 5201, '', 0, '', 'Tomina', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('009', 5201, '', 0, '', 'Tomina');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('010', 5201, '', 0, '', 'Yamparáez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('010', 5201, '', 0, '', 'Yamparáez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('011', 5202, '', 0, '', 'Abel Iturralde', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('011', 5202, '', 0, '', 'Abel Iturralde');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('012', 5202, '', 0, '', 'Aroma', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('012', 5202, '', 0, '', 'Aroma');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('013', 5202, '', 0, '', 'Bautista Saavedra', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('013', 5202, '', 0, '', 'Bautista Saavedra');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('014', 5202, '', 0, '', 'Caranavi', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('014', 5202, '', 0, '', 'Caranavi');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('015', 5202, '', 0, '', 'Eliodoro Camacho', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('015', 5202, '', 0, '', 'Eliodoro Camacho');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('016', 5202, '', 0, '', 'Franz Tamayo', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('016', 5202, '', 0, '', 'Franz Tamayo');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('017', 5202, '', 0, '', 'Gualberto Villarroel', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('017', 5202, '', 0, '', 'Gualberto Villarroel');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('018', 5202, '', 0, '', 'Ingaví', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('018', 5202, '', 0, '', 'Ingaví');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('019', 5202, '', 0, '', 'Inquisivi', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('019', 5202, '', 0, '', 'Inquisivi');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('020', 5202, '', 0, '', 'José Ramón Loayza', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('020', 5202, '', 0, '', 'José Ramón Loayza');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('021', 5202, '', 0, '', 'Larecaja', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('021', 5202, '', 0, '', 'Larecaja');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('022', 5202, '', 0, '', 'Los Andes (Bolivia)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('022', 5202, '', 0, '', 'Los Andes (Bolivia)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('023', 5202, '', 0, '', 'Manco Kapac', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('023', 5202, '', 0, '', 'Manco Kapac');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('024', 5202, '', 0, '', 'Muñecas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('024', 5202, '', 0, '', 'Muñecas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('025', 5202, '', 0, '', 'Nor Yungas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('025', 5202, '', 0, '', 'Nor Yungas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('026', 5202, '', 0, '', 'Omasuyos', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('026', 5202, '', 0, '', 'Omasuyos');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('027', 5202, '', 0, '', 'Pacajes', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('027', 5202, '', 0, '', 'Pacajes');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('028', 5202, '', 0, '', 'Pedro Domingo Murillo', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('028', 5202, '', 0, '', 'Pedro Domingo Murillo');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('029', 5202, '', 0, '', 'Sud Yungas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('029', 5202, '', 0, '', 'Sud Yungas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('030', 5202, '', 0, '', 'General José Manuel Pando', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('030', 5202, '', 0, '', 'General José Manuel Pando');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('031', 5203, '', 0, '', 'Arani', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('031', 5203, '', 0, '', 'Arani');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('032', 5203, '', 0, '', 'Arque', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('032', 5203, '', 0, '', 'Arque');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('033', 5203, '', 0, '', 'Ayopaya', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('033', 5203, '', 0, '', 'Ayopaya');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('034', 5203, '', 0, '', 'Bolívar (Bolivia)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('034', 5203, '', 0, '', 'Bolívar (Bolivia)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('035', 5203, '', 0, '', 'Campero', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('035', 5203, '', 0, '', 'Campero');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('036', 5203, '', 0, '', 'Capinota', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('036', 5203, '', 0, '', 'Capinota');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('037', 5203, '', 0, '', 'Cercado (Cochabamba)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('037', 5203, '', 0, '', 'Cercado (Cochabamba)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('038', 5203, '', 0, '', 'Esteban Arze', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('038', 5203, '', 0, '', 'Esteban Arze');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('039', 5203, '', 0, '', 'Germán Jordán', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('039', 5203, '', 0, '', 'Germán Jordán');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('040', 5203, '', 0, '', 'José Carrasco', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('040', 5203, '', 0, '', 'José Carrasco');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('041', 5203, '', 0, '', 'Mizque', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('041', 5203, '', 0, '', 'Mizque');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('042', 5203, '', 0, '', 'Punata', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('042', 5203, '', 0, '', 'Punata');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('043', 5203, '', 0, '', 'Quillacollo', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('043', 5203, '', 0, '', 'Quillacollo');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('044', 5203, '', 0, '', 'Tapacarí', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('044', 5203, '', 0, '', 'Tapacarí');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('045', 5203, '', 0, '', 'Tiraque', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('045', 5203, '', 0, '', 'Tiraque');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('046', 5203, '', 0, '', 'Chapare', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('046', 5203, '', 0, '', 'Chapare');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('047', 5204, '', 0, '', 'Carangas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('047', 5204, '', 0, '', 'Carangas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('048', 5204, '', 0, '', 'Cercado (Oruro)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('048', 5204, '', 0, '', 'Cercado (Oruro)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('049', 5204, '', 0, '', 'Eduardo Avaroa', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('049', 5204, '', 0, '', 'Eduardo Avaroa');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('050', 5204, '', 0, '', 'Ladislao Cabrera', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('050', 5204, '', 0, '', 'Ladislao Cabrera');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('051', 5204, '', 0, '', 'Litoral de Atacama', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('051', 5204, '', 0, '', 'Litoral de Atacama');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('052', 5204, '', 0, '', 'Mejillones', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('052', 5204, '', 0, '', 'Mejillones');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('053', 5204, '', 0, '', 'Nor Carangas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('053', 5204, '', 0, '', 'Nor Carangas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('054', 5204, '', 0, '', 'Pantaleón Dalence', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('054', 5204, '', 0, '', 'Pantaleón Dalence');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('055', 5204, '', 0, '', 'Poopó', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('055', 5204, '', 0, '', 'Poopó');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('056', 5204, '', 0, '', 'Sabaya', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('056', 5204, '', 0, '', 'Sabaya');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('057', 5204, '', 0, '', 'Sajama', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('057', 5204, '', 0, '', 'Sajama');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('058', 5204, '', 0, '', 'San Pedro de Totora', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('058', 5204, '', 0, '', 'San Pedro de Totora');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('059', 5204, '', 0, '', 'Saucarí', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('059', 5204, '', 0, '', 'Saucarí');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('060', 5204, '', 0, '', 'Sebastián Pagador', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('060', 5204, '', 0, '', 'Sebastián Pagador');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('061', 5204, '', 0, '', 'Sud Carangas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('061', 5204, '', 0, '', 'Sud Carangas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('062', 5204, '', 0, '', 'Tomás Barrón', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('062', 5204, '', 0, '', 'Tomás Barrón');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('063', 5205, '', 0, '', 'Alonso de Ibáñez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('063', 5205, '', 0, '', 'Alonso de Ibáñez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('064', 5205, '', 0, '', 'Antonio Quijarro', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('064', 5205, '', 0, '', 'Antonio Quijarro');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('065', 5205, '', 0, '', 'Bernardino Bilbao', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('065', 5205, '', 0, '', 'Bernardino Bilbao');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('066', 5205, '', 0, '', 'Charcas (Potosí)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('066', 5205, '', 0, '', 'Charcas (Potosí)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('067', 5205, '', 0, '', 'Chayanta', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('067', 5205, '', 0, '', 'Chayanta');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('068', 5205, '', 0, '', 'Cornelio Saavedra', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('068', 5205, '', 0, '', 'Cornelio Saavedra');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('069', 5205, '', 0, '', 'Daniel Campos', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('069', 5205, '', 0, '', 'Daniel Campos');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('070', 5205, '', 0, '', 'Enrique Baldivieso', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('070', 5205, '', 0, '', 'Enrique Baldivieso');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('071', 5205, '', 0, '', 'José María Linares', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('071', 5205, '', 0, '', 'José María Linares');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('072', 5205, '', 0, '', 'Modesto Omiste', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('072', 5205, '', 0, '', 'Modesto Omiste');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('073', 5205, '', 0, '', 'Nor Chichas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('073', 5205, '', 0, '', 'Nor Chichas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('074', 5205, '', 0, '', 'Nor Lípez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('074', 5205, '', 0, '', 'Nor Lípez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('075', 5205, '', 0, '', 'Rafael Bustillo', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('075', 5205, '', 0, '', 'Rafael Bustillo');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('076', 5205, '', 0, '', 'Sud Chichas', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('076', 5205, '', 0, '', 'Sud Chichas');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('077', 5205, '', 0, '', 'Sud Lípez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('077', 5205, '', 0, '', 'Sud Lípez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('078', 5205, '', 0, '', 'Tomás Frías', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('078', 5205, '', 0, '', 'Tomás Frías');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('079', 5206, '', 0, '', 'Aniceto Arce', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('079', 5206, '', 0, '', 'Aniceto Arce');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('080', 5206, '', 0, '', 'Burdet O''Connor', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('080', 5206, '', 0, '', 'Burdet O''Connor');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('081', 5206, '', 0, '', 'Cercado (Tarija)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('081', 5206, '', 0, '', 'Cercado (Tarija)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('082', 5206, '', 0, '', 'Eustaquio Méndez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('082', 5206, '', 0, '', 'Eustaquio Méndez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('083', 5206, '', 0, '', 'José María Avilés', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('083', 5206, '', 0, '', 'José María Avilés');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('084', 5206, '', 0, '', 'Gran Chaco', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('084', 5206, '', 0, '', 'Gran Chaco');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('085', 5207, '', 0, '', 'Andrés Ibáñez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('085', 5207, '', 0, '', 'Andrés Ibáñez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('086', 5207, '', 0, '', 'Caballero', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('086', 5207, '', 0, '', 'Caballero');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('087', 5207, '', 0, '', 'Chiquitos', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('087', 5207, '', 0, '', 'Chiquitos');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('088', 5207, '', 0, '', 'Cordillera (Bolivia)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('088', 5207, '', 0, '', 'Cordillera (Bolivia)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('089', 5207, '', 0, '', 'Florida', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('089', 5207, '', 0, '', 'Florida');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('090', 5207, '', 0, '', 'Germán Busch', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('090', 5207, '', 0, '', 'Germán Busch');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('091', 5207, '', 0, '', 'Guarayos', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('091', 5207, '', 0, '', 'Guarayos');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('092', 5207, '', 0, '', 'Ichilo', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('092', 5207, '', 0, '', 'Ichilo');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('093', 5207, '', 0, '', 'Obispo Santistevan', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('093', 5207, '', 0, '', 'Obispo Santistevan');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('094', 5207, '', 0, '', 'Sara', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('094', 5207, '', 0, '', 'Sara');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('095', 5207, '', 0, '', 'Vallegrande', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('095', 5207, '', 0, '', 'Vallegrande');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('096', 5207, '', 0, '', 'Velasco', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('096', 5207, '', 0, '', 'Velasco');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('097', 5207, '', 0, '', 'Warnes', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('097', 5207, '', 0, '', 'Warnes');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('098', 5207, '', 0, '', 'Ángel Sandóval', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('098', 5207, '', 0, '', 'Ángel Sandóval');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('099', 5207, '', 0, '', 'Ñuflo de Chaves', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('099', 5207, '', 0, '', 'Ñuflo de Chaves');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('100', 5208, '', 0, '', 'Cercado (Beni)', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('100', 5208, '', 0, '', 'Cercado (Beni)');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('101', 5208, '', 0, '', 'Iténez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('101', 5208, '', 0, '', 'Iténez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('102', 5208, '', 0, '', 'Mamoré', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('102', 5208, '', 0, '', 'Mamoré');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('103', 5208, '', 0, '', 'Marbán', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('103', 5208, '', 0, '', 'Marbán');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('104', 5208, '', 0, '', 'Moxos', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('104', 5208, '', 0, '', 'Moxos');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('105', 5208, '', 0, '', 'Vaca Díez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('105', 5208, '', 0, '', 'Vaca Díez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('106', 5208, '', 0, '', 'Yacuma', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('106', 5208, '', 0, '', 'Yacuma');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('107', 5208, '', 0, '', 'General José Ballivián Segurola', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('107', 5208, '', 0, '', 'General José Ballivián Segurola');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('108', 5209, '', 0, '', 'Abuná', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('108', 5209, '', 0, '', 'Abuná');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('109', 5209, '', 0, '', 'Madre de Dios', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('109', 5209, '', 0, '', 'Madre de Dios');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('110', 5209, '', 0, '', 'Manuripi', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('110', 5209, '', 0, '', 'Manuripi');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('111', 5209, '', 0, '', 'Nicolás Suárez', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('111', 5209, '', 0, '', 'Nicolás Suárez');
|
||||||
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('112', 5209, '', 0, '', 'General Federico Román', 1);
|
INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('112', 5209, '', 0, '', 'General Federico Román');
|
||||||
|
|
||||||
|
|
||||||
-- Provinces Spain (id country=4) in order of province (for logical pick list)
|
-- Provinces Spain (id country=4) in order of province (for logical pick list)
|
||||||
@ -1441,77 +1515,6 @@ INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc
|
|||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('Z', '402', '50', 1, 'ZARAGOZA', 'Zaragoza');
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('Z', '402', '50', 1, 'ZARAGOZA', 'Zaragoza');
|
||||||
|
|
||||||
|
|
||||||
-- Provinces Greece (id country=102)
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('66', 10201, '', 0, '', 'Αθήνα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('67', 10205, '', 0, '', 'Δράμα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('01', 10205, '', 0, '', 'Έβρος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('02', 10205, '', 0, '', 'Θάσος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('03', 10205, '', 0, '', 'Καβάλα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('04', 10205, '', 0, '', 'Ξάνθη', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('05', 10205, '', 0, '', 'Ροδόπη', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('06', 10203, '', 0, '', 'Ημαθία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('07', 10203, '', 0, '', 'Θεσσαλονίκη', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('08', 10203, '', 0, '', 'Κιλκίς', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('09', 10203, '', 0, '', 'Πέλλα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('10', 10203, '', 0, '', 'Πιερία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('11', 10203, '', 0, '', 'Σέρρες', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('12', 10203, '', 0, '', 'Χαλκιδική', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('13', 10206, '', 0, '', 'Άρτα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('14', 10206, '', 0, '', 'Θεσπρωτία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('15', 10206, '', 0, '', 'Ιωάννινα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('16', 10206, '', 0, '', 'Πρέβεζα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('17', 10213, '', 0, '', 'Γρεβενά', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('18', 10213, '', 0, '', 'Καστοριά', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('19', 10213, '', 0, '', 'Κοζάνη', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('20', 10213, '', 0, '', 'Φλώρινα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('21', 10212, '', 0, '', 'Καρδίτσα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('22', 10212, '', 0, '', 'Λάρισα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('23', 10212, '', 0, '', 'Μαγνησία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('24', 10212, '', 0, '', 'Τρίκαλα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('25', 10212, '', 0, '', 'Σποράδες', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('26', 10212, '', 0, '', 'Βοιωτία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('27', 10202, '', 0, '', 'Εύβοια', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('28', 10202, '', 0, '', 'Ευρυτανία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('29', 10202, '', 0, '', 'Φθιώτιδα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('30', 10202, '', 0, '', 'Φωκίδα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('31', 10209, '', 0, '', 'Αργολίδα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('32', 10209, '', 0, '', 'Αρκαδία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('33', 10209, '', 0, '', 'Κορινθία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('34', 10209, '', 0, '', 'Λακωνία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('35', 10209, '', 0, '', 'Μεσσηνία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('36', 10211, '', 0, '', 'Αιτωλοακαρνανία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('37', 10211, '', 0, '', 'Αχαΐα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('38', 10211, '', 0, '', 'Ηλεία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('39', 10207, '', 0, '', 'Ζάκυνθος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('40', 10207, '', 0, '', 'Κέρκυρα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('41', 10207, '', 0, '', 'Κεφαλληνία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('42', 10207, '', 0, '', 'Ιθάκη', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('43', 10207, '', 0, '', 'Λευκάδα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('44', 10208, '', 0, '', 'Ικαρία', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('45', 10208, '', 0, '', 'Λέσβος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('46', 10208, '', 0, '', 'Λήμνος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('47', 10208, '', 0, '', 'Σάμος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('48', 10208, '', 0, '', 'Χίος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('49', 10210, '', 0, '', 'Άνδρος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('50', 10210, '', 0, '', 'Θήρα', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('51', 10210, '', 0, '', 'Κάλυμνος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('52', 10210, '', 0, '', 'Κάρπαθος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('53', 10210, '', 0, '', 'Κέα-Κύθνος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('54', 10210, '', 0, '', 'Κω', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('55', 10210, '', 0, '', 'Μήλος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('56', 10210, '', 0, '', 'Μύκονος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('57', 10210, '', 0, '', 'Νάξος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('58', 10210, '', 0, '', 'Πάρος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('59', 10210, '', 0, '', 'Ρόδος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('60', 10210, '', 0, '', 'Σύρος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('61', 10210, '', 0, '', 'Τήνος', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('62', 10204, '', 0, '', 'Ηράκλειο', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('63', 10204, '', 0, '', 'Λασίθι', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('64', 10204, '', 0, '', 'Ρέθυμνο', 1);
|
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('65', 10204, '', 0, '', 'Χανιά', 1);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Provinces GB (id country=7)
|
-- Provinces GB (id country=7)
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('701', 701, NULL, 0,NULL, 'Bedfordshire', 1);
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('701', 701, NULL, 0,NULL, 'Bedfordshire', 1);
|
||||||
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('702', 701, NULL, 0,NULL, 'Berkshire', 1);
|
INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('702', 701, NULL, 0,NULL, 'Berkshire', 1);
|
||||||
|
|||||||
@ -34,6 +34,8 @@
|
|||||||
|
|
||||||
-- Missing in v16 or lower
|
-- Missing in v16 or lower
|
||||||
|
|
||||||
|
ALTER TABLE llx_accounting_system MODIFY COLUMN pcg_version varchar(32) NOT NULL;
|
||||||
|
|
||||||
ALTER TABLE llx_c_action_trigger MODIFY elementtype VARCHAR(64);
|
ALTER TABLE llx_c_action_trigger MODIFY elementtype VARCHAR(64);
|
||||||
|
|
||||||
ALTER TABLE llx_c_email_templates ADD COLUMN joinfiles text;
|
ALTER TABLE llx_c_email_templates ADD COLUMN joinfiles text;
|
||||||
@ -42,11 +44,10 @@ ALTER TABLE llx_c_email_templates ADD COLUMN email_to varchar(255);
|
|||||||
ALTER TABLE llx_c_email_templates ADD COLUMN email_tocc varchar(255);
|
ALTER TABLE llx_c_email_templates ADD COLUMN email_tocc varchar(255);
|
||||||
ALTER TABLE llx_c_email_templates ADD COLUMN email_tobcc varchar(255);
|
ALTER TABLE llx_c_email_templates ADD COLUMN email_tobcc varchar(255);
|
||||||
ALTER TABLE llx_c_email_templates ADD COLUMN content_lines text;
|
ALTER TABLE llx_c_email_templates ADD COLUMN content_lines text;
|
||||||
|
ALTER TABLE llx_c_email_templates ADD COLUMN enabled varchar(255) DEFAULT '1';
|
||||||
|
|
||||||
ALTER TABLE llx_expedition ADD COLUMN billed smallint DEFAULT 0;
|
ALTER TABLE llx_expedition ADD COLUMN billed smallint DEFAULT 0;
|
||||||
|
|
||||||
ALTER TABLE llx_accounting_system MODIFY COLUMN pcg_version varchar(32) NOT NULL;
|
|
||||||
|
|
||||||
ALTER TABLE llx_user DROP COLUMN idpers1;
|
ALTER TABLE llx_user DROP COLUMN idpers1;
|
||||||
ALTER TABLE llx_user DROP COLUMN idpers2;
|
ALTER TABLE llx_user DROP COLUMN idpers2;
|
||||||
ALTER TABLE llx_user DROP COLUMN idpers3;
|
ALTER TABLE llx_user DROP COLUMN idpers3;
|
||||||
@ -54,31 +55,32 @@ ALTER TABLE llx_user DROP COLUMN idpers3;
|
|||||||
|
|
||||||
-- v17
|
-- v17
|
||||||
|
|
||||||
ALTER TABLE llx_facture ADD COLUMN close_missing_amount double(24, 8) after close_code;
|
ALTER TABLE llx_adherent ADD COLUMN default_lang VARCHAR(6) DEFAULT NULL AFTER datefin;
|
||||||
|
|
||||||
ALTER TABLE llx_facture_fourn ADD COLUMN close_missing_amount double(24, 8) after close_code;
|
|
||||||
|
|
||||||
-- Allow users to make subscriptions of any amount during membership subscription
|
|
||||||
ALTER TABLE llx_adherent_type ADD COLUMN caneditamount integer DEFAULT 0 AFTER amount;
|
ALTER TABLE llx_adherent_type ADD COLUMN caneditamount integer DEFAULT 0 AFTER amount;
|
||||||
|
-- Allow users to make subscriptions of any amount during membership subscription
|
||||||
ALTER TABLE llx_inventory ADD COLUMN categories_product VARCHAR(255) DEFAULT NULL AFTER fk_product;
|
|
||||||
|
|
||||||
ALTER TABLE llx_ticket ADD COLUMN ip varchar(250);
|
|
||||||
|
|
||||||
ALTER TABLE llx_societe ADD last_main_doc VARCHAR(255) NULL AFTER model_pdf;
|
|
||||||
|
|
||||||
ALTER TABLE llx_emailcollector_emailcollector ADD COLUMN port varchar(10) DEFAULT '993';
|
|
||||||
|
|
||||||
ALTER TABLE llx_bank ADD COLUMN position integer DEFAULT 0;
|
ALTER TABLE llx_bank ADD COLUMN position integer DEFAULT 0;
|
||||||
|
|
||||||
ALTER TABLE llx_commande_fournisseur_dispatch ADD INDEX idx_commande_fournisseur_dispatch_fk_product (fk_product);
|
ALTER TABLE llx_commande_fournisseur_dispatch ADD INDEX idx_commande_fournisseur_dispatch_fk_product (fk_product);
|
||||||
|
|
||||||
ALTER TABLE llx_recruitment_recruitmentcandidature ADD email_date datetime after email_msgid;
|
|
||||||
ALTER TABLE llx_ticket ADD email_date datetime after email_msgid;
|
|
||||||
|
|
||||||
INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('MAIN_SECURITY_MAX_IMG_IN_HTML_CONTENT', 1, 1000, 'int', 0);
|
INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('MAIN_SECURITY_MAX_IMG_IN_HTML_CONTENT', 1, 1000, 'int', 0);
|
||||||
|
|
||||||
ALTER TABLE llx_adherent ADD COLUMN default_lang VARCHAR(6) DEFAULT NULL AFTER datefin;
|
ALTER TABLE llx_emailcollector_emailcollector ADD COLUMN port varchar(10) DEFAULT '993';
|
||||||
|
|
||||||
|
ALTER TABLE llx_facture ADD COLUMN close_missing_amount double(24, 8) after close_code;
|
||||||
|
|
||||||
|
ALTER TABLE llx_facture_fourn ADD COLUMN close_missing_amount double(24, 8) after close_code;
|
||||||
|
|
||||||
|
ALTER TABLE llx_inventory ADD COLUMN categories_product VARCHAR(255) DEFAULT NULL AFTER fk_product;
|
||||||
|
|
||||||
-- Make sell-by or eat-by date mandatory
|
|
||||||
ALTER TABLE llx_product ADD COLUMN sell_or_eat_by_mandatory tinyint DEFAULT 0 NOT NULL AFTER tobatch;
|
ALTER TABLE llx_product ADD COLUMN sell_or_eat_by_mandatory tinyint DEFAULT 0 NOT NULL AFTER tobatch;
|
||||||
|
-- Make sell-by or eat-by date mandatory
|
||||||
|
|
||||||
|
ALTER TABLE llx_recruitment_recruitmentcandidature ADD email_date datetime after email_msgid;
|
||||||
|
|
||||||
|
ALTER TABLE llx_societe ADD last_main_doc VARCHAR(255) NULL AFTER model_pdf;
|
||||||
|
|
||||||
|
ALTER TABLE llx_ticket ADD COLUMN ip varchar(250);
|
||||||
|
|
||||||
|
ALTER TABLE llx_ticket ADD email_date datetime after email_msgid;
|
||||||
|
|||||||
@ -83,7 +83,7 @@ if ($db->ok) {
|
|||||||
print '<input id="login" name="login" type="text" value="'.(GETPOSTISSET("login") ? GETPOST("login", 'alpha') : (isset($force_install_dolibarrlogin) ? $force_install_dolibarrlogin : '')).'"'.(@$force_install_noedit == 2 && $force_install_dolibarrlogin !== null ? ' disabled' : '').' autofocus></td></tr>';
|
print '<input id="login" name="login" type="text" value="'.(GETPOSTISSET("login") ? GETPOST("login", 'alpha') : (isset($force_install_dolibarrlogin) ? $force_install_dolibarrlogin : '')).'"'.(@$force_install_noedit == 2 && $force_install_dolibarrlogin !== null ? ' disabled' : '').' autofocus></td></tr>';
|
||||||
print '<tr><td><label for="pass">'.$langs->trans("Password").' :</label></td><td>';
|
print '<tr><td><label for="pass">'.$langs->trans("Password").' :</label></td><td>';
|
||||||
print '<input type="password" id="pass" name="pass" autocomplete="new-password" minlength="8"></td></tr>';
|
print '<input type="password" id="pass" name="pass" autocomplete="new-password" minlength="8"></td></tr>';
|
||||||
print '<tr><td><label for="pass_verif">'.$langs->trans("PasswordAgain").' :</label></td><td>';
|
print '<tr><td><label for="pass_verif">'.$langs->trans("PasswordRetype").' :</label></td><td>';
|
||||||
print '<input type="password" id="pass_verif" name="pass_verif" autocomplete="new-password" minlength="8"></td></tr>';
|
print '<input type="password" id="pass_verif" name="pass_verif" autocomplete="new-password" minlength="8"></td></tr>';
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +1,5 @@
|
|||||||
# Dolibarr language file - Source file is en_US - accountancy
|
# Dolibarr language file - Source file is en_US - accountancy
|
||||||
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s
|
Selectformat=حدد حجم الملف
|
||||||
|
ACCOUNTING_EXPORT_FORMAT=حدد حجم الملف
|
||||||
|
BackToChartofaccounts=مخطط إرجاع الحسابات
|
||||||
|
CountriesNotInEEC=بلدان غير أعضاء في المجموعة اﻹقتصادية أﻷوروبية
|
||||||
|
|||||||
@ -37,8 +37,8 @@ OtherInfo=معلومات اخرى
|
|||||||
DeleteCptCategory=إزالة حساب المحاسبة من المجموعة
|
DeleteCptCategory=إزالة حساب المحاسبة من المجموعة
|
||||||
ConfirmDeleteCptCategory=هل أنت متأكد أنك تريد إزالة هذا الحساب المحاسبي من مجموعة حسابات المحاسبة؟
|
ConfirmDeleteCptCategory=هل أنت متأكد أنك تريد إزالة هذا الحساب المحاسبي من مجموعة حسابات المحاسبة؟
|
||||||
JournalizationInLedgerStatus=حالة اليوميات
|
JournalizationInLedgerStatus=حالة اليوميات
|
||||||
AlreadyInGeneralLedger=Already transferred to accounting journals and ledger
|
AlreadyInGeneralLedger=تم نقلها بالفعل إلى دفاتر اليومية المحاسبية ودفتر الأستاذ
|
||||||
NotYetInGeneralLedger=Not yet transferred to accouting journals and ledger
|
NotYetInGeneralLedger=لم يتم نقلها بعد إلى المجلات ودفتر الأستاذ
|
||||||
GroupIsEmptyCheckSetup=المجموعة فارغة ، تحقق من إعداد مجموعة المحاسبة المخصصة
|
GroupIsEmptyCheckSetup=المجموعة فارغة ، تحقق من إعداد مجموعة المحاسبة المخصصة
|
||||||
DetailByAccount=إظهار التفاصيل حسب الحساب
|
DetailByAccount=إظهار التفاصيل حسب الحساب
|
||||||
AccountWithNonZeroValues=الحسابات ذات القيم غير الصفرية
|
AccountWithNonZeroValues=الحسابات ذات القيم غير الصفرية
|
||||||
@ -62,24 +62,24 @@ MainAccountForSubscriptionPaymentNotDefined=حساب المحاسبة الرئي
|
|||||||
AccountancyArea=منطقة المحاسبة
|
AccountancyArea=منطقة المحاسبة
|
||||||
AccountancyAreaDescIntro=استخدام وحدة المحاسبة تم في عدة خطوات:
|
AccountancyAreaDescIntro=استخدام وحدة المحاسبة تم في عدة خطوات:
|
||||||
AccountancyAreaDescActionOnce=عادة ما يتم تنفيذ الإجراءات التالية مرة واحدة فقط ، أو مرة واحدة في السنة.
|
AccountancyAreaDescActionOnce=عادة ما يتم تنفيذ الإجراءات التالية مرة واحدة فقط ، أو مرة واحدة في السنة.
|
||||||
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you automaticaly the correct default accounting account when transferring data in accounting
|
AccountancyAreaDescActionOnceBis=يجب القيام بالخطوات التالية لتوفير الوقت في المستقبل من خلال اقتراح حساب المحاسبة الافتراضي الصحيح تلقائيًا عند نقل البيانات في المحاسبة
|
||||||
AccountancyAreaDescActionFreq=يتم تنفيذ الإجراءات التالية عادةً كل شهر أو أسبوع أو كل يوم للشركات الكبيرة جدًا .
|
AccountancyAreaDescActionFreq=يتم تنفيذ الإجراءات التالية عادةً كل شهر أو أسبوع أو كل يوم للشركات الكبيرة جدًا .
|
||||||
|
|
||||||
AccountancyAreaDescJournalSetup=STEP %s: Check content of your journal list from menu %s
|
AccountancyAreaDescJournalSetup=الخطوة %s: تحقق من محتوى قائمة مجلاتك من القائمة %s
|
||||||
AccountancyAreaDescChartModel=الخطوة %s: تحقق من وجود نموذج لمخطط الحساب أو قم بإنشاء نموذج من القائمة %s
|
AccountancyAreaDescChartModel=الخطوة %s: تحقق من وجود نموذج لمخطط الحساب أو قم بإنشاء نموذج من القائمة %s
|
||||||
AccountancyAreaDescChart=الخطوة %s : حدد و / أو أكمل مخطط حسابك من القائمة %s
|
AccountancyAreaDescChart=الخطوة %s : حدد و / أو أكمل مخطط حسابك من القائمة %s
|
||||||
|
|
||||||
AccountancyAreaDescVat=الخطوة %s: تحديد حسابات المحاسبة لكل معدلات ضريبة القيمة المضافة. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescVat=الخطوة %s: تحديد حسابات المحاسبة لكل معدلات ضريبة القيمة المضافة. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescDefault=الخطوة %s: تحديد حسابات المحاسبة الافتراضية. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescDefault=الخطوة %s: تحديد حسابات المحاسبة الافتراضية. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of Expense report. For this, use the menu entry %s.
|
AccountancyAreaDescExpenseReport=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لكل نوع من أنواع تقرير المصاريف. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescSal=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لدفع الرواتب. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescSal=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لدفع الرواتب. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for Taxes (special expenses). For this, use the menu entry %s.
|
AccountancyAreaDescContrib=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للضرائب (نفقات خاصة). لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescDonation=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للتبرع. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescDonation=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للتبرع. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescSubscription=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لاشتراك الأعضاء. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescSubscription=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لاشتراك الأعضاء. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescMisc=الخطوة %s: تحديد الحساب الافتراضي الإلزامي وحسابات المحاسبة الافتراضية للمعاملات المتنوعة. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescMisc=الخطوة %s: تحديد الحساب الافتراضي الإلزامي وحسابات المحاسبة الافتراضية للمعاملات المتنوعة. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescLoan=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للقروض. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescLoan=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للقروض. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescBank=الخطوة %s: تحديد الحسابات المحاسبية ورمز دفتر اليومية لكل حساب بنكي والحسابات المالية. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescBank=الخطوة %s: تحديد الحسابات المحاسبية ورمز دفتر اليومية لكل حساب بنكي والحسابات المالية. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your Products/Services. For this, use the menu entry %s.
|
AccountancyAreaDescProd=الخطوة %s: تحديد حسابات المحاسبة لمنتجاتك / خدماتك. لهذا ، استخدم إدخال القائمة %s.
|
||||||
|
|
||||||
AccountancyAreaDescBind=الخطوة %s: تحقق من الربط بين سطور %s الحالية وحساب المحاسبة ، لتمكين التطبيق من تسجيل المعاملات في دفتر الأستاذ بنقرة واحدة. إكمال الارتباطات المفقودة. لهذا ، استخدم إدخال القائمة %s.
|
AccountancyAreaDescBind=الخطوة %s: تحقق من الربط بين سطور %s الحالية وحساب المحاسبة ، لتمكين التطبيق من تسجيل المعاملات في دفتر الأستاذ بنقرة واحدة. إكمال الارتباطات المفقودة. لهذا ، استخدم إدخال القائمة %s.
|
||||||
AccountancyAreaDescWriteRecords=الخطوة %s: اكتب المعاملات في دفتر الأستاذ. لهذا ، انتقل إلى القائمة <strong> %s </strong> ، وانقر فوق الزر <strong> %s </strong>.
|
AccountancyAreaDescWriteRecords=الخطوة %s: اكتب المعاملات في دفتر الأستاذ. لهذا ، انتقل إلى القائمة <strong> %s </strong> ، وانقر فوق الزر <strong> %s </strong>.
|
||||||
@ -112,7 +112,7 @@ MenuAccountancyClosure=اغلاق
|
|||||||
MenuAccountancyValidationMovements=اعتماد الحركات
|
MenuAccountancyValidationMovements=اعتماد الحركات
|
||||||
ProductsBinding=حسابات المنتجات
|
ProductsBinding=حسابات المنتجات
|
||||||
TransferInAccounting=التحويل في المحاسبة
|
TransferInAccounting=التحويل في المحاسبة
|
||||||
RegistrationInAccounting=Recording in accounting
|
RegistrationInAccounting=التسجيل في المحاسبة
|
||||||
Binding=ربط للحسابات
|
Binding=ربط للحسابات
|
||||||
CustomersVentilation=ربط فاتورة العميل
|
CustomersVentilation=ربط فاتورة العميل
|
||||||
SuppliersVentilation=ربط فاتورة المورد
|
SuppliersVentilation=ربط فاتورة المورد
|
||||||
@ -120,7 +120,7 @@ ExpenseReportsVentilation=ربط تقرير المصاريف
|
|||||||
CreateMvts=إنشاء معاملة جديدة
|
CreateMvts=إنشاء معاملة جديدة
|
||||||
UpdateMvts=تعديل معاملة
|
UpdateMvts=تعديل معاملة
|
||||||
ValidTransaction=اعتماد المعاملة
|
ValidTransaction=اعتماد المعاملة
|
||||||
WriteBookKeeping=Record transactions in accounting
|
WriteBookKeeping=تسجيل المعاملات في المحاسبة
|
||||||
Bookkeeping=دفتر حسابات
|
Bookkeeping=دفتر حسابات
|
||||||
BookkeepingSubAccount=حساب استاذ فرعي
|
BookkeepingSubAccount=حساب استاذ فرعي
|
||||||
AccountBalance=رصيد الحساب
|
AccountBalance=رصيد الحساب
|
||||||
@ -132,7 +132,7 @@ InvoiceLinesDone=بنود الفواتير المقيدة
|
|||||||
ExpenseReportLines=بنود تقارير المصاريف المراد ربطها
|
ExpenseReportLines=بنود تقارير المصاريف المراد ربطها
|
||||||
ExpenseReportLinesDone=البنود المقيدة لتقارير المصروفات
|
ExpenseReportLinesDone=البنود المقيدة لتقارير المصروفات
|
||||||
IntoAccount=ربط البند مع حساب المحاسبة
|
IntoAccount=ربط البند مع حساب المحاسبة
|
||||||
TotalForAccount=Total accounting account
|
TotalForAccount=حساب المحاسبة الإجمالي
|
||||||
|
|
||||||
|
|
||||||
Ventilate=ربط
|
Ventilate=ربط
|
||||||
@ -156,12 +156,12 @@ ACCOUNTING_LENGTH_DESCRIPTION=اقتطاع وصف المنتج والخدمات
|
|||||||
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=اقتطاع نموذج وصف حساب المنتجات والخدمات في القوائم بعد حرف x (الأفضل = 50)
|
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=اقتطاع نموذج وصف حساب المنتجات والخدمات في القوائم بعد حرف x (الأفضل = 50)
|
||||||
ACCOUNTING_LENGTH_GACCOUNT=طول حسابات المحاسبة العامة (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "706" مثل "706000" على الشاشة)
|
ACCOUNTING_LENGTH_GACCOUNT=طول حسابات المحاسبة العامة (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "706" مثل "706000" على الشاشة)
|
||||||
ACCOUNTING_LENGTH_AACCOUNT=طول حسابات الطرف الثالث المحاسبية (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "401" مثل "401000" على الشاشة)
|
ACCOUNTING_LENGTH_AACCOUNT=طول حسابات الطرف الثالث المحاسبية (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "401" مثل "401000" على الشاشة)
|
||||||
ACCOUNTING_MANAGE_ZERO=السماح بإدارة عدد مختلف من الأصفار في نهاية الحساب المحاسبي. تحتاجه بعض الدول (مثل سويسرا). إذا تم الضبط على إيقاف (افتراضي) ، يمكنك تعيين المعاملين التاليتين لتطلب من التطبيق إضافة أصفار افتراضية.
|
ACCOUNTING_MANAGE_ZERO=السماح بإدارة عدد مختلف من الأصفار في نهاية الحساب المحاسبي. تحتاجه بعض الدول (مثل سويسرا). إذا تم الضبط على إيقاف (افتراضي) ، يمكنك برمجة اﻹعدادين التاليين لتطلب من التطبيق إضافة أصفار افتراضية.
|
||||||
BANK_DISABLE_DIRECT_INPUT=تعطيل التسجيل المباشر للمعاملة في الحساب المصرفي
|
BANK_DISABLE_DIRECT_INPUT=تعطيل التسجيل المباشر للمعاملة في الحساب المصرفي
|
||||||
ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=تفعيل تصدير المسودة الى دفتر اليومية
|
ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=إتاحة تصدير المسودة الى الدفتر اليومي\n
|
||||||
ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value)
|
ACCOUNTANCY_COMBO_FOR_AUX=تمكين قائمة التحرير والسرد للحساب الفرعي (قد يكون بطيئًا إذا كان لديك الكثير من الأطراف الثالثة ، أو كسر القدرة على البحث عن جزء من القيمة)
|
||||||
ACCOUNTING_DATE_START_BINDING=تحديد موعد لبدء الربط والتحويل في المحاسبة. بعد هذا التاريخ ، لن يتم تحويل المعاملات إلى المحاسبة.
|
ACCOUNTING_DATE_START_BINDING=تحديد موعد لبدء الربط والتحويل في المحاسبة. بعد هذا التاريخ ، لن يتم تحويل المعاملات إلى المحاسبة.
|
||||||
ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=في نقل المحاسبة ، حدد فترة العرض بشكل افتراضي
|
ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=في تحويل المحاسبة ، ما هي الفترة المحددة افتراضيا
|
||||||
|
|
||||||
ACCOUNTING_SELL_JOURNAL=دفتر البيع اليومي
|
ACCOUNTING_SELL_JOURNAL=دفتر البيع اليومي
|
||||||
ACCOUNTING_PURCHASE_JOURNAL=دفتر الشراء اليومي
|
ACCOUNTING_PURCHASE_JOURNAL=دفتر الشراء اليومي
|
||||||
@ -182,7 +182,7 @@ DONATION_ACCOUNTINGACCOUNT=حساب تسجيل التبرعات
|
|||||||
ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=حساب تسجيل الاشتراكات
|
ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=حساب تسجيل الاشتراكات
|
||||||
|
|
||||||
ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=حساب افتراضي لتسجيل إيداع العميل
|
ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=حساب افتراضي لتسجيل إيداع العميل
|
||||||
UseAuxiliaryAccountOnCustomerDeposit=Use sub-accounts on customer deposit lines
|
UseAuxiliaryAccountOnCustomerDeposit=تخزين حساب العميل كحساب فردي في دفتر الأستاذ الفرعي لخطوط الدفعات المقدمة (إذا تم تعطيله ، فسيظل الحساب الفردي لبنود الدَفعة المقدمة فارغًا)
|
||||||
|
|
||||||
ACCOUNTING_PRODUCT_BUY_ACCOUNT=حساب افتراضي للمنتجات المشتراة (يستخدم إذا لم يتم تحديده في ورقة المنتج)
|
ACCOUNTING_PRODUCT_BUY_ACCOUNT=حساب افتراضي للمنتجات المشتراة (يستخدم إذا لم يتم تحديده في ورقة المنتج)
|
||||||
ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=حساب افتراضي للمنتجات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة المنتج)
|
ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=حساب افتراضي للمنتجات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة المنتج)
|
||||||
@ -193,7 +193,7 @@ ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=حساب افتراضي للمنتجات
|
|||||||
|
|
||||||
ACCOUNTING_SERVICE_BUY_ACCOUNT=حساب افتراضي للخدمات المشتراة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
ACCOUNTING_SERVICE_BUY_ACCOUNT=حساب افتراضي للخدمات المشتراة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
||||||
ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=حساب افتراضي للخدمات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=حساب افتراضي للخدمات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
||||||
ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=حساب افتراضي للخدمات المشتراة والمستوردة من الاتحاد الاوروبي (تُستخدم إذا لم يتم تحديدها في ورقة الخدمة)
|
ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=حساب افتراضي للخدمات المشتراة والمستوردة من المجموعة اﻹقتصادية اﻷوروبية(تُستخدم إذا لم يتم تحديدها في ورقة الخدمة)
|
||||||
ACCOUNTING_SERVICE_SOLD_ACCOUNT=حساب افتراضي للخدمات المباعة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
ACCOUNTING_SERVICE_SOLD_ACCOUNT=حساب افتراضي للخدمات المباعة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
||||||
ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=حساب افتراضي للخدمات المباعة في الاتحاد الاوروبي (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=حساب افتراضي للخدمات المباعة في الاتحاد الاوروبي (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
|
||||||
ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=حساب افتراضي للخدمات المباعة والمصدرة من الاتحاد الاوروبي (تُستخدم إذا لم يتم تحديدها في ورقة الخدمة)
|
ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=حساب افتراضي للخدمات المباعة والمصدرة من الاتحاد الاوروبي (تُستخدم إذا لم يتم تحديدها في ورقة الخدمة)
|
||||||
@ -203,29 +203,29 @@ Docdate=التاريخ
|
|||||||
Docref=مرجع
|
Docref=مرجع
|
||||||
LabelAccount=Label account
|
LabelAccount=Label account
|
||||||
LabelOperation=Label operation
|
LabelOperation=Label operation
|
||||||
Sens=الاتجاه
|
Sens=الادارة
|
||||||
AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received<br>For an accounting account of a supplier, use Debit to record a payment you made
|
AccountingDirectionHelp=بالنسبة لحساب محاسبي لعميل ، استخدم الائتمان لتسجيل دفعة تلقيتها <br> بالنسبة لحساب محاسبي لمورد ، استخدم الخصم لتسجيل دفعة قمت بها
|
||||||
LetteringCode=Lettering code
|
LetteringCode=Lettering code
|
||||||
Lettering=Lettering
|
Lettering=Lettering
|
||||||
Codejournal=دفتر اليومية
|
Codejournal=دفتر اليومية
|
||||||
JournalLabel=اسم دفتر اليومية
|
JournalLabel=اسم دفتر اليومية
|
||||||
NumPiece=Piece number
|
NumPiece=رقم القطعة
|
||||||
TransactionNumShort=رقم. العملية
|
TransactionNumShort=رقم. العملية
|
||||||
AccountingCategory=Custom group
|
AccountingCategory=مجموعة مخصصة
|
||||||
GroupByAccountAccounting=تجميع حسب حساب دفتر الأستاذ العام
|
GroupByAccountAccounting=تجميع حسب حساب دفتر الأستاذ العام
|
||||||
GroupBySubAccountAccounting=تجميع حسب حساب دفتر الأستاذ الفرعي
|
GroupBySubAccountAccounting=تجميع حسب حساب دفتر الأستاذ الفرعي
|
||||||
AccountingAccountGroupsDesc=يمكنك هنا تحديد بعض مجموعات الحساب. سيتم استخدامها لتقارير المحاسبة الشخصية.
|
AccountingAccountGroupsDesc=يمكنك هنا تحديد بعض مجموعات الحساب. سيتم استخدامها لتقارير المحاسبة الشخصية.
|
||||||
ByAccounts=حسب الحسابات
|
ByAccounts=حسب الحسابات
|
||||||
ByPredefinedAccountGroups=من خلال مجموعات محددة مسبقًا
|
ByPredefinedAccountGroups=من خلال مجموعات محددة مسبقًا
|
||||||
ByPersonalizedAccountGroups=بواسطة مجموعات شخصية
|
ByPersonalizedAccountGroups=بواسطة مجموعات شخصية
|
||||||
ByYear=بحلول العام
|
ByYear=سنويا
|
||||||
NotMatch=Not Set
|
NotMatch=Not Set
|
||||||
DeleteMvt=Delete some lines from accounting
|
DeleteMvt=حذف بعض البنود من المحاسبة
|
||||||
DelMonth=شهر للحذف
|
DelMonth=شهر للحذف
|
||||||
DelYear=السنة للحذف
|
DelYear=السنة للحذف
|
||||||
DelJournal=دفتر يومية للحذف
|
DelJournal=دفتر يومية للحذف
|
||||||
ConfirmDeleteMvt=This will delete all lines in accountancy for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger.
|
ConfirmDeleteMvt=سيؤدي هذا إلى حذف جميع سطور المحاسبة للسنة / الشهر و / أو لمجلة معينة (مطلوب معيار واحد على الأقل). سيتعين عليك إعادة استخدام الميزة "%s" لإعادة السجل المحذوف إلى دفتر الأستاذ.
|
||||||
ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all lines related to the same transaction will be deleted)
|
ConfirmDeleteMvtPartial=سيؤدي هذا إلى حذف المعاملة من المحاسبة (سيتم حذف جميع الأسطر المتعلقة بنفس المعاملة)
|
||||||
FinanceJournal=دفتر المالية اليومي
|
FinanceJournal=دفتر المالية اليومي
|
||||||
ExpenseReportsJournal=دفتر تقارير المصاريف
|
ExpenseReportsJournal=دفتر تقارير المصاريف
|
||||||
DescFinanceJournal=دفتر المالية اليومي المتضمن لجميع الدفعات عن طريق الحساب المصرفي
|
DescFinanceJournal=دفتر المالية اليومي المتضمن لجميع الدفعات عن طريق الحساب المصرفي
|
||||||
@ -247,9 +247,9 @@ DescThirdPartyReport=راجع هنا قائمة العملاء والموردي
|
|||||||
ListAccounts=قائمة الحسابات المحاسبية
|
ListAccounts=قائمة الحسابات المحاسبية
|
||||||
UnknownAccountForThirdparty=حساب طرف ثالث غير معروف. سوف نستخدم %s
|
UnknownAccountForThirdparty=حساب طرف ثالث غير معروف. سوف نستخدم %s
|
||||||
UnknownAccountForThirdpartyBlocking=حساب طرف ثالث غير معروف. خطأ في المنع
|
UnknownAccountForThirdpartyBlocking=حساب طرف ثالث غير معروف. خطأ في المنع
|
||||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s
|
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=حساب دفتر الأستاذ الفرعي غير محدد أو الطرف الثالث أو المستخدم غير معروف. سوف نستخدم %s
|
||||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=طرف ثالث غير معروف ودفتر الأستاذ الفرعي غير محدد في الدفعة. سنبقي قيمة حساب دفتر الأستاذ الفرعي فارغة.
|
ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=طرف ثالث غير معروف ودفتر الأستاذ الفرعي غير محدد في الدفعة. سنبقي قيمة حساب دفتر الأستاذ الفرعي فارغة.
|
||||||
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error.
|
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=حساب دفتر الأستاذ الفرعي غير محدد أو الطرف الثالث أو المستخدم غير معروف. خطأ في المنع.
|
||||||
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=حساب طرف ثالث وحساب قيد الانتظار غير معرّفين. خطأ في المنع
|
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=حساب طرف ثالث وحساب قيد الانتظار غير معرّفين. خطأ في المنع
|
||||||
PaymentsNotLinkedToProduct=الدفع غير مرتبط بأي منتج / خدمة
|
PaymentsNotLinkedToProduct=الدفع غير مرتبط بأي منتج / خدمة
|
||||||
OpeningBalance=الرصيد الافتتاحي
|
OpeningBalance=الرصيد الافتتاحي
|
||||||
@ -279,31 +279,31 @@ DescVentilExpenseReportMore=إذا قمت بإعداد حساب على نوع ب
|
|||||||
DescVentilDoneExpenseReport=راجع هنا قائمة بنود تقارير المصروفات وحساب رسومها
|
DescVentilDoneExpenseReport=راجع هنا قائمة بنود تقارير المصروفات وحساب رسومها
|
||||||
|
|
||||||
Closure=الإغلاق السنوي
|
Closure=الإغلاق السنوي
|
||||||
DescClosure=Consult here the number of movements by month who are not yet validated & locked
|
DescClosure=Consult here the number of movements by month not yet validated & locked
|
||||||
OverviewOfMovementsNotValidated=Overview of movements not validated and locked
|
OverviewOfMovementsNotValidated=نظرة عامة على الحركات التي لم يتم التحقق من صحتها وإغلاقها
|
||||||
AllMovementsWereRecordedAsValidated=All movements were recorded as validated and locked
|
AllMovementsWereRecordedAsValidated=تم تسجيل جميع الحركات على أنها محققة ومغلقة
|
||||||
NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated and locked
|
NotAllMovementsCouldBeRecordedAsValidated=لا يمكن تسجيل جميع الحركات على أنها تم التحقق من صحتها وقفلها
|
||||||
ValidateMovements=Validate and lock record...
|
ValidateMovements=التحقق من صحة السجل وقفله ...
|
||||||
DescValidateMovements=سيتم حظر أي تعديل أو حذف للكتابة والحروف. يجب اعتماد جميع الإدخالات الخاصة بالتمرين وإلا فلن يكون الإغلاق ممكنًا
|
DescValidateMovements=سيتم حظر أي تعديل أو حذف للكتابة والحروف. يجب اعتماد جميع الإدخالات الخاصة بالتمرين وإلا فلن يكون الإغلاق ممكنًا
|
||||||
|
|
||||||
ValidateHistory=ربط تلقائي
|
ValidateHistory=ربط تلقائي
|
||||||
AutomaticBindingDone=Automatic bindings done (%s) - Automatic binding not possible for some record (%s)
|
AutomaticBindingDone=تم إجراء عمليات ربط تلقائية (%s) - الربط التلقائي غير ممكن لبعض السجلات (%s)
|
||||||
|
|
||||||
ErrorAccountancyCodeIsAlreadyUse=خطأ، لا يمكنك حذف هذا الحساب المحاسبي لأنه مستخدم
|
ErrorAccountancyCodeIsAlreadyUse=خطأ، لا يمكنك حذف هذا الحساب المحاسبي لأنه مستخدم
|
||||||
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s & Credit = %s
|
MvtNotCorrectlyBalanced=الحركة غير متوازنة بشكل صحيح. الخصم = %s والائتمان = %s
|
||||||
Balancing=موازنة
|
Balancing=موازنة
|
||||||
FicheVentilation=بطاقة مرتبطة
|
FicheVentilation=بطاقة مرتبطة
|
||||||
GeneralLedgerIsWritten=المعاملات مكتوبة في دفتر الأستاذ
|
GeneralLedgerIsWritten=المعاملات مكتوبة في دفتر الأستاذ
|
||||||
GeneralLedgerSomeRecordWasNotRecorded=لا يمكن تسجيل بعض المعاملات. إذا لم تكن هناك رسالة خطأ أخرى ، فربما يكون ذلك بسبب تسجيلها في دفتر اليومية بالفعل.
|
GeneralLedgerSomeRecordWasNotRecorded=لا يمكن تسجيل بعض المعاملات. إذا لم تكن هناك رسالة خطأ أخرى ، فربما يكون ذلك بسبب تسجيلها في دفتر اليومية بالفعل.
|
||||||
NoNewRecordSaved=No more record to transfer
|
NoNewRecordSaved=لا يوجد المزيد من السجلات لنقلها
|
||||||
ListOfProductsWithoutAccountingAccount=قائمة المنتجات غير مرتبطة بأي حساب
|
ListOfProductsWithoutAccountingAccount=قائمة المنتجات غير مرتبطة بأي حساب
|
||||||
ChangeBinding=تغيير الربط
|
ChangeBinding=تغيير الربط
|
||||||
Accounted=حسب في دفتر الأستاذ
|
Accounted=حسب في دفتر الأستاذ
|
||||||
NotYetAccounted=Not yet transferred to accounting
|
NotYetAccounted=لم يتم تحويلها بعد إلى المحاسبة
|
||||||
ShowTutorial=عرض البرنامج التعليمي
|
ShowTutorial=عرض البرنامج التعليمي
|
||||||
NotReconciled=لم يتم تسويتة
|
NotReconciled=لم يتم تسويتة
|
||||||
WarningRecordWithoutSubledgerAreExcluded=Warning, all lines without subledger account defined are filtered and excluded from this view
|
WarningRecordWithoutSubledgerAreExcluded=تحذير ، كل الأسطر التي لم يتم تحديد حساب دفتر الأستاذ الفرعي تتم تصفيتها واستبعادها من طريقة العرض هذه
|
||||||
AccountRemovedFromCurrentChartOfAccount=Accounting account that does not exist in the current chart of accounts
|
AccountRemovedFromCurrentChartOfAccount=حساب محاسبي غير موجود في مخطط الحسابات الحالي
|
||||||
|
|
||||||
## Admin
|
## Admin
|
||||||
BindingOptions=خيارات الربط
|
BindingOptions=خيارات الربط
|
||||||
@ -320,7 +320,7 @@ AccountingJournalType2=مبيعات
|
|||||||
AccountingJournalType3=مشتريات
|
AccountingJournalType3=مشتريات
|
||||||
AccountingJournalType4=بنك
|
AccountingJournalType4=بنك
|
||||||
AccountingJournalType5=تقرير مصروفات
|
AccountingJournalType5=تقرير مصروفات
|
||||||
AccountingJournalType8=المخزون
|
AccountingJournalType8=الجرد
|
||||||
AccountingJournalType9=Has-new
|
AccountingJournalType9=Has-new
|
||||||
ErrorAccountingJournalIsAlreadyUse=هذه الدفتر مستخدم بالفعل
|
ErrorAccountingJournalIsAlreadyUse=هذه الدفتر مستخدم بالفعل
|
||||||
AccountingAccountForSalesTaxAreDefinedInto=ملاحظة: تم تعريف حساب ضريبة المبيعات في القائمة <b> %s </b> - <b> %s </b>
|
AccountingAccountForSalesTaxAreDefinedInto=ملاحظة: تم تعريف حساب ضريبة المبيعات في القائمة <b> %s </b> - <b> %s </b>
|
||||||
@ -331,10 +331,10 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=تعطيل الربط والتحويل
|
|||||||
ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=تعطيل الربط والتحويل في المحاسبة على تقارير المصروفات (لن يتم أخذ تقارير المصروفات في الاعتبار في المحاسبة)
|
ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=تعطيل الربط والتحويل في المحاسبة على تقارير المصروفات (لن يتم أخذ تقارير المصروفات في الاعتبار في المحاسبة)
|
||||||
|
|
||||||
## Export
|
## Export
|
||||||
NotifiedExportDate=Flag exported lines as Exported <span class="warning">(to modify a line, you will need to delete the whole transaction and re-transfert it into accounting)</span>
|
NotifiedExportDate=ضع علامة على الخطوط المصدرة كـ <span class="warning"> (لتعديل سطر ، ستحتاج إلى حذف المعاملة بالكامل وإعادة تحويلها إلى المحاسبة) </span>
|
||||||
NotifiedValidationDate=Validate and Lock the exported entries <span class="warning">(same effect than the "Closure" feature, modification and deletion of the lines will DEFINITELY not be possible)</span>
|
NotifiedValidationDate=Validate and Lock the exported entries <span class="warning">(same effect than the "Closure" feature, modification and deletion of the lines will DEFINITELY not be possible)</span>
|
||||||
DateValidationAndLock=Date validation and lock
|
DateValidationAndLock=التحقق من صحة التاريخ والقفل
|
||||||
ConfirmExportFile=Confirmation of the generation of the accounting export file ?
|
ConfirmExportFile=تأكيد إنشاء ملف محاسبي تصدير؟
|
||||||
ExportDraftJournal=تصدير مسودة دفتر اليومية
|
ExportDraftJournal=تصدير مسودة دفتر اليومية
|
||||||
Modelcsv=نموذج التصدير
|
Modelcsv=نموذج التصدير
|
||||||
Selectmodelcsv=تحديد نموذج للتصدير
|
Selectmodelcsv=تحديد نموذج للتصدير
|
||||||
@ -342,11 +342,11 @@ Modelcsv_normal=تصدير كلاسيكي
|
|||||||
Modelcsv_CEGID=Export for CEGID Expert Comptabilité
|
Modelcsv_CEGID=Export for CEGID Expert Comptabilité
|
||||||
Modelcsv_COALA=Export for Sage Coala
|
Modelcsv_COALA=Export for Sage Coala
|
||||||
Modelcsv_bob50=Export for Sage BOB 50
|
Modelcsv_bob50=Export for Sage BOB 50
|
||||||
Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT)
|
Modelcsv_ciel=تصدير لـ Sage50 أو Ciel Compta أو Compta Evo. (تنسيق XIMPORT)
|
||||||
Modelcsv_quadratus=Export for Quadratus QuadraCompta
|
Modelcsv_quadratus=Export for Quadratus QuadraCompta
|
||||||
Modelcsv_ebp=Export for EBP
|
Modelcsv_ebp=Export for EBP
|
||||||
Modelcsv_cogilog=Export for Cogilog
|
Modelcsv_cogilog=Export for Cogilog
|
||||||
Modelcsv_agiris=Export for Agiris Isacompta
|
Modelcsv_agiris=تصدير إلى Agiris Isacompta
|
||||||
Modelcsv_LDCompta=Export for LD Compta (v9) (Test)
|
Modelcsv_LDCompta=Export for LD Compta (v9) (Test)
|
||||||
Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
|
Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
|
||||||
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
||||||
@ -354,10 +354,10 @@ Modelcsv_configurable=Export CSV Configurable
|
|||||||
Modelcsv_FEC=Export FEC
|
Modelcsv_FEC=Export FEC
|
||||||
Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
|
Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
|
||||||
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
||||||
Modelcsv_winfic=Export for Winfic - eWinfic - WinSis Compta
|
Modelcsv_winfic=تصدير لـ Winfic - eWinfic - WinSis Compta
|
||||||
Modelcsv_Gestinumv3=Export for Gestinum (v3)
|
Modelcsv_Gestinumv3=Export for Gestinum (v3)
|
||||||
Modelcsv_Gestinumv5=Export for Gestinum (v5)
|
Modelcsv_Gestinumv5=تصدير لـ Gestinum (v5)
|
||||||
Modelcsv_charlemagne=Export for Aplim Charlemagne
|
Modelcsv_charlemagne=تصدير لأبليم شارلمان
|
||||||
ChartofaccountsId=معرف دليل الحسابات
|
ChartofaccountsId=معرف دليل الحسابات
|
||||||
|
|
||||||
## Tools - Init accounting account on product / service
|
## Tools - Init accounting account on product / service
|
||||||
@ -390,27 +390,27 @@ SaleExport=بيع تصدير
|
|||||||
SaleEEC=بيع في الاتحاد الاوروبي
|
SaleEEC=بيع في الاتحاد الاوروبي
|
||||||
SaleEECWithVAT=البيع في EEC مع ضريبة القيمة المضافة ليست فارغة ، لذلك نفترض أن هذا ليس بيعًا داخل الاتحاد والحساب المقترح هو حساب المنتج القياسي.
|
SaleEECWithVAT=البيع في EEC مع ضريبة القيمة المضافة ليست فارغة ، لذلك نفترض أن هذا ليس بيعًا داخل الاتحاد والحساب المقترح هو حساب المنتج القياسي.
|
||||||
SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed.
|
SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed.
|
||||||
ForbiddenTransactionAlreadyExported=Forbidden: The transaction has been validated and/or exported.
|
ForbiddenTransactionAlreadyExported=ممنوع: تم التحقق من صحة المعاملة و / أو تصديرها.
|
||||||
ForbiddenTransactionAlreadyValidated=Forbidden: The transaction has been validated.
|
ForbiddenTransactionAlreadyValidated=ممنوع: تم التحقق من صحة المعاملة.
|
||||||
## Dictionary
|
## Dictionary
|
||||||
Range=نطاق الحساب
|
Range=نطاق الحساب
|
||||||
Calculated=تم حسابه
|
Calculated=تم حسابه
|
||||||
Formula=معادلة
|
Formula=معادلة
|
||||||
|
|
||||||
## Reconcile
|
## Reconcile
|
||||||
Unlettering=Unreconcile
|
Unlettering=غير قابل للتوفيق
|
||||||
AccountancyNoLetteringModified=No reconcile modified
|
AccountancyNoLetteringModified=لم يتم تعديل تسوية
|
||||||
AccountancyOneLetteringModifiedSuccessfully=One reconcile successfully modified
|
AccountancyOneLetteringModifiedSuccessfully=تم تعديل أحد التوفيق بنجاح
|
||||||
AccountancyLetteringModifiedSuccessfully=%s reconcile successfully modified
|
AccountancyLetteringModifiedSuccessfully=تعديل %s بنجاح
|
||||||
AccountancyNoUnletteringModified=No unreconcile modified
|
AccountancyNoUnletteringModified=لم يتم تعديل عدم التوفيق بينها
|
||||||
AccountancyOneUnletteringModifiedSuccessfully=One unreconcile successfully modified
|
AccountancyOneUnletteringModifiedSuccessfully=تم تعديل أحد ملفات التوفيق بنجاح
|
||||||
AccountancyUnletteringModifiedSuccessfully=%s unreconcile successfully modified
|
AccountancyUnletteringModifiedSuccessfully=تم تعديل %s بنجاح
|
||||||
|
|
||||||
## Confirm box
|
## Confirm box
|
||||||
ConfirmMassUnlettering=Bulk Unreconcile confirmation
|
ConfirmMassUnlettering=تأكيد مجمّع غير قابل للتسوية
|
||||||
ConfirmMassUnletteringQuestion=Are you sure you want to Unreconcile the %s selected record(s)?
|
ConfirmMassUnletteringQuestion=هل أنت متأكد من أنك تريد إلغاء التوفيق بين التسجيلة (السجلات) المحددة %s؟
|
||||||
ConfirmMassDeleteBookkeepingWriting=تأكيد الحذف الضخم
|
ConfirmMassDeleteBookkeepingWriting=تأكيد الحذف الضخم
|
||||||
ConfirmMassDeleteBookkeepingWritingQuestion=This will delete the transaction from the accounting (all lines related to the same transaction will be deleted) Are you sure you want to delete the %s selected record(s)?
|
ConfirmMassDeleteBookkeepingWritingQuestion=سيؤدي هذا إلى حذف المعاملة من المحاسبة (سيتم حذف جميع الأسطر المتعلقة بنفس المعاملة) هل أنت متأكد من أنك تريد حذف السجل (السجلات) المحددة %s؟
|
||||||
|
|
||||||
## Error
|
## Error
|
||||||
SomeMandatoryStepsOfSetupWereNotDone=لم يتم تنفيذ بعض خطوات الإعداد الإلزامية ، يرجى إكمالها
|
SomeMandatoryStepsOfSetupWereNotDone=لم يتم تنفيذ بعض خطوات الإعداد الإلزامية ، يرجى إكمالها
|
||||||
@ -423,32 +423,33 @@ NoJournalDefined=لم يتم تحديد دفتر
|
|||||||
Binded=البنود مرتبطة
|
Binded=البنود مرتبطة
|
||||||
ToBind=بنود للربط
|
ToBind=بنود للربط
|
||||||
UseMenuToSetBindindManualy=البنود غير مرتبطة بعد ، استخدم القائمة <a href="%s"> %s </a> لإجراء الربط يدويًا
|
UseMenuToSetBindindManualy=البنود غير مرتبطة بعد ، استخدم القائمة <a href="%s"> %s </a> لإجراء الربط يدويًا
|
||||||
SorryThisModuleIsNotCompatibleWithTheExperimentalFeatureOfSituationInvoices=Sorry this module is not compatible with the experimental feature of situation invoices
|
SorryThisModuleIsNotCompatibleWithTheExperimentalFeatureOfSituationInvoices=عذرًا ، هذه الوحدة غير متوافقة مع الميزة التجريبية لفواتير الحالة
|
||||||
AccountancyErrorMismatchLetterCode=Mismatch in reconcile code
|
AccountancyErrorMismatchLetterCode=عدم تطابق في التوفيق بين الكود
|
||||||
AccountancyErrorMismatchBalanceAmount=The balance (%s) is not equal to 0
|
AccountancyErrorMismatchBalanceAmount=الرصيد (%s) لا يساوي 0
|
||||||
AccountancyErrorLetteringBookkeeping=Errors have occurred concerning the transactions: %s
|
AccountancyErrorLetteringBookkeeping=حدثت أخطاء بخصوص المعاملات: %s
|
||||||
|
ErrorAccountNumberAlreadyExists=رقم المحاسبة %s موجود بالفعل
|
||||||
|
|
||||||
## Import
|
## Import
|
||||||
ImportAccountingEntries=مداخيل حسابية
|
ImportAccountingEntries=مداخيل حسابية
|
||||||
ImportAccountingEntriesFECFormat=Accounting entries - FEC format
|
ImportAccountingEntriesFECFormat=قيود المحاسبة - شكل FEC
|
||||||
FECFormatJournalCode=Code journal (JournalCode)
|
FECFormatJournalCode=مجلة الكود (JournalCode)
|
||||||
FECFormatJournalLabel=Label journal (JournalLib)
|
FECFormatJournalLabel=مجلة التسمية (JournalLib)
|
||||||
FECFormatEntryNum=Piece number (EcritureNum)
|
FECFormatEntryNum=رقم القطعة (EcritureNum)
|
||||||
FECFormatEntryDate=Piece date (EcritureDate)
|
FECFormatEntryDate=تاريخ القطعة (EcritureDate)
|
||||||
FECFormatGeneralAccountNumber=General account number (CompteNum)
|
FECFormatGeneralAccountNumber=رقم الحساب العام (CompteNum)
|
||||||
FECFormatGeneralAccountLabel=General account label (CompteLib)
|
FECFormatGeneralAccountLabel=تصنيف الحساب العام (CompteLib)
|
||||||
FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum)
|
FECFormatSubledgerAccountNumber=رقم حساب دفتر الأستاذ الفرعي (CompAuxNum)
|
||||||
FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib)
|
FECFormatSubledgerAccountLabel=رقم حساب دفتر الأستاذ الفرعي (CompAuxLib)
|
||||||
FECFormatPieceRef=Piece ref (PieceRef)
|
FECFormatPieceRef=مرجع القطعة (PieceRef)
|
||||||
FECFormatPieceDate=Piece date creation (PieceDate)
|
FECFormatPieceDate=إنشاء تاريخ القطعة (تاريخ القطعة)
|
||||||
FECFormatLabelOperation=Label operation (EcritureLib)
|
FECFormatLabelOperation=عملية التسمية (EcritureLib)
|
||||||
FECFormatDebit=مدين (مدين)
|
FECFormatDebit=مدين (مدين)
|
||||||
FECFormatCredit=دائن (دائن)
|
FECFormatCredit=دائن (دائن)
|
||||||
FECFormatReconcilableCode=Reconcilable code (EcritureLet)
|
FECFormatReconcilableCode=كود قابل للتوفيق (EcritureLet)
|
||||||
FECFormatReconcilableDate=Reconcilable date (DateLet)
|
FECFormatReconcilableDate=تاريخ قابل للتسوية (DateLet)
|
||||||
FECFormatValidateDate=Piece date validated (ValidDate)
|
FECFormatValidateDate=تم التحقق من تاريخ القطعة (ValidDate)
|
||||||
FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise)
|
FECFormatMulticurrencyAmount=مبلغ متعدد العملات (Montantdevise)
|
||||||
FECFormatMulticurrencyCode=Multicurrency code (Idevise)
|
FECFormatMulticurrencyCode=كود متعدد العملات (ايديفيز)
|
||||||
|
|
||||||
DateExport=تاريخ التصدير
|
DateExport=تاريخ التصدير
|
||||||
WarningReportNotReliable=تحذير ، هذا التقرير لا يستند إلى دفتر الأستاذ ، لذلك لا يحتوي على معاملة تم تعديلها يدويًا في دفتر الأستاذ. إذا كان تسجيل دفتر اليومية الخاص بك محدثًا ، فسيكون عرض مسك الدفاتر أكثر دقة.
|
WarningReportNotReliable=تحذير ، هذا التقرير لا يستند إلى دفتر الأستاذ ، لذلك لا يحتوي على معاملة تم تعديلها يدويًا في دفتر الأستاذ. إذا كان تسجيل دفتر اليومية الخاص بك محدثًا ، فسيكون عرض مسك الدفاتر أكثر دقة.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -31,20 +31,21 @@ ViewWeek=عرض اسبوعي
|
|||||||
ViewPerUser=لكل وجهة نظر المستخدم
|
ViewPerUser=لكل وجهة نظر المستخدم
|
||||||
ViewPerType=العرض حسب النوع
|
ViewPerType=العرض حسب النوع
|
||||||
AutoActions= إكمال تلقائي
|
AutoActions= إكمال تلقائي
|
||||||
AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved.
|
AgendaAutoActionDesc= هنا يمكنك تحديد الأحداث التي تريد أن ينشئها Dolibarr تلقائيًا في الأجندة. إذا لم يتم تحديد أي شيء ، فسيتم تضمين الإجراءات اليدوية فقط في السجلات وعرضها في الأجندة. لن يتم حفظ التتبع التلقائي لإجراءات العمل التي تتم على الكائنات (التحقق من الصحة ، تغيير الحالة).
|
||||||
AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...)
|
AgendaSetupOtherDesc= توفر هذه الصفحة خيارات للسماح بتصدير أحداث Dolibarr إلى تقويم خارجي (Thunderbird وتقويم Google وما إلى ذلك ...)
|
||||||
AgendaExtSitesDesc=تسمح هذه الصفحة بالإعلان عن المصادر الخارجية للتقويمات لرؤية أحداثها في جدول أعمال Dolibarr.
|
AgendaExtSitesDesc=تسمح هذه الصفحة بالإعلان عن المصادر الخارجية للتقويمات لرؤية أحداثها في جدول أعمال Dolibarr.
|
||||||
ActionsEvents=الأحداث التي سيقوم دوليبار بإنشاء أعمال في جدول الأعمال بشكل تلقائي
|
ActionsEvents=الأحداث التي سيقوم دوليبار بإنشاء أعمال في جدول الأعمال بشكل تلقائي
|
||||||
EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup.
|
EventRemindersByEmailNotEnabled=لم يتم تمكين تذكيرات الأحداث عبر البريد الإلكتروني في إعداد الوحدة النمطية %s.
|
||||||
##### Agenda event labels #####
|
##### Agenda event labels #####
|
||||||
NewCompanyToDolibarr=تم إنشاء الطرف الثالث %s
|
NewCompanyToDolibarr=تم إنشاء الطرف الثالث %s
|
||||||
COMPANY_MODIFYInDolibarr=Third party %s modified
|
COMPANY_MODIFYInDolibarr=الطرف الثالث %s تم تعديله
|
||||||
COMPANY_DELETEInDolibarr=Third party %s deleted
|
COMPANY_DELETEInDolibarr=تم حذف %s الخاص بالطرف الثالث
|
||||||
ContractValidatedInDolibarr=العقد%s تم التأكد من صلاحيته
|
ContractValidatedInDolibarr=العقد%s تم التأكد من صلاحيته
|
||||||
CONTRACT_DELETEInDolibarr=Contract %s deleted
|
CONTRACT_DELETEInDolibarr=تم حذف العقد %s
|
||||||
PropalClosedSignedInDolibarr=الإقتراح%sتم توقعية
|
PropalClosedSignedInDolibarr=الإقتراح%sتم توقعية
|
||||||
PropalClosedRefusedInDolibarr=الإقتراح%s تم رفضة
|
PropalClosedRefusedInDolibarr=الإقتراح%s تم رفضة
|
||||||
PropalValidatedInDolibarr=اقتراح %s التحقق من صحة
|
PropalValidatedInDolibarr=اقتراح %s التحقق من صحة
|
||||||
|
PropalBackToDraftInDolibarr=الاقتراح %s يعود إلى حالة المسودة
|
||||||
PropalClassifiedBilledInDolibarr=الإقتراح%s تصنف تم دفعة
|
PropalClassifiedBilledInDolibarr=الإقتراح%s تصنف تم دفعة
|
||||||
InvoiceValidatedInDolibarr=تم التحقق من صحة الفاتورة %s
|
InvoiceValidatedInDolibarr=تم التحقق من صحة الفاتورة %s
|
||||||
InvoiceValidatedInDolibarrFromPos=الفاتورة%s تم التأكد من صلاحيتها من نقاط البيع
|
InvoiceValidatedInDolibarrFromPos=الفاتورة%s تم التأكد من صلاحيتها من نقاط البيع
|
||||||
@ -56,16 +57,17 @@ MemberValidatedInDolibarr=العضو%s التأكد من صلاحيته
|
|||||||
MemberModifiedInDolibarr=العضو %sتم تعديلة
|
MemberModifiedInDolibarr=العضو %sتم تعديلة
|
||||||
MemberResiliatedInDolibarr=العضو %sتم إنهاؤه
|
MemberResiliatedInDolibarr=العضو %sتم إنهاؤه
|
||||||
MemberDeletedInDolibarr=العضو %s تم حذفة
|
MemberDeletedInDolibarr=العضو %s تم حذفة
|
||||||
MemberSubscriptionAddedInDolibarr=Subscription %s for member %s added
|
MemberSubscriptionAddedInDolibarr=تمت إضافة اشتراك %s للعضو %s
|
||||||
MemberSubscriptionModifiedInDolibarr=Subscription %s for member %s modified
|
MemberSubscriptionModifiedInDolibarr=اشتراك %s للعضو %s معدّل
|
||||||
MemberSubscriptionDeletedInDolibarr=Subscription %s for member %s deleted
|
MemberSubscriptionDeletedInDolibarr=تم حذف الاشتراك %s للعضو %s
|
||||||
ShipmentValidatedInDolibarr=شحنة%s التأكد من صلاحيتها
|
ShipmentValidatedInDolibarr=شحنة%s التأكد من صلاحيتها
|
||||||
ShipmentClassifyClosedInDolibarr=الشحنة %sتم تصنيفها مدفوعة
|
ShipmentClassifyClosedInDolibarr=الشحنة %sتم تصنيفها مدفوعة
|
||||||
ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open
|
ShipmentUnClassifyCloseddInDolibarr=إعادة فتح الشحنة %s المصنفة
|
||||||
ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status
|
ShipmentBackToDraftInDolibarr=تعود الشحنة %s إلى حالة المسودة
|
||||||
ShipmentDeletedInDolibarr=الشحنة%sتم حذفها
|
ShipmentDeletedInDolibarr=الشحنة%sتم حذفها
|
||||||
ShipmentCanceledInDolibarr=Shipment %s canceled
|
ShipmentCanceledInDolibarr=تم إلغاء الشحنة %s
|
||||||
ReceptionValidatedInDolibarr=Reception %s validated
|
ReceptionValidatedInDolibarr=تم التحقق من صحة الاستقبال %s
|
||||||
|
ReceptionClassifyClosedInDolibarr=الاستقبال %s مصنف مغلق
|
||||||
OrderCreatedInDolibarr=الطلب %s تم إنشاؤة
|
OrderCreatedInDolibarr=الطلب %s تم إنشاؤة
|
||||||
OrderValidatedInDolibarr=الطلب %s تم التحقق منه
|
OrderValidatedInDolibarr=الطلب %s تم التحقق منه
|
||||||
OrderDeliveredInDolibarr=الطلب %s مصنف تم التوصيل
|
OrderDeliveredInDolibarr=الطلب %s مصنف تم التوصيل
|
||||||
@ -74,31 +76,31 @@ OrderBilledInDolibarr=الطلب%s مصنف تم الدفع
|
|||||||
OrderApprovedInDolibarr=الطلب %s تم الموافقة علية
|
OrderApprovedInDolibarr=الطلب %s تم الموافقة علية
|
||||||
OrderRefusedInDolibarr=الطلب %s تم رفضه
|
OrderRefusedInDolibarr=الطلب %s تم رفضه
|
||||||
OrderBackToDraftInDolibarr=الطلب %s تم إرجاعة إلى حالة المسودة
|
OrderBackToDraftInDolibarr=الطلب %s تم إرجاعة إلى حالة المسودة
|
||||||
ProposalSentByEMail=Commercial proposal %s sent by email
|
ProposalSentByEMail=تم إرسال الاقتراح التجاري %s عبر البريد الإلكتروني
|
||||||
ContractSentByEMail=Contract %s sent by email
|
ContractSentByEMail=تم إرسال العقد %s عن طريق البريد الإلكتروني
|
||||||
OrderSentByEMail=Sales order %s sent by email
|
OrderSentByEMail=تم إرسال أمر المبيعات %s عبر البريد الإلكتروني
|
||||||
InvoiceSentByEMail=Customer invoice %s sent by email
|
InvoiceSentByEMail=فاتورة العميل رقم %s مُرسلة عبر البريد الإلكتروني
|
||||||
SupplierOrderSentByEMail=Purchase order %s sent by email
|
SupplierOrderSentByEMail=تم إرسال أمر الشراء %s عبر البريد الإلكتروني
|
||||||
ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted
|
ORDER_SUPPLIER_DELETEInDolibarr=تم حذف أمر الشراء %s
|
||||||
SupplierInvoiceSentByEMail=Vendor invoice %s sent by email
|
SupplierInvoiceSentByEMail=فاتورة البائع %s مُرسلة عبر البريد الإلكتروني
|
||||||
ShippingSentByEMail=Shipment %s sent by email
|
ShippingSentByEMail=شحنة %s أرسلت عن طريق البريد الإلكتروني
|
||||||
ShippingValidated= الشحنة %s تم التأكد من صلاحيتها
|
ShippingValidated= الشحنة %s تم التأكد من صلاحيتها
|
||||||
InterventionSentByEMail=Intervention %s sent by email
|
InterventionSentByEMail=تم إرسال التدخل %s عبر البريد الإلكتروني
|
||||||
ProposalDeleted=تم حذف العرض
|
ProposalDeleted=تم حذف العرض
|
||||||
OrderDeleted=تم حذف الطلب
|
OrderDeleted=تم حذف الطلب
|
||||||
InvoiceDeleted=تم حذف الفاتورة
|
InvoiceDeleted=تم حذف الفاتورة
|
||||||
DraftInvoiceDeleted=Draft invoice deleted
|
DraftInvoiceDeleted=تم حذف مسودة الفاتورة
|
||||||
CONTACT_CREATEInDolibarr=Contact %s created
|
CONTACT_CREATEInDolibarr=تم إنشاء جهة الاتصال %s
|
||||||
CONTACT_MODIFYInDolibarr=Contact %s modified
|
CONTACT_MODIFYInDolibarr=تعديل الاتصال %s
|
||||||
CONTACT_DELETEInDolibarr=Contact %s deleted
|
CONTACT_DELETEInDolibarr=تم حذف جهة الاتصال %s
|
||||||
PRODUCT_CREATEInDolibarr=المنتج %s تم انشاؤه
|
PRODUCT_CREATEInDolibarr=المنتج %s تم انشاؤه
|
||||||
PRODUCT_MODIFYInDolibarr=المنتج %sتم تعديلة
|
PRODUCT_MODIFYInDolibarr=المنتج %sتم تعديلة
|
||||||
PRODUCT_DELETEInDolibarr=المنتج%s تم حذفة
|
PRODUCT_DELETEInDolibarr=المنتج%s تم حذفة
|
||||||
HOLIDAY_CREATEInDolibarr=Request for leave %s created
|
HOLIDAY_CREATEInDolibarr=تم إنشاء طلب إجازة %s
|
||||||
HOLIDAY_MODIFYInDolibarr=Request for leave %s modified
|
HOLIDAY_MODIFYInDolibarr=طلب إجازة تعديل %s
|
||||||
HOLIDAY_APPROVEInDolibarr=Request for leave %s approved
|
HOLIDAY_APPROVEInDolibarr=طلب إجازة تمت الموافقة على %s
|
||||||
HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated
|
HOLIDAY_VALIDATEInDolibarr=تم التحقق من صحة طلب المغادرة %s
|
||||||
HOLIDAY_DELETEInDolibarr=Request for leave %s deleted
|
HOLIDAY_DELETEInDolibarr=طلب إجازة %s محذوف
|
||||||
EXPENSE_REPORT_CREATEInDolibarr=تقرير المصروفات %sتم إنشاؤة
|
EXPENSE_REPORT_CREATEInDolibarr=تقرير المصروفات %sتم إنشاؤة
|
||||||
EXPENSE_REPORT_VALIDATEInDolibarr=تقرير المصروفات %s تم التحقق من صحتة
|
EXPENSE_REPORT_VALIDATEInDolibarr=تقرير المصروفات %s تم التحقق من صحتة
|
||||||
EXPENSE_REPORT_APPROVEInDolibarr=تقرير المصروفات %s تم الموافقة عليه
|
EXPENSE_REPORT_APPROVEInDolibarr=تقرير المصروفات %s تم الموافقة عليه
|
||||||
@ -107,22 +109,22 @@ EXPENSE_REPORT_REFUSEDInDolibarr=تقرير المصروفات%s تم رفضة
|
|||||||
PROJECT_CREATEInDolibarr=مشروع٪ الصورة التي تم إنشاؤها
|
PROJECT_CREATEInDolibarr=مشروع٪ الصورة التي تم إنشاؤها
|
||||||
PROJECT_MODIFYInDolibarr=المشروع %s تم تعديلة
|
PROJECT_MODIFYInDolibarr=المشروع %s تم تعديلة
|
||||||
PROJECT_DELETEInDolibarr=المشروع %s تم حذفة
|
PROJECT_DELETEInDolibarr=المشروع %s تم حذفة
|
||||||
TICKET_CREATEInDolibarr=Ticket %s created
|
TICKET_CREATEInDolibarr=تم إنشاء التذكرة %s
|
||||||
TICKET_MODIFYInDolibarr=Ticket %s modified
|
TICKET_MODIFYInDolibarr=تم تعديل التذكرة %s
|
||||||
TICKET_ASSIGNEDInDolibarr=Ticket %s assigned
|
TICKET_ASSIGNEDInDolibarr=تم تعيين التذكرة %s
|
||||||
TICKET_CLOSEInDolibarr=Ticket %s closed
|
TICKET_CLOSEInDolibarr=تم إغلاق التذكرة %s
|
||||||
TICKET_DELETEInDolibarr=Ticket %s deleted
|
TICKET_DELETEInDolibarr=تم حذف التذكرة %s
|
||||||
BOM_VALIDATEInDolibarr=BOM validated
|
BOM_VALIDATEInDolibarr=تم التحقق من صحة BOM
|
||||||
BOM_UNVALIDATEInDolibarr=BOM unvalidated
|
BOM_UNVALIDATEInDolibarr=لم يتم التحقق من BOM
|
||||||
BOM_CLOSEInDolibarr=BOM disabled
|
BOM_CLOSEInDolibarr=تم تعطيل BOM
|
||||||
BOM_REOPENInDolibarr=BOM reopen
|
BOM_REOPENInDolibarr=إعادة فتح BOM
|
||||||
BOM_DELETEInDolibarr=BOM deleted
|
BOM_DELETEInDolibarr=تم حذف BOM
|
||||||
MRP_MO_VALIDATEInDolibarr=MO validated
|
MRP_MO_VALIDATEInDolibarr=تم التحقق من صحة MO
|
||||||
MRP_MO_UNVALIDATEInDolibarr=MO set to draft status
|
MRP_MO_UNVALIDATEInDolibarr=تم تعيين MO على وضع المسودة
|
||||||
MRP_MO_PRODUCEDInDolibarr=MO produced
|
MRP_MO_PRODUCEDInDolibarr=أنتجت MO
|
||||||
MRP_MO_DELETEInDolibarr=MO deleted
|
MRP_MO_DELETEInDolibarr=تم حذف MO
|
||||||
MRP_MO_CANCELInDolibarr=MO canceled
|
MRP_MO_CANCELInDolibarr=تم إلغاء MO
|
||||||
PAIDInDolibarr=%s paid
|
PAIDInDolibarr=%s المدفوعة
|
||||||
##### End agenda events #####
|
##### End agenda events #####
|
||||||
AgendaModelModule=نماذج المستندات للحدث
|
AgendaModelModule=نماذج المستندات للحدث
|
||||||
DateActionStart=تاريخ البدء
|
DateActionStart=تاريخ البدء
|
||||||
@ -131,10 +133,10 @@ AgendaUrlOptions1=يمكنك أيضا إضافة المعايير التالية
|
|||||||
AgendaUrlOptions3=<b>وجينا =%sإلى</b> تقييد الإخراج إلى الإجراءات التي يملكها المستخدم<b>%s</b>.
|
AgendaUrlOptions3=<b>وجينا =%sإلى</b> تقييد الإخراج إلى الإجراءات التي يملكها المستخدم<b>%s</b>.
|
||||||
AgendaUrlOptionsNotAdmin=<b>لوجينا=!%s</b> لمنع اخراج الجراءات التى لا يمتلكها المستخدم <b>%s</b>.
|
AgendaUrlOptionsNotAdmin=<b>لوجينا=!%s</b> لمنع اخراج الجراءات التى لا يمتلكها المستخدم <b>%s</b>.
|
||||||
AgendaUrlOptions4=<b>لوجينت =%s</b> لتقييد الإخراج على الإجراءات المعينة للمستخدم <b>%s</b> (المالك والآخرين).
|
AgendaUrlOptions4=<b>لوجينت =%s</b> لتقييد الإخراج على الإجراءات المعينة للمستخدم <b>%s</b> (المالك والآخرين).
|
||||||
AgendaUrlOptionsProject=<b>project=__PROJECT_ID__</b> to restrict output to actions linked to project <b>__PROJECT_ID__</b>.
|
AgendaUrlOptionsProject= مشروع <b> = __ PROJECT_ID__ </b> لتقييد الإخراج بالإجراءات المرتبطة بالمشروع <b> __PROJECT_ID__ </b>.
|
||||||
AgendaUrlOptionsNotAutoEvent=<b>notactiontype=systemauto</b> to exclude automatic events.
|
AgendaUrlOptionsNotAutoEvent= <b> notactiontype = systemauto </b> لاستبعاد الأحداث التلقائية.
|
||||||
AgendaUrlOptionsIncludeHolidays=<b>includeholidays=1</b> to include events of holidays.
|
AgendaUrlOptionsIncludeHolidays= <b> تشمل الإجازات = 1 </b> لتضمين أحداث الأعياد.
|
||||||
AgendaShowBirthdayEvents=Birthdays of contacts
|
AgendaShowBirthdayEvents=أعياد ميلاد جهات الاتصال
|
||||||
AgendaHideBirthdayEvents=إخفاء تواريخ ميلاد جهات الإتصال
|
AgendaHideBirthdayEvents=إخفاء تواريخ ميلاد جهات الإتصال
|
||||||
Busy=مشغول
|
Busy=مشغول
|
||||||
ExportDataset_event1=قائمة الأحداث في جدول الأعمال
|
ExportDataset_event1=قائمة الأحداث في جدول الأعمال
|
||||||
@ -143,9 +145,9 @@ DefaultWorkingHours=افتراضي ساعات العمل في اليوم (على
|
|||||||
# External Sites ical
|
# External Sites ical
|
||||||
ExportCal=تصدير التقويم
|
ExportCal=تصدير التقويم
|
||||||
ExtSites=استيراد التقويمات الخارجية
|
ExtSites=استيراد التقويمات الخارجية
|
||||||
ExtSitesEnableThisTool=Show external calendars (defined in global setup) in Agenda. Does not affect external calendars defined by users.
|
ExtSitesEnableThisTool=إظهار التقويمات الخارجية (المحددة في الإعداد العام) في الأجندة. لا يؤثر على التقويمات الخارجية التي حددها المستخدمون.
|
||||||
ExtSitesNbOfAgenda=عدد التقويمات
|
ExtSitesNbOfAgenda=عدد التقويمات
|
||||||
AgendaExtNb=Calendar no. %s
|
AgendaExtNb=التقويم لا. %s
|
||||||
ExtSiteUrlAgenda=عنوان المتصفح للدخول لملف .ical
|
ExtSiteUrlAgenda=عنوان المتصفح للدخول لملف .ical
|
||||||
ExtSiteNoLabel=لا يوجد وصف
|
ExtSiteNoLabel=لا يوجد وصف
|
||||||
VisibleTimeRange=نطاق زمني مرئي
|
VisibleTimeRange=نطاق زمني مرئي
|
||||||
@ -156,19 +158,19 @@ ActionType=نوع الحدث
|
|||||||
DateActionBegin=تاريخ البدء الحدث
|
DateActionBegin=تاريخ البدء الحدث
|
||||||
ConfirmCloneEvent=هل انت متأكد انك ترغب في استنساخ الحدث <b>%s</b> ؟
|
ConfirmCloneEvent=هل انت متأكد انك ترغب في استنساخ الحدث <b>%s</b> ؟
|
||||||
RepeatEvent=تكرار الحدث
|
RepeatEvent=تكرار الحدث
|
||||||
OnceOnly=Once only
|
OnceOnly=مرة واحدة فقط
|
||||||
EveryWeek=كل اسبوع
|
EveryWeek=كل اسبوع
|
||||||
EveryMonth=كل شهر
|
EveryMonth=كل شهر
|
||||||
DayOfMonth=يوم من الشهر
|
DayOfMonth=يوم من الشهر
|
||||||
DayOfWeek=يوم من الأسبوع
|
DayOfWeek=يوم من الأسبوع
|
||||||
DateStartPlusOne=تاريخ بدء + 1 ساعة
|
DateStartPlusOne=تاريخ بدء + 1 ساعة
|
||||||
SetAllEventsToTodo=Set all events to todo
|
SetAllEventsToTodo=اضبط كل الأحداث على ما يجب فعله
|
||||||
SetAllEventsToInProgress=Set all events to in progress
|
SetAllEventsToInProgress=اضبط كل الأحداث على قيد التقدم
|
||||||
SetAllEventsToFinished=Set all events to finished
|
SetAllEventsToFinished=اضبط جميع الأحداث على الانتهاء
|
||||||
ReminderTime=Reminder period before the event
|
ReminderTime=فترة تذكير قبل الحدث
|
||||||
TimeType=Duration type
|
TimeType=نوع المدة
|
||||||
ReminderType=Callback type
|
ReminderType=نوع رد الاتصال
|
||||||
AddReminder=Create an automatic reminder notification for this event
|
AddReminder=إنشاء إشعار تذكير تلقائي لهذا الحدث
|
||||||
ErrorReminderActionCommCreation=Error creating the reminder notification for this event
|
ErrorReminderActionCommCreation=خطأ في إنشاء إشعار التذكير لهذا الحدث
|
||||||
BrowserPush=Browser Popup Notification
|
BrowserPush=إعلام المتصفح المنبثق
|
||||||
ActiveByDefault=Enabled by default
|
ActiveByDefault=يتم التمكين افتراضيًا
|
||||||
|
|||||||
@ -18,13 +18,13 @@ BoxLastActions=أحدث الإجراءات
|
|||||||
BoxLastContracts=أحدث العقود
|
BoxLastContracts=أحدث العقود
|
||||||
BoxLastContacts=أحدث الاتصالات | العناوين
|
BoxLastContacts=أحدث الاتصالات | العناوين
|
||||||
BoxLastMembers=أحدث الأعضاء
|
BoxLastMembers=أحدث الأعضاء
|
||||||
BoxLastModifiedMembers=Latest modified members
|
BoxLastModifiedMembers=أحدث الأعضاء المعدلين
|
||||||
BoxLastMembersSubscriptions=Latest member subscriptions
|
BoxLastMembersSubscriptions=أحدث اشتراكات الأعضاء
|
||||||
BoxFicheInter=أحدث التدخلات
|
BoxFicheInter=أحدث التدخلات
|
||||||
BoxCurrentAccounts=ميزان الحسابات المفتوحة
|
BoxCurrentAccounts=ميزان الحسابات المفتوحة
|
||||||
BoxTitleMemberNextBirthdays=أعياد الميلاد لهذا الشهر (الأعضاء)
|
BoxTitleMemberNextBirthdays=أعياد الميلاد لهذا الشهر (الأعضاء)
|
||||||
BoxTitleMembersByType=Members by type
|
BoxTitleMembersByType=الأعضاء حسب النوع والحالة
|
||||||
BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year
|
BoxTitleMembersSubscriptionsByYear=اشتراكات الأعضاء حسب السنة
|
||||||
BoxTitleLastRssInfos=آخر أخبار %s من %s
|
BoxTitleLastRssInfos=آخر أخبار %s من %s
|
||||||
BoxTitleLastProducts=المنتجات | الخدمات: آخر %s معدل
|
BoxTitleLastProducts=المنتجات | الخدمات: آخر %s معدل
|
||||||
BoxTitleProductsAlertStock=المنتجات: تنبيه المخزون
|
BoxTitleProductsAlertStock=المنتجات: تنبيه المخزون
|
||||||
@ -46,11 +46,11 @@ BoxMyLastBookmarks=الإشارات المرجعية: أحدث %s
|
|||||||
BoxOldestExpiredServices=أقدم الخدمات النشطة منتهية الصلاحية
|
BoxOldestExpiredServices=أقدم الخدمات النشطة منتهية الصلاحية
|
||||||
BoxLastExpiredServices=أحدث %s أقدم جهات اتصال مع خدمات منتهية الصلاحية نشطة
|
BoxLastExpiredServices=أحدث %s أقدم جهات اتصال مع خدمات منتهية الصلاحية نشطة
|
||||||
BoxTitleLastActionsToDo=أحدث إجراءات %s للقيام بها
|
BoxTitleLastActionsToDo=أحدث إجراءات %s للقيام بها
|
||||||
BoxTitleLastContracts=Latest %s contracts which were modified
|
BoxTitleLastContracts=أحدث عقود %s التي تم تعديلها
|
||||||
BoxTitleLastModifiedDonations=Latest %s donations which were modified
|
BoxTitleLastModifiedDonations=آخر التبرعات %s التي تم تعديلها
|
||||||
BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified
|
BoxTitleLastModifiedExpenses=أحدث تقارير المصروفات %s التي تم تعديلها
|
||||||
BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified
|
BoxTitleLatestModifiedBoms=أحدث %s BOMs التي تم تعديلها
|
||||||
BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified
|
BoxTitleLatestModifiedMos=أحدث أوامر التصنيع %s التي تم تعديلها
|
||||||
BoxTitleLastOutstandingBillReached=العملاء الذين تجاوزا الحد الاقصى
|
BoxTitleLastOutstandingBillReached=العملاء الذين تجاوزا الحد الاقصى
|
||||||
BoxGlobalActivity=النشاط العام (الفواتير ، العروض ، الطلبات)
|
BoxGlobalActivity=النشاط العام (الفواتير ، العروض ، الطلبات)
|
||||||
BoxGoodCustomers=عملاء جيدون
|
BoxGoodCustomers=عملاء جيدون
|
||||||
@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=أوامر الموردين: آخر %s تع
|
|||||||
BoxTitleLastModifiedCustomerBills=فواتير العميل: آخر %s تعديل
|
BoxTitleLastModifiedCustomerBills=فواتير العميل: آخر %s تعديل
|
||||||
BoxTitleLastModifiedCustomerOrders=أوامر المبيعات: آخر %s تعديل
|
BoxTitleLastModifiedCustomerOrders=أوامر المبيعات: آخر %s تعديل
|
||||||
BoxTitleLastModifiedPropals=أحدث %s العروض المعدلة
|
BoxTitleLastModifiedPropals=أحدث %s العروض المعدلة
|
||||||
BoxTitleLatestModifiedJobPositions=Latest %s modified job positions
|
BoxTitleLatestModifiedJobPositions=أحدث وظائف %s المعدلة
|
||||||
BoxTitleLatestModifiedCandidatures=Latest %s modified job applications
|
BoxTitleLatestModifiedCandidatures=أحدث %s تطبيقات العمل المعدلة
|
||||||
ForCustomersInvoices=فواتير العملاء
|
ForCustomersInvoices=فواتير العملاء
|
||||||
ForCustomersOrders=أوامر العملاء
|
ForCustomersOrders=أوامر العملاء
|
||||||
ForProposals=عروض
|
ForProposals=عروض
|
||||||
@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=أحدث %s شحنات العملاء
|
|||||||
NoRecordedShipments=لا توجد شحنة مسجلة للعملاء
|
NoRecordedShipments=لا توجد شحنة مسجلة للعملاء
|
||||||
BoxCustomersOutstandingBillReached=العملاء الذين بلغوا الحد الأقصى المسموح به
|
BoxCustomersOutstandingBillReached=العملاء الذين بلغوا الحد الأقصى المسموح به
|
||||||
# Pages
|
# Pages
|
||||||
UsersHome=Home users and groups
|
UsersHome=المستخدمون والمجموعات الرئيسية
|
||||||
MembersHome=Home Membership
|
MembersHome=عضوية المنزل
|
||||||
ThirdpartiesHome=Home Thirdparties
|
ThirdpartiesHome=الصفحة الرئيسية الأطراف الثالثة
|
||||||
TicketsHome=Home Tickets
|
TicketsHome=تذاكر المنزل
|
||||||
AccountancyHome=Home Accountancy
|
AccountancyHome=محاسبة المنزل
|
||||||
ValidatedProjects=المشاريع المعتمدة
|
ValidatedProjects=المشاريع المعتمدة
|
||||||
|
|||||||
@ -16,7 +16,7 @@ AddThisArticle=إضافة هذا العنصر
|
|||||||
RestartSelling=التراجع عن بيع
|
RestartSelling=التراجع عن بيع
|
||||||
SellFinished=اكتمل البيع
|
SellFinished=اكتمل البيع
|
||||||
PrintTicket=طباعة التذكرة
|
PrintTicket=طباعة التذكرة
|
||||||
SendTicket=Send ticket
|
SendTicket=أرسل التذكرة
|
||||||
NoProductFound=لم يتم العثور على عناصر
|
NoProductFound=لم يتم العثور على عناصر
|
||||||
ProductFound=تم العثور على المنتج
|
ProductFound=تم العثور على المنتج
|
||||||
NoArticle=لا يوجد عناصر
|
NoArticle=لا يوجد عناصر
|
||||||
@ -31,106 +31,109 @@ ShowCompany=عرض الشركة
|
|||||||
ShowStock=عرض المستودع
|
ShowStock=عرض المستودع
|
||||||
DeleteArticle=انقر لإزالة هذا العنصر
|
DeleteArticle=انقر لإزالة هذا العنصر
|
||||||
FilterRefOrLabelOrBC=بحث (المرجع / الملصق)
|
FilterRefOrLabelOrBC=بحث (المرجع / الملصق)
|
||||||
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock.
|
UserNeedPermissionToEditStockToUsePos=أنت تطلب تقليل المخزون عند إنشاء الفاتورة ، لذلك يحتاج المستخدم الذي يستخدم نقاط البيع إلى الحصول على إذن لتحرير المخزون.
|
||||||
DolibarrReceiptPrinter=طابعة إيصال دوليبار
|
DolibarrReceiptPrinter=طابعة إيصال دوليبار
|
||||||
PointOfSale=Point of Sale
|
PointOfSale=نقطة البيع
|
||||||
PointOfSaleShort=POS
|
PointOfSaleShort=نقاط البيع
|
||||||
CloseBill=Close Bill
|
CloseBill=أغلق بيل
|
||||||
Floors=Floors
|
Floors=طوابق
|
||||||
Floor=Floor
|
Floor=أرضية
|
||||||
AddTable=Add table
|
AddTable=أضف الجدول
|
||||||
Place=Place
|
Place=مكان
|
||||||
TakeposConnectorNecesary='TakePOS Connector' required
|
TakeposConnectorNecesary=مطلوب "موصل TakePOS"
|
||||||
OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen)
|
OrderPrinters=أضف زرًا لإرسال الطلب إلى بعض الطابعات المحددة ، دون دفع (على سبيل المثال لإرسال طلب إلى مطبخ)
|
||||||
NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser
|
NotAvailableWithBrowserPrinter=غير متاح عندما تكون الطابعة للإيصال مضبوطة على المتصفح
|
||||||
SearchProduct=Search product
|
SearchProduct=البحث عن المنتج
|
||||||
Receipt=ورود
|
Receipt=ورود
|
||||||
Header=Header
|
Header=رأس
|
||||||
Footer=Footer
|
Footer=تذييل
|
||||||
AmountAtEndOfPeriod=Amount at end of period (day, month or year)
|
AmountAtEndOfPeriod=المبلغ في نهاية الفترة (اليوم أو الشهر أو السنة)
|
||||||
TheoricalAmount=Theorical amount
|
TheoricalAmount=المبلغ النظري
|
||||||
RealAmount=Real amount
|
RealAmount=المبلغ الحقيقي
|
||||||
CashFence=Cash desk closing
|
CashFence=إغلاق صندوق النقد
|
||||||
CashFenceDone=Cash desk closing done for the period
|
CashFenceDone=تم إغلاق الصندوق النقدي للفترة
|
||||||
NbOfInvoices=ملاحظة : من الفواتير
|
NbOfInvoices=ملاحظة : من الفواتير
|
||||||
Paymentnumpad=Type of Pad to enter payment
|
Paymentnumpad=نوع الوسادة للدفع
|
||||||
Numberspad=Numbers Pad
|
Numberspad=لوحة الأرقام
|
||||||
BillsCoinsPad=Coins and banknotes Pad
|
BillsCoinsPad=وسادة عملات وأوراق نقدية
|
||||||
DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr
|
DolistorePosCategory=وحدات TakePOS وحلول نقاط البيع الأخرى لـ Dolibarr
|
||||||
TakeposNeedsCategories=TakePOS needs at least one product categorie to work
|
TakeposNeedsCategories=يحتاج TakePOS إلى فئة منتج واحدة على الأقل للعمل
|
||||||
TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category <b>%s</b> to work
|
TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=يحتاج TakePOS إلى فئة منتج واحدة على الأقل ضمن الفئة <b> %s </b> للعمل
|
||||||
OrderNotes=Can add some notes to each ordered items
|
OrderNotes=يمكن إضافة بعض الملاحظات على كل العناصر المطلوبة
|
||||||
CashDeskBankAccountFor=Default account to use for payments in
|
CashDeskBankAccountFor=الحساب الافتراضي لاستخدامه في عمليات الدفع
|
||||||
NoPaimementModesDefined=No paiment mode defined in TakePOS configuration
|
NoPaimementModesDefined=لم يتم تحديد وضع paiment في تكوين TakePOS
|
||||||
TicketVatGrouped=Group VAT by rate in tickets|receipts
|
TicketVatGrouped=تجميع ضريبة القيمة المضافة حسب معدل التذاكر | الإيصالات
|
||||||
AutoPrintTickets=Automatically print tickets|receipts
|
AutoPrintTickets=طباعة التذاكر | الإيصالات تلقائيًا
|
||||||
PrintCustomerOnReceipts=Print customer on tickets|receipts
|
PrintCustomerOnReceipts=طباعة العميل على التذاكر | الإيصالات
|
||||||
EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant
|
EnableBarOrRestaurantFeatures=تمكين ميزات للبار أو المطعم
|
||||||
ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ?
|
ConfirmDeletionOfThisPOSSale=هل تؤكد حذف هذا البيع الحالي؟
|
||||||
ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ?
|
ConfirmDiscardOfThisPOSSale=هل تريد تجاهل هذا البيع الحالي؟
|
||||||
History=التاريخ
|
History=التاريخ
|
||||||
ValidateAndClose=Validate and close
|
ValidateAndClose=التحقق من صحة وإغلاق
|
||||||
Terminal=Terminal
|
Terminal=صالة
|
||||||
NumberOfTerminals=Number of Terminals
|
NumberOfTerminals=عدد المحطات
|
||||||
TerminalSelect=Select terminal you want to use:
|
TerminalSelect=حدد المحطة التي تريد استخدامها:
|
||||||
POSTicket=POS Ticket
|
POSTicket=تذكرة نقاط البيع
|
||||||
POSTerminal=POS Terminal
|
POSTerminal=محطة نقاط البيع
|
||||||
POSModule=POS Module
|
POSModule=وحدة نقاط البيع
|
||||||
BasicPhoneLayout=Use basic layout for phones
|
BasicPhoneLayout=استخدم التخطيط الأساسي للهواتف
|
||||||
SetupOfTerminalNotComplete=Setup of terminal %s is not complete
|
SetupOfTerminalNotComplete=لم يكتمل إعداد الجهاز %s
|
||||||
DirectPayment=Direct payment
|
DirectPayment=دفع مباشر
|
||||||
DirectPaymentButton=Add a "Direct cash payment" button
|
DirectPaymentButton=أضف زر "دفع نقدي مباشر"
|
||||||
InvoiceIsAlreadyValidated=Invoice is already validated
|
InvoiceIsAlreadyValidated=تم التحقق من صحة الفاتورة بالفعل
|
||||||
NoLinesToBill=No lines to bill
|
NoLinesToBill=لا خطوط للفوترة
|
||||||
CustomReceipt=Custom Receipt
|
CustomReceipt=إيصال مخصص
|
||||||
ReceiptName=Receipt Name
|
ReceiptName=اسم الإيصال
|
||||||
ProductSupplements=Manage supplements of products
|
ProductSupplements=إدارة مكملات المنتجات
|
||||||
SupplementCategory=Supplement category
|
SupplementCategory=فئة الملحق
|
||||||
ColorTheme=Color theme
|
ColorTheme=موضوع اللون
|
||||||
Colorful=Colorful
|
Colorful=زاهى الألوان
|
||||||
HeadBar=Head Bar
|
HeadBar=رئيس بار
|
||||||
SortProductField=Field for sorting products
|
SortProductField=مجال لفرز المنتجات
|
||||||
Browser=المتصفح
|
Browser=المتصفح
|
||||||
BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser.
|
BrowserMethodDescription=طباعة إيصالات بسيطة وسهلة. فقط عدد قليل من المعلمات لتكوين الإيصال. اطبع عبر المتصفح.
|
||||||
TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud.
|
TakeposConnectorMethodDescription=وحدة خارجية مع ميزات إضافية. إمكانية الطباعة من السحابة.
|
||||||
PrintMethod=Print method
|
PrintMethod=طريقة الطباعة
|
||||||
ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network).
|
ReceiptPrinterMethodDescription=طريقة قوية مع الكثير من المعلمات. قابل للتخصيص بالكامل مع القوالب. لا يمكن أن يكون الخادم الذي يستضيف التطبيق في السحابة (يجب أن يكون قادرًا على الوصول إلى الطابعات في شبكتك).
|
||||||
ByTerminal=By terminal
|
ByTerminal=عن طريق المحطة
|
||||||
TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad
|
TakeposNumpadUsePaymentIcon=استخدم الرمز بدلاً من النص الموجود على أزرار الدفع الخاصة بلوحة الأرقام
|
||||||
CashDeskRefNumberingModules=Numbering module for POS sales
|
CashDeskRefNumberingModules=وحدة الترقيم لمبيعات نقاط البيع
|
||||||
CashDeskGenericMaskCodes6 = <br><b>{TN}</b> tag is used to add the terminal number
|
CashDeskGenericMaskCodes6 = <br> <b> {TN} تُستخدم علامة </b> لإضافة رقم المحطة
|
||||||
TakeposGroupSameProduct=Group same products lines
|
TakeposGroupSameProduct=تجميع نفس خطوط المنتجات
|
||||||
StartAParallelSale=Start a new parallel sale
|
StartAParallelSale=ابدأ بيعًا موازيًا جديدًا
|
||||||
SaleStartedAt=Sale started at %s
|
SaleStartedAt=بدأ البيع في %s
|
||||||
ControlCashOpening=Open the "Control cash" popup when opening the POS
|
ControlCashOpening=افتح النافذة المنبثقة "Control cash box" عند فتح POS
|
||||||
CloseCashFence=Close cash desk control
|
CloseCashFence=إغلاق التحكم في صندوق النقد
|
||||||
CashReport=Cash report
|
CashReport=تقرير النقدية
|
||||||
MainPrinterToUse=Main printer to use
|
MainPrinterToUse=الطابعة الرئيسية لاستخدامها
|
||||||
OrderPrinterToUse=Order printer to use
|
OrderPrinterToUse=طلب الطابعة لاستخدامها
|
||||||
MainTemplateToUse=Main template to use
|
MainTemplateToUse=النموذج الرئيسي المراد استخدامه
|
||||||
OrderTemplateToUse=Order template to use
|
OrderTemplateToUse=طلب نموذج للاستخدام
|
||||||
BarRestaurant=Bar Restaurant
|
BarRestaurant=مطعم بار
|
||||||
AutoOrder=Order by the customer himself
|
AutoOrder=طلب من قبل الزبون نفسه
|
||||||
RestaurantMenu=Menu
|
RestaurantMenu=قائمة الطعام
|
||||||
CustomerMenu=Customer menu
|
CustomerMenu=قائمة العملاء
|
||||||
ScanToMenu=Scan QR code to see the menu
|
ScanToMenu=امسح رمز الاستجابة السريعة لرؤية القائمة
|
||||||
ScanToOrder=Scan QR code to order
|
ScanToOrder=امسح رمز الاستجابة السريعة للطلب
|
||||||
Appearance=Appearance
|
Appearance=مظهر
|
||||||
HideCategoryImages=Hide Category Images
|
HideCategoryImages=إخفاء صور الفئة
|
||||||
HideProductImages=Hide Product Images
|
HideProductImages=إخفاء صور المنتج
|
||||||
NumberOfLinesToShow=Number of lines of images to show
|
NumberOfLinesToShow=عدد سطور الصور المراد عرضها
|
||||||
DefineTablePlan=Define tables plan
|
DefineTablePlan=تحديد خطة الجداول
|
||||||
GiftReceiptButton=Add a "Gift receipt" button
|
GiftReceiptButton=أضف زر "إيصال الهدية"
|
||||||
GiftReceipt=Gift receipt
|
GiftReceipt=استلام هدية
|
||||||
ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first
|
ModuleReceiptPrinterMustBeEnabled=يجب تمكين طابعة استلام الوحدة أولاً
|
||||||
AllowDelayedPayment=Allow delayed payment
|
AllowDelayedPayment=السماح بالدفع المتأخر
|
||||||
PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts
|
PrintPaymentMethodOnReceipts=طباعة طريقة الدفع على التذاكر | الإيصالات
|
||||||
WeighingScale=Weighing scale
|
WeighingScale=جهاز قياس الوزن
|
||||||
ShowPriceHT = Display the column with the price excluding tax (on screen)
|
ShowPriceHT = عرض العمود بالسعر غير شامل الضريبة (على الشاشة)
|
||||||
ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt)
|
ShowPriceHTOnReceipt = اعرض العمود بالسعر غير شامل الضريبة (على الإيصال)
|
||||||
CustomerDisplay=Customer display
|
CustomerDisplay=عرض العملاء
|
||||||
SplitSale=Split sale
|
SplitSale=بيع سبليت
|
||||||
PrintWithoutDetailsButton=Add "Print without details" button
|
PrintWithoutDetailsButton=أضف زر "طباعة بدون تفاصيل"
|
||||||
PrintWithoutDetailsLabelDefault=Line label by default on printing without details
|
PrintWithoutDetailsLabelDefault=تسمية الخط بشكل افتراضي عند الطباعة بدون تفاصيل
|
||||||
PrintWithoutDetails=Print without details
|
PrintWithoutDetails=اطبع بدون تفاصيل
|
||||||
YearNotDefined=Year is not defined
|
YearNotDefined=لم يتم تحديد السنة
|
||||||
|
TakeposBarcodeRuleToInsertProduct=قاعدة الباركود لإدخال المنتج
|
||||||
|
TakeposBarcodeRuleToInsertProductDesc=قاعدة لاستخراج مرجع المنتج + كمية من الباركود الممسوح ضوئيًا. <br> إذا كان فارغًا (القيمة الافتراضية) ، سيستخدم التطبيق الباركود الكامل الممسوح ضوئيًا للعثور على المنتج. <br> <br> If defined, syntax must be: <br> <b> ref:NB+qu:NB+qd:NB+other:NB </b> <br> where NB is the number of characters to use to extract data from the scanned barcode with: <ul> <li> <b> ref </b> : product reference </li> <li> <b> qu </b> : quantity to set when inserting item (units) <l/i> <li> <b> qd </b> : quantity to set when inserting item (decimals) </li> <li> <b> other </b> : others characters </li> </ul>
|
||||||
|
AlreadyPrinted=طبعت بالفعل
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
ErrorCompanyNameAlreadyExists=اسم الشركة %s موجود بالفعل. اختر واحد اخر.
|
ErrorCompanyNameAlreadyExists=اسم الشركة %s موجود بالفعل. اختر واحد اخر.
|
||||||
ErrorSetACountryFirst=اضبط البلد أولاً
|
ErrorSetACountryFirst=اضبط البلد أولاً
|
||||||
SelectThirdParty=حدد طرفًا ثالثًا
|
SelectThirdParty=حدد طرفًا ثالثًا
|
||||||
ConfirmDeleteCompany=Are you sure you want to delete this company and all related information?
|
ConfirmDeleteCompany=هل أنت متأكد أنك تريد حذف هذه الشركة وجميع المعلومات ذات الصلة؟
|
||||||
DeleteContact=حذف جهة اتصال | عنوان
|
DeleteContact=حذف جهة اتصال | عنوان
|
||||||
ConfirmDeleteContact=Are you sure you want to delete this contact and all related information?
|
ConfirmDeleteContact=هل أنت متأكد أنك تريد حذف جهة الاتصال هذه وجميع المعلومات ذات الصلة؟
|
||||||
MenuNewThirdParty=طرف ثالث جديد
|
MenuNewThirdParty=طرف ثالث جديد
|
||||||
MenuNewCustomer=عميل جديد
|
MenuNewCustomer=عميل جديد
|
||||||
MenuNewProspect=فرصة جديدة
|
MenuNewProspect=فرصة جديدة
|
||||||
@ -19,7 +19,7 @@ ProspectionArea=منطقة الفرص
|
|||||||
IdThirdParty=معرف الطرف الثالث
|
IdThirdParty=معرف الطرف الثالث
|
||||||
IdCompany=معرف الشركة
|
IdCompany=معرف الشركة
|
||||||
IdContact=معرف جهة الاتصال
|
IdContact=معرف جهة الاتصال
|
||||||
ThirdPartyAddress=Third-party address
|
ThirdPartyAddress=عنوان الطرف الثالث
|
||||||
ThirdPartyContacts=جهات اتصال الطرف الثالث
|
ThirdPartyContacts=جهات اتصال الطرف الثالث
|
||||||
ThirdPartyContact=جهة اتصال | عنوان الطرف الثالث
|
ThirdPartyContact=جهة اتصال | عنوان الطرف الثالث
|
||||||
Company=شركة
|
Company=شركة
|
||||||
@ -52,27 +52,28 @@ CivilityCode=قواعد السلوك
|
|||||||
RegisteredOffice=مكتب مسجل
|
RegisteredOffice=مكتب مسجل
|
||||||
Lastname=اللقب
|
Lastname=اللقب
|
||||||
Firstname=الاسم الاول
|
Firstname=الاسم الاول
|
||||||
RefEmployee=Employee reference
|
RefEmployee=مرجع الموظف
|
||||||
NationalRegistrationNumber=National registration number
|
NationalRegistrationNumber=رقم التسجيل الوطني
|
||||||
PostOrFunction=الوظيفه
|
PostOrFunction=الوظيفه
|
||||||
UserTitle=العنوان
|
UserTitle=العنوان
|
||||||
NatureOfThirdParty=طبيعة الطرف الثالث
|
NatureOfThirdParty=طبيعة الطرف الثالث
|
||||||
NatureOfContact=طبيعة الاتصال
|
NatureOfContact=طبيعة الاتصال
|
||||||
Address=عنوان
|
Address=عنوان
|
||||||
State=الولاية / المقاطعة
|
State=الولاية / المقاطعة
|
||||||
|
StateId=معرف الدولة
|
||||||
StateCode=رمز الولاية / المقاطعة
|
StateCode=رمز الولاية / المقاطعة
|
||||||
StateShort=الولاية
|
StateShort=الولاية
|
||||||
Region=المنطقة
|
Region=المنطقة
|
||||||
Region-State=المنطقة - الولاية
|
Region-State=المنطقة - الولاية
|
||||||
Country=الدولة
|
Country=الدولة
|
||||||
CountryCode=رمز البلد
|
CountryCode=رمز البلد
|
||||||
CountryId=معرف البلد
|
CountryId=معرف الدولة
|
||||||
Phone=الهاتف
|
Phone=الهاتف
|
||||||
PhoneShort=الهاتف
|
PhoneShort=الهاتف
|
||||||
Skype=سكايب
|
Skype=سكايب
|
||||||
Call=مكالمة
|
Call=مكالمة
|
||||||
Chat=دردشة
|
Chat=دردشة
|
||||||
PhonePro=Bus. phone
|
PhonePro=أوتوبيس. هاتف
|
||||||
PhonePerso=الهاتف الشخصي
|
PhonePerso=الهاتف الشخصي
|
||||||
PhoneMobile=الجوال
|
PhoneMobile=الجوال
|
||||||
No_Email=رفض الرسائل الإلكترونية الجماعية
|
No_Email=رفض الرسائل الإلكترونية الجماعية
|
||||||
@ -81,9 +82,9 @@ Zip=الرمز البريدي
|
|||||||
Town=مدينة
|
Town=مدينة
|
||||||
Web=الويب
|
Web=الويب
|
||||||
Poste= المنصب
|
Poste= المنصب
|
||||||
DefaultLang=Default language
|
DefaultLang=اللغة الافتراضية
|
||||||
VATIsUsed=تطبق ضريبة المبيعات
|
VATIsUsed=تطبق ضريبة المبيعات
|
||||||
VATIsUsedWhenSelling=This defines if this third party includes a sales tax or not when it makes an invoice to its own customers
|
VATIsUsedWhenSelling=يحدد هذا ما إذا كان هذا الطرف الثالث يتضمن ضريبة مبيعات أم لا عندما يُصدر فاتورة لعملائه
|
||||||
VATIsNotUsed=لا تطبق ضريبة المبيعات
|
VATIsNotUsed=لا تطبق ضريبة المبيعات
|
||||||
CopyAddressFromSoc=نسخ العنوان من تفاصيل الطرف الثالث
|
CopyAddressFromSoc=نسخ العنوان من تفاصيل الطرف الثالث
|
||||||
ThirdpartyNotCustomerNotSupplierSoNoRef=لا عميل ولا مورد، ولا توجد كائنات مرجعية متاحة
|
ThirdpartyNotCustomerNotSupplierSoNoRef=لا عميل ولا مورد، ولا توجد كائنات مرجعية متاحة
|
||||||
@ -105,7 +106,7 @@ WrongSupplierCode=كود المورد غير صالح
|
|||||||
CustomerCodeModel=العميل رمز النموذج
|
CustomerCodeModel=العميل رمز النموذج
|
||||||
SupplierCodeModel=نموذج كود المورد
|
SupplierCodeModel=نموذج كود المورد
|
||||||
Gencod=الباركود
|
Gencod=الباركود
|
||||||
GencodBuyPrice=Barcode of price ref
|
GencodBuyPrice=الباركود السعر المرجع
|
||||||
##### Professional ID #####
|
##### Professional ID #####
|
||||||
ProfId1Short=هوية مهنية 1
|
ProfId1Short=هوية مهنية 1
|
||||||
ProfId2Short=هوية مهنية 2
|
ProfId2Short=هوية مهنية 2
|
||||||
@ -161,16 +162,16 @@ ProfId3CL=-
|
|||||||
ProfId4CL=-
|
ProfId4CL=-
|
||||||
ProfId5CL=-
|
ProfId5CL=-
|
||||||
ProfId6CL=-
|
ProfId6CL=-
|
||||||
ProfId1CM=Id. prof. 1 (Trade Register)
|
ProfId1CM=هوية شخصية. الأستاذ. 1 (السجل التجاري)
|
||||||
ProfId2CM=Id. prof. 2 (Taxpayer No.)
|
ProfId2CM=هوية شخصية. الأستاذ. 2 (رقم دافع الضرائب)
|
||||||
ProfId3CM=Id. prof. 3 (Decree of creation)
|
ProfId3CM=هوية شخصية. الأستاذ. 3 (رقم مرسوم الانشاء)
|
||||||
ProfId4CM=Id. prof. 4 (Certificate of deposits)
|
ProfId4CM=هوية شخصية. الأستاذ. 4 (رقم شهادة الإيداع)
|
||||||
ProfId5CM=Id. prof. 5 (Others)
|
ProfId5CM=هوية شخصية. الأستاذ. 5 (أخرى)
|
||||||
ProfId6CM=-
|
ProfId6CM=-
|
||||||
ProfId1ShortCM=Trade Register
|
ProfId1ShortCM=السجل التجاري
|
||||||
ProfId2ShortCM=Taxpayer No.
|
ProfId2ShortCM=رقم دافع الضرائب
|
||||||
ProfId3ShortCM=Decree of creation
|
ProfId3ShortCM=رقم مرسوم الانشاء
|
||||||
ProfId4ShortCM=Certificate of deposits
|
ProfId4ShortCM=شهادة الايداع رقم
|
||||||
ProfId5ShortCM=آخرون
|
ProfId5ShortCM=آخرون
|
||||||
ProfId6ShortCM=-
|
ProfId6ShortCM=-
|
||||||
ProfId1CO=الهوية المهنية 1 (R.U.T.)
|
ProfId1CO=الهوية المهنية 1 (R.U.T.)
|
||||||
@ -189,17 +190,17 @@ ProfId1ES=الهوية المهنية 1 (CIF / NIF)
|
|||||||
ProfId2ES=الهوية المهنية 2 (رقم الضمان الاجتماعي)
|
ProfId2ES=الهوية المهنية 2 (رقم الضمان الاجتماعي)
|
||||||
ProfId3ES=الهوية المهنية 3 (CNAE)
|
ProfId3ES=الهوية المهنية 3 (CNAE)
|
||||||
ProfId4ES=(عدد الجماعية)
|
ProfId4ES=(عدد الجماعية)
|
||||||
ProfId5ES=Prof Id 5 (EORI number)
|
ProfId5ES=معرف الأستاذ 5 (رقم EORI)
|
||||||
ProfId6ES=-
|
ProfId6ES=-
|
||||||
ProfId1FR=الأستاذ عيد 1 (صفارة إنذار)
|
ProfId1FR=الأستاذ عيد 1 (صفارة إنذار)
|
||||||
ProfId2FR=الأستاذ عيد 2 (SIRET)
|
ProfId2FR=الأستاذ عيد 2 (SIRET)
|
||||||
ProfId3FR=الأستاذ عيد 3 (NAF ، البالغ من العمر قرد)
|
ProfId3FR=الأستاذ عيد 3 (NAF ، البالغ من العمر قرد)
|
||||||
ProfId4FR=الأستاذ عيد 4 (نظام المنسقين المقيمين / لجمهورية مقدونيا)
|
ProfId4FR=الأستاذ عيد 4 (نظام المنسقين المقيمين / لجمهورية مقدونيا)
|
||||||
ProfId5FR=Prof Id 5 (numéro EORI)
|
ProfId5FR=معرف الأستاذ 5 (رقم EORI)
|
||||||
ProfId6FR=-
|
ProfId6FR=-
|
||||||
ProfId1ShortFR=SIREN
|
ProfId1ShortFR=صفارة إنذار
|
||||||
ProfId2ShortFR=SIRET
|
ProfId2ShortFR=سيريت
|
||||||
ProfId3ShortFR=NAF
|
ProfId3ShortFR=ناف
|
||||||
ProfId4ShortFR=RCS
|
ProfId4ShortFR=RCS
|
||||||
ProfId5ShortFR=EORI
|
ProfId5ShortFR=EORI
|
||||||
ProfId6ShortFR=-
|
ProfId6ShortFR=-
|
||||||
@ -255,7 +256,7 @@ ProfId1PT=الأستاذ عيد 1 (NIPC)
|
|||||||
ProfId2PT=الأستاذ عيد 2 (رقم الضمان الاجتماعي)
|
ProfId2PT=الأستاذ عيد 2 (رقم الضمان الاجتماعي)
|
||||||
ProfId3PT=الأستاذ عيد 3 (رقم السجل التجاري)
|
ProfId3PT=الأستاذ عيد 3 (رقم السجل التجاري)
|
||||||
ProfId4PT=الأستاذ عيد 4 (يضم)
|
ProfId4PT=الأستاذ عيد 4 (يضم)
|
||||||
ProfId5PT=Prof Id 5 (EORI number)
|
ProfId5PT=معرف الأستاذ 5 (رقم EORI)
|
||||||
ProfId6PT=-
|
ProfId6PT=-
|
||||||
ProfId1SN=RC
|
ProfId1SN=RC
|
||||||
ProfId2SN=NINEA
|
ProfId2SN=NINEA
|
||||||
@ -279,7 +280,7 @@ ProfId1RO=Prof Id 1 (CUI)
|
|||||||
ProfId2RO=Prof Id 2 (Nr. Înmatriculare)
|
ProfId2RO=Prof Id 2 (Nr. Înmatriculare)
|
||||||
ProfId3RO=Prof Id 3 (CAEN)
|
ProfId3RO=Prof Id 3 (CAEN)
|
||||||
ProfId4RO=Prof Id 5 (EUID)
|
ProfId4RO=Prof Id 5 (EUID)
|
||||||
ProfId5RO=Prof Id 5 (EORI number)
|
ProfId5RO=معرف الأستاذ 5 (رقم EORI)
|
||||||
ProfId6RO=-
|
ProfId6RO=-
|
||||||
ProfId1RU=الأستاذ رقم 1 (OGRN)
|
ProfId1RU=الأستاذ رقم 1 (OGRN)
|
||||||
ProfId2RU=الأستاذ رقم 2 (INN)
|
ProfId2RU=الأستاذ رقم 2 (INN)
|
||||||
@ -287,12 +288,12 @@ ProfId3RU=Prof Id 3 (KPP)
|
|||||||
ProfId4RU=Prof Id 4 (OKPO)
|
ProfId4RU=Prof Id 4 (OKPO)
|
||||||
ProfId5RU=-
|
ProfId5RU=-
|
||||||
ProfId6RU=-
|
ProfId6RU=-
|
||||||
ProfId1UA=Prof Id 1 (EDRPOU)
|
ProfId1UA=معرف الأستاذ 1 (EDRPOU)
|
||||||
ProfId2UA=Prof Id 2 (DRFO)
|
ProfId2UA=معرف الأستاذ 2 (DRFO)
|
||||||
ProfId3UA=Prof Id 3 (INN)
|
ProfId3UA=معرف الأستاذ 3 (INN)
|
||||||
ProfId4UA=Prof Id 4 (Certificate)
|
ProfId4UA=معرف الأستاذ 4 (شهادة)
|
||||||
ProfId5UA=Prof Id 5 (RNOKPP)
|
ProfId5UA=معرف الأستاذ 5 (RNOKPP)
|
||||||
ProfId6UA=Prof Id 6 (TRDPAU)
|
ProfId6UA=معرف الأستاذ 6 (TRDPAU)
|
||||||
ProfId1DZ=RC
|
ProfId1DZ=RC
|
||||||
ProfId2DZ=Art.
|
ProfId2DZ=Art.
|
||||||
ProfId3DZ=NIF
|
ProfId3DZ=NIF
|
||||||
@ -353,7 +354,7 @@ CustomerCodeDesc=كود العميل فريد لجميع العملاء
|
|||||||
SupplierCodeDesc=كود المورد ، فريد لجميع الموردين
|
SupplierCodeDesc=كود المورد ، فريد لجميع الموردين
|
||||||
RequiredIfCustomer=مطلوب ، إذا كان الطرف الثالث عميلاً أو فرصة
|
RequiredIfCustomer=مطلوب ، إذا كان الطرف الثالث عميلاً أو فرصة
|
||||||
RequiredIfSupplier=مطلوب إذا كان الطرف الثالث موردا
|
RequiredIfSupplier=مطلوب إذا كان الطرف الثالث موردا
|
||||||
ValidityControledByModule=Validity controlled by the module
|
ValidityControledByModule=يتم التحكم في الصلاحية بواسطة الوحدة
|
||||||
ThisIsModuleRules=قواعد هذه الوحدة
|
ThisIsModuleRules=قواعد هذه الوحدة
|
||||||
ProspectToContact=فرصة للاتصال
|
ProspectToContact=فرصة للاتصال
|
||||||
CompanyDeleted=تم حذف شركة "%s" من قاعدة البيانات.
|
CompanyDeleted=تم حذف شركة "%s" من قاعدة البيانات.
|
||||||
@ -363,7 +364,7 @@ ListOfThirdParties=قائمة الأطراف الثالثة
|
|||||||
ShowCompany=طرف ثالث
|
ShowCompany=طرف ثالث
|
||||||
ShowContact=عنوان الإتصال
|
ShowContact=عنوان الإتصال
|
||||||
ContactsAllShort=الكل (بدون فلتر)
|
ContactsAllShort=الكل (بدون فلتر)
|
||||||
ContactType=Contact role
|
ContactType=دور الاتصال
|
||||||
ContactForOrders=جهة اتصال الامر
|
ContactForOrders=جهة اتصال الامر
|
||||||
ContactForOrdersOrShipments=جهة اتصال الامر أو الشحنة
|
ContactForOrdersOrShipments=جهة اتصال الامر أو الشحنة
|
||||||
ContactForProposals=جهة اتصال العروض
|
ContactForProposals=جهة اتصال العروض
|
||||||
@ -385,7 +386,7 @@ VATIntraCheck=فحص
|
|||||||
VATIntraCheckDesc=The VAT ID must include the country prefix. The link <b>%s</b> uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server.
|
VATIntraCheckDesc=The VAT ID must include the country prefix. The link <b>%s</b> uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server.
|
||||||
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
|
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
|
||||||
VATIntraCheckableOnEUSite=تحقق من معرف ضريبة القيمة المضافة داخل الاتجاد على موقع المفوضية الأوروبية
|
VATIntraCheckableOnEUSite=تحقق من معرف ضريبة القيمة المضافة داخل الاتجاد على موقع المفوضية الأوروبية
|
||||||
VATIntraManualCheck=You can also check manually on the European Commission website <a href="%s" target="_blank" rel="noopener noreferrer">%s</a>
|
VATIntraManualCheck=يمكنك أيضًا التحقق يدويًا على موقع المفوضية الأوروبية <a href="%s" target="_blank" rel="noopener noreferrer"> %s </a>
|
||||||
ErrorVATCheckMS_UNAVAILABLE=تحقق غير ممكن. لا يتم توفير خدمة التحقق من قبل الدولة العضو (%s).
|
ErrorVATCheckMS_UNAVAILABLE=تحقق غير ممكن. لا يتم توفير خدمة التحقق من قبل الدولة العضو (%s).
|
||||||
NorProspectNorCustomer=ليس فرصة، ولا عميل
|
NorProspectNorCustomer=ليس فرصة، ولا عميل
|
||||||
JuridicalStatus=نوع الكيان التجاري
|
JuridicalStatus=نوع الكيان التجاري
|
||||||
@ -461,12 +462,12 @@ ListSuppliersShort=قائمة الموردين
|
|||||||
ListProspectsShort=قائمة الفرص
|
ListProspectsShort=قائمة الفرص
|
||||||
ListCustomersShort=قائمة العملاء
|
ListCustomersShort=قائمة العملاء
|
||||||
ThirdPartiesArea=الأطراف الثالثة | جهات الاتصال
|
ThirdPartiesArea=الأطراف الثالثة | جهات الاتصال
|
||||||
LastModifiedThirdParties=Latest %s Third Parties which were modified
|
LastModifiedThirdParties=أحدث %s الأطراف الثالثة التي تم تعديلها
|
||||||
UniqueThirdParties=Total number of Third Parties
|
UniqueThirdParties=إجمالي عدد الأطراف الثالثة
|
||||||
InActivity=فتح
|
InActivity=فتح
|
||||||
ActivityCeased=مغلق
|
ActivityCeased=مغلق
|
||||||
ThirdPartyIsClosed=الطرف الثالث مغلق
|
ThirdPartyIsClosed=الطرف الثالث مغلق
|
||||||
ProductsIntoElements=List of products/services mapped to %s
|
ProductsIntoElements=قائمة المنتجات / الخدمات المعيّنة لـ %s
|
||||||
CurrentOutstandingBill=فاتورة مستحقة حاليا
|
CurrentOutstandingBill=فاتورة مستحقة حاليا
|
||||||
OutstandingBill=الأعلى للفاتورة المستحقة
|
OutstandingBill=الأعلى للفاتورة المستحقة
|
||||||
OutstandingBillReached=الأعلى لفاتورة مستحقة وصلت
|
OutstandingBillReached=الأعلى لفاتورة مستحقة وصلت
|
||||||
@ -476,7 +477,7 @@ LeopardNumRefModelDesc=الكود مجاني. يمكن تعديل هذا الك
|
|||||||
ManagingDirectors=اسم المدير (المديرون) (الرئيس التنفيذي ، المدير ، الرئيس)
|
ManagingDirectors=اسم المدير (المديرون) (الرئيس التنفيذي ، المدير ، الرئيس)
|
||||||
MergeOriginThirdparty=طرف ثالث مكرر (الطرف الثالث الذي تريد حذفه)
|
MergeOriginThirdparty=طرف ثالث مكرر (الطرف الثالث الذي تريد حذفه)
|
||||||
MergeThirdparties=دمج أطراف ثالثة
|
MergeThirdparties=دمج أطراف ثالثة
|
||||||
ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted.
|
ConfirmMergeThirdparties=هل أنت متأكد أنك تريد دمج الطرف الثالث المختار مع الطرف الحالي؟ سيتم نقل جميع العناصر المرتبطة (الفواتير ، الطلبات ، ...) إلى الطرف الثالث الحالي ، وبعد ذلك سيتم حذف الطرف الثالث المختار.
|
||||||
ThirdpartiesMergeSuccess=تم دمج الأطراف الثالثة
|
ThirdpartiesMergeSuccess=تم دمج الأطراف الثالثة
|
||||||
SaleRepresentativeLogin=تسجيل دخول مندوب مبيعات
|
SaleRepresentativeLogin=تسجيل دخول مندوب مبيعات
|
||||||
SaleRepresentativeFirstname=الاسم الأول لمندوب المبيعات
|
SaleRepresentativeFirstname=الاسم الأول لمندوب المبيعات
|
||||||
|
|||||||
@ -4,14 +4,15 @@
|
|||||||
NoErrorCommitIsDone=أي خطأ، ونحن نلزم
|
NoErrorCommitIsDone=أي خطأ، ونحن نلزم
|
||||||
# Errors
|
# Errors
|
||||||
ErrorButCommitIsDone=تم العثور على أخطاء لكننا تحقق على الرغم من هذا
|
ErrorButCommitIsDone=تم العثور على أخطاء لكننا تحقق على الرغم من هذا
|
||||||
ErrorBadEMail=Email %s is incorrect
|
ErrorBadEMail=البريد الإلكتروني %s غير صحيح
|
||||||
ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record)
|
ErrorBadMXDomain=يبدو البريد الإلكتروني %s غير صحيح (المجال لا يحتوي على سجل MX صالح)
|
||||||
ErrorBadUrl=Url %s is incorrect
|
ErrorBadUrl=عنوان Url %s غير صحيح
|
||||||
ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing.
|
ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing.
|
||||||
ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
|
ErrorRefAlreadyExists=المرجع <b> %s </b> موجود بالفعل.
|
||||||
|
ErrorTitleAlreadyExists=العنوان <b> %s </b> موجود بالفعل.
|
||||||
ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل.
|
ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل.
|
||||||
ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل.
|
ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل.
|
||||||
ErrorEmailAlreadyExists=Email %s already exists.
|
ErrorEmailAlreadyExists=البريد الإلكتروني %s موجود بالفعل.
|
||||||
ErrorRecordNotFound=لم يتم العثور على السجل.
|
ErrorRecordNotFound=لم يتم العثور على السجل.
|
||||||
ErrorFailToCopyFile=فشل في نسخ الملف <b>'%s'</b> إلى <b>'%s</b> ".
|
ErrorFailToCopyFile=فشل في نسخ الملف <b>'%s'</b> إلى <b>'%s</b> ".
|
||||||
ErrorFailToCopyDir=Failed to copy directory '<b>%s</b>' into '<b>%s</b>'.
|
ErrorFailToCopyDir=Failed to copy directory '<b>%s</b>' into '<b>%s</b>'.
|
||||||
@ -26,34 +27,34 @@ ErrorFailToGenerateFile=Failed to generate file '<b>%s</b>'.
|
|||||||
ErrorThisContactIsAlreadyDefinedAsThisType=هذا الاتصال هو اتصال بالفعل تعريف لهذا النوع.
|
ErrorThisContactIsAlreadyDefinedAsThisType=هذا الاتصال هو اتصال بالفعل تعريف لهذا النوع.
|
||||||
ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط.
|
ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط.
|
||||||
ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة.
|
ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة.
|
||||||
ErrorBadThirdPartyName=Bad value for third-party name
|
ErrorBadThirdPartyName=قيمة سيئة لاسم الجهة الخارجية
|
||||||
ForbiddenBySetupRules=Forbidden by setup rules
|
ForbiddenBySetupRules=ممنوع بواسطة قواعد الإعداد
|
||||||
ErrorProdIdIsMandatory=و٪ s غير إلزامي
|
ErrorProdIdIsMandatory=و٪ s غير إلزامي
|
||||||
ErrorAccountancyCodeCustomerIsMandatory=The accountancy code of customer %s is mandatory
|
ErrorAccountancyCodeCustomerIsMandatory=كود المحاسبة الخاص بالعميل %s إلزامي
|
||||||
ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة
|
ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة
|
||||||
ErrorBadBarCodeSyntax=Bad syntax for barcode. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned.
|
ErrorBadBarCodeSyntax=بناء جملة غير صالح للرمز الشريطي. قد تكون قد قمت بتعيين نوع رمز شريطي سيئ أو أنك حددت قناع رمز شريطي للترقيم لا يتطابق مع القيمة الممسوحة ضوئيًا.
|
||||||
ErrorCustomerCodeRequired=رمز العميل المطلوبة
|
ErrorCustomerCodeRequired=رمز العميل المطلوبة
|
||||||
ErrorBarCodeRequired=Barcode required
|
ErrorBarCodeRequired=الرمز الشريطي مطلوب
|
||||||
ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء
|
ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء
|
||||||
ErrorBarCodeAlreadyUsed=Barcode already used
|
ErrorBarCodeAlreadyUsed=الباركود مستخدم بالفعل
|
||||||
ErrorPrefixRequired=المطلوب ببادئة
|
ErrorPrefixRequired=المطلوب ببادئة
|
||||||
ErrorBadSupplierCodeSyntax=Bad syntax for vendor code
|
ErrorBadSupplierCodeSyntax=بناء جملة غير صالح لرمز البائع
|
||||||
ErrorSupplierCodeRequired=Vendor code required
|
ErrorSupplierCodeRequired=كود البائع مطلوب
|
||||||
ErrorSupplierCodeAlreadyUsed=Vendor code already used
|
ErrorSupplierCodeAlreadyUsed=كود البائع مستخدم بالفعل
|
||||||
ErrorBadParameters=بارامترات سيئة
|
ErrorBadParameters=بارامترات سيئة
|
||||||
ErrorWrongParameters=Wrong or missing parameters
|
ErrorWrongParameters=معلمات خاطئة أو مفقودة
|
||||||
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
|
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
|
||||||
ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد (PHP لديك لا يدعم وظائف لتحويل الصور من هذا الشكل)
|
ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد (PHP لديك لا يدعم وظائف لتحويل الصور من هذا الشكل)
|
||||||
ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ
|
ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ
|
||||||
ErrorWrongDate=تاريخ غير صحيح!
|
ErrorWrongDate=تاريخ غير صحيح!
|
||||||
ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق
|
ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق
|
||||||
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=العثور على بريد إلكتروني صحيح لتركيب خطوط ق ٪ في ملف (على سبيل المثال خط ٪ ق= ٪ مع البريد الإلكتروني)
|
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=العثور على بريد إلكتروني صحيح لتركيب خطوط ق ٪ في ملف (على سبيل المثال خط ٪ ق= ٪ مع البريد الإلكتروني)
|
||||||
ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities.
|
ErrorUserCannotBeDelete=لا يمكن حذف المستخدم. ربما يرتبط بكيانات Dolibarr.
|
||||||
ErrorFieldsRequired=Some required fields have been left blank.
|
ErrorFieldsRequired=تم ترك بعض الحقول المطلوبة فارغة.
|
||||||
ErrorSubjectIsRequired=The email subject is required
|
ErrorSubjectIsRequired=موضوع البريد الإلكتروني مطلوب
|
||||||
ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة).
|
ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة).
|
||||||
ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم
|
ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم
|
||||||
ErrorSetupOfEmailsNotComplete=Setup of emails is not complete
|
ErrorSetupOfEmailsNotComplete=لم يكتمل إعداد رسائل البريد الإلكتروني
|
||||||
ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض.
|
ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض.
|
||||||
ErrorTopMenuMustHaveAParentWithId0=وهناك قائمة من نوع 'توب' لا يمكن أن يكون أحد الوالدين القائمة. 0 وضعت في القائمة أو الأم في اختيار قائمة من نوع 'اليسار'.
|
ErrorTopMenuMustHaveAParentWithId0=وهناك قائمة من نوع 'توب' لا يمكن أن يكون أحد الوالدين القائمة. 0 وضعت في القائمة أو الأم في اختيار قائمة من نوع 'اليسار'.
|
||||||
ErrorLeftMenuMustHaveAParentId=وهناك قائمة من نوع 'اليسار' يجب أن يكون لها هوية الوالد.
|
ErrorLeftMenuMustHaveAParentId=وهناك قائمة من نوع 'اليسار' يجب أن يكون لها هوية الوالد.
|
||||||
@ -62,74 +63,75 @@ ErrorDirNotFound=لم يتم العثور على دليل <b>%s</b> (مسار غ
|
|||||||
ErrorFunctionNotAvailableInPHP=<b>ق ٪</b> وظيفة مطلوبة لهذه الميزة ولكن لا تتوافر في هذه النسخة / الإعداد للPHP.
|
ErrorFunctionNotAvailableInPHP=<b>ق ٪</b> وظيفة مطلوبة لهذه الميزة ولكن لا تتوافر في هذه النسخة / الإعداد للPHP.
|
||||||
ErrorDirAlreadyExists=دليل بهذا الاسم بالفعل.
|
ErrorDirAlreadyExists=دليل بهذا الاسم بالفعل.
|
||||||
ErrorFileAlreadyExists=ملف بهذا الاسم موجود مسبقا.
|
ErrorFileAlreadyExists=ملف بهذا الاسم موجود مسبقا.
|
||||||
ErrorDestinationAlreadyExists=Another file with the name <b>%s</b> already exists.
|
ErrorDestinationAlreadyExists=ملف آخر يحمل الاسم <b> %s </b> موجود بالفعل.
|
||||||
ErrorPartialFile=الملف لم تتلق تماما بواسطة الخادم.
|
ErrorPartialFile=الملف لم تتلق تماما بواسطة الخادم.
|
||||||
ErrorNoTmpDir=%s directy مؤقتة لا وجود.
|
ErrorNoTmpDir=%s directy مؤقتة لا وجود.
|
||||||
ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المساعد بى اباتشي /.
|
ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المساعد بى اباتشي /.
|
||||||
ErrorFileSizeTooLarge=حجم الملف كبير جدا.
|
ErrorFileSizeTooLarge=حجم الملف كبير جدًا أو لم يتم توفير الملف.
|
||||||
ErrorFieldTooLong=Field %s is too long.
|
ErrorFieldTooLong=الحقل %s طويل جدًا.
|
||||||
ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم
|
ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم
|
||||||
ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم
|
ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم
|
||||||
ErrorNoValueForSelectType=يرجى ملء قيمة لقائمة مختارة
|
ErrorNoValueForSelectType=يرجى ملء قيمة لقائمة مختارة
|
||||||
ErrorNoValueForCheckBoxType=يرجى ملء قيمة لقائمة مربع
|
ErrorNoValueForCheckBoxType=يرجى ملء قيمة لقائمة مربع
|
||||||
ErrorNoValueForRadioType=يرجى ملء قيمة لقائمة الراديو
|
ErrorNoValueForRadioType=يرجى ملء قيمة لقائمة الراديو
|
||||||
ErrorBadFormatValueList=قيمة القائمة لا يمكن أن يكون أكثر من واحد <u>فاصلة:٪ الصورة،</u> ولكن تحتاج إلى واحد على الأقل: مفتاح، قيمة
|
ErrorBadFormatValueList=قيمة القائمة لا يمكن أن يكون أكثر من واحد <u>فاصلة:٪ الصورة،</u> ولكن تحتاج إلى واحد على الأقل: مفتاح، قيمة
|
||||||
ErrorFieldCanNotContainSpecialCharacters=The field <b>%s</b> must not contains special characters.
|
ErrorFieldCanNotContainSpecialCharacters=يجب ألا يحتوي الحقل <b> %s </b> على أحرف خاصة.
|
||||||
ErrorFieldCanNotContainSpecialNorUpperCharacters=The field <b>%s</b> must not contain special characters, nor upper case characters and cannot contain only numbers.
|
ErrorFieldCanNotContainSpecialNorUpperCharacters=يجب ألا يحتوي الحقل <b> %s </b> على أحرف خاصة ولا أحرف كبيرة ولا يمكن أن يحتوي على أرقام فقط.
|
||||||
ErrorFieldMustHaveXChar=The field <b>%s</b> must have at least %s characters.
|
ErrorFieldMustHaveXChar=يجب أن يحتوي الحقل <b> %s </b> على أحرف %s على الأقل.
|
||||||
ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل
|
ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل
|
||||||
ErrorExportDuplicateProfil=هذا الاسم الشخصي موجود مسبقا لهذه المجموعة التصدير.
|
ErrorExportDuplicateProfil=هذا الاسم الشخصي موجود مسبقا لهذه المجموعة التصدير.
|
||||||
ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا.
|
ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا.
|
||||||
ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء.
|
ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء.
|
||||||
ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled.
|
ErrorCantSaveADoneUserWithZeroPercentage=لا يمكن حفظ إجراء مع "الحالة لم تبدأ" إذا تم ملء الحقل "تم بواسطة" أيضًا.
|
||||||
ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
|
ErrorRefAlreadyExists=المرجع <b> %s </b> موجود بالفعل.
|
||||||
ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD)
|
ErrorPleaseTypeBankTransactionReportName=الرجاء إدخال اسم كشف الحساب المصرفي حيث يجب الإبلاغ عن الإدخال (التنسيق YYYYMM أو YYYYMMDD)
|
||||||
ErrorRecordHasChildren=Failed to delete record since it has some child records.
|
ErrorRecordHasChildren=فشل حذف السجل لأنه يحتوي على بعض السجلات التابعة.
|
||||||
ErrorRecordHasAtLeastOneChildOfType=Object %s has at least one child of type %s
|
ErrorRecordHasAtLeastOneChildOfType=يحتوي الكائن %s على عنصر فرعي واحد على الأقل من النوع %s
|
||||||
ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object.
|
ErrorRecordIsUsedCantDelete=لا يمكن حذف السجل. تم استخدامه بالفعل أو تضمينه في كائن آخر.
|
||||||
ErrorModuleRequireJavascript=يجب عدم تعطيل جافا سكريبت لجعل هذا العمل الميزة. لتمكين / تعطيل جافا سكريبت ، انتقل إلى القائمة الرئيسية -> الإعداد -> العرض.
|
ErrorModuleRequireJavascript=يجب عدم تعطيل جافا سكريبت لجعل هذا العمل الميزة. لتمكين / تعطيل جافا سكريبت ، انتقل إلى القائمة الرئيسية -> الإعداد -> العرض.
|
||||||
ErrorPasswordsMustMatch=ويجب على كلا كلمات المرور المكتوبة تطابق بعضها البعض
|
ErrorPasswordsMustMatch=ويجب على كلا كلمات المرور المكتوبة تطابق بعضها البعض
|
||||||
ErrorContactEMail=A technical error occured. Please, contact administrator to following email <b>%s</b> and provide the error code <b>%s</b> in your message, or add a screen copy of this page.
|
ErrorContactEMail=حدث خطأ تقني. من فضلك ، اتصل بالمسؤول إلى البريد الإلكتروني التالي <b> %s </b> وقدم رمز الخطأ <b> %s </b> في رسالتك ، أو أضف شاشة.
|
||||||
ErrorWrongValueForField=Field <b>%s</b>: '<b>%s</b>' does not match regex rule <b>%s</b>
|
ErrorWrongValueForField=الحقل <b> %s </b>: '<b> %s </b>' لا يتطابق مع قاعدة regexz a0aeez08708f37439
|
||||||
ErrorFieldValueNotIn=Field <b>%s</b>: '<b>%s</b>' is not a value found in field <b>%s</b> of <b>%s</b>
|
ErrorHtmlInjectionForField=الحقل <b> %s </b>: تحتوي القيمة '<b> %s </b>' على بيانات ضارة غير مسموح بها
|
||||||
ErrorFieldRefNotIn=Field <b>%s</b>: '<b>%s</b>' is not a <b>%s</b> existing ref
|
ErrorFieldValueNotIn=Field <b> %s </b> : ' <b> %s </b> ' is not a value found in field <b> %s </b> of <b> %s </b>
|
||||||
ErrorsOnXLines=%s errors found
|
ErrorFieldRefNotIn=الحقل <b> %s </b>: '<b> %s </b>' ليس a0aee833658377fz039
|
||||||
|
ErrorsOnXLines=تم العثور على أخطاء %s
|
||||||
ErrorFileIsInfectedWithAVirus=وكان برنامج مكافحة الفيروسات غير قادرة على التحقق من صحة الملف (ملف قد يكون مصابا بواسطة فيروس)
|
ErrorFileIsInfectedWithAVirus=وكان برنامج مكافحة الفيروسات غير قادرة على التحقق من صحة الملف (ملف قد يكون مصابا بواسطة فيروس)
|
||||||
ErrorSpecialCharNotAllowedForField=غير مسموح الأحرف الخاصة لحقل "%s"
|
ErrorSpecialCharNotAllowedForField=غير مسموح الأحرف الخاصة لحقل "%s"
|
||||||
ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة.
|
ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة.
|
||||||
ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor
|
ErrorQtyTooLowForThisSupplier=الكمية منخفضة جدًا لهذا البائع أو لم يتم تحديد سعر لهذا المنتج لهذا البائع
|
||||||
ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities
|
ErrorOrdersNotCreatedQtyTooLow=لم يتم إنشاء بعض الطلبات بسبب الكميات المنخفضة للغاية
|
||||||
ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete.
|
ErrorModuleSetupNotComplete=يبدو أن إعداد الوحدة النمطية %s غير كامل. انتقل إلى الصفحة الرئيسية - الإعداد - الوحدات النمطية لإكمالها.
|
||||||
ErrorBadMask=خطأ في قناع
|
ErrorBadMask=خطأ في قناع
|
||||||
ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل
|
ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل
|
||||||
ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة
|
ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة
|
||||||
ErrorMaxNumberReachForThisMask=Maximum number reached for this mask
|
ErrorMaxNumberReachForThisMask=تم الوصول إلى الحد الأقصى لعدد هذا القناع
|
||||||
ErrorCounterMustHaveMoreThan3Digits=يجب أن يكون العداد أكثر من 3 أرقام
|
ErrorCounterMustHaveMoreThan3Digits=يجب أن يكون العداد أكثر من 3 أرقام
|
||||||
ErrorSelectAtLeastOne=Error, select at least one entry.
|
ErrorSelectAtLeastOne=خطأ ، حدد إدخال واحد على الأقل.
|
||||||
ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated
|
ErrorDeleteNotPossibleLineIsConsolidated=الحذف غير ممكن لأن السجل مرتبط بمعاملة بنكية تمت تسويتها
|
||||||
ErrorProdIdAlreadyExist=يتم تعيين ثلث آخر إلى %s
|
ErrorProdIdAlreadyExist=يتم تعيين ثلث آخر إلى %s
|
||||||
ErrorFailedToSendPassword=لم ترسل كلمة السر
|
ErrorFailedToSendPassword=لم ترسل كلمة السر
|
||||||
ErrorFailedToLoadRSSFile=فشل في الحصول على آر إس إس. محاولة إضافة MAIN_SIMPLEXMLLOAD_DEBUG ثابت إذا رسائل الخطأ لا توفر ما يكفي من المعلومات.
|
ErrorFailedToLoadRSSFile=فشل في الحصول على آر إس إس. محاولة إضافة MAIN_SIMPLEXMLLOAD_DEBUG ثابت إذا رسائل الخطأ لا توفر ما يكفي من المعلومات.
|
||||||
ErrorForbidden=تم الرفض. <br> محاولة الوصول إلى صفحة أو منطقة أو ميزة من وحدة نمطية تعطيل أو دون أن تكون في جلسة مصادقة أو الذي لا يسمح له المستخدم الخاص بك.
|
ErrorForbidden=تم الرفض. <br> محاولة الوصول إلى صفحة أو منطقة أو ميزة من وحدة نمطية تعطيل أو دون أن تكون في جلسة مصادقة أو الذي لا يسمح له المستخدم الخاص بك.
|
||||||
ErrorForbidden2=ويمكن تعريف إذن لهذا الدخول من قبل المسؤول Dolibarr الخاص بك من القائمة %s-> %s.
|
ErrorForbidden2=ويمكن تعريف إذن لهذا الدخول من قبل المسؤول Dolibarr الخاص بك من القائمة %s-> %s.
|
||||||
ErrorForbidden3=يبدو أن لا يتم استخدام Dolibarr خلال جلسة المصادقة. نلقي نظرة على وثائق الإعداد Dolibarr لمعرفة كيفية إدارة المصادقة (تاكيس، mod_auth أو غيرها ...).
|
ErrorForbidden3=يبدو أن لا يتم استخدام Dolibarr خلال جلسة المصادقة. نلقي نظرة على وثائق الإعداد Dolibarr لمعرفة كيفية إدارة المصادقة (تاكيس، mod_auth أو غيرها ...).
|
||||||
ErrorForbidden4=Note: clear your browser cookies to destroy existing sessions for this login.
|
ErrorForbidden4=ملاحظة: امسح ملفات تعريف الارتباط في متصفحك لتدمير الجلسات الحالية لتسجيل الدخول هذا.
|
||||||
ErrorNoImagickReadimage=لم يتم العثور على فئة Imagick في هذا PHP. لا يمكن لمعاينة تكون متاحة. يمكن للمسؤولين تعطيل هذا التبويب من إعداد القائمة - عرض.
|
ErrorNoImagickReadimage=لم يتم العثور على فئة Imagick في هذا PHP. لا يمكن لمعاينة تكون متاحة. يمكن للمسؤولين تعطيل هذا التبويب من إعداد القائمة - عرض.
|
||||||
ErrorRecordAlreadyExists=سجل موجود بالفعل
|
ErrorRecordAlreadyExists=سجل موجود بالفعل
|
||||||
ErrorLabelAlreadyExists=This label already exists
|
ErrorLabelAlreadyExists=هذه التسمية موجودة بالفعل
|
||||||
ErrorCantReadFile=فشل في قراءة الملف '%s'
|
ErrorCantReadFile=فشل في قراءة الملف '%s'
|
||||||
ErrorCantReadDir=فشل في قراءة '%s' الدليل
|
ErrorCantReadDir=فشل في قراءة '%s' الدليل
|
||||||
ErrorBadLoginPassword=سيئة قيمة لتسجيل الدخول أو كلمة السر
|
ErrorBadLoginPassword=سيئة قيمة لتسجيل الدخول أو كلمة السر
|
||||||
ErrorLoginDisabled=لقد تم تعطيل حسابك
|
ErrorLoginDisabled=لقد تم تعطيل حسابك
|
||||||
ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor.
|
ErrorFailedToRunExternalCommand=فشل تشغيل الأمر الخارجي. تحقق من أنه متاح وقابل للتشغيل بواسطة مستخدم خادم PHP. تحقق أيضًا من أن الأمر غير محمي على مستوى الصدفة بواسطة طبقة أمان مثل apparmor.
|
||||||
ErrorFailedToChangePassword=فشل في تغيير كلمة السر
|
ErrorFailedToChangePassword=فشل في تغيير كلمة السر
|
||||||
ErrorLoginDoesNotExists=لا يستطيع المستخدم الدخول مع <b>%s</b> يمكن العثور عليها.
|
ErrorLoginDoesNotExists=لا يستطيع المستخدم الدخول مع <b>%s</b> يمكن العثور عليها.
|
||||||
ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البريد الإلكتروني. إحباط عملية.
|
ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البريد الإلكتروني. إحباط عملية.
|
||||||
ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة أخرى مع القيمة الجديدة ...
|
ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة أخرى مع القيمة الجديدة ...
|
||||||
ErrorBothFieldCantBeNegative=ويمكن لحقول %s و%s لا تكون سلبية
|
ErrorBothFieldCantBeNegative=ويمكن لحقول %s و%s لا تكون سلبية
|
||||||
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice.
|
ErrorFieldCantBeNegativeOnInvoice=لا يمكن أن يكون الحقل <strong> %s </strong> سالبًا في هذا النوع من الفاتورة. إذا كنت بحاجة إلى إضافة بند خصم ، فما عليك سوى إنشاء الخصم أولاً (من الحقل "%s" في بطاقة الطرف الثالث) وتطبيقه على الفاتورة.
|
||||||
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%).
|
ErrorLinesCantBeNegativeForOneVATRate=لا يمكن أن يكون إجمالي البنود (صافي الضريبة) سالبًا لمعدل ضريبة القيمة المضافة غير الفارغ (تم العثور على إجمالي سلبي لمعدل ضريبة القيمة المضافة <b> %s </b> %%).
|
||||||
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so.
|
ErrorLinesCantBeNegativeOnDeposits=لا يمكن أن تكون الأسطر سالبة في الإيداع. ستواجه مشاكل عندما تحتاج إلى استهلاك الإيداع في الفاتورة النهائية إذا قمت بذلك.
|
||||||
ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير العملاء لا يمكن أن يكون سلبيا
|
ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير العملاء لا يمكن أن يكون سلبيا
|
||||||
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
|
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
|
||||||
ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
|
ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
|
||||||
@ -142,10 +144,10 @@ ErrorFailedToAddToMailmanList=فشل لاضافة التسجيلة٪ s إلى ق
|
|||||||
ErrorFailedToRemoveToMailmanList=فشل لإزالة سجل٪ s إلى قائمة ميلمان٪ الصورة أو قاعدة SPIP
|
ErrorFailedToRemoveToMailmanList=فشل لإزالة سجل٪ s إلى قائمة ميلمان٪ الصورة أو قاعدة SPIP
|
||||||
ErrorNewValueCantMatchOldValue=قيمة جديدة لا يمكن أن يكون مساويا لالقديم
|
ErrorNewValueCantMatchOldValue=قيمة جديدة لا يمكن أن يكون مساويا لالقديم
|
||||||
ErrorFailedToValidatePasswordReset=فشل في reinit كلمة المرور. قد يكون وقد تم بالفعل reinit (هذا الرابط يمكن استخدامها مرة واحدة فقط). إن لم يكن، في محاولة لاستئناف عملية reinit.
|
ErrorFailedToValidatePasswordReset=فشل في reinit كلمة المرور. قد يكون وقد تم بالفعل reinit (هذا الرابط يمكن استخدامها مرة واحدة فقط). إن لم يكن، في محاولة لاستئناف عملية reinit.
|
||||||
ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check database server is running (for example, with mysql/mariadb, you can launch it from command line with 'sudo service mysql start').
|
ErrorToConnectToMysqlCheckInstance=فشل الاتصال بقاعدة البيانات. تحقق من تشغيل خادم قاعدة البيانات (على سبيل المثال ، باستخدام mysql / mariadb ، يمكنك تشغيله من سطر الأوامر باستخدام "sudo service mysql start").
|
||||||
ErrorFailedToAddContact=فشل في إضافة جهة اتصال
|
ErrorFailedToAddContact=فشل في إضافة جهة اتصال
|
||||||
ErrorDateMustBeBeforeToday=The date must be lower than today
|
ErrorDateMustBeBeforeToday=يجب أن يكون التاريخ أقل من اليوم
|
||||||
ErrorDateMustBeInFuture=The date must be greater than today
|
ErrorDateMustBeInFuture=يجب أن يكون التاريخ أكبر من اليوم
|
||||||
ErrorPaymentModeDefinedToWithoutSetup=وتم تشكيل لطريقة الدفع لكتابة٪ الصورة ولكن لم يكتمل الإعداد من وحدة الفاتورة لتحديد المعلومات لاظهار هذه طريقة الدفع.
|
ErrorPaymentModeDefinedToWithoutSetup=وتم تشكيل لطريقة الدفع لكتابة٪ الصورة ولكن لم يكتمل الإعداد من وحدة الفاتورة لتحديد المعلومات لاظهار هذه طريقة الدفع.
|
||||||
ErrorPHPNeedModule=خطأ، يجب PHP الخاص بتثبيت <b>وحدة٪ s إلى</b> استخدام هذه الميزة.
|
ErrorPHPNeedModule=خطأ، يجب PHP الخاص بتثبيت <b>وحدة٪ s إلى</b> استخدام هذه الميزة.
|
||||||
ErrorOpenIDSetupNotComplete=يمكنك إعداد Dolibarr ملف التكوين للسماح بالمصادقة رض، ولكن لم يتم تعريف URL الخدمة رض إلى المستمر٪ الصورة
|
ErrorOpenIDSetupNotComplete=يمكنك إعداد Dolibarr ملف التكوين للسماح بالمصادقة رض، ولكن لم يتم تعريف URL الخدمة رض إلى المستمر٪ الصورة
|
||||||
@ -154,7 +156,7 @@ ErrorBadFormat=شكل سيئة!
|
|||||||
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice.
|
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice.
|
||||||
ErrorThereIsSomeDeliveries=خطأ، وهناك بعض الولادات ترتبط هذه الشحنة. رفض الحذف.
|
ErrorThereIsSomeDeliveries=خطأ، وهناك بعض الولادات ترتبط هذه الشحنة. رفض الحذف.
|
||||||
ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled
|
ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled
|
||||||
ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Paid
|
ErrorCantDeletePaymentSharedWithPayedInvoice=لا يمكن حذف دفعة مشتركة بواسطة فاتورة واحدة على الأقل بالحالة مدفوعة
|
||||||
ErrorPriceExpression1=لا يمكن تعيين إلى ثابت '٪ ق'
|
ErrorPriceExpression1=لا يمكن تعيين إلى ثابت '٪ ق'
|
||||||
ErrorPriceExpression2=لا يمكن إعادة تعريف المدمج في وظيفة '٪ ق'
|
ErrorPriceExpression2=لا يمكن إعادة تعريف المدمج في وظيفة '٪ ق'
|
||||||
ErrorPriceExpression3=متغير غير معرف '٪ s' في تعريف الدالة
|
ErrorPriceExpression3=متغير غير معرف '٪ s' في تعريف الدالة
|
||||||
@ -163,7 +165,7 @@ ErrorPriceExpression5=غير متوقع '٪ ق'
|
|||||||
ErrorPriceExpression6=عدد خاطئ من الوسائط (٪ ق معين،٪ المتوقعة الصورة)
|
ErrorPriceExpression6=عدد خاطئ من الوسائط (٪ ق معين،٪ المتوقعة الصورة)
|
||||||
ErrorPriceExpression8=مشغل غير متوقع '٪ ق'
|
ErrorPriceExpression8=مشغل غير متوقع '٪ ق'
|
||||||
ErrorPriceExpression9=حدث خطأ غير متوقع
|
ErrorPriceExpression9=حدث خطأ غير متوقع
|
||||||
ErrorPriceExpression10=Operator '%s' lacks operand
|
ErrorPriceExpression10=عامل التشغيل "%s" يفتقر إلى المعامل
|
||||||
ErrorPriceExpression11=تتوقع '٪ ق'
|
ErrorPriceExpression11=تتوقع '٪ ق'
|
||||||
ErrorPriceExpression14=القسمة على صفر
|
ErrorPriceExpression14=القسمة على صفر
|
||||||
ErrorPriceExpression17=غير معرف متغير '٪ ق'
|
ErrorPriceExpression17=غير معرف متغير '٪ ق'
|
||||||
@ -171,12 +173,12 @@ ErrorPriceExpression19=التعبير لم يتم العثور على
|
|||||||
ErrorPriceExpression20=التعبير فارغة
|
ErrorPriceExpression20=التعبير فارغة
|
||||||
ErrorPriceExpression21=نتيجة فارغة '٪ ق'
|
ErrorPriceExpression21=نتيجة فارغة '٪ ق'
|
||||||
ErrorPriceExpression22=نتيجة سلبية '٪ ق'
|
ErrorPriceExpression22=نتيجة سلبية '٪ ق'
|
||||||
ErrorPriceExpression23=Unknown or non set variable '%s' in %s
|
ErrorPriceExpression23=متغير غير معروف أو غير محدد "%s" في %s
|
||||||
ErrorPriceExpression24=Variable '%s' exists but has no value
|
ErrorPriceExpression24=المتغير "%s" موجود ولكن ليس له قيمة
|
||||||
ErrorPriceExpressionInternal=خطأ داخلي '٪ ق'
|
ErrorPriceExpressionInternal=خطأ داخلي '٪ ق'
|
||||||
ErrorPriceExpressionUnknown=خطأ غير معروف '٪ ق'
|
ErrorPriceExpressionUnknown=خطأ غير معروف '٪ ق'
|
||||||
ErrorSrcAndTargetWarehouseMustDiffers=يجب المصدر والهدف يختلف المستودعات
|
ErrorSrcAndTargetWarehouseMustDiffers=يجب المصدر والهدف يختلف المستودعات
|
||||||
ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information
|
ErrorTryToMakeMoveOnProductRequiringBatchData=خطأ ، أثناء محاولة إجراء حركة مخزون بدون معلومات المجموعة / التسلسل ، على المنتج "%s" الذي يتطلب معلومات المجموعة / التسلسل
|
||||||
ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=يجب أولا التحقق من جميع الاستقبالات سجلت (قبول او رفض) قبل أن يسمح لهم القيام بذلك العمل
|
ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=يجب أولا التحقق من جميع الاستقبالات سجلت (قبول او رفض) قبل أن يسمح لهم القيام بذلك العمل
|
||||||
ErrorCantSetReceptionToTotalDoneWithReceptionDenied=يجب أولا التحقق من جميع الاستقبالات سجلت (المعتمد) قبل أن يسمح لهم القيام بذلك العمل
|
ErrorCantSetReceptionToTotalDoneWithReceptionDenied=يجب أولا التحقق من جميع الاستقبالات سجلت (المعتمد) قبل أن يسمح لهم القيام بذلك العمل
|
||||||
ErrorGlobalVariableUpdater0=طلب HTTP فشلت مع الخطأ '٪ ق'
|
ErrorGlobalVariableUpdater0=طلب HTTP فشلت مع الخطأ '٪ ق'
|
||||||
@ -187,14 +189,14 @@ ErrorGlobalVariableUpdater4=العميل SOAP فشلت مع الخطأ '٪ ق'
|
|||||||
ErrorGlobalVariableUpdater5=لا متغير عمومي مختارة
|
ErrorGlobalVariableUpdater5=لا متغير عمومي مختارة
|
||||||
ErrorFieldMustBeANumeric=يجب أن يكون <b>حقل٪ الصورة</b> قيمة رقمية
|
ErrorFieldMustBeANumeric=يجب أن يكون <b>حقل٪ الصورة</b> قيمة رقمية
|
||||||
ErrorMandatoryParametersNotProvided=معيار إلزامي (ق) لم تقدم
|
ErrorMandatoryParametersNotProvided=معيار إلزامي (ق) لم تقدم
|
||||||
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this lead. So you must also enter it's status.
|
ErrorOppStatusRequiredIfAmount=قمت بتعيين مبلغ تقديري لهذا العميل المتوقع. لذلك يجب عليك أيضًا إدخال حالتها.
|
||||||
ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s
|
ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s
|
||||||
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
|
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
|
||||||
ErrorSavingChanges=An error has occurred when saving the changes
|
ErrorSavingChanges=حدث خطأ أثناء حفظ التغييرات
|
||||||
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
|
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
|
||||||
ErrorFileMustHaveFormat=File must have format %s
|
ErrorFileMustHaveFormat=File must have format %s
|
||||||
ErrorFilenameCantStartWithDot=Filename can't start with a '.'
|
ErrorFilenameCantStartWithDot=لا يمكن أن يبدأ اسم الملف بـ "."
|
||||||
ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first.
|
ErrorSupplierCountryIsNotDefined=لم يتم تحديد البلد لهذا البائع. صحح هذا أولاً.
|
||||||
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
|
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
|
||||||
ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order.
|
ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order.
|
||||||
ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice.
|
ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice.
|
||||||
@ -210,87 +212,99 @@ ErrorPhpMailDelivery=Check that you don't use a too high number of recipients an
|
|||||||
ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed.
|
ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed.
|
||||||
ErrorTaskAlreadyAssigned=Task already assigned to user
|
ErrorTaskAlreadyAssigned=Task already assigned to user
|
||||||
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
|
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
|
||||||
ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: <strong>%s</strong> or <strong>%s</strong>
|
ErrorModuleFileSeemsToHaveAWrongFormat2=يجب أن يوجد دليل إلزامي واحد على الأقل في ملف مضغوط للوحدة النمطية: <strong> %s </strong> أو <strong> %s </strong>
|
||||||
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
|
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.
|
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
|
||||||
ErrorNoWarehouseDefined=Error, no warehouses defined.
|
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.
|
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.
|
ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped.
|
||||||
ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Mass validation is not possible when option to increase/decrease stock is set on this action (you must validate one by one so you can define the warehouse to increase/decrease)
|
ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=لا يمكن التحقق من صحة الكتلة عند تعيين خيار زيادة / تقليل المخزون في هذا الإجراء (يجب التحقق من صحة واحدًا تلو الآخر حتى تتمكن من تحديد المستودع لزيادة / تقليل)
|
||||||
ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated.
|
ErrorObjectMustHaveStatusDraftToBeValidated=يجب أن يكون للكائن %s الحالة "مسودة" ليتم التحقق من صحتها.
|
||||||
ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated.
|
ErrorObjectMustHaveLinesToBeValidated=يجب أن يحتوي الكائن %s على سطور ليتم التحقق من صحتها.
|
||||||
ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action.
|
ErrorOnlyInvoiceValidatedCanBeSentInMassAction=يمكن إرسال الفواتير التي تم التحقق من صحتها فقط باستخدام الإجراء الجماعي "إرسال عبر البريد الإلكتروني".
|
||||||
ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not
|
ErrorChooseBetweenFreeEntryOrPredefinedProduct=يجب أن تختار ما إذا كانت المقالة عبارة عن منتج محدد مسبقًا أم لا
|
||||||
ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before.
|
ErrorDiscountLargerThanRemainToPaySplitItBefore=الخصم الذي تحاول تطبيقه أكبر من المبلغ المتبقي لدفعه. قسّم الخصم إلى خصمين أصغر من قبل.
|
||||||
ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently.
|
ErrorFileNotFoundWithSharedLink=لم يتم العثور على الملف. قد يكون مفتاح المشاركة قد تم تعديله أو تمت إزالة الملف مؤخرًا.
|
||||||
ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference.
|
ErrorProductBarCodeAlreadyExists=الرمز الشريطي للمنتج %s موجود بالفعل في مرجع منتج آخر.
|
||||||
ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
|
ErrorNoteAlsoThatSubProductCantBeFollowedByLot=لاحظ أيضًا أن استخدام المجموعات لزيادة / تقليل المنتجات الفرعية تلقائيًا غير ممكن عندما يحتاج منتج فرعي واحد على الأقل (أو منتج فرعي من المنتجات الفرعية) إلى رقم تسلسلي / دفعة.
|
||||||
ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product
|
ErrorDescRequiredForFreeProductLines=الوصف إلزامي للخطوط التي تحتوي على منتج مجاني
|
||||||
ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container <strong>%s</strong> has the same name or alternative alias that the one your try to use
|
ErrorAPageWithThisNameOrAliasAlreadyExists=الصفحة / الحاوية <strong> %s </strong> لها نفس الاسم أو الاسم المستعار البديل الذي تحاول استخدامه
|
||||||
ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually.
|
ErrorDuringChartLoad=خطأ عند تحميل مخطط الحسابات. إذا لم يتم تحميل عدد قليل من الحسابات ، فلا يزال بإمكانك إدخالها يدويًا.
|
||||||
ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s
|
ErrorBadSyntaxForParamKeyForContent=بناء جملة غير صحيح لـ param keyforcontent. يجب أن تبدأ القيمة بـ %s أو %s
|
||||||
ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set.
|
ErrorVariableKeyForContentMustBeSet=خطأ ، يجب تعيين الثابت الذي يحمل الاسم %s (مع محتوى نصي لإظهاره) أو %s (مع عنوان url خارجي لإظهاره).
|
||||||
ErrorURLMustEndWith=URL %s must end %s
|
ErrorURLMustEndWith=يجب أن ينتهي عنوان URL %s بـ %s
|
||||||
ErrorURLMustStartWithHttp=URL %s must start with http:// or https://
|
ErrorURLMustStartWithHttp=يجب أن يبدأ عنوان URL %s بـ http: // أو https: //
|
||||||
ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https://
|
ErrorHostMustNotStartWithHttp=يجب ألا يبدأ اسم المضيف %s بـ http: // أو https: //
|
||||||
ErrorNewRefIsAlreadyUsed=Error, the new reference is already used
|
ErrorNewRefIsAlreadyUsed=خطأ ، المرجع الجديد مستخدم بالفعل
|
||||||
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible.
|
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=خطأ ، لا يمكن حذف الدفعة المرتبطة بفاتورة مغلقة.
|
||||||
ErrorSearchCriteriaTooSmall=Search criteria too small.
|
ErrorSearchCriteriaTooSmall=معايير البحث صغيرة جدًا.
|
||||||
ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled
|
ErrorObjectMustHaveStatusActiveToBeDisabled=يجب أن تكون الكائنات بحالة "نشطة" ليتم تعطيلها
|
||||||
ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled
|
ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=يجب أن تكون الكائنات بحالة "مسودة" أو "معطلة" ليتم تمكينها
|
||||||
ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist.
|
ErrorNoFieldWithAttributeShowoncombobox=لا توجد حقول لها الخاصية "showoncombobox" في تعريف الكائن "%s". لا توجد طريقة لإظهار الاحتكاك.
|
||||||
ErrorFieldRequiredForProduct=Field '%s' is required for product %s
|
ErrorFieldRequiredForProduct=الحقل "%s" مطلوب للمنتج %s
|
||||||
ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s.
|
ProblemIsInSetupOfTerminal=كانت المشكلة في إعداد المحطة الطرفية %s.
|
||||||
ErrorAddAtLeastOneLineFirst=Add at least one line first
|
ErrorAddAtLeastOneLineFirst=أضف سطرًا واحدًا على الأقل أولاً
|
||||||
ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible.
|
ErrorRecordAlreadyInAccountingDeletionNotPossible=خطأ ، تم نقل السجل بالفعل في المحاسبة ، والحذف غير ممكن.
|
||||||
ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one.
|
ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=خطأ ، اللغة إلزامية إذا قمت بتعيين الصفحة على أنها ترجمة لصفحة أخرى.
|
||||||
ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one.
|
ErrorLanguageOfTranslatedPageIsSameThanThisPage=خطأ ، لغة الصفحة المترجمة هي نفسها هذه.
|
||||||
ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s".
|
ErrorBatchNoFoundForProductInWarehouse=لم يتم العثور على دفعة / مسلسل للمنتج "%s" في المستودع "%s".
|
||||||
ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s".
|
ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=لا توجد كمية كافية لهذه الكمية / المسلسل للمنتج "%s" في المستودع "%s".
|
||||||
ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded)
|
ErrorOnlyOneFieldForGroupByIsPossible=يمكن استخدام حقل واحد فقط لـ "تجميع حسب" (يتم تجاهل الحقول الأخرى)
|
||||||
ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than <b>%s</b>) for the field '<b>%s</b>', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ?
|
ErrorTooManyDifferentValueForSelectedGroupBy=تم العثور على قيم مختلفة كثيرة جدًا (أكثر من <b> %s </b>) للحقل "<b> %s </b>" ، لذلك لا يمكننا استخدامها كمجموعة رسومات ". تمت إزالة الحقل "تجميع حسب". قد ترغب في استخدامه كمحور X؟
|
||||||
ErrorReplaceStringEmpty=Error, the string to replace into is empty
|
ErrorReplaceStringEmpty=خطأ ، السلسلة المطلوب استبدالها فارغة
|
||||||
ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number
|
ErrorProductNeedBatchNumber=خطأ ، المنتج '<b> %s </b>' بحاجة إلى الكثير / الرقم التسلسلي
|
||||||
ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number
|
ErrorProductDoesNotNeedBatchNumber=خطأ ، المنتج "<b> %s </b>" لا يقبل الكثير / الرقم التسلسلي
|
||||||
ErrorFailedToReadObject=Error, failed to read object of type <b>%s</b>
|
ErrorFailedToReadObject=خطأ ، فشلت قراءة كائن من النوع <b> %s </b>
|
||||||
ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter <b>%s</b> must be enabled into <b>conf/conf.php<b> to allow use of Command Line Interface by the internal job scheduler
|
ErrorParameterMustBeEnabledToAllwoThisFeature=خطأ ، يجب تمكين المعلمة <b> %s </b> في <b> conf / conf.php <b> للسماح باستخدام واجهة سطر الأوامر بواسطة برنامج جدولة الوظائف الداخلي
|
||||||
ErrorLoginDateValidity=Error, this login is outside the validity date range
|
ErrorLoginDateValidity=خطأ ، تسجيل الدخول هذا خارج النطاق الزمني للصلاحية
|
||||||
ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>'
|
ErrorValueLength=يجب أن يكون طول الحقل "<b> %s </b>" أعلى من "<b> %s </b>"
|
||||||
ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword
|
ErrorReservedKeyword=كلمة "<b> %s </b>" هي كلمة أساسية محجوزة
|
||||||
ErrorNotAvailableWithThisDistribution=Not available with this distribution
|
ErrorNotAvailableWithThisDistribution=غير متوفر مع هذا التوزيع
|
||||||
ErrorPublicInterfaceNotEnabled=Public interface was not enabled
|
ErrorPublicInterfaceNotEnabled=لم يتم تمكين الواجهة العامة
|
||||||
ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page
|
ErrorLanguageRequiredIfPageIsTranslationOfAnother=يجب تحديد لغة الصفحة الجديدة إذا تم تعيينها على أنها ترجمة لصفحة أخرى
|
||||||
ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page
|
ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=يجب ألا تكون لغة الصفحة الجديدة هي لغة المصدر إذا تم تعيينها على أنها ترجمة لصفحة أخرى
|
||||||
ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation
|
ErrorAParameterIsRequiredForThisOperation=المعلمة إلزامية لهذه العملية
|
||||||
ErrorDateIsInFuture=Error, the date can't be in the future
|
ErrorDateIsInFuture=خطأ ، لا يمكن أن يكون التاريخ في المستقبل
|
||||||
ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory
|
ErrorAnAmountWithoutTaxIsRequired=خطأ ، المبلغ إلزامي
|
||||||
ErrorAPercentIsRequired=Error, please fill in the percentage correctly
|
ErrorAPercentIsRequired=خطأ ، يرجى ملء النسبة بشكل صحيح
|
||||||
ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account
|
ErrorYouMustFirstSetupYourChartOfAccount=يجب عليك أولاً إعداد مخطط الحساب الخاص بك
|
||||||
ErrorFailedToFindEmailTemplate=Failed to find template with code name %s
|
ErrorFailedToFindEmailTemplate=فشل العثور على قالب بالاسم الرمزي %s
|
||||||
ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price.
|
ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=المدة غير محددة في الخدمة. لا توجد طريقة لحساب سعر الساعة.
|
||||||
ErrorActionCommPropertyUserowneridNotDefined=User's owner is required
|
ErrorActionCommPropertyUserowneridNotDefined=مالك المستخدم مطلوب
|
||||||
ErrorActionCommBadType=Selected event type (id: %s, code: %s) do not exist in Event Type dictionary
|
ErrorActionCommBadType=Selected event type (id: %s, code: %s) do not exist in Event Type dictionary
|
||||||
CheckVersionFail=Version check fail
|
CheckVersionFail=فشل التحقق من الإصدار
|
||||||
ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it
|
ErrorWrongFileName=لا يمكن أن يحتوي اسم الملف على __SOMETHING__ فيه
|
||||||
ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify.
|
ErrorNotInDictionaryPaymentConditions=ليس في قاموس شروط الدفع ، يرجى التعديل.
|
||||||
ErrorIsNotADraft=%s is not a draft
|
ErrorIsNotADraft=%s ليس مسودة
|
||||||
ErrorExecIdFailed=Can't execute command "id"
|
ErrorExecIdFailed=لا يمكن تنفيذ الأمر "id"
|
||||||
ErrorBadCharIntoLoginName=Unauthorized character in the login name
|
ErrorBadCharIntoLoginName=شخصية غير مصرح بها في اسم تسجيل الدخول
|
||||||
ErrorRequestTooLarge=Error, request too large
|
ErrorRequestTooLarge=خطأ ، الطلب كبير جدًا
|
||||||
|
ErrorNotApproverForHoliday=أنت لست المعتمد للمغادرة %s
|
||||||
|
ErrorAttributeIsUsedIntoProduct=تُستخدم هذه السمة في متغير منتج واحد أو أكثر
|
||||||
|
ErrorAttributeValueIsUsedIntoProduct=تُستخدم قيمة السمة هذه في متغير منتج واحد أو أكثر
|
||||||
|
ErrorPaymentInBothCurrency=خطأ ، يجب إدخال جميع المبالغ في نفس العمود
|
||||||
|
ErrorYouTryToPayInvoicesInACurrencyFromBankWithAnotherCurrency=تحاول دفع الفواتير بالعملة %s من حساب بالعملة %s
|
||||||
|
ErrorInvoiceLoadThirdParty=لا يمكن تحميل كائن جهة خارجية للفاتورة "%s"
|
||||||
|
ErrorInvoiceLoadThirdPartyKey=مفتاح الجهة الخارجية "%s" لم يتم تعيينه للفاتورة "%s"
|
||||||
|
ErrorDeleteLineNotAllowedByObjectStatus=حذف سطر غير مسموح به من خلال حالة الكائن الحالية
|
||||||
|
ErrorAjaxRequestFailed=الطلب فشل
|
||||||
|
ErrorThirpdartyOrMemberidIsMandatory=طرف ثالث أو عضو في الشراكة إلزامي
|
||||||
|
ErrorFailedToWriteInTempDirectory=Failed to write in temp directory
|
||||||
|
ErrorQuantityIsLimitedTo=Quantity is limited to %s
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup.
|
WarningParamUploadMaxFileSizeHigherThanPostMaxSize=معلمة PHP upload_max_filesize (%s) أعلى من معلمة PHP post_max_size (%s). هذا ليس إعداد ثابت.
|
||||||
WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
|
WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
|
||||||
WarningMandatorySetupNotComplete=Click here to setup mandatory parameters
|
WarningMandatorySetupNotComplete=Click here to setup main parameters
|
||||||
WarningEnableYourModulesApplications=Click here to enable your modules and applications
|
WarningEnableYourModulesApplications=انقر هنا لتمكين الوحدات والتطبيقات الخاصة بك
|
||||||
WarningSafeModeOnCheckExecDir=انذار ، فب <b>safe_mode</b> الخيار في ذلك تخزين الأمر يجب أن يكون داخل الدليل الذي أعلنته <b>safe_mode_exec_dir</b> المعلمة بي.
|
WarningSafeModeOnCheckExecDir=انذار ، فب <b>safe_mode</b> الخيار في ذلك تخزين الأمر يجب أن يكون داخل الدليل الذي أعلنته <b>safe_mode_exec_dir</b> المعلمة بي.
|
||||||
WarningBookmarkAlreadyExists=المرجعية هذا الكتاب أو هذا الهدف (عنوان) موجود بالفعل.
|
WarningBookmarkAlreadyExists=المرجعية هذا الكتاب أو هذا الهدف (عنوان) موجود بالفعل.
|
||||||
WarningPassIsEmpty=تحذير كلمة سر قاعدة بيانات فارغة. هذه هي ثغرة أمنية. يجب عليك أن تضيف كلمة السر الخاصة بك لقاعدة البيانات وتغيير conf.php ليعكس هذا الملف.
|
WarningPassIsEmpty=تحذير كلمة سر قاعدة بيانات فارغة. هذه هي ثغرة أمنية. يجب عليك أن تضيف كلمة السر الخاصة بك لقاعدة البيانات وتغيير conf.php ليعكس هذا الملف.
|
||||||
WarningConfFileMustBeReadOnly=انذار ، ملف (التكوين <b>htdocs / أسيوط / conf.php)</b> الخاص يمكن أن تكون الكتابة بواسطة خادم الويب. هذه هي ثغرة أمنية خطيرة. أذونات تعديل على ملف ليكون في وضع القراءة فقط لمستخدم نظام التشغيل المستخدمة من قبل ملقم ويب. إذا كنت تستخدم ويندوز وشكل نسبة الدهون لمدة القرص الخاص بك ، فإنك يجب أن نعرف أن هذا النظام لا يسمح ملف لإضافة الأذونات على الملف ، بحيث لا تكون آمنة تماما.
|
WarningConfFileMustBeReadOnly=انذار ، ملف (التكوين <b>htdocs / أسيوط / conf.php)</b> الخاص يمكن أن تكون الكتابة بواسطة خادم الويب. هذه هي ثغرة أمنية خطيرة. أذونات تعديل على ملف ليكون في وضع القراءة فقط لمستخدم نظام التشغيل المستخدمة من قبل ملقم ويب. إذا كنت تستخدم ويندوز وشكل نسبة الدهون لمدة القرص الخاص بك ، فإنك يجب أن نعرف أن هذا النظام لا يسمح ملف لإضافة الأذونات على الملف ، بحيث لا تكون آمنة تماما.
|
||||||
WarningsOnXLines=تحذيرات عن مصدر خطوط <b>%s</b>
|
WarningsOnXLines=تحذيرات عن مصدر خطوط <b>%s</b>
|
||||||
WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be chosen by default until you check your module setup.
|
WarningNoDocumentModelActivated=لم يتم تنشيط أي نموذج لإنشاء المستندات. سيتم اختيار نموذج افتراضيًا حتى تتحقق من إعداد الوحدة الخاصة بك.
|
||||||
WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable the installation/migration tools by adding a file <b>install.lock</b> into directory <b>%s</b>. Omitting the creation of this file is a grave security risk.
|
WarningLockFileDoesNotExists=تحذير ، بمجرد الانتهاء من الإعداد ، يجب عليك تعطيل أدوات التثبيت / الترحيل عن طريق إضافة ملف <b> install.lock </b> إلى الدليل <b> %s </b>. يعد حذف إنشاء هذا الملف مخاطرة أمنية كبيرة.
|
||||||
WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other Setup).
|
WarningUntilDirRemoved=ستبقى جميع التحذيرات الأمنية (المرئية من قبل المستخدمين المسؤولين فقط) نشطة طالما أن الثغرة الأمنية موجودة (أو أن MAIN_REMOVE_INSTALL_WARNING الثابت مضاف في الإعداد-> الإعداد الآخر).
|
||||||
WarningCloseAlways=تحذير، ويتم إغلاق حتى إذا قدر يختلف بين عناصر المصدر والهدف. تمكين هذه الميزة بحذر.
|
WarningCloseAlways=تحذير، ويتم إغلاق حتى إذا قدر يختلف بين عناصر المصدر والهدف. تمكين هذه الميزة بحذر.
|
||||||
WarningUsingThisBoxSlowDown=تحذير، وذلك باستخدام هذا الإطار تبطئ على محمل الجد كل الصفحات التي تظهر مربع.
|
WarningUsingThisBoxSlowDown=تحذير، وذلك باستخدام هذا الإطار تبطئ على محمل الجد كل الصفحات التي تظهر مربع.
|
||||||
WarningClickToDialUserSetupNotComplete=إعداد المعلومات ClickToDial لالمستخدم الخاص بك ليست كاملة (انظر التبويب ClickToDial على بطاقة المستخدم الخاص بك).
|
WarningClickToDialUserSetupNotComplete=إعداد المعلومات ClickToDial لالمستخدم الخاص بك ليست كاملة (انظر التبويب ClickToDial على بطاقة المستخدم الخاص بك).
|
||||||
@ -300,35 +314,36 @@ WarningTooManyDataPleaseUseMoreFilters=عدد كبير جدا من البيان
|
|||||||
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.
|
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.
|
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
|
WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language
|
||||||
WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists
|
WarningNumberOfRecipientIsRestrictedInMassAction=تحذير ، عدد المستلمين المختلفين يقتصر على <b> %s </b> عند استخدام الإجراءات الجماعية في القوائم
|
||||||
WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report
|
WarningDateOfLineMustBeInExpenseReportRange=تحذير ، تاريخ السطر ليس في نطاق تقرير المصاريف
|
||||||
WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks.
|
WarningProjectDraft=المشروع لا يزال في وضع المسودة. لا تنس التحقق من صحته إذا كنت تخطط لاستخدام المهام.
|
||||||
WarningProjectClosed=Project is closed. You must re-open it first.
|
WarningProjectClosed=المشروع مغلق. يجب عليك إعادة فتحه أولاً.
|
||||||
WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list.
|
WarningSomeBankTransactionByChequeWereRemovedAfter=تمت إزالة بعض المعاملات المصرفية بعد أن تم إنشاء الإيصال بما في ذلك. لذلك قد يختلف عدد الشيكات وإجمالي الإيصالات عن العدد والإجمالي في القائمة.
|
||||||
WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table
|
WarningFailedToAddFileIntoDatabaseIndex=تحذير ، فشل في إضافة إدخال الملف إلى جدول فهرس قاعدة بيانات ECM
|
||||||
WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on.
|
WarningTheHiddenOptionIsOn=تحذير ، الخيار المخفي <b> %s </b> قيد التشغيل.
|
||||||
WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list
|
WarningCreateSubAccounts=تحذير ، لا يمكنك إنشاء حساب فرعي مباشرة ، يجب عليك إنشاء طرف ثالث أو مستخدم وتعيين رمز محاسبة لهم للعثور عليهم في هذه القائمة
|
||||||
WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection.
|
WarningAvailableOnlyForHTTPSServers=متاح فقط في حالة استخدام اتصال HTTPS آمن.
|
||||||
WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here.
|
WarningModuleXDisabledSoYouMayMissEventHere=لم يتم تمكين الوحدة النمطية %s. لذلك قد تفوتك الكثير من الأحداث هنا.
|
||||||
WarningPaypalPaymentNotCompatibleWithStrict=The value 'Strict' makes the online payment features not working correctly. Use 'Lax' instead.
|
WarningPaypalPaymentNotCompatibleWithStrict=تجعل القيمة "صارمة" ميزات الدفع عبر الإنترنت لا تعمل بشكل صحيح. استخدم "Lax" بدلاً من ذلك.
|
||||||
|
WarningThemeForcedTo=تحذير ، تم إجبار السمة على <b> %s </b> بواسطة الثابت المخفي MAIN_FORCETHEME
|
||||||
|
|
||||||
# Validate
|
# Validate
|
||||||
RequireValidValue = Value not valid
|
RequireValidValue = القيمة غير صالحة
|
||||||
RequireAtLeastXString = Requires at least %s character(s)
|
RequireAtLeastXString = يتطلب على الأقل %s حرفًا (أحرف)
|
||||||
RequireXStringMax = Requires %s character(s) max
|
RequireXStringMax = يتطلب %s حرفًا (أحرف) كحد أقصى
|
||||||
RequireAtLeastXDigits = Requires at least %s digit(s)
|
RequireAtLeastXDigits = يتطلب على الأقل %s رقم (أرقام)
|
||||||
RequireXDigitsMax = Requires %s digit(s) max
|
RequireXDigitsMax = يتطلب %s رقم (أرقام) كحد أقصى
|
||||||
RequireValidNumeric = Requires a numeric value
|
RequireValidNumeric = يتطلب قيمة عددية
|
||||||
RequireValidEmail = Email address is not valid
|
RequireValidEmail = عنوان البريد الإلكتروني غير صالح
|
||||||
RequireMaxLength = Length must be less than %s chars
|
RequireMaxLength = يجب أن يكون الطول أقل من %s حرفًا
|
||||||
RequireMinLength = Length must be more than %s char(s)
|
RequireMinLength = يجب أن يكون الطول أكثر من %s حرفًا (أحرف)
|
||||||
RequireValidUrl = Require valid URL
|
RequireValidUrl = مطلوب URL صالح
|
||||||
RequireValidDate = Require a valid date
|
RequireValidDate = تتطلب تاريخًا صالحًا
|
||||||
RequireANotEmptyValue = Is required
|
RequireANotEmptyValue = مطلوب
|
||||||
RequireValidDuration = Require a valid duration
|
RequireValidDuration = تتطلب مدة صالحة
|
||||||
RequireValidExistingElement = Require an existing value
|
RequireValidExistingElement = تتطلب قيمة موجودة
|
||||||
RequireValidBool = Require a valid boolean
|
RequireValidBool = تتطلب قيمة منطقية صالحة
|
||||||
BadSetupOfField = Error bad setup of field
|
BadSetupOfField = خطأ في الإعداد السيئ للمجال
|
||||||
BadSetupOfFieldClassNotFoundForValidation = Error bad setup of field : Class not found for validation
|
BadSetupOfFieldClassNotFoundForValidation = خطأ في إعداد الحقل غير صحيح: الفئة غير موجودة للتحقق من الصحة
|
||||||
BadSetupOfFieldFileNotFound = Error bad setup of field : File not found for inclusion
|
BadSetupOfFieldFileNotFound = خطأ في إعداد الحقل غير صحيح: الملف غير موجود للتضمين
|
||||||
BadSetupOfFieldFetchNotCallable = Error bad setup of field : Fetch not callable on class
|
BadSetupOfFieldFetchNotCallable = خطأ في إعداد الحقل غير صحيح: الجلب غير قابل للاستدعاء في الفصل الدراسي
|
||||||
|
|||||||
@ -4,8 +4,7 @@ Holidays=الاجازات
|
|||||||
CPTitreMenu=الاجازات
|
CPTitreMenu=الاجازات
|
||||||
MenuReportMonth=البيان الشهري
|
MenuReportMonth=البيان الشهري
|
||||||
MenuAddCP=طلب إجازة جديدة
|
MenuAddCP=طلب إجازة جديدة
|
||||||
MenuCollectiveAddCP=New collective leave request
|
NotActiveModCP=يجب تمكين وحدة مغادرة لعرض هذه الصفحة.
|
||||||
NotActiveModCP=You must enable the module Leave to view this page.
|
|
||||||
AddCP=تقديم طلب إجازة
|
AddCP=تقديم طلب إجازة
|
||||||
DateDebCP=تاريخ البدء
|
DateDebCP=تاريخ البدء
|
||||||
DateFinCP=نهاية التاريخ
|
DateFinCP=نهاية التاريخ
|
||||||
@ -14,21 +13,21 @@ ToReviewCP=انتظر القبول
|
|||||||
ApprovedCP=وافق
|
ApprovedCP=وافق
|
||||||
CancelCP=ألغيت
|
CancelCP=ألغيت
|
||||||
RefuseCP=رفض
|
RefuseCP=رفض
|
||||||
ValidatorCP=Approver
|
ValidatorCP=الموافق
|
||||||
ListeCP=List of leave
|
ListeCP=قائمة الإجازة
|
||||||
Leave=ترك الطلب
|
Leave=ترك الطلب
|
||||||
LeaveId=Leave ID
|
LeaveId=رقم الإجازة
|
||||||
ReviewedByCP=سيتم مراجعتها من قبل
|
ReviewedByCP=سيتم مراجعتها من قبل
|
||||||
UserID=User ID
|
UserID=معرف المستخدم
|
||||||
UserForApprovalID=User for approval ID
|
UserForApprovalID=مستخدم للحصول على معرّف الموافقة
|
||||||
UserForApprovalFirstname=First name of approval user
|
UserForApprovalFirstname=الاسم الأول لمستخدم الموافقة
|
||||||
UserForApprovalLastname=Last name of approval user
|
UserForApprovalLastname=الاسم الأخير لمستخدم الموافقة
|
||||||
UserForApprovalLogin=Login of approval user
|
UserForApprovalLogin=تسجيل دخول مستخدم الموافقة
|
||||||
DescCP=وصف
|
DescCP=وصف
|
||||||
SendRequestCP=إنشاء طلب إجازة
|
SendRequestCP=إنشاء طلب إجازة
|
||||||
DelayToRequestCP=يجب أن يتم ترك طلبات في <b>اليوم</b> أقل <b>ق٪ (ق)</b> من قبلهم.
|
DelayToRequestCP=يجب أن يتم ترك طلبات في <b>اليوم</b> أقل <b>ق٪ (ق)</b> من قبلهم.
|
||||||
MenuConfCP=Balance of leave
|
MenuConfCP=رصيد الإجازة
|
||||||
SoldeCPUser=Leave balance (in days) <b>%s</b>
|
SoldeCPUser=رصيد الإجازات (بالأيام) <b> %s </b>
|
||||||
ErrorEndDateCP=يجب تحديد تاريخ انتهاء أكبر من تاريخ البدء.
|
ErrorEndDateCP=يجب تحديد تاريخ انتهاء أكبر من تاريخ البدء.
|
||||||
ErrorSQLCreateCP=حدث خطأ SQL أثناء إنشاء:
|
ErrorSQLCreateCP=حدث خطأ SQL أثناء إنشاء:
|
||||||
ErrorIDFicheCP=حدث خطأ غير موجود على طلب الإجازة.
|
ErrorIDFicheCP=حدث خطأ غير موجود على طلب الإجازة.
|
||||||
@ -37,16 +36,16 @@ ErrorUserViewCP=غير مصرح لك قراءة طلب إجازة هذا.
|
|||||||
InfosWorkflowCP=معلومات سير العمل
|
InfosWorkflowCP=معلومات سير العمل
|
||||||
RequestByCP=طلبت
|
RequestByCP=طلبت
|
||||||
TitreRequestCP=ترك الطلب
|
TitreRequestCP=ترك الطلب
|
||||||
TypeOfLeaveId=Type of leave ID
|
TypeOfLeaveId=نوع معرف الإجازة
|
||||||
TypeOfLeaveCode=Type of leave code
|
TypeOfLeaveCode=نوع رمز الإجازة
|
||||||
TypeOfLeaveLabel=Type of leave label
|
TypeOfLeaveLabel=نوع ملصق الإجازة
|
||||||
NbUseDaysCP=Number of days of leave used
|
NbUseDaysCP=عدد أيام الإجازة المستخدمة
|
||||||
NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary.
|
NbUseDaysCPHelp=يأخذ الحساب في الاعتبار أيام العطلات والعطلات المحددة في القاموس.
|
||||||
NbUseDaysCPShort=Days of leave
|
NbUseDaysCPShort=أيام الإجازة
|
||||||
NbUseDaysCPShortInMonth=Days of leave in month
|
NbUseDaysCPShortInMonth=أيام الإجازة في الشهر
|
||||||
DayIsANonWorkingDay=%s is a non-working day
|
DayIsANonWorkingDay=%s هو يوم عطلة
|
||||||
DateStartInMonth=Start date in month
|
DateStartInMonth=تاريخ البدء في الشهر
|
||||||
DateEndInMonth=End date in month
|
DateEndInMonth=تاريخ الانتهاء في الشهر
|
||||||
EditCP=تحرير
|
EditCP=تحرير
|
||||||
DeleteCP=حذف
|
DeleteCP=حذف
|
||||||
ActionRefuseCP=رفض
|
ActionRefuseCP=رفض
|
||||||
@ -56,7 +55,7 @@ TitleDeleteCP=حذف طلب إجازة
|
|||||||
ConfirmDeleteCP=تأكيد حذف طلب إجازة هذا؟
|
ConfirmDeleteCP=تأكيد حذف طلب إجازة هذا؟
|
||||||
ErrorCantDeleteCP=خطأ لم يكن لديك الحق في حذف طلب إجازة هذا.
|
ErrorCantDeleteCP=خطأ لم يكن لديك الحق في حذف طلب إجازة هذا.
|
||||||
CantCreateCP=ليس لديك الحق في تقديم طلبات الإجازة.
|
CantCreateCP=ليس لديك الحق في تقديم طلبات الإجازة.
|
||||||
InvalidValidatorCP=You must choose the approver for your leave request.
|
InvalidValidatorCP=يجب عليك اختيار المعتمد لطلب الإجازة الخاص بك.
|
||||||
NoDateDebut=يجب تحديد تاريخ البدء.
|
NoDateDebut=يجب تحديد تاريخ البدء.
|
||||||
NoDateFin=يجب تحديد تاريخ انتهاء.
|
NoDateFin=يجب تحديد تاريخ انتهاء.
|
||||||
ErrorDureeCP=لا يحتوي طلب إجازة الخاص يوم عمل.
|
ErrorDureeCP=لا يحتوي طلب إجازة الخاص يوم عمل.
|
||||||
@ -75,29 +74,20 @@ DateRefusCP=تاريخ الرفض
|
|||||||
DateCancelCP=تاريخ الإلغاء
|
DateCancelCP=تاريخ الإلغاء
|
||||||
DefineEventUserCP=تعيين إجازة استثنائية لمستخدم
|
DefineEventUserCP=تعيين إجازة استثنائية لمستخدم
|
||||||
addEventToUserCP=تعيين إجازة
|
addEventToUserCP=تعيين إجازة
|
||||||
NotTheAssignedApprover=You are not the assigned approver
|
NotTheAssignedApprover=أنت لست الموافق المعين
|
||||||
MotifCP=سبب
|
MotifCP=سبب
|
||||||
UserCP=مستخدم
|
UserCP=مستخدم
|
||||||
ErrorAddEventToUserCP=حدث خطأ أثناء إضافة إجازة استثنائية.
|
ErrorAddEventToUserCP=حدث خطأ أثناء إضافة إجازة استثنائية.
|
||||||
AddEventToUserOkCP=تم الانتهاء من إضافة إجازة استثنائية.
|
AddEventToUserOkCP=تم الانتهاء من إضافة إجازة استثنائية.
|
||||||
ErrorFieldRequiredUserOrGroup=The "group" field or the "user" field must be filled in
|
|
||||||
fusionGroupsUsers=The groups field and the user field will be merged
|
|
||||||
MenuLogCP=وبالنظر إلى سجلات التغيير
|
MenuLogCP=وبالنظر إلى سجلات التغيير
|
||||||
LogCP=Log of all updates made to "Balance of Leave"
|
LogCP=سجل بجميع التحديثات التي تم إجراؤها على "رصيد الإجازة"
|
||||||
ActionByCP=Updated by
|
ActionByCP=تم التحديث بواسطة
|
||||||
UserUpdateCP=Updated for
|
UserUpdateCP=تم التحديث لـ
|
||||||
PrevSoldeCP=الرصيد السابق
|
PrevSoldeCP=الرصيد السابق
|
||||||
NewSoldeCP=توازن جديد
|
NewSoldeCP=توازن جديد
|
||||||
alreadyCPexist=وقد تم بالفعل طلب إجازة في هذه الفترة.
|
alreadyCPexist=وقد تم بالفعل طلب إجازة في هذه الفترة.
|
||||||
UseralreadyCPexist=A leave request has already been done on this period for %s.
|
FirstDayOfHoliday=بداية يوم طلب الإجازة
|
||||||
groups=المجموعات
|
LastDayOfHoliday=يوم انتهاء طلب الإجازة
|
||||||
users=المستخدمين
|
|
||||||
AutoSendMail=Automatic mailing
|
|
||||||
NewHolidayForGroup=New collective leave request
|
|
||||||
SendRequestCollectiveCP=Send collective leave request
|
|
||||||
AutoValidationOnCreate=Automatic validation
|
|
||||||
FirstDayOfHoliday=Beginning day of leave request
|
|
||||||
LastDayOfHoliday=Ending day of leave request
|
|
||||||
BoxTitleLastLeaveRequests=Latest %s modified leave requests
|
BoxTitleLastLeaveRequests=Latest %s modified leave requests
|
||||||
HolidaysMonthlyUpdate=تحديث شهري
|
HolidaysMonthlyUpdate=تحديث شهري
|
||||||
ManualUpdate=التحديث اليدوي
|
ManualUpdate=التحديث اليدوي
|
||||||
@ -105,17 +95,17 @@ HolidaysCancelation=ترك طلب الإلغاء
|
|||||||
EmployeeLastname=Employee last name
|
EmployeeLastname=Employee last name
|
||||||
EmployeeFirstname=Employee first name
|
EmployeeFirstname=Employee first name
|
||||||
TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed
|
TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed
|
||||||
LastHolidays=Latest %s leave requests
|
LastHolidays=أحدث طلبات ترك %s
|
||||||
AllHolidays=All leave requests
|
AllHolidays=جميع طلبات الإجازة
|
||||||
HalfDay=Half day
|
HalfDay=نصف يوم
|
||||||
NotTheAssignedApprover=You are not the assigned approver
|
NotTheAssignedApprover=أنت لست الموافق المعين
|
||||||
LEAVE_PAID=Paid vacation
|
LEAVE_PAID=اجازه مدفوعة
|
||||||
LEAVE_SICK=Sick leave
|
LEAVE_SICK=أجازة مرضية
|
||||||
LEAVE_OTHER=Other leave
|
LEAVE_OTHER=إجازة أخرى
|
||||||
LEAVE_PAID_FR=Paid vacation
|
LEAVE_PAID_FR=اجازه مدفوعة
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
LastUpdateCP=Last automatic update of leave allocation
|
LastUpdateCP=آخر تحديث تلقائي لتخصيص الإجازات
|
||||||
MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation
|
MonthOfLastMonthlyUpdate=شهر آخر تحديث تلقائي لتخصيص الإجازة
|
||||||
UpdateConfCPOK=تم التحديث بنجاح.
|
UpdateConfCPOK=تم التحديث بنجاح.
|
||||||
Module27130Name= إدارة طلبات الإجازة
|
Module27130Name= إدارة طلبات الإجازة
|
||||||
Module27130Desc= إدارة طلبات الإجازة
|
Module27130Desc= إدارة طلبات الإجازة
|
||||||
@ -125,25 +115,25 @@ NoticePeriod=فترة إشعار
|
|||||||
HolidaysToValidate=التحقق من صحة طلبات الإجازة
|
HolidaysToValidate=التحقق من صحة طلبات الإجازة
|
||||||
HolidaysToValidateBody=وفيما يلي طلب إجازة للتحقق من صحة
|
HolidaysToValidateBody=وفيما يلي طلب إجازة للتحقق من صحة
|
||||||
HolidaysToValidateDelay=وهذا الطلب إجازة أن تتم في غضون أقل من٪ الصورة أيام.
|
HolidaysToValidateDelay=وهذا الطلب إجازة أن تتم في غضون أقل من٪ الصورة أيام.
|
||||||
HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days.
|
HolidaysToValidateAlertSolde=المستخدم الذي قدم طلب الإجازة هذا ليس لديه أيام متاحة كافية.
|
||||||
HolidaysValidated=طلبات إجازة التحقق من صحة
|
HolidaysValidated=طلبات إجازة التحقق من صحة
|
||||||
HolidaysValidatedBody=تم التحقق من صحة طلب إجازة لمدة٪ s إلى٪ s.
|
HolidaysValidatedBody=تم التحقق من صحة طلب إجازة لمدة٪ s إلى٪ s.
|
||||||
HolidaysRefused=طلب نفى
|
HolidaysRefused=طلب نفى
|
||||||
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason:
|
HolidaysRefusedBody=تم رفض طلب إجازة %s إلى %s للسبب التالي:
|
||||||
HolidaysCanceled=إلغاء طلب الأوراق
|
HolidaysCanceled=إلغاء طلب الأوراق
|
||||||
HolidaysCanceledBody=تم إلغاء طلب إجازة لمدة٪ s إلى٪ s.
|
HolidaysCanceledBody=تم إلغاء طلب إجازة لمدة٪ s إلى٪ s.
|
||||||
FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.<br>0: Not followed by a counter.
|
FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.<br>0: Not followed by a counter.
|
||||||
NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter
|
NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter
|
||||||
GoIntoDictionaryHolidayTypes=Go into <strong>Home - Setup - Dictionaries - Type of leave</strong> to setup the different types of leaves.
|
GoIntoDictionaryHolidayTypes=انتقل إلى <strong> Home - الإعداد - القواميس - نوع الإجازة </strong> لإعداد أنواع مختلفة من الأوراق.
|
||||||
HolidaySetup=Setup of module Leave
|
HolidaySetup=إعداد إجازة الوحدة
|
||||||
HolidaysNumberingModules=Numbering models for leave requests
|
HolidaysNumberingModules=نماذج الترقيم لطلبات الإجازة
|
||||||
TemplatePDFHolidays=Template for leave requests PDF
|
TemplatePDFHolidays=قالب طلبات الإجازة PDF
|
||||||
FreeLegalTextOnHolidays=Free text on PDF
|
FreeLegalTextOnHolidays=نص مجاني على PDF
|
||||||
WatermarkOnDraftHolidayCards=Watermarks on draft leave requests
|
WatermarkOnDraftHolidayCards=العلامات المائية على مسودة طلبات الإجازة
|
||||||
HolidaysToApprove=Holidays to approve
|
HolidaysToApprove=العطل للموافقة
|
||||||
NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays
|
NobodyHasPermissionToValidateHolidays=لا أحد لديه إذن للتحقق من صحة العطلات
|
||||||
HolidayBalanceMonthlyUpdate=Monthly update of holiday balance
|
HolidayBalanceMonthlyUpdate=التحديث الشهري لرصيد العطلة
|
||||||
XIsAUsualNonWorkingDay=%s is usualy a NON working day
|
XIsAUsualNonWorkingDay=%s هو عادة يوم عمل غير
|
||||||
BlockHolidayIfNegative=Block if balance negative
|
BlockHolidayIfNegative=كتلة إذا كان الرصيد سلبي
|
||||||
LeaveRequestCreationBlockedBecauseBalanceIsNegative=The creation of this leave request is blocked because your balance is negative
|
LeaveRequestCreationBlockedBecauseBalanceIsNegative=تم حظر إنشاء طلب الإجازة هذا لأن رصيدك سلبي
|
||||||
ErrorLeaveRequestMustBeDraftCanceledOrRefusedToBeDeleted=Leave request %s must be draft, canceled or refused to be deleted
|
ErrorLeaveRequestMustBeDraftCanceledOrRefusedToBeDeleted=يجب أن يكون طلب الإجازة %s مسودة أو إلغاء أو رفض حذفه
|
||||||
|
|||||||
@ -2,36 +2,35 @@
|
|||||||
InstallEasy=فقط اتبع التعليمات خطوة بخطوة.
|
InstallEasy=فقط اتبع التعليمات خطوة بخطوة.
|
||||||
MiscellaneousChecks=التحقق من الشروط الأساسية
|
MiscellaneousChecks=التحقق من الشروط الأساسية
|
||||||
ConfFileExists=ملف الإعداد <b>%s</b> موجود مسبقاً
|
ConfFileExists=ملف الإعداد <b>%s</b> موجود مسبقاً
|
||||||
ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created!
|
ConfFileDoesNotExistsAndCouldNotBeCreated=ملف التكوين <b> %s </b> غير موجود ولا يمكن إنشاؤه!
|
||||||
ConfFileCouldBeCreated=يمكن إنشاء ملف الإعداد <b>%s</b>
|
ConfFileCouldBeCreated=يمكن إنشاء ملف الإعداد <b>%s</b>
|
||||||
ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS).
|
ConfFileIsNotWritable=ملف التكوين <b> %s </b> غير قابل للكتابة. تحقق من الأذونات. عند التثبيت لأول مرة ، يجب أن يكون خادم الويب الخاص بك قادرًا على الكتابة في هذا الملف أثناء عملية التكوين ("chmod 666" على سبيل المثال في نظام التشغيل Unix مثل نظام التشغيل).
|
||||||
ConfFileIsWritable=ملف الإعداد <b>%s</b> قابل للكتابة.
|
ConfFileIsWritable=ملف الإعداد <b>%s</b> قابل للكتابة.
|
||||||
ConfFileMustBeAFileNotADir=Configuration file <b>%s</b> must be a file, not a directory.
|
ConfFileMustBeAFileNotADir=يجب أن يكون ملف التكوين <b> %s </b> ملفًا وليس دليلاً.
|
||||||
ConfFileReload=Reloading parameters from configuration file.
|
ConfFileReload=إعادة تحميل المعلمات من ملف التكوين.
|
||||||
NoReadableConfFileSoStartInstall=The configuration file <b>conf/conf.php</b> does not exists or is not readable. We will run the installation process to try to initialize it.
|
NoReadableConfFileSoStartInstall=ملف التكوين <b> conf / conf.php </b> غير موجود أو غير قابل للقراءة. سنقوم بتشغيل عملية التثبيت لمحاولة تهيئتها.
|
||||||
PHPSupportPOSTGETOk=يدعم هذا الـ PHP وظائف POST و GET.
|
PHPSupportPOSTGETOk=يدعم هذا الـ PHP وظائف POST و GET.
|
||||||
PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter <b>variables_order</b> in php.ini.
|
PHPSupportPOSTGETKo=من المحتمل أن إعداد PHP الخاص بك لا يدعم المتغيرات POST و / أو GET. تحقق من المعامل <b> variables_order </b> في ملف php.ini.
|
||||||
PHPSupportSessions=يدعم هذا الـ PHP ميزة الجلسات الزمنية.
|
PHPSupportSessions=يدعم هذا الـ PHP ميزة الجلسات الزمنية.
|
||||||
PHPSupport=This PHP supports %s functions.
|
PHPSupport=يدعم PHP وظائف %s.
|
||||||
PHPMemoryOK=تم إعداد الجلسة الزمنية للذاكرة في PHP الى <b>%s</b> . من المفترض ان تكون كافية.
|
PHPMemoryOK=تم إعداد الجلسة الزمنية للذاكرة في PHP الى <b>%s</b> . من المفترض ان تكون كافية.
|
||||||
PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This is too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes.
|
PHPMemoryTooLow=تم تعيين ذاكرة جلسة PHP القصوى على <b> %s </b> بايت. هذا منخفض جدًا. قم بتغيير المعلمة <b> php.ini </b> لتعيين <b> memory_limit </b> إلى <b> a0ecb2ec87f498zb7 byt9174.
|
||||||
Recheck=Click here for a more detailed test
|
Recheck=انقر هنا للحصول على اختبار أكثر تفصيلاً
|
||||||
ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to allow Dolibarr to work. Check your PHP setup and permissions of the sessions directory.
|
ErrorPHPDoesNotSupportSessions=تثبيت PHP الخاص بك لا يدعم الجلسات. هذه الميزة مطلوبة للسماح لـ Dolibarr بالعمل. تحقق من إعداد PHP وأذونات دليل الجلسات.
|
||||||
ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions.
|
ErrorPHPDoesNotSupport=تثبيت PHP الخاص بك لا يدعم وظائف %s.
|
||||||
ErrorDirDoesNotExists=دليل ٪ ق لا يوجد.
|
ErrorDirDoesNotExists=دليل ٪ ق لا يوجد.
|
||||||
ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters.
|
ErrorGoBackAndCorrectParameters=ارجع وتحقق من / صحح المعلمات.
|
||||||
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
|
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
|
||||||
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
|
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
|
||||||
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
|
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
|
||||||
ErrorDatabaseVersionTooLow=إصدار قاعدة البيانات (s%) قديمة جدا. مطلوب نسخة s% أو أعلى
|
ErrorDatabaseVersionTooLow=إصدار قاعدة البيانات (s%) قديمة جدا. مطلوب نسخة s% أو أعلى
|
||||||
ErrorPHPVersionTooLow=PHP version too old. Version %s or higher is required.
|
ErrorPHPVersionTooLow=إصدار PHP قديم جدًا. مطلوب إصدار %s أو أعلى.
|
||||||
ErrorPHPVersionTooHigh=PHP version too high. Version %s or lower is required.
|
ErrorPHPVersionTooHigh=إصدار PHP مرتفع جدًا. مطلوب إصدار %s أو أقل.
|
||||||
ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found.
|
ErrorConnectedButDatabaseNotFound=الاتصال بالخادم ناجح ولكن قاعدة البيانات "%s" غير موجودة.
|
||||||
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
|
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
|
||||||
ErrorNoMigrationFilesFoundForParameters=No migration file found for the selected versions
|
IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كانت قاعدة البيانات غير موجودة ، فارجع وحدد الخيار "إنشاء قاعدة بيانات".
|
||||||
IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database".
|
|
||||||
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
|
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
|
||||||
WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended.
|
WarningBrowserTooOld=إصدار المتصفح قديم جدًا. يوصى بشدة بترقية متصفحك إلى إصدار حديث من Firefox أو Chrome أو Opera.
|
||||||
PHPVersion=PHP الإصدار
|
PHPVersion=PHP الإصدار
|
||||||
License=الترخيص باستعمال
|
License=الترخيص باستعمال
|
||||||
ConfigurationFile=ملفات
|
ConfigurationFile=ملفات
|
||||||
@ -44,23 +43,23 @@ DolibarrDatabase=قاعدة بيانات Dolibarr
|
|||||||
DatabaseType=قاعدة بيانات من نوع
|
DatabaseType=قاعدة بيانات من نوع
|
||||||
DriverType=سائق نوع
|
DriverType=سائق نوع
|
||||||
Server=الخادم
|
Server=الخادم
|
||||||
ServerAddressDescription=Name or ip address for the database server. Usually 'localhost' when the database server is hosted on the same server as the web server.
|
ServerAddressDescription=الاسم أو عنوان IP لخادم قاعدة البيانات. عادة "localhost" عندما يتم استضافة خادم قاعدة البيانات على نفس الخادم مثل خادم الويب.
|
||||||
ServerPortDescription=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة.
|
ServerPortDescription=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة.
|
||||||
DatabaseServer=خادم قاعدة البيانات
|
DatabaseServer=خادم قاعدة البيانات
|
||||||
DatabaseName=اسم قاعدة البيانات
|
DatabaseName=اسم قاعدة البيانات
|
||||||
DatabasePrefix=Database table prefix
|
DatabasePrefix=بادئة جدول قاعدة البيانات
|
||||||
DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_.
|
DatabasePrefixDescription=بادئة جدول قاعدة البيانات. إذا كانت فارغة ، يتم تعيينها افتراضيًا على llx_.
|
||||||
AdminLogin=User account for the Dolibarr database owner.
|
AdminLogin=حساب المستخدم لمالك قاعدة بيانات Dolibarr.
|
||||||
PasswordAgain=Retype password confirmation
|
PasswordAgain=أعد كتابة كلمة المرور
|
||||||
AdminPassword=Dolibarr كلمة السر لمدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال
|
AdminPassword=Dolibarr كلمة السر لمدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال
|
||||||
CreateDatabase=إنشاء قاعدة بيانات
|
CreateDatabase=إنشاء قاعدة بيانات
|
||||||
CreateUser=Create user account or grant user account permission on the Dolibarr database
|
CreateUser=قم بإنشاء حساب مستخدم أو منح إذن حساب المستخدم على قاعدة بيانات Dolibarr
|
||||||
DatabaseSuperUserAccess=قاعدة بيانات -- وصول مستخدم الكومبيوتر ذو الصلاحيات العليا
|
DatabaseSuperUserAccess=قاعدة بيانات -- وصول مستخدم الكومبيوتر ذو الصلاحيات العليا
|
||||||
CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.<br>In this case, you must also fill in the user name and password for the superuser account at the bottom of this page.
|
CheckToCreateDatabase=ضع علامة في المربع إذا لم تكن قاعدة البيانات موجودة بعد ويجب إنشاء ذلك. <br> في هذه الحالة ، يجب عليك أيضًا ملء اسم المستخدم وكلمة المرور لحساب المستخدم المتميز في أسفل هذه الصفحة.
|
||||||
CheckToCreateUser=Check the box if:<br>the database user account does not yet exist and so must be created, or<br>if the user account exists but the database does not exist and permissions must be granted.<br>In this case, you must enter the user account and password and <b>also</b> the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist.
|
CheckToCreateUser=ضع علامة في المربع إذا: <br> حساب مستخدم قاعدة البيانات غير موجود بعد ويجب إنشاءه ، أو <br> إذا كان حساب المستخدم موجودًا ولكن قاعدة البيانات غير موجودة ويجب منح الأذونات. <br> في هذه الحالة ، يجب عليك إدخال حساب المستخدم وكلمة المرور و <b> أيضًا </b> اسم حساب المستخدم المتميز وكلمة المرور في أسفل هذه الصفحة. إذا لم يتم تحديد هذا المربع ، فيجب أن يكون مالك قاعدة البيانات وكلمة المرور موجودين بالفعل.
|
||||||
DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist.
|
DatabaseRootLoginDescription=اسم حساب المستخدم المتميز (لإنشاء قواعد بيانات جديدة أو مستخدمين جدد) ، إلزامي إذا لم تكن قاعدة البيانات أو مالكها موجودًا بالفعل.
|
||||||
KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended)
|
KeepEmptyIfNoPassword=اتركه فارغًا إذا لم يكن لدى المستخدم المتميز كلمة مرور (غير مستحسن)
|
||||||
SaveConfigurationFile=Saving parameters to
|
SaveConfigurationFile=حفظ المعلمات في
|
||||||
ServerConnection=اتصال الخادم
|
ServerConnection=اتصال الخادم
|
||||||
DatabaseCreation=إنشاء قاعدة بيانات
|
DatabaseCreation=إنشاء قاعدة بيانات
|
||||||
CreateDatabaseObjects=إنشاء قاعدة بيانات الأجسام
|
CreateDatabaseObjects=إنشاء قاعدة بيانات الأجسام
|
||||||
@ -71,9 +70,9 @@ CreateOtherKeysForTable=إنشاء الخارجية مفاتيح الأرقام
|
|||||||
OtherKeysCreation=مفاتيح الخارجية وإنشاء الفهارس
|
OtherKeysCreation=مفاتيح الخارجية وإنشاء الفهارس
|
||||||
FunctionsCreation=إنشاء وظائف
|
FunctionsCreation=إنشاء وظائف
|
||||||
AdminAccountCreation=مدير ادخل إنشاء
|
AdminAccountCreation=مدير ادخل إنشاء
|
||||||
PleaseTypePassword=Please type a password, empty passwords are not allowed!
|
PleaseTypePassword=الرجاء كتابة كلمة المرور ، غير مسموح بكلمات المرور الفارغة!
|
||||||
PleaseTypeALogin=Please type a login!
|
PleaseTypeALogin=الرجاء كتابة تسجيل الدخول!
|
||||||
PasswordsMismatch=Passwords differs, please try again!
|
PasswordsMismatch=تختلف كلمات المرور ، يرجى المحاولة مرة أخرى!
|
||||||
SetupEnd=نهاية الإعداد
|
SetupEnd=نهاية الإعداد
|
||||||
SystemIsInstalled=هذا التثبيت الكامل.
|
SystemIsInstalled=هذا التثبيت الكامل.
|
||||||
SystemIsUpgraded=وقد تم تطوير Dolibarr بنجاح.
|
SystemIsUpgraded=وقد تم تطوير Dolibarr بنجاح.
|
||||||
@ -81,73 +80,73 @@ YouNeedToPersonalizeSetup=عليك تكوين Dolibarr لتناسب احتياج
|
|||||||
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfully.
|
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfully.
|
||||||
GoToDolibarr=الذهاب إلى Dolibarr
|
GoToDolibarr=الذهاب إلى Dolibarr
|
||||||
GoToSetupArea=الذهاب إلى Dolibarr (مجال الإعداد)
|
GoToSetupArea=الذهاب إلى Dolibarr (مجال الإعداد)
|
||||||
MigrationNotFinished=The database version is not completely up to date: run the upgrade process again.
|
MigrationNotFinished=إصدار قاعدة البيانات ليس محدثًا بالكامل: قم بتشغيل عملية الترقية مرة أخرى.
|
||||||
GoToUpgradePage=الذهاب لتحديث الصفحة مرة أخرى
|
GoToUpgradePage=الذهاب لتحديث الصفحة مرة أخرى
|
||||||
WithNoSlashAtTheEnd=بدون خفض "/" في نهاية
|
WithNoSlashAtTheEnd=بدون خفض "/" في نهاية
|
||||||
DirectoryRecommendation=<span class="warning">IMPORTANT</span>: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter).
|
DirectoryRecommendation= <span class="warning"> هام </span>: يجب عليك استخدام دليل خارج صفحات الويب (لذا لا تستخدم دليلًا فرعيًا للمعلمة السابقة).
|
||||||
LoginAlreadyExists=موجود بالفعل
|
LoginAlreadyExists=موجود بالفعل
|
||||||
DolibarrAdminLogin=ادخل Dolibarr مشرف
|
DolibarrAdminLogin=ادخل Dolibarr مشرف
|
||||||
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back if you want to create another one.
|
AdminLoginAlreadyExists=حساب مسؤول Dolibarr '<b> %s </b>' موجود بالفعل. ارجع إذا كنت تريد إنشاء واحدة أخرى.
|
||||||
FailedToCreateAdminLogin=Failed to create Dolibarr administrator account.
|
FailedToCreateAdminLogin=Failed to create Dolibarr administrator account.
|
||||||
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called <b>install.lock</b> into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again.
|
WarningRemoveInstallDir=تحذير ، لأسباب أمنية ، بمجرد اكتمال التثبيت أو الترقية ، يجب إضافة ملف يسمى <b> install.lock </b> في دليل مستندات Dolibarr من أجل منع الاستخدام العرضي / الضار لأدوات التثبيت مرة أخرى.
|
||||||
FunctionNotAvailableInThisPHP=Not available in this PHP
|
FunctionNotAvailableInThisPHP=غير متوفر في PHP هذا
|
||||||
ChoosedMigrateScript=اختار الهجرة سكريبت
|
ChoosedMigrateScript=اختار الهجرة سكريبت
|
||||||
DataMigration=Database migration (data)
|
DataMigration=ترحيل قاعدة البيانات (البيانات)
|
||||||
DatabaseMigration=Database migration (structure + some data)
|
DatabaseMigration=ترحيل قاعدة البيانات (بنية + بعض البيانات)
|
||||||
ProcessMigrateScript=السيناريو تجهيز
|
ProcessMigrateScript=السيناريو تجهيز
|
||||||
ChooseYourSetupMode=اختر طريقة الإعداد وانقر على "ابدأ"...
|
ChooseYourSetupMode=اختر طريقة الإعداد وانقر على "ابدأ"...
|
||||||
FreshInstall=تركيب جديد
|
FreshInstall=تركيب جديد
|
||||||
FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode.
|
FreshInstallDesc=استخدم هذا الوضع إذا كان هذا هو التثبيت الأول لك. إذا لم يكن الأمر كذلك ، فيمكن لهذا الوضع إصلاح تثبيت سابق غير مكتمل. إذا كنت ترغب في ترقية إصدارك ، اختر وضع "ترقية".
|
||||||
Upgrade=ترقية
|
Upgrade=ترقية
|
||||||
UpgradeDesc=استخدام هذه الطريقة إذا كنت قد حلت محل القديمة Dolibarr الملفات من الملفات مع إصدار أحدث. وهذا من شأنه رفع مستوى قاعدة البيانات والبيانات.
|
UpgradeDesc=استخدام هذه الطريقة إذا كنت قد حلت محل القديمة Dolibarr الملفات من الملفات مع إصدار أحدث. وهذا من شأنه رفع مستوى قاعدة البيانات والبيانات.
|
||||||
Start=يبدأ
|
Start=يبدأ
|
||||||
InstallNotAllowed=الإعداد غير مسموح به <b>conf.php</b> الاذونات
|
InstallNotAllowed=الإعداد غير مسموح به <b>conf.php</b> الاذونات
|
||||||
YouMustCreateWithPermission=يجب إنشاء ملف ق ٪ ومجموعة الكتابة على أذونات لملقم الويب أثناء عملية التثبيت.
|
YouMustCreateWithPermission=يجب إنشاء ملف ق ٪ ومجموعة الكتابة على أذونات لملقم الويب أثناء عملية التثبيت.
|
||||||
CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page.
|
CorrectProblemAndReloadPage=يرجى إصلاح المشكلة والضغط على F5 لإعادة تحميل الصفحة.
|
||||||
AlreadyDone=بالفعل هاجر
|
AlreadyDone=بالفعل هاجر
|
||||||
DatabaseVersion=قاعدة بيانات النسخة
|
DatabaseVersion=قاعدة بيانات النسخة
|
||||||
ServerVersion=خادم قاعدة البيانات النسخة
|
ServerVersion=خادم قاعدة البيانات النسخة
|
||||||
YouMustCreateItAndAllowServerToWrite=يجب إنشاء هذا الدليل ، والسماح لخادم الويب أن يكتبوا فيه.
|
YouMustCreateItAndAllowServerToWrite=يجب إنشاء هذا الدليل ، والسماح لخادم الويب أن يكتبوا فيه.
|
||||||
DBSortingCollation=طابع الفرز بغية
|
DBSortingCollation=طابع الفرز بغية
|
||||||
YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database <b>%s</b>, but for this, Dolibarr needs to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
YouAskDatabaseCreationSoDolibarrNeedToConnect=لقد حددت إنشاء قاعدة بيانات <b> %s </b> ، ولكن لهذا الغرض ، يحتاج Dolibarr إلى الاتصال بالخادم <b> %s a09a4b739f17658372f a0334bec08z07f.
|
||||||
YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user <b>%s</b>, but for this, Dolibarr needs to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
YouAskLoginCreationSoDolibarrNeedToConnect=لقد حددت إنشاء مستخدم قاعدة البيانات <b> %s </b> ، ولكن لهذا الغرض ، يحتاج Dolibarr إلى الاتصال بالخادم <b> %s a09a4b749f17658z07fee.
|
||||||
BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong.
|
BecauseConnectionFailedParametersMayBeWrong=فشل اتصال قاعدة البيانات: يجب أن تكون معلمات المضيف أو المستخدم الفائق خاطئة.
|
||||||
OrphelinsPaymentsDetectedByMethod=Orphelins من اكتشاف طريقة الدفع ق ٪
|
OrphelinsPaymentsDetectedByMethod=Orphelins من اكتشاف طريقة الدفع ق ٪
|
||||||
RemoveItManuallyAndPressF5ToContinue=إزالته يدويا واضغط F5 للمتابعة.
|
RemoveItManuallyAndPressF5ToContinue=إزالته يدويا واضغط F5 للمتابعة.
|
||||||
FieldRenamed=تغيير اسم الحقل
|
FieldRenamed=تغيير اسم الحقل
|
||||||
IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user"
|
IfLoginDoesNotExistsCheckCreateUser=إذا لم يكن المستخدم موجودًا بعد ، فيجب تحديد الخيار "إنشاء مستخدم"
|
||||||
ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or the PHP client version may be too old compared to the database version.
|
ErrorConnection=Server " <b> %s </b> ", database name " <b> %s </b> ", login " <b> %s </b> ", or database password may be wrong or the PHP client version may be too old compared to the database version.
|
||||||
InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <b>ل ٪</b>
|
InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <b>ل ٪</b>
|
||||||
InstallChoiceSuggested=<b>اقترح تثبيت اختيار المثبت.</b>
|
InstallChoiceSuggested=<b>اقترح تثبيت اختيار المثبت.</b>
|
||||||
MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete.
|
MigrateIsDoneStepByStep=يحتوي الإصدار المستهدف (%s) على فجوة في عدة إصدارات. سيعود معالج التثبيت ليقترح عملية ترحيل أخرى بمجرد اكتمال هذا.
|
||||||
CheckThatDatabasenameIsCorrect=Check that the database name "<b>%s</b>" is correct.
|
CheckThatDatabasenameIsCorrect=تحقق من صحة اسم قاعدة البيانات "<b> %s </b>".
|
||||||
IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات".
|
IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات".
|
||||||
OpenBaseDir=بي openbasedir المعلمة
|
OpenBaseDir=بي openbasedir المعلمة
|
||||||
YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form).
|
YouAskToCreateDatabaseSoRootRequired=حددت المربع "إنشاء قاعدة بيانات". لهذا ، تحتاج إلى تقديم تسجيل الدخول / كلمة المرور للمستخدم المتميز (أسفل النموذج).
|
||||||
YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form).
|
YouAskToCreateDatabaseUserSoRootRequired=حددت المربع "إنشاء مالك قاعدة البيانات". لهذا ، تحتاج إلى تقديم تسجيل الدخول / كلمة المرور للمستخدم المتميز (أسفل النموذج).
|
||||||
NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing.
|
NextStepMightLastALongTime=قد تستغرق الخطوة الحالية عدة دقائق. يرجى الانتظار حتى تظهر الشاشة التالية تمامًا قبل المتابعة.
|
||||||
MigrationCustomerOrderShipping=Migrate shipping for sales orders storage
|
MigrationCustomerOrderShipping=ترحيل الشحن لتخزين أوامر المبيعات
|
||||||
MigrationShippingDelivery=ترقية تخزين الشحن
|
MigrationShippingDelivery=ترقية تخزين الشحن
|
||||||
MigrationShippingDelivery2=ترقية تخزين الشحن 2
|
MigrationShippingDelivery2=ترقية تخزين الشحن 2
|
||||||
MigrationFinished=الانتهاء من الهجرة
|
MigrationFinished=الانتهاء من الهجرة
|
||||||
LastStepDesc=<strong>Last step</strong>: Define here the login and password you wish to use to connect to Dolibarr. <b>Do not lose this as it is the master account to administer all other/additional user accounts.</b>
|
LastStepDesc= <strong> الخطوة الأخيرة </strong>: حدد هنا تسجيل الدخول وكلمة المرور اللذين ترغب في استخدامهما للاتصال بـ Dolibarr. <b> لا تفقد هذا لأنه الحساب الرئيسي لإدارة جميع حسابات المستخدمين الأخرى / الإضافية. </b>
|
||||||
ActivateModule=تفعيل وحدة %s
|
ActivateModule=تفعيل وحدة %s
|
||||||
ShowEditTechnicalParameters=انقر هنا لعرض/تحرير المعلمات المتقدمة (وضع الخبراء)
|
ShowEditTechnicalParameters=انقر هنا لعرض/تحرير المعلمات المتقدمة (وضع الخبراء)
|
||||||
WarningUpgrade=Warning:\nDid you run a database backup first?\nThis is highly recommended. Loss of data (due to for example bugs in mysql version 5.5.40/41/42/43) may be possible during this process, so it is essential to take a complete dump of your database before starting any migration.\n\nClick OK to start migration process...
|
WarningUpgrade=تحذير:\nهل قمت بتشغيل نسخة احتياطية لقاعدة البيانات أولاً؟\nينصح بهذا بشدة. قد يكون فقدان البيانات (بسبب الأخطاء الموجودة في الإصدار 5.5.40 / 41/42/43 من mysql على سبيل المثال) ممكنًا أثناء هذه العملية ، لذلك من الضروري تفريغ قاعدة البيانات بالكامل قبل بدء أي ترحيل.\n\nانقر فوق "موافق" لبدء عملية الترحيل ...
|
||||||
ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug, making data loss possible if you make structural changes in your database, such as is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a layer (patched) version (list of known buggy versions: %s)
|
ErrorDatabaseVersionForbiddenForMigration=إصدار قاعدة البيانات لديك هو %s. يحتوي على خطأ فادح ، مما يجعل فقدان البيانات ممكنًا إذا قمت بإجراء تغييرات هيكلية في قاعدة البيانات الخاصة بك ، كما هو مطلوب من خلال عملية الترحيل. لسببه ، لن يُسمح بالترحيل حتى تقوم بترقية قاعدة البيانات الخاصة بك إلى إصدار طبقة (مصححة) (قائمة إصدارات عربات التي تجرها الدواب المعروفة: %s)
|
||||||
KeepDefaultValuesWamp=You used the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you are doing.
|
KeepDefaultValuesWamp=لقد استخدمت معالج إعداد Dolibarr من DoliWamp ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
|
||||||
KeepDefaultValuesDeb=You used the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so the values proposed here are already optimized. Only the password of the database owner to create must be entered. Change other parameters only if you know what you are doing.
|
KeepDefaultValuesDeb=لقد استخدمت معالج إعداد Dolibarr من حزمة Linux (Ubuntu و Debian و Fedora ...) ، لذلك تم تحسين القيم المقترحة هنا بالفعل. يجب فقط إدخال كلمة مرور مالك قاعدة البيانات المراد إنشاؤها. قم بتغيير المعلمات الأخرى فقط إذا كنت تعرف ما تفعله.
|
||||||
KeepDefaultValuesMamp=You used the Dolibarr setup wizard from DoliMamp, so the values proposed here are already optimized. Change them only if you know what you are doing.
|
KeepDefaultValuesMamp=لقد استخدمت معالج إعداد Dolibarr من DoliMamp ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
|
||||||
KeepDefaultValuesProxmox=You used the Dolibarr setup wizard from a Proxmox virtual appliance, so the values proposed here are already optimized. Change them only if you know what you are doing.
|
KeepDefaultValuesProxmox=لقد استخدمت معالج إعداد Dolibarr من جهاز Proxmox الظاهري ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
|
||||||
UpgradeExternalModule=Run dedicated upgrade process of external module
|
UpgradeExternalModule=قم بتشغيل عملية ترقية مخصصة للوحدة الخارجية
|
||||||
SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed'
|
SetAtLeastOneOptionAsUrlParameter=عيِّن خيارًا واحدًا على الأقل كمعامل في URL. على سبيل المثال: "... repair.php؟ standard = Verified"
|
||||||
NothingToDelete=Nothing to clean/delete
|
NothingToDelete=لا شيء للتنظيف / الحذف
|
||||||
NothingToDo=Nothing to do
|
NothingToDo=لا شيء لأفعله
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
|
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
|
||||||
MigrationOrder=بيانات الهجرة طلبات الزبائن
|
MigrationOrder=بيانات الهجرة طلبات الزبائن
|
||||||
MigrationSupplierOrder=Data migration for vendor's orders
|
MigrationSupplierOrder=ترحيل البيانات لأوامر البائعين
|
||||||
MigrationProposal=بيانات الهجرة لأغراض تجارية اقتراحات
|
MigrationProposal=بيانات الهجرة لأغراض تجارية اقتراحات
|
||||||
MigrationInvoice=بيانات الهجرة لعملاء الفواتير
|
MigrationInvoice=بيانات الهجرة لعملاء الفواتير
|
||||||
MigrationContract=بيانات الهجرة للحصول على عقود
|
MigrationContract=بيانات الهجرة للحصول على عقود
|
||||||
@ -163,9 +162,9 @@ MigrationContractsUpdate=تصحيح بيانات العقد
|
|||||||
MigrationContractsNumberToUpdate=٪ ق العقد (ق) لتحديث
|
MigrationContractsNumberToUpdate=٪ ق العقد (ق) لتحديث
|
||||||
MigrationContractsLineCreation=عقد إنشاء خط لعقد المرجع ق ٪
|
MigrationContractsLineCreation=عقد إنشاء خط لعقد المرجع ق ٪
|
||||||
MigrationContractsNothingToUpdate=لا أكثر مما ينبغي فعله
|
MigrationContractsNothingToUpdate=لا أكثر مما ينبغي فعله
|
||||||
MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do.
|
MigrationContractsFieldDontExist=لم يعد الحقل fk_facture موجودًا بعد الآن. لا شيء لأفعله.
|
||||||
MigrationContractsEmptyDatesUpdate=عقد فارغ تصحيح التاريخ
|
MigrationContractsEmptyDatesUpdate=عقد فارغ تصحيح التاريخ
|
||||||
MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully
|
MigrationContractsEmptyDatesUpdateSuccess=تم تصحيح تاريخ فارغ للعقد بنجاح
|
||||||
MigrationContractsEmptyDatesNothingToUpdate=أي عقد حتى الآن لتصحيح فارغة
|
MigrationContractsEmptyDatesNothingToUpdate=أي عقد حتى الآن لتصحيح فارغة
|
||||||
MigrationContractsEmptyCreationDatesNothingToUpdate=إنشاء أي عقد لتصحيح التاريخ
|
MigrationContractsEmptyCreationDatesNothingToUpdate=إنشاء أي عقد لتصحيح التاريخ
|
||||||
MigrationContractsInvalidDatesUpdate=سوء قيمة العقد تصحيح التاريخ
|
MigrationContractsInvalidDatesUpdate=سوء قيمة العقد تصحيح التاريخ
|
||||||
@ -187,29 +186,29 @@ MigrationDeliveryDetail=تسليم تحديث
|
|||||||
MigrationStockDetail=تحديث قيمة المخزون من المنتجات
|
MigrationStockDetail=تحديث قيمة المخزون من المنتجات
|
||||||
MigrationMenusDetail=تحديث القوائم الديناميكية الجداول
|
MigrationMenusDetail=تحديث القوائم الديناميكية الجداول
|
||||||
MigrationDeliveryAddress=تتناول آخر التطورات في تسليم شحنات
|
MigrationDeliveryAddress=تتناول آخر التطورات في تسليم شحنات
|
||||||
MigrationProjectTaskActors=Data migration for table llx_projet_task_actors
|
MigrationProjectTaskActors=ترحيل البيانات للجدول llx_projet_task_actors
|
||||||
MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact
|
MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact
|
||||||
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
|
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
|
||||||
MigrationActioncommElement=تحديث البيانات على الإجراءات
|
MigrationActioncommElement=تحديث البيانات على الإجراءات
|
||||||
MigrationPaymentMode=Data migration for payment type
|
MigrationPaymentMode=ترحيل البيانات لنوع الدفع
|
||||||
MigrationCategorieAssociation=تحديث الفئات
|
MigrationCategorieAssociation=تحديث الفئات
|
||||||
MigrationEvents=Migration of events to add event owner into assignment table
|
MigrationEvents=ترحيل الأحداث لإضافة مالك الحدث إلى جدول المهام
|
||||||
MigrationEventsContact=Migration of events to add event contact into assignment table
|
MigrationEventsContact=ترحيل الأحداث لإضافة جهة اتصال الحدث إلى جدول المهام
|
||||||
MigrationRemiseEntity=Update entity field value of llx_societe_remise
|
MigrationRemiseEntity=Update entity field value of llx_societe_remise
|
||||||
MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except
|
MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except
|
||||||
MigrationUserRightsEntity=Update entity field value of llx_user_rights
|
MigrationUserRightsEntity=تحديث قيمة حقل الكيان لـ llx_user_rights
|
||||||
MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights
|
MigrationUserGroupRightsEntity=تحديث قيمة حقل الكيان لـ llx_usergroup_rights
|
||||||
MigrationUserPhotoPath=Migration of photo paths for users
|
MigrationUserPhotoPath=ترحيل مسارات الصور للمستخدمين
|
||||||
MigrationFieldsSocialNetworks=Migration of users fields social networks (%s)
|
MigrationFieldsSocialNetworks=هجرة حقول المستخدمين الشبكات الاجتماعية (%s)
|
||||||
MigrationReloadModule=إعادة تحديث الوحدات %s
|
MigrationReloadModule=إعادة تحديث الوحدات %s
|
||||||
MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm
|
MigrationResetBlockedLog=إعادة تعيين الوحدة النمطية BlockedLog لخوارزمية v7
|
||||||
MigrationImportOrExportProfiles=Migration of import or export profiles (%s)
|
MigrationImportOrExportProfiles=ترحيل ملفات تعريف الاستيراد أو التصدير (%s)
|
||||||
ShowNotAvailableOptions=Show unavailable options
|
ShowNotAvailableOptions=إظهار الخيارات غير المتاحة
|
||||||
HideNotAvailableOptions=Hide unavailable options
|
HideNotAvailableOptions=إخفاء الخيارات غير المتاحة
|
||||||
ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can <a href="%s">click here</a>, but the application or some features may not work correctly until the errors are resolved.
|
ErrorFoundDuringMigration=تم الإبلاغ عن خطأ (أخطاء) أثناء عملية الترحيل ، لذا فإن الخطوة التالية غير متاحة. لتجاهل الأخطاء ، يمكنك النقر هنا <a href="%s"> </a> ، لكن التطبيق أو بعض الميزات قد لا تعمل بشكل صحيح حتى يتم حل الأخطاء.
|
||||||
YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).<br>
|
YouTryInstallDisabledByDirLock=حاول التطبيق الترقية الذاتية ، ولكن تم تعطيل صفحات التثبيت / الترقية للأمان (تمت إعادة تسمية الدليل بلاحقة .lock). <br>
|
||||||
YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file <strong>install.lock</strong> in the dolibarr documents directory).<br>
|
YouTryInstallDisabledByFileLock=حاول التطبيق الترقية الذاتية ، ولكن تم تعطيل صفحات التثبيت / الترقية للأمان (من خلال وجود ملف قفل <strong> install.lock </strong> في دليل مستندات dolibarr). <br>
|
||||||
ClickHereToGoToApp=Click here to go to your application
|
ClickHereToGoToApp=انقر هنا للذهاب إلى التطبيق الخاص بك
|
||||||
ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory.
|
ClickOnLinkOrRemoveManualy=إذا كانت الترقية قيد التقدم ، يرجى الانتظار. إذا لم يكن كذلك ، انقر فوق الارتباط التالي. إذا كنت ترى نفس الصفحة دائمًا ، فيجب عليك إزالة / إعادة تسمية الملف install.lock في دليل المستندات.
|
||||||
Loaded=Loaded
|
Loaded=محمل
|
||||||
FunctionTest=Function test
|
FunctionTest=اختبار الوظيفة
|
||||||
|
|||||||
@ -18,37 +18,37 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Module label 'ModuleKnowledgeManagementName'
|
# Module label 'ModuleKnowledgeManagementName'
|
||||||
ModuleKnowledgeManagementName = Knowledge Management System
|
ModuleKnowledgeManagementName = نظام إدارة المعرفة
|
||||||
# Module description 'ModuleKnowledgeManagementDesc'
|
# Module description 'ModuleKnowledgeManagementDesc'
|
||||||
ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base
|
ModuleKnowledgeManagementDesc=إدارة إدارة المعرفة (KM) أو قاعدة مكتب المساعدة
|
||||||
|
|
||||||
#
|
#
|
||||||
# Admin page
|
# Admin page
|
||||||
#
|
#
|
||||||
KnowledgeManagementSetup = Knowledge Management System setup
|
KnowledgeManagementSetup = إعداد نظام إدارة المعرفة
|
||||||
Settings = إعدادات
|
Settings = إعدادات
|
||||||
KnowledgeManagementSetupPage = Knowledge Management System setup page
|
KnowledgeManagementSetupPage = صفحة إعداد نظام إدارة المعرفة
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# About page
|
# About page
|
||||||
#
|
#
|
||||||
About = حول
|
About = حول
|
||||||
KnowledgeManagementAbout = About Knowledge Management
|
KnowledgeManagementAbout = حول إدارة المعرفة
|
||||||
KnowledgeManagementAboutPage = Knowledge Management about page
|
KnowledgeManagementAboutPage = إدارة المعرفة حول الصفحة
|
||||||
|
|
||||||
KnowledgeManagementArea = Knowledge Management
|
KnowledgeManagementArea = إدارة المعرفة
|
||||||
MenuKnowledgeRecord = Knowledge base
|
MenuKnowledgeRecord = قاعدة المعرفة
|
||||||
ListKnowledgeRecord = List of articles
|
ListKnowledgeRecord = قائمة المقالات
|
||||||
NewKnowledgeRecord = New article
|
NewKnowledgeRecord = مقال جديد
|
||||||
ValidateReply = Validate solution
|
ValidateReply = تحقق من صحة الحل
|
||||||
KnowledgeRecords = Articles
|
KnowledgeRecords = مقالات
|
||||||
KnowledgeRecord = عنصر
|
KnowledgeRecord = عنصر
|
||||||
KnowledgeRecordExtraFields = Extrafields for Article
|
KnowledgeRecordExtraFields = Extrafields للمادة
|
||||||
GroupOfTicket=Group of tickets
|
GroupOfTicket=مجموعة التذاكر
|
||||||
YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets)
|
YouCanLinkArticleToATicketCategory=You can link the article to a ticket group (so the article will be highlighted on any tickets in this group)
|
||||||
SuggestedForTicketsInGroup=Suggested for tickets when group is
|
SuggestedForTicketsInGroup=اقترح للتذاكر عندما تكون المجموعة
|
||||||
|
|
||||||
SetObsolete=Set as obsolete
|
SetObsolete=تعيين كما عفا عليها الزمن
|
||||||
ConfirmCloseKM=Do you confirm the closing of this article as obsolete ?
|
ConfirmCloseKM=هل تؤكد أن إغلاق هذا المقال قد عفا عليه الزمن؟
|
||||||
ConfirmReopenKM=Do you want to restore this article to status "Validated" ?
|
ConfirmReopenKM=هل تريد استعادة هذه المقالة إلى الحالة "تم التحقق منها"؟
|
||||||
|
|||||||
@ -10,7 +10,7 @@ LoanCapital=عاصمة
|
|||||||
Insurance=تأمين
|
Insurance=تأمين
|
||||||
Interest=اهتمام
|
Interest=اهتمام
|
||||||
Nbterms=عدد من المصطلحات
|
Nbterms=عدد من المصطلحات
|
||||||
Term=Term
|
Term=شرط
|
||||||
LoanAccountancyCapitalCode=Accounting account capital
|
LoanAccountancyCapitalCode=Accounting account capital
|
||||||
LoanAccountancyInsuranceCode=Accounting account insurance
|
LoanAccountancyInsuranceCode=Accounting account insurance
|
||||||
LoanAccountancyInterestCode=Accounting account interest
|
LoanAccountancyInterestCode=Accounting account interest
|
||||||
@ -19,16 +19,16 @@ LoanDeleted=بنجاح قرض محذوفة
|
|||||||
ConfirmPayLoan=تأكيد صنف دفع هذا القرض
|
ConfirmPayLoan=تأكيد صنف دفع هذا القرض
|
||||||
LoanPaid=القرض المدفوع
|
LoanPaid=القرض المدفوع
|
||||||
ListLoanAssociatedProject=List of loan associated with the project
|
ListLoanAssociatedProject=List of loan associated with the project
|
||||||
AddLoan=Create loan
|
AddLoan=إنشاء قرض
|
||||||
FinancialCommitment=Financial commitment
|
FinancialCommitment=التزام مالي
|
||||||
InterestAmount=اهتمام
|
InterestAmount=اهتمام
|
||||||
CapitalRemain=Capital remain
|
CapitalRemain=يبقى رأس المال
|
||||||
TermPaidAllreadyPaid = This term is allready paid
|
TermPaidAllreadyPaid = هذا المصطلح مدفوع بالفعل
|
||||||
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started
|
CantUseScheduleWithLoanStartedToPaid = Can't generate a timeline for a loan with a payment started
|
||||||
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule
|
CantModifyInterestIfScheduleIsUsed = لا يمكنك تعديل الفائدة إذا كنت تستخدم الجدول الزمني
|
||||||
# Admin
|
# Admin
|
||||||
ConfigLoan=التكوين للقرض وحدة
|
ConfigLoan=التكوين للقرض وحدة
|
||||||
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default
|
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default
|
||||||
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default
|
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default
|
||||||
LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default
|
LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default
|
||||||
CreateCalcSchedule=Edit financial commitment
|
CreateCalcSchedule=تحرير الالتزام المالي
|
||||||
|
|||||||
@ -1,9 +1,15 @@
|
|||||||
# Dolibarr language file - Source file is en_US - main
|
# Dolibarr language file - Source file is en_US - main
|
||||||
DIRECTION=rtl
|
DIRECTION=rtl
|
||||||
|
# Default for FONTFORPDF=helvetica
|
||||||
# Note for Chinese:
|
# Note for Chinese:
|
||||||
# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader)
|
# msungstdlight or cid0ct are for traditional Chinese zh_TW (traditional does not render with Ubuntu pdf reader)
|
||||||
# stsongstdlight or cid0cs are for simplified Chinese
|
# stsongstdlight or cid0cs are for simplified Chinese zh_CN
|
||||||
# To read Chinese pdf with Linux: sudo apt-get install poppler-data
|
# To read Chinese pdf with Linux: sudo apt-get install poppler-data
|
||||||
|
# cid0jp is for Japanish
|
||||||
|
# cid0kr is for Korean
|
||||||
|
# DejaVuSans is for some Eastern languages, some Asian languages and some Arabic languages
|
||||||
|
# freemono is for ru_RU or uk_UA, uz_UZ
|
||||||
|
# freeserif is for Tamil
|
||||||
FONTFORPDF=DejaVuSans
|
FONTFORPDF=DejaVuSans
|
||||||
FONTSIZEFORPDF=10
|
FONTSIZEFORPDF=10
|
||||||
SeparatorDecimal=.
|
SeparatorDecimal=.
|
||||||
@ -67,7 +73,7 @@ ErrorNoVATRateDefinedForSellerCountry=خطأ ، لم يتم تحديد معدل
|
|||||||
ErrorNoSocialContributionForSellerCountry=خطأ ، لم يتم تحديد نوع الضرائب الاجتماعية | المالية للبلد "%s".
|
ErrorNoSocialContributionForSellerCountry=خطأ ، لم يتم تحديد نوع الضرائب الاجتماعية | المالية للبلد "%s".
|
||||||
ErrorFailedToSaveFile=خطأ، فشل في حفظ الملف.
|
ErrorFailedToSaveFile=خطأ، فشل في حفظ الملف.
|
||||||
ErrorCannotAddThisParentWarehouse=أنت تحاول إضافة مستودع رئيسي هو بالفعل تابع لمستودع موجود
|
ErrorCannotAddThisParentWarehouse=أنت تحاول إضافة مستودع رئيسي هو بالفعل تابع لمستودع موجود
|
||||||
FieldCannotBeNegative=Field "%s" cannot be negative
|
FieldCannotBeNegative=لا يمكن أن يكون الحقل "%s" سالبًا
|
||||||
MaxNbOfRecordPerPage=عدد السجلات الاعلى في الصفحة الواحدة
|
MaxNbOfRecordPerPage=عدد السجلات الاعلى في الصفحة الواحدة
|
||||||
NotAuthorized=غير مصرح لك ان تفعل ذلك.
|
NotAuthorized=غير مصرح لك ان تفعل ذلك.
|
||||||
SetDate=تحديد التاريخ
|
SetDate=تحديد التاريخ
|
||||||
@ -88,7 +94,7 @@ FileWasNotUploaded=تم تحديد ملف للإرفاق ولكن لم يتم ت
|
|||||||
NbOfEntries=عدد الإدخالات
|
NbOfEntries=عدد الإدخالات
|
||||||
GoToWikiHelpPage=قراءة التعليمات عبر الإنترنت (يلزم الاتصال بالإنترنت)
|
GoToWikiHelpPage=قراءة التعليمات عبر الإنترنت (يلزم الاتصال بالإنترنت)
|
||||||
GoToHelpPage=قراءة المساعدة
|
GoToHelpPage=قراءة المساعدة
|
||||||
DedicatedPageAvailable=Dedicated help page related to your current screen
|
DedicatedPageAvailable=صفحة مساعدة مخصصة تتعلق بشاشتك الحالية
|
||||||
HomePage=الصفحة الرئيسية
|
HomePage=الصفحة الرئيسية
|
||||||
RecordSaved=تم حفظ سجل
|
RecordSaved=تم حفظ سجل
|
||||||
RecordDeleted=سجل محذوف
|
RecordDeleted=سجل محذوف
|
||||||
@ -115,7 +121,7 @@ ReturnCodeLastAccessInError=إرجاع الكود لأحدث خطأ في طلب
|
|||||||
InformationLastAccessInError=معلومات عن خطأ طلب الوصول إلى قاعدة البيانات الأخيرة
|
InformationLastAccessInError=معلومات عن خطأ طلب الوصول إلى قاعدة البيانات الأخيرة
|
||||||
DolibarrHasDetectedError=Dolibarr اكتشف خطأ تقني
|
DolibarrHasDetectedError=Dolibarr اكتشف خطأ تقني
|
||||||
YouCanSetOptionDolibarrMainProdToZero=يمكنك قراءة ملف السجل أو تعيين الخيار $ dolibarr_main_prod إلى "0" في (config file) للحصول على مزيد من المعلومات.
|
YouCanSetOptionDolibarrMainProdToZero=يمكنك قراءة ملف السجل أو تعيين الخيار $ dolibarr_main_prod إلى "0" في (config file) للحصول على مزيد من المعلومات.
|
||||||
InformationToHelpDiagnose=This information can be useful for diagnostic purposes (you can set option $dolibarr_main_prod to '1' to hide sensitive information)
|
InformationToHelpDiagnose=يمكن أن تكون هذه المعلومات مفيدة لأغراض التشخيص (يمكنك تعيين الخيار $ dolibarr_main_prod على "1" لإخفاء المعلومات الحساسة)
|
||||||
MoreInformation=المزيد من المعلومات
|
MoreInformation=المزيد من المعلومات
|
||||||
TechnicalInformation=المعلومات التقنية
|
TechnicalInformation=المعلومات التقنية
|
||||||
TechnicalID=ID الفني
|
TechnicalID=ID الفني
|
||||||
@ -181,7 +187,7 @@ SaveAndNew=حفظ وجديد
|
|||||||
TestConnection=اختبار الاتصال
|
TestConnection=اختبار الاتصال
|
||||||
ToClone=استنساخ
|
ToClone=استنساخ
|
||||||
ConfirmCloneAsk=هل أنت متأكد أنك تريد استنساخ الكائن <b> %s </b>؟
|
ConfirmCloneAsk=هل أنت متأكد أنك تريد استنساخ الكائن <b> %s </b>؟
|
||||||
ConfirmClone=Choose the data you want to clone:
|
ConfirmClone=اختر البيانات التي تريد نسخها:
|
||||||
NoCloneOptionsSpecified=لا توجد بيانات لاستنساخ محددة.
|
NoCloneOptionsSpecified=لا توجد بيانات لاستنساخ محددة.
|
||||||
Of=من
|
Of=من
|
||||||
Go=اذهب
|
Go=اذهب
|
||||||
@ -212,8 +218,8 @@ User=المستعمل
|
|||||||
Users=المستخدمين
|
Users=المستخدمين
|
||||||
Group=مجموعة
|
Group=مجموعة
|
||||||
Groups=المجموعات
|
Groups=المجموعات
|
||||||
UserGroup=User group
|
UserGroup=مجموعة المستخدمين
|
||||||
UserGroups=User groups
|
UserGroups=مجموعات الاعضاء
|
||||||
NoUserGroupDefined=لم يتم تحديد مجموعة مستخدمين
|
NoUserGroupDefined=لم يتم تحديد مجموعة مستخدمين
|
||||||
Password=كلمة المرور
|
Password=كلمة المرور
|
||||||
PasswordRetype=أعد كتابة كلمة المرور
|
PasswordRetype=أعد كتابة كلمة المرور
|
||||||
@ -244,13 +250,13 @@ Designation=الوصف
|
|||||||
DescriptionOfLine=وصف البند
|
DescriptionOfLine=وصف البند
|
||||||
DateOfLine=تاريخ البند
|
DateOfLine=تاريخ البند
|
||||||
DurationOfLine=مدة البند
|
DurationOfLine=مدة البند
|
||||||
ParentLine=Parent line ID
|
ParentLine=معرف خط الأصل
|
||||||
Model=قالب المستند
|
Model=قالب المستند
|
||||||
DefaultModel=قالب المستند الافتراضي
|
DefaultModel=قالب المستند الافتراضي
|
||||||
Action=حدث
|
Action=حدث
|
||||||
About=حول
|
About=حول
|
||||||
Number=عدد
|
Number=عدد
|
||||||
NumberByMonth=Total reports by month
|
NumberByMonth=إجمالي التقارير حسب الشهر
|
||||||
AmountByMonth=المبلغ بالشهر
|
AmountByMonth=المبلغ بالشهر
|
||||||
Numero=عدد
|
Numero=عدد
|
||||||
Limit=الحد
|
Limit=الحد
|
||||||
@ -346,7 +352,7 @@ MegaBytes=ميغابايت
|
|||||||
GigaBytes=غيغا بايت
|
GigaBytes=غيغا بايت
|
||||||
TeraBytes=تيرابايت
|
TeraBytes=تيرابايت
|
||||||
UserAuthor=تم الإنشاء بواسطة
|
UserAuthor=تم الإنشاء بواسطة
|
||||||
UserModif=Updated by
|
UserModif=تم التحديث بواسطة
|
||||||
b=بايت
|
b=بايت
|
||||||
Kb=كيلوبايت
|
Kb=كيلوبايت
|
||||||
Mb=ميغابايت
|
Mb=ميغابايت
|
||||||
@ -434,7 +440,7 @@ LT1IN=CGST
|
|||||||
LT2IN=SGST
|
LT2IN=SGST
|
||||||
LT1GC=Additionnal cents
|
LT1GC=Additionnal cents
|
||||||
VATRate=معدل الضريبة
|
VATRate=معدل الضريبة
|
||||||
RateOfTaxN=Rate of tax %s
|
RateOfTaxN=معدل الضريبة %s
|
||||||
VATCode=كود معدل الضريبة
|
VATCode=كود معدل الضريبة
|
||||||
VATNPR=معدل ضريبة NPR
|
VATNPR=معدل ضريبة NPR
|
||||||
DefaultTaxRate=معدل الضريبة الافتراضي
|
DefaultTaxRate=معدل الضريبة الافتراضي
|
||||||
@ -621,7 +627,7 @@ MonthVeryShort11=11
|
|||||||
MonthVeryShort12=12
|
MonthVeryShort12=12
|
||||||
AttachedFiles=الملفات والمستندات المرفقة
|
AttachedFiles=الملفات والمستندات المرفقة
|
||||||
JoinMainDoc=ضم إلى المستند الرئيسي
|
JoinMainDoc=ضم إلى المستند الرئيسي
|
||||||
JoinMainDocOrLastGenerated=Send the main document or the last generated one if not found
|
JoinMainDocOrLastGenerated=أرسل المستند الرئيسي أو آخر مستند تم إنشاؤه إذا لم يتم العثور عليه
|
||||||
DateFormatYYYYMM=YYYY-MM
|
DateFormatYYYYMM=YYYY-MM
|
||||||
DateFormatYYYYMMDD=YYYY-MM-DD
|
DateFormatYYYYMMDD=YYYY-MM-DD
|
||||||
DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS
|
DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS
|
||||||
@ -712,7 +718,7 @@ FeatureDisabled=ميزة معطلة
|
|||||||
MoveBox=نقل البريمج
|
MoveBox=نقل البريمج
|
||||||
Offered=معروض
|
Offered=معروض
|
||||||
NotEnoughPermissions=ليس لديك إذن بهذا الإجراء
|
NotEnoughPermissions=ليس لديك إذن بهذا الإجراء
|
||||||
UserNotInHierachy=This action is reserved to the supervisors of this user
|
UserNotInHierachy=هذا الإجراء محجوز لمشرفي هذا المستخدم
|
||||||
SessionName=اسم الجلسة
|
SessionName=اسم الجلسة
|
||||||
Method=الطريقة
|
Method=الطريقة
|
||||||
Receive=استقبال
|
Receive=استقبال
|
||||||
@ -737,7 +743,7 @@ MenuMembers=أعضاء
|
|||||||
MenuAgendaGoogle=أجندة غوغل
|
MenuAgendaGoogle=أجندة غوغل
|
||||||
MenuTaxesAndSpecialExpenses=الضرائب | مصاريف خاصة
|
MenuTaxesAndSpecialExpenses=الضرائب | مصاريف خاصة
|
||||||
ThisLimitIsDefinedInSetup=حدود دوليبار (Menu home-setup-security): %s كيلوبايت ، حد PHP: %s كيلوبايت
|
ThisLimitIsDefinedInSetup=حدود دوليبار (Menu home-setup-security): %s كيلوبايت ، حد PHP: %s كيلوبايت
|
||||||
ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb
|
ThisLimitIsDefinedInSetupAt=حد Dolibarr (القائمة %s): %s كيلوبايت ، حد PHP (Param %s): %s كيلوبايت
|
||||||
NoFileFound=لم يتم رفع مستند
|
NoFileFound=لم يتم رفع مستند
|
||||||
CurrentUserLanguage=اللغة الحالية
|
CurrentUserLanguage=اللغة الحالية
|
||||||
CurrentTheme=الواجهة الحالية
|
CurrentTheme=الواجهة الحالية
|
||||||
@ -802,7 +808,6 @@ URLPhoto=عنوان URL للصورة | الشعار
|
|||||||
SetLinkToAnotherThirdParty=ربط بطرف ثالث آخر
|
SetLinkToAnotherThirdParty=ربط بطرف ثالث آخر
|
||||||
LinkTo=ربط مع او بـ
|
LinkTo=ربط مع او بـ
|
||||||
LinkToProposal=ربط مع العرض
|
LinkToProposal=ربط مع العرض
|
||||||
LinkToExpedition= Link to expedition
|
|
||||||
LinkToOrder=ربط مع الامر
|
LinkToOrder=ربط مع الامر
|
||||||
LinkToInvoice=ربط مع الفاتورة
|
LinkToInvoice=ربط مع الفاتورة
|
||||||
LinkToTemplateInvoice=ربط مع قالب الفاتورة
|
LinkToTemplateInvoice=ربط مع قالب الفاتورة
|
||||||
@ -812,7 +817,7 @@ LinkToSupplierInvoice=ربط مع فاتورة المورد
|
|||||||
LinkToContract=ربط مع العقد
|
LinkToContract=ربط مع العقد
|
||||||
LinkToIntervention=ربط مع التداخل
|
LinkToIntervention=ربط مع التداخل
|
||||||
LinkToTicket=ربط مع التذكرة
|
LinkToTicket=ربط مع التذكرة
|
||||||
LinkToMo=Link to Mo
|
LinkToMo=رابط إلى Mo
|
||||||
CreateDraft=إنشاء مسودة
|
CreateDraft=إنشاء مسودة
|
||||||
SetToDraft=العودة إلى المسودة
|
SetToDraft=العودة إلى المسودة
|
||||||
ClickToEdit=انقر للتحرير
|
ClickToEdit=انقر للتحرير
|
||||||
@ -856,7 +861,7 @@ XMoreLines=%s بند (بنود) مخفي
|
|||||||
ShowMoreLines=عرض المزيد | أقل من البنود
|
ShowMoreLines=عرض المزيد | أقل من البنود
|
||||||
PublicUrl=URL العام
|
PublicUrl=URL العام
|
||||||
AddBox=إضافة مربع
|
AddBox=إضافة مربع
|
||||||
SelectElementAndClick=Select an element and click on %s
|
SelectElementAndClick=حدد عنصرًا وانقر فوق %s
|
||||||
PrintFile=طباعة الملف %s
|
PrintFile=طباعة الملف %s
|
||||||
ShowTransaction=عرض الإدخال في الحساب المصرفي
|
ShowTransaction=عرض الإدخال في الحساب المصرفي
|
||||||
ShowIntervention=عرض التدخل
|
ShowIntervention=عرض التدخل
|
||||||
@ -867,8 +872,8 @@ Denied=مرفوض
|
|||||||
ListOf=قائمة %s
|
ListOf=قائمة %s
|
||||||
ListOfTemplates=قائمة القوالب
|
ListOfTemplates=قائمة القوالب
|
||||||
Gender=جنس
|
Gender=جنس
|
||||||
Genderman=Male
|
Genderman=ذكر
|
||||||
Genderwoman=Female
|
Genderwoman=أنثى
|
||||||
Genderother=الآخر
|
Genderother=الآخر
|
||||||
ViewList=عرض القائمة
|
ViewList=عرض القائمة
|
||||||
ViewGantt=عرض Gantt
|
ViewGantt=عرض Gantt
|
||||||
@ -914,7 +919,7 @@ ViewFlatList=عرض قائمة مسطحة
|
|||||||
ViewAccountList=عرض دفتر الأستاذ
|
ViewAccountList=عرض دفتر الأستاذ
|
||||||
ViewSubAccountList=عرض دفتر الأستاذ الفرعي
|
ViewSubAccountList=عرض دفتر الأستاذ الفرعي
|
||||||
RemoveString=Remove string '%s'
|
RemoveString=Remove string '%s'
|
||||||
SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at <a href="https://transifex.com/projects/p/dolibarr/" target="_blank" rel="noopener noreferrer external">https://transifex.com/projects/p/dolibarr/</a> to add your improvements.
|
SomeTranslationAreUncomplete=قد تكون بعض اللغات المعروضة مترجمة جزئيًا فقط أو قد تحتوي على أخطاء. الرجاء المساعدة في تصحيح لغتك بالتسجيل في <a href="https://transifex.com/projects/p/dolibarr/" target="_blank" rel="noopener noreferrer external"> https://transifex.com/projects/p/dolibarr/ </a> لإضافة تحسيناتك.
|
||||||
DirectDownloadLink=رابط التحميل العام
|
DirectDownloadLink=رابط التحميل العام
|
||||||
PublicDownloadLinkDesc=فقط مطلوب الرابط لتنزيل الملف
|
PublicDownloadLinkDesc=فقط مطلوب الرابط لتنزيل الملف
|
||||||
DirectDownloadInternalLink=رابط التحميل الخاص
|
DirectDownloadInternalLink=رابط التحميل الخاص
|
||||||
@ -1083,7 +1088,7 @@ ValidFrom=صالح من
|
|||||||
ValidUntil=صالح حتى
|
ValidUntil=صالح حتى
|
||||||
NoRecordedUsers=لايوجد مستخدمين
|
NoRecordedUsers=لايوجد مستخدمين
|
||||||
ToClose=لغلق
|
ToClose=لغلق
|
||||||
ToRefuse=To refuse
|
ToRefuse=رفض
|
||||||
ToProcess=لعملية
|
ToProcess=لعملية
|
||||||
ToApprove=للموافقة
|
ToApprove=للموافقة
|
||||||
GlobalOpenedElemView=نظرة شاملة
|
GlobalOpenedElemView=نظرة شاملة
|
||||||
@ -1138,45 +1143,47 @@ UpdateForAllLines=تحديث لجميع البنود
|
|||||||
OnHold=في الانتظار
|
OnHold=في الانتظار
|
||||||
Civility=Civility
|
Civility=Civility
|
||||||
AffectTag=Affect Tag
|
AffectTag=Affect Tag
|
||||||
CreateExternalUser=Create external user
|
CreateExternalUser=إنشاء مستخدم خارجي
|
||||||
ConfirmAffectTag=Bulk Tag Affect
|
ConfirmAffectTag=Bulk Tag Affect
|
||||||
ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
|
ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
|
||||||
CategTypeNotFound=لا يوجد ملصق لنوع السجل
|
CategTypeNotFound=لا يوجد ملصق لنوع السجل
|
||||||
CopiedToClipboard=تم النسخ الى الحافظة
|
CopiedToClipboard=تم النسخ الى الحافظة
|
||||||
InformationOnLinkToContract=هذا المبلغ هو مجموع بنود العقد . دون مراعاة قيمة الزمن
|
InformationOnLinkToContract=هذا المبلغ هو مجموع بنود العقد . دون مراعاة قيمة الزمن
|
||||||
ConfirmCancel=Are you sure you want to cancel
|
ConfirmCancel=هل أنت متأكد أنك تريد إلغاء
|
||||||
EmailMsgID=Email MsgID
|
EmailMsgID=Email MsgID
|
||||||
SetToEnabled=Set to enabled
|
SetToEnabled=تعيين على تمكين
|
||||||
SetToDisabled=Set to disabled
|
SetToDisabled=تعيين إلى معطل
|
||||||
ConfirmMassEnabling=mass enabling confirmation
|
ConfirmMassEnabling=تأكيد التمكين الشامل
|
||||||
ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)?
|
ConfirmMassEnablingQuestion=هل أنت متأكد من أنك تريد تمكين السجل (السجلات) المحدد %s؟
|
||||||
ConfirmMassDisabling=mass disabling confirmation
|
ConfirmMassDisabling=تأكيد التعطيل الشامل
|
||||||
ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)?
|
ConfirmMassDisablingQuestion=هل أنت متأكد من أنك تريد تعطيل السجل (السجلات) المحدد %s؟
|
||||||
RecordsEnabled=%s record(s) enabled
|
RecordsEnabled=تم تمكين سجل (سجلات) %s
|
||||||
RecordsDisabled=%s record(s) disabled
|
RecordsDisabled=سجل (سجلات) %s معطل
|
||||||
RecordEnabled=Record enabled
|
RecordEnabled=تم تمكين التسجيل
|
||||||
RecordDisabled=Record disabled
|
RecordDisabled=سجل معطل
|
||||||
Forthcoming=Forthcoming
|
Forthcoming=قادم، صريح، يظهر
|
||||||
Currently=Currently
|
Currently=حالياً
|
||||||
ConfirmMassLeaveApprovalQuestion=Are you sure you want to approve the %s selected record(s)?
|
ConfirmMassLeaveApprovalQuestion=هل أنت متأكد من أنك تريد الموافقة على السجل (السجلات) المحددة %s؟
|
||||||
ConfirmMassLeaveApproval=Mass leave approval confirmation
|
ConfirmMassLeaveApproval=تأكيد الموافقة على الإجازة الجماعية
|
||||||
RecordAproved=Record approved
|
RecordAproved=تمت الموافقة على السجل
|
||||||
RecordsApproved=%s Record(s) approved
|
RecordsApproved=%s تمت الموافقة على السجلات
|
||||||
Properties=Properties
|
Properties=الخصائص
|
||||||
hasBeenValidated=%s has been validated
|
hasBeenValidated=تم التحقق من صحة %s
|
||||||
ClientTZ=المنطقة الزمنية للعميل (المستخدم)
|
ClientTZ=المنطقة الزمنية للعميل (المستخدم)
|
||||||
NotClosedYet=Not yet closed
|
NotClosedYet=لم تغلق بعد
|
||||||
ClearSignature=Reset signature
|
ClearSignature=إعادة تعيين التوقيع
|
||||||
CanceledHidden=Canceled hidden
|
CanceledHidden=إلغاء المخفية
|
||||||
CanceledShown=Canceled shown
|
CanceledShown=أظهرت ملغاة
|
||||||
Terminate=تعطيل
|
Terminate=تعطيل
|
||||||
Terminated=Terminated
|
Terminated=تم إنهاؤه
|
||||||
AddLineOnPosition=Add line on position (at the end if empty)
|
AddLineOnPosition=أضف سطرًا في الموضع (في النهاية إذا كان فارغًا)
|
||||||
ConfirmAllocateCommercial=Assign sales representative confirmation
|
ConfirmAllocateCommercial=تعيين تأكيد مندوب المبيعات
|
||||||
ConfirmAllocateCommercialQuestion=Are you sure you want to assign the %s selected record(s)?
|
ConfirmAllocateCommercialQuestion=هل أنت متأكد من أنك تريد تعيين السجل (السجلات) المحددة %s؟
|
||||||
CommercialsAffected=Sales representatives affected
|
CommercialsAffected=مندوبي المبيعات يتأثرون
|
||||||
CommercialAffected=Sales representative affected
|
CommercialAffected=مندوب المبيعات يتأثر
|
||||||
YourMessage=Your message
|
YourMessage=رسالتك
|
||||||
YourMessageHasBeenReceived=Your message has been received. We will answer or contact you as soon as possible.
|
YourMessageHasBeenReceived=وقد وردت الرسالة. سنقوم بالرد أو الاتصال بك في أقرب وقت ممكن.
|
||||||
UrlToCheck=Url to check
|
UrlToCheck=عنوان Url المراد التحقق منه
|
||||||
Automation=Automation
|
Automation=أتمتة
|
||||||
|
CreatedByEmailCollector=Created by Email collector
|
||||||
|
CreatedByPublicPortal=Created from Public portal
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user