Merge branch 'upstream/develop'

This commit is contained in:
aspangaro 2014-04-12 09:51:19 +02:00
commit bae2fe0921
673 changed files with 53840 additions and 45753 deletions

View File

@ -41,6 +41,8 @@ For users:
- New: Add field url as product properties.
- New: More options to create a credit note (can be filled autatically according to remain to pay).
- New: Can define custom fields for categories.
- New: Prepare generation of SEPA files into module withdrawal.
- New: Can filter on status for supplier order.
- Fix: Project Task numbering customs rule works.
- Fix: Add actions events not implemented.
@ -73,9 +75,54 @@ Dolibarr better:
- The deprecated way (with 4 parameters) to declare a new tab into a module descriptor file has been
removed. You must now use the 6 parameters way. See file modMyModule.class.php for example.
- Remove the javascript function ac_delay() that is not used anymore by core code.
- Properties "dictionaries" into module descriptor files has been renamed into "dictionaries".
- Properties "dictionnaries" into module descriptor files has been renamed into "dictionaries".
- Method form->select_currency() has been removed. Use instead print form->selectCurrency().
- Method form->select_methodes_commande() has been renamed into english name selectInputMethod().
***** ChangeLog for 3.5.2 compared to 3.5.1 *****
Fix: Can't add user for a task.
Fix: Autoselect of warehouse if there is only one warehouse.
Fix: Install of odt template for project and tasks.
Fix: [ bug #1318 ] Problem with enter key when adding an existing
product to a customer invoice.
Fix: [ bug #1307 ] Quotes get removed from several inputs.
Fix: [ bug #1317 ] Removing a category does not remove all child categories
Fix: [ bug #1312 ] Call to undefined function _()
Fix: Restore build for obs and launchpad.
Fix: deleting files into backup system tools.
Fix: Dump using php not not include lock on tables that are deleted.
Fix: Fixed a problem with bank accounts sharing across entities.
Fix: fields into group by of sql requests for module margins must be
same than fields into select.
Fix: When select_date is called with '' as preselected date,
automatic user date was not correctly et (We must set a date into PHP
server timezone area)
Fix: First param of select_date must always be forged with a dolibarr
date function and not time().
Fix: fix can't add line with product in supplier order
Fix: [bug #1309]
Fix: Solve pb of too many embedded tables
Fix: [ bug #1306 ] Fatal error when adding an external calendar
Fix: A fix to manage automatic creation of code for import.
Fix: Try to add code to provide easy way to fix warning on timezone not
defined.
Fix: Several fix into workflow/condition for invoice payments or convert
into discount.
Fix: Option MAIN_PDF_DASH_BETWEEN_LINES was not working when tcpdf was
making a pagebreak higher than 2 pages.
Fix: form to add images should not show link form.
Fix: Correction when adding order line with price as '0'.
Fix: [ bug #1283 ] ROUGET Shipment PDF.
Fix: [ bug #1300 ]
Fix: Miscellaneous problems on task tabs (withproject parameter lost and
download fails).
Fix: Avoid home project page to hung when too many tasks opened.
Fix: bug #1295: Error when creating an agenda extrafield with a number as reference
Fix: Translation of number for pt_PT.
Fix: Error on ajax_constantonoff function.
Fix: [ bug #1323 ] problème pour générer un odt depuis les taches dans projet.
Fix: Can not make withdrawals
***** ChangeLog for 3.5.1 compared to 3.5.0 *****
Fix: Do not report trigger errors twice.
@ -114,10 +161,11 @@ Fix: [ bug #520 ] Product statistics and detailed lists are wrong.
Fix: [ bug #1240 ] traduction.
Fix: [ bug #1238 ] When creating accompte with a %, free product are used for calculation.
Fix: [ bug #1280 ] service with not end of date was tagged as expired.
Fix: [ bug #1295 ] Error when creating an agenda extrafield with a number as reference
Fix: [ bug #1306 ] Fatal error when adding an external calendar
Fix: [ bug #1295 ] Error when creating an agenda extrafield with a number as reference.
Fix: [ bug #1306 ] Fatal error when adding an external calendar.
New: Added es_CL language
Fix: Margin tabs bad data show
Fix: [ bug #1318 ] Problem with enter key when adding an existing product to a customer invoice.
***** ChangeLog for 3.5 compared to 3.4.* *****
For users:
@ -251,18 +299,12 @@ parameter. All methods addline in this case were modified to remove this paramet
***** ChangeLog for 3.4.3 compared to 3.4.2 *****
Fix: Bad get of localtaxes into contracts add lines
***** ChangeLog for 3.4.3 compared to 3.4.2 *****
Fix: Warning into bank conciliation feature.
Fix: Bad get of localtaxes into contracts add lines.
Fix: Add a limit into list to avoid browser to hang when database is too large.
Fix: [ bug #1212 ] 'jqueryFileTree.php' directory traversal vulnerability
***** ChangeLog for 3.4.3 compared to 3.4.2 *****
Fix: Warning into bank conciliation feature.
Fix: Bad get of localtaxes into contracts add lines.
Fix: Add a limit into list to avoid browser to hang when database is too large.
Fix: [ bug #1212 ] 'jqueryFileTree.php' directory traversal vulnerability
Fix: Agenda and Banks module were not working with multicompany module
Fix: [ bug #1317 ] Removing a category does not remove all child categories
***** ChangeLog for 3.4.2 compared to 3.4.1 *****
Fix: field's problem into company's page (RIB).

View File

@ -166,8 +166,7 @@ Warning: Date must have format reported by "date -R"
Warning: Name and email must match value into debian/control file (Entry added here is used by next step).
* We try to build package
> rm -fr ../build-area
> git-buildpackage -us -uc
> rm -fr ../build-area; git-buildpackage -us -uc
Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file
Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match
@ -230,20 +229,20 @@ from origin/upstream and origin/pristine.
* Staying into git root directory, run
> git-import-orig -vv ../dolibarr-3.3.4.tgz
and enter version when requested.
Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit
* Add an entry into debian/changelog
> dch -v x.y.z-1 "My comment" will add entry.
For example: dch -v x.y.z-1 "New upstream release." for a new version
> dch -v x.y.z-w "My comment" will add entry.
For example: dch -v x.y.z-w "New upstream release." for a new version (x.y.z = version, w start from 1 and increaed for each new import)
Then modify changelog to replace "unstable" with "UNRELEASED".
Warning: Date must have format reported by "date -R"
Warning: Name and email must match value into debian/control file (Entry added here is used by next step).
Then check/modify also the user/date signature:
- Date must have format reported by "date -R"
- Name and email must match value into debian/control file (Entry added here is used by next step).
* We try to build package
> rm -fr ../build-area
> git-buildpackage -us -uc
> rm -fr ../build-area; git-buildpackage -us -uc
Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file
Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match
@ -272,4 +271,3 @@ http://packages.qa.debian.org
* Package will be into release when test will be moved as stable.

View File

@ -37,7 +37,7 @@ $force_install_lockinstall='444';
//$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
//$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
//$force_dolibarr_lib_PHPEXCEL_PATH='';
//$force_dolibarr_js_CKEDITOR='/javascript/ckeditor';
//$force_dolibarr_js_CKEDITOR='/javascript/ckeditor'; // Use '/javascript/ckeditor' or 'disabled'
//$force_dolibarr_js_JQUERY='/javascript/jquery';
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';

View File

@ -20,7 +20,8 @@ $RPMSUBVERSION="auto"; # auto use value found into BUILD
@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
%REQUIREMENTPUBLISH=(
"SF"=>"git ssh rsync"
"SF"=>"git ssh rsync",
"ASSO"=>"git ssh rsync"
);
%REQUIREMENTTARGET=( # Tool requirement for each package
"TGZ"=>"tar",
@ -58,7 +59,8 @@ $DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/;
$SOURCE="$DIR/..";
$DESTI="$SOURCE/build";
$PUBLISH="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
$PUBLISHBETARC="ldestailleur\@asso.dolibarr.org:/home/dolibarr/dolibarr.org/files";
if (! $ENV{"DESTIBETARC"} || ! $ENV{"DESTISTABLE"})
{
print "Error: Missing environment variables.\n";
@ -174,15 +176,15 @@ for (0..@ARGV-1) {
}
if ($ENV{"DESTIBETARC"} && $BUILD =~ /[a-z]/i) { $DESTI = $ENV{"DESTIBETARC"}; } # Force output dir if env DESTIBETARC is defined
if ($ENV{"DESTISTABLE"} && $BUILD =~ /^[0-9]+$/) { $DESTI = $ENV{"DESTISTABLE"}; } # Force output dir if env DESTISTABLE is defined
if ($ENV{"PUBLISHBETARC"} && $BUILD =~ /[a-z]/i) { $PUBLISH = $ENV{"PUBLISHBETARC"}; } # Force target site for publishing if env PUBLISHBETARC is defined
if ($ENV{"PUBLISHSTABLE"} && $BUILD =~ /^[0-9]+$/) { $PUBLISH = $ENV{"PUBLISHSTABLE"}; } # Force target site for publishing if env PUBLISHSTABLE is defined
if ($ENV{"PUBLISHBETARC"} && $BUILD =~ /[a-z]/i) { $PUBLISHBETARC = $ENV{"PUBLISHBETARC"}; } # Force target site for publishing if env PUBLISHBETARC is defined
if ($ENV{"PUBLISHSTABLE"} && $BUILD =~ /^[0-9]+$/) { $PUBLISHSTABLE = $ENV{"PUBLISHSTABLE"}; } # Force target site for publishing if env PUBLISHSTABLE is defined
print "Makepack version $VERSION\n";
print "Building/publishing package name: $PROJECT\n";
print "Building/publishing package version: $MAJOR.$MINOR.$BUILD\n";
print "Source directory (SOURCE): $SOURCE\n";
print "Target directory (DESTI) : $DESTI\n";
print "Publishing target (PUBLISH): $PUBLISH\n";
#print "Publishing target (PUBLISH): $PUBLISH\n";
# Choose package targets
@ -190,24 +192,27 @@ print "Publishing target (PUBLISH): $PUBLISH\n";
if ($target) {
if ($target eq "ALL") {
foreach my $key (@LISTETARGET) {
if ($key ne 'SNAPSHOT' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
if ($key ne 'SNAPSHOT' && $key ne 'SF' && $key ne 'ASSO') { $CHOOSEDTARGET{$key}=1; }
}
}
if ($target ne "ALL" && $target ne "SF") { $CHOOSEDTARGET{uc($target)}=1; }
if ($target ne "ALL" && $target ne "SF" && $target ne "ASSO") { $CHOOSEDTARGET{uc($target)}=1; }
if ($target eq "SF") { $CHOOSEDPUBLISH{"SF"}=1; }
if ($target eq "ASSO") { $CHOOSEDPUBLISH{"ASSO"}=1; }
}
else {
my $found=0;
my $NUM_SCRIPT;
my $cpt=0;
while (! $found) {
printf(" %2d - %-12s (%s)\n",$cpt,"ALL (1..9)","Need ".join(",",values %REQUIREMENTTARGET));
printf(" %2d - %-14s (%s)\n",$cpt,"ALL (1..9)","Need ".join(",",values %REQUIREMENTTARGET));
foreach my $target (@LISTETARGET) {
$cpt++;
printf(" %2d - %-12s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target});
printf(" %2d - %-14s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target});
}
$cpt=98;
printf(" %2d - %-14s (%s)\n",$cpt,"ASSO (publish)","Need ".join(",",values %REQUIREMENTPUBLISH));
$cpt=99;
printf(" %2d - %-12s (%s)\n",$cpt,"SF (publish)","Need ".join(",",values %REQUIREMENTPUBLISH));
printf(" %2d - %-14s (%s)\n",$cpt,"SF (publish)","Need ".join(",",values %REQUIREMENTPUBLISH));
# Ask which target to build
print "Choose one package number or several separated with space (0 - ".$cpt."): ";
@ -224,19 +229,25 @@ else {
}
}
print "\n";
if ($NUM_SCRIPT eq "99") {
$CHOOSEDPUBLISH{"SF"}=1;
if ($NUM_SCRIPT eq "98") {
$CHOOSEDPUBLISH{"ASSO"}=1;
}
else {
if ($NUM_SCRIPT eq "0") {
foreach my $key (@LISTETARGET) {
if ($key ne 'SNAPSHOT' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
}
else
{
if ($NUM_SCRIPT eq "99") {
$CHOOSEDPUBLISH{"SF"}=1;
}
else {
foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
$CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;
}
if ($NUM_SCRIPT eq "0") {
foreach my $key (@LISTETARGET) {
if ($key ne 'SNAPSHOT' && $key ne 'ASSO' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
}
}
else {
foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
$CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;
}
}
}
}
}
@ -301,10 +312,8 @@ foreach my $target (keys %CHOOSEDTARGET) {
}
foreach my $target (keys %CHOOSEDPUBLISH) {
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
if ($target eq 'SF')
{
$nbofpublishneedtag++;
}
if ($target eq 'ASSO') { $nbofpublishneedtag++; }
if ($target eq 'SF') { $nbofpublishneedtag++; }
$nboftargetok++;
}
@ -947,14 +956,14 @@ if ($nboftargetok) {
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
print "\nList of files to publish\n";
%filestoscan=(
%filestoscansf=(
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)',
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)',
"$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM',
"$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM'
);
foreach my $file (sort keys %filestoscan)
foreach my $file (sort keys %filestoscansf)
{
$found=0;
my $filesize = -s $file;
@ -963,10 +972,14 @@ if ($nboftargetok) {
print "\n";
}
if ($target eq 'SF')
if ($target eq 'SF' || $target eq 'ASSO')
{
print "\n";
if ($target eq 'SF') { $PUBLISH = $PUBLISHSTABLE; }
if ($target eq 'ASSO' && $BUILD =~ /[a-z]/i) { $PUBLISH = $PUBLISHBETARC.'/lastbuild'; }
if ($target eq 'ASSO' && $BUILD =~ /^[0-9]+$/) { $PUBLISH = $PUBLISHBETARC.'/stable'; }
$NEWPUBLISH=$PUBLISH;
print "Publish to target $NEWPUBLISH. Click enter or CTRL+C...\n";
@ -977,6 +990,8 @@ if ($nboftargetok) {
print "Create empty dir /tmp/emptydir. We need it to create target dir using rsync.\n";
$ret=`mkdir -p "/tmp/emptydir/"`;
%filestoscan=%filestoscansf;
foreach my $file (sort keys %filestoscan)
{
$found=0;
@ -1001,6 +1016,7 @@ if ($nboftargetok) {
#$command="ssh eldy,dolibarr\@frs.sourceforge.net mkdir -p \"$destFolder\"";
#print "$command\n";
#my $ret=`$command 2>&1`;
$command="rsync -s -e 'ssh' --recursive /tmp/emptydir/ \"".$destFolder."\"";
print "$command\n";
my $ret=`$command 2>&1`;

View File

@ -331,7 +331,7 @@ fi
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
%changelog
* Fri Feb 7 2014 Laurent Destailleur 3.6.0-0.2.b
* Fri Feb 21 2014 Laurent Destailleur 3.6.0-0.2.b
- Upstream release
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3

View File

@ -306,6 +306,11 @@ done >>%{name}.lang
%post
echo Run post script of packager dolibarr_generic.spec
echo Detected constant fedora=0%{?fedora}
echo Detected constant rhel_version=0%{?rhel_version}
echo Detected constant centos_version=0%{?centos_version}
echo Detected constant mdkversion=0%{?mdkversion}
echo Detected constant suse_version=0%{?suse_version}
# Define vars
export docdir="/var/lib/dolibarr/documents"
@ -466,9 +471,12 @@ echo Restart mysql server
%else
%if 0%{?suse_version}
if [ -f /etc/init.d/mysqld ]; then
/etc/init.d/mysqld restart
else
/sbin/service mysqld restart
#/etc/init.d/mysqld restart
fi
if [ -f /etc/init.d/mysql ]; then
/sbin/service mysql restart
#/etc/init.d/mysql restart
fi
%else
if [ -f /etc/init.d/mysqld ]; then
@ -559,7 +567,7 @@ fi
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
%changelog
* Mon Feb 7 2014 Laurent Destailleur 3.6.0-0.2.b
* Mon Feb 21 2014 Laurent Destailleur 3.6.0-0.2.b
- Upstream release
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3

View File

@ -336,7 +336,7 @@ fi
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
%changelog
* Mon Feb 7 2014 Laurent Destailleur 3.6.0-0.2.b
* Mon Feb 21 2014 Laurent Destailleur 3.6.0-0.2.b
- Upstream release
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3

View File

@ -290,8 +290,9 @@ fi
# Restart mysql
echo Restart mysql
if [ -f /etc/init.d/mysqld ]; then
/etc/init.d/mysqld restart
else
/sbin/service mysqld restart
fi
if [ -f /etc/init.d/mysql ]; then
/sbin/service mysql restart
fi
@ -346,7 +347,7 @@ fi
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
%changelog
* Mon Feb 7 2014 Laurent Destailleur 3.6.0-0.2.b
* Mon Feb 21 2014 Laurent Destailleur 3.6.0-0.2.b
- Upstream release
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3

View File

@ -0,0 +1,34 @@
#!/bin/sh
# Recursively deduplicate file lines on a per file basis
# Useful to deduplicate language files
#
# Needs awk 4.0 for the inplace fixing command
#
# Raphaël Doursenaud - rdoursenaud@gpcsolutions.fr
# Syntax
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
then
echo "Usage: deduplicatefilelinesrecursively.sh [list|fix]"
fi
# To detect
if [ "x$1" = "xlist" ]
then
for file in `find . -type f`
do
if [ `sort "$file" | uniq -d | wc -l` -gt 0 ]
then
echo "$file"
fi
done
fi
# To fix
if [ "x$1" = "xfix" ]
then
for file in `find . -type f`
do
awk -i inplace ' !x[$0]++' "$file"
done;
fi

21
dev/detectduplicatelangkey.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/sh
# Helps find duplicate translation keys in language files
#
# Copyright (C) 2014 Raphaël Doursenaud - rdoursenaud@gpcsolutions.fr
for file in `find . -type f`
do
dupes=$(
sed "s/^\s*//" "$file" | # Remove any leading whitespace
sed "s/\s*\=/=/" | # Remove any whitespace before =
grep -Po "(^.*?)=" | # Non greedeely match everything before =
sed "s/\=//" | # Remove trailing = so we get the key
sort | uniq -d # Find duplicates
)
if [ -n "$dupes" ]
then
echo "Duplicates found in $file"
echo "$dupes"
fi
done

File diff suppressed because one or more lines are too long

View File

@ -171,6 +171,7 @@ export list="
--ignore-table=$base.llx_abonne_extrafields
--ignore-table=$base.llx_abonne_type
--ignore-table=$base.llx_abonnement
--ignore-table=$base.llx_bootstrap
--ignore-table=$base.llx_bt_namemap
--ignore-table=$base.llx_bt_speedlimit
--ignore-table=$base.llx_bt_summary

View File

@ -115,7 +115,7 @@ class modMyModule extends DolibarrModules
// Array to add new pages in new tabs
// Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1
// 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
// 'objecttype:-tabname':NU:conditiontoremove); // To remove an existing tab identified by code tabname
// 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname
// where objecttype can be
// 'thirdparty' to add a tab in third party view
// 'intervention' to add a tab in intervention view

View File

@ -5,3 +5,9 @@ languages or to update translation files for existing languages.
See Dolibarr Wiki page:
http://wiki.dolibarr.org/index.php/Translator_documentation
For more informations on how to use them.
To install transifex client:
sudo pip install --upgrade transifex-client
To update transifex client:
sudo pip install --upgrade transifex-client

View File

@ -20,7 +20,7 @@ fi
if [ "x$1" = "xall" ]
then
for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW
for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW
do
echo "tx pull -l $fic $2 $3"
tx pull -l $fic $2 $3

View File

@ -20,7 +20,7 @@ fi
if [ "x$1" = "xall" ]
then
for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW
for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW
do
echo "tx push --skip -t -l $fic $2 $3"
tx push --skip -t -l $fic $2 $3

View File

@ -121,7 +121,7 @@ if ($action != 'create' && $action != 'edit')
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel */
/* Creation of an optional field */
/* */
/* ************************************************************************** */
@ -135,7 +135,7 @@ if ($action == 'create')
/* ************************************************************************** */
/* */
/* Edition d'un champ optionnel */
/* Edition of an optional field */
/* */
/* ************************************************************************** */
if ($action == 'edit' && ! empty($attrname))

View File

@ -124,7 +124,7 @@ if ($action != 'create' && $action != 'edit')
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel */
/* Creation of an optional field */
/* */
/* ************************************************************************** */
@ -138,7 +138,7 @@ if ($action == 'create')
/* ************************************************************************** */
/* */
/* Edition d'un champ optionnel */
/* Edition of an optional field */
/* */
/* ************************************************************************** */
if ($action == 'edit' && ! empty($attrname))

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
@ -330,54 +330,73 @@ if ($user->rights->adherent->cotisation->creer && $action == 'cotisation' && ! $
$invoice=new Facture($db);
$customer=new Societe($db);
$result=$customer->fetch($object->fk_soc);
if ($result <= 0)
{
$errmsg=$customer->error;
$error++;
}
// Create draft invoice
$invoice->type= Facture::TYPE_STANDARD;
$invoice->cond_reglement_id=$customer->cond_reglement_id;
if (empty($invoice->cond_reglement_id))
if (! $error)
{
$paymenttermstatic=new PaymentTerm($db);
$invoice->cond_reglement_id=$paymenttermstatic->getDefaultId();
if (empty($invoice->cond_reglement_id))
{
$error++;
$errmsg='ErrorNoPaymentTermRECEPFound';
}
if (! ($object->fk_soc > 0))
{
$langs->load("errors");
$errmsg=$langs->trans("ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst");
$error++;
}
}
$invoice->socid=$object->fk_soc;
$invoice->date=$datecotisation;
$result=$invoice->create($user);
if ($result <= 0)
if (! $error)
{
$errmsg=$invoice->error;
$error++;
$result=$customer->fetch($object->fk_soc);
if ($result <= 0)
{
$errmsg=$customer->error;
$error++;
}
}
// Add line to draft invoice
$idprodsubscription=0;
$vattouse=0;
if (isset($conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS) && $conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS == 'defaultforfoundationcountry')
if (! $error)
{
$vattouse=get_default_tva($mysoc, $mysoc, $idprodsubscription);
// Create draft invoice
$invoice->type= Facture::TYPE_STANDARD;
$invoice->cond_reglement_id=$customer->cond_reglement_id;
if (empty($invoice->cond_reglement_id))
{
$paymenttermstatic=new PaymentTerm($db);
$invoice->cond_reglement_id=$paymenttermstatic->getDefaultId();
if (empty($invoice->cond_reglement_id))
{
$error++;
$errmsg='ErrorNoPaymentTermRECEPFound';
}
}
$invoice->socid=$object->fk_soc;
$invoice->date=$datecotisation;
$result=$invoice->create($user);
if ($result <= 0)
{
$errmsg=$invoice->error;
$error++;
}
}
//print xx".$vattouse." - ".$mysoc." - ".$customer;exit;
$result=$invoice->addline($label,0,1,$vattouse,0,0,$idprodsubscription,0,$datecotisation,$datesubend,0,0,'','TTC',$cotisation,1);
if ($result <= 0)
if (! $error)
{
$errmsg=$invoice->error;
$error++;
// Add line to draft invoice
$idprodsubscription=0;
$vattouse=0;
if (isset($conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS) && $conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS == 'defaultforfoundationcountry')
{
$vattouse=get_default_tva($mysoc, $mysoc, $idprodsubscription);
}
//print xx".$vattouse." - ".$mysoc." - ".$customer;exit;
$result=$invoice->addline($label,0,1,$vattouse,0,0,$idprodsubscription,0,$datecotisation,$datesubend,0,0,'','TTC',$cotisation,1);
if ($result <= 0)
{
$errmsg=$invoice->error;
$error++;
}
// Validate invoice
$result=$invoice->validate($user);
}
// Validate invoice
$result=$invoice->validate($user);
// Add payment onto invoice
if ($option == 'bankviainvoice' && $accountid)
{
@ -486,8 +505,8 @@ if ($rowid)
dol_fiche_head($head, 'subscription', $langs->trans("Member"), 0, 'user');
$rowspan=9;
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan+=1;
$rowspan=10;
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan++;
if (! empty($conf->societe->enabled)) $rowspan++;
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
@ -764,9 +783,9 @@ if ($rowid)
}
else
{
if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankviainvoice' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled) && $object->fk_soc) $bankviainvoice=1;
if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankviainvoice' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $bankviainvoice=1;
else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankdirect' && ! empty($conf->banque->enabled)) $bankdirect=1;
else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled) && $object->fk_soc) $invoiceonly=1;
else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $invoiceonly=1;
}
print "\n\n<!-- Form add subscription -->\n";
@ -917,12 +936,14 @@ if ($rowid)
if (! empty($conf->societe->enabled) && ! empty($conf->facture->enabled))
{
print '<input type="radio" class="moreaction" id="invoiceonly" name="paymentsave" value="invoiceonly"'.(! empty($invoiceonly)?' checked="checked"':'');
if (empty($object->fk_soc)) print ' disabled="disabled"';
//if (empty($object->fk_soc)) print ' disabled="disabled"';
print '> '.$langs->trans("MoreActionInvoiceOnly");
if ($object->fk_soc) print ' ('.$langs->trans("ThirdParty").': '.$company->getNomUrl(1).')';
else
{
print ' ('.$langs->trans("NoThirdPartyAssociatedToMember");
print ' (';
if (empty($object->fk_soc)) print img_warning($langs->trans("NoThirdPartyAssociatedToMember"));
print $langs->trans("NoThirdPartyAssociatedToMember");
print ' - <a href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_thirdparty">';
print $langs->trans("CreateDolibarrThirdParty");
print '</a>)';
@ -934,12 +955,14 @@ if ($rowid)
if (! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled))
{
print '<input type="radio" class="moreaction" id="bankviainvoice" name="paymentsave" value="bankviainvoice"'.(! empty($bankviainvoice)?' checked="checked"':'');
if (empty($object->fk_soc)) print ' disabled="disabled"';
//if (empty($object->fk_soc)) print ' disabled="disabled"';
print '> '.$langs->trans("MoreActionBankViaInvoice");
if ($object->fk_soc) print ' ('.$langs->trans("ThirdParty").': '.$company->getNomUrl(1).')';
else
{
print ' ('.$langs->trans("NoThirdPartyAssociatedToMember");
print ' (';
if (empty($object->fk_soc)) print img_warning($langs->trans("NoThirdPartyAssociatedToMember"));
print $langs->trans("NoThirdPartyAssociatedToMember");
print ' - <a href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_thirdparty">';
print $langs->trans("CreateDolibarrThirdParty");
print '</a>)';

View File

@ -183,7 +183,7 @@ if ($resql)
if ($type > 0)
{
$membertype=new AdherentType($db);
$result=$membertype->fetch($_REQUEST["type"]);
$result=$membertype->fetch(GETPOST("type"));
$titre.=" (".$membertype->libelle.")";
}
@ -193,6 +193,7 @@ if ($resql)
if ($search_login) $param.="&search_login=".$search_login;
if ($search_email) $param.="&search_email=".$search_email;
if ($filter) $param.="&filter=".$filter;
if ($type > 0) $param.="&type=".$type;
print_barre_liste($titre,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords);
if ($sall)

View File

@ -305,7 +305,7 @@ if ($action == 'edit' || $action == 'updateedit')
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCurrency").'</td><td>';
$form->select_currency($conf->currency,"currency");
print $form->selectCurrency($conf->currency,"currency");
print '</td></tr>'."\n";
$var=!$var;
@ -381,7 +381,7 @@ if ($action == 'edit' || $action == 'updateedit')
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("ManagingDirectors").'</td><td>';
print '<input name="MAIN_INFO_SOCIETE_MANAGERS" size="80" value="' . $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '"></td></tr>';
// Capital
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>';
@ -530,7 +530,7 @@ if ($action == 'edit' || $action == 'updateedit')
$var=true;
$var=!$var;
print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"reel\"".($conf->global->FACTURE_TVAOPTION != "franchise"?" checked":"")."> ".$langs->trans("VATIsUsed")."</label></td>";
print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</label></td>";
print '<td colspan="2">';
print "<table>";
print "<tr><td>".$langs->trans("VATIsUsedDesc")."</td></tr>";
@ -539,7 +539,7 @@ if ($action == 'edit' || $action == 'updateedit')
print "</td></tr>\n";
$var=!$var;
print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"franchise\"".($conf->global->FACTURE_TVAOPTION == "franchise"?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>";
print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>";
print '<td colspan="2">';
print "<table>";
print "<tr><td>".$langs->trans("VATIsNotUsedDesc")."</td></tr>";
@ -746,7 +746,7 @@ else
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("ManagingDirectors").'</td><td>';
print $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '</td></tr>';
// Capital
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>';
@ -913,7 +913,7 @@ else
$var=true;
$var=!$var;
print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"reel\"".($conf->global->FACTURE_TVAOPTION != "franchise"?" checked":"")."> ".$langs->trans("VATIsUsed")."</label></td>";
print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</label></td>";
print '<td colspan="2">';
print "<table>";
print "<tr><td>".$langs->trans("VATIsUsedDesc")."</td></tr>";
@ -922,7 +922,7 @@ else
print "</td></tr>\n";
$var=!$var;
print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"franchise\"".($conf->global->FACTURE_TVAOPTION == "franchise"?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>";
print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>";
print '<td colspan="2">';
print "<table>";
print "<tr><td>".$langs->trans("VATIsNotUsedDesc")."</td></tr>";

View File

@ -167,8 +167,27 @@ else
$editor=new DolEditor('formtestfield',isset($conf->global->FCKEDITOR_TEST)?$conf->global->FCKEDITOR_TEST:'Test','',200,$mode,'In', true, $uselocalbrowser, 1, 120, 8, $readonly);
$editor->Create();
print '<center><br><input class="button" type="submit" name="save" value="'.$langs->trans("Save").'"></center>'."\n";
print '<div id="divforlog"></div>';
print '</form>'."\n";
// Add env of ckeditor
// This is to show how CKEditor detect browser to understand why editor is disabled or not
if (1 == 2) // Change this to enable output
{
print '<br><script language="javascript">
function jsdump(obj, id) {
var out = \'\';
for (var i in obj) {
out += i + ": " + obj[i] + "<br>\n";
}
jQuery("#"+id).html(out);
}
jsdump(CKEDITOR.env, "divforlog");
</script>';
}
/*
print '<!-- Result -->';
print $_POST["formtestfield"];

View File

@ -51,6 +51,9 @@ if ($action == "set")
if (! $res > 0) $error++;
}
$res = dolibarr_set_const($db, "PRELEVEMENT_ICS", GETPOST("PRELEVEMENT_ICS"),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
$id=GETPOST('PRELEVEMENT_ID_BANKACCOUNT','int');
$account = new Account($db, $id);
@ -148,6 +151,13 @@ print '<tr class="impair"><td>'.$langs->trans("BankToReceiveWithdraw").'</td>';
print '<td align="left">';
print $form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT,'PRELEVEMENT_ID_BANKACCOUNT',0,"courant=1",1);
print '</td></tr>';
// ICS
print '<tr class="impair"><td>'.$langs->trans("ICS").'</td>';
print '<td align="left">';
print '<input type="text" name="PRELEVEMENT_ICS" value="'.$conf->global->PRELEVEMENT_ICS.'" size="9" ></td>';
print '</td></tr>';
print '</table>';
print '<br>';

View File

@ -50,7 +50,7 @@ if (! $user->admin)
if ($action == 'delete')
{
$file=$conf->admin->dir_output.'/backup/'.GETPOST('urlfile');
$file=$conf->admin->dir_output.'/'.GETPOST('urlfile');
$ret=dol_delete_file($file, 1);
if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile')));
else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');

View File

@ -58,7 +58,7 @@ if ($file && ! $what)
if ($action == 'delete')
{
$file=$conf->admin->dir_output.'/backup/'.GETPOST('urlfile');
$file=$conf->admin->dir_output.'/'.GETPOST('urlfile');
$ret=dol_delete_file($file, 1);
if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile')));
else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
@ -451,46 +451,53 @@ function backup_tables($outputfile, $tables='*')
//fwrite($handle,"/*!40101 SET character_set_client = utf8 */;\n");
$resqldrop=$db->query('SHOW CREATE TABLE '.$table);
$row2 = $db->fetch_row($resqldrop);
fwrite($handle,$row2[1].";\n");
//fwrite($handle,"/*!40101 SET character_set_client = @saved_cs_client */;\n\n");
// Dumping the data (locking the table and disabling the keys check while doing the process)
fwrite($handle, "\n--\n-- Dumping data for table `".$table."`\n--\n");
if (!GETPOST("nobin_nolocks")) fwrite($handle, "LOCK TABLES `".$table."` WRITE;\n"); // Lock the table before inserting data (when the data will be imported back)
if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
$sql='SELECT * FROM '.$table;
$result = $db->query($sql);
$num_fields = $db->num_rows($result);
while($row = $db->fetch_row($result)) {
// For each row of data we print a line of INSERT
fwrite($handle,'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES (');
$columns = count($row);
for($j=0; $j<$columns; $j++) {
// Processing each columns of the row to ensure that we correctly save the value (eg: add quotes for string - in fact we add quotes for everything, it's easier)
if ($row[$j] == null and !is_string($row[$j])) {
// IMPORTANT: if the field is NULL we set it NULL
$row[$j] = 'NULL';
} elseif(is_string($row[$j]) and $row[$j] == '') {
// if it's an empty string, we set it as an empty string
$row[$j] = "''";
} elseif(is_numeric($row[$j]) and !strcmp($row[$j], $row[$j]+0) ) { // test if it's a numeric type and the numeric version ($nb+0) == string version (eg: if we have 01, it's probably not a number but rather a string, else it would not have any leading 0)
// if it's a number, we return it as-is
$row[$j] = $row[$j];
} else { // else for all other cases we escape the value and put quotes around
$row[$j] = addslashes($row[$j]);
$row[$j] = preg_replace("#\n#", "\\n", $row[$j]);
$row[$j] = "'".$row[$j]."'";
}
}
fwrite($handle,implode(',', $row).");\n");
if (empty($row2[1]))
{
fwrite($handle, "\n-- WARNING: Show create table ".$table." return empy string when it should not.\n");
}
if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n"); // Enabling back the keys/index checking
if (!GETPOST("nobin_nolocks")) fwrite($handle, "UNLOCK TABLES;\n"); // Unlocking the table
fwrite($handle,"\n\n\n");
}
else
{
fwrite($handle,$row2[1].";\n");
//fwrite($handle,"/*!40101 SET character_set_client = @saved_cs_client */;\n\n");
// Dumping the data (locking the table and disabling the keys check while doing the process)
fwrite($handle, "\n--\n-- Dumping data for table `".$table."`\n--\n");
if (!GETPOST("nobin_nolocks")) fwrite($handle, "LOCK TABLES `".$table."` WRITE;\n"); // Lock the table before inserting data (when the data will be imported back)
if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
$sql='SELECT * FROM '.$table;
$result = $db->query($sql);
$num_fields = $db->num_rows($result);
while($row = $db->fetch_row($result))
{
// For each row of data we print a line of INSERT
fwrite($handle,'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES (');
$columns = count($row);
for($j=0; $j<$columns; $j++) {
// Processing each columns of the row to ensure that we correctly save the value (eg: add quotes for string - in fact we add quotes for everything, it's easier)
if ($row[$j] == null and !is_string($row[$j])) {
// IMPORTANT: if the field is NULL we set it NULL
$row[$j] = 'NULL';
} elseif(is_string($row[$j]) and $row[$j] == '') {
// if it's an empty string, we set it as an empty string
$row[$j] = "''";
} elseif(is_numeric($row[$j]) and !strcmp($row[$j], $row[$j]+0) ) { // test if it's a numeric type and the numeric version ($nb+0) == string version (eg: if we have 01, it's probably not a number but rather a string, else it would not have any leading 0)
// if it's a number, we return it as-is
$row[$j] = $row[$j];
} else { // else for all other cases we escape the value and put quotes around
$row[$j] = addslashes($row[$j]);
$row[$j] = preg_replace("#\n#", "\\n", $row[$j]);
$row[$j] = "'".$row[$j]."'";
}
}
fwrite($handle,implode(',', $row).");\n");
}
if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n"); // Enabling back the keys/index checking
if (!GETPOST("nobin_nolocks")) fwrite($handle, "UNLOCK TABLES;\n"); // Unlocking the table
fwrite($handle,"\n\n\n");
}
}
/* Backup Procedure structure*/
/*
$result = $db->query('SHOW PROCEDURE STATUS');

View File

@ -333,6 +333,20 @@ class Categorie extends CommonObject
$this->db->begin();
/* FIX #1317 : Check for child cat and move up 1 level*/
if (! $error)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."categorie";
$sql.= " SET fk_parent = ".$this->fk_parent;
$sql.= " WHERE fk_parent = ".$this->id;
if (!$this->db->query($sql))
{
$this->error=$this->db->lasterror();
dol_syslog("Error sql=".$sql." ".$this->error, LOG_ERR);
$error++;
}
}
if (! $error)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_societe";

View File

@ -538,7 +538,7 @@ if ($action == 'create')
// Busy
print '<tr><td width="30%" class="nowrap">'.$langs->trans("Busy").'</td><td>';
print '<input id="transparency" type="checkbox" name="transparency" value="'.$object->transparency.'">';
print '<input id="transparency" type="checkbox" name="transparency"'.($actioncomm->transparency?' checked="checked"':'').'>';
print '</td></tr>';
// Realised by

View File

@ -312,7 +312,7 @@ $sql.= ' FROM ('.MAIN_DB_PREFIX.'c_actioncomm as ca,';
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a)";
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc";
$sql.= ' WHERE a.fk_action = ca.id';
$sql.= ' AND a.entity IN ('.getEntity().')';
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')';
if ($actioncode) $sql.=" AND ca.code='".$db->escape($actioncode)."'";
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")";

View File

@ -381,7 +381,7 @@ if ($id > 0)
print '<td colspan="3">';
$amount_discount=$object->getAvailableDiscounts();
if ($amount_discount < 0) dol_print_error($db,$object->error);
if ($amount_discount > 0) print '<a href="'.DOL_URL_ROOT.'/comm/remx.php?id='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?socid='.$object->id).'">'.price($amount_discount).'</a>&nbsp;'.$langs->trans("Currency".$conf->currency);
if ($amount_discount > 0) print '<a href="'.DOL_URL_ROOT.'/comm/remx.php?id='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?socid='.$object->id).'">'.price($amount_discount,1,$langs,1,-1,-1,$conf->currency).'</a>';
else print $langs->trans("DiscountNone");
print '</td>';
print '</tr>';

View File

@ -8,7 +8,7 @@
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2011 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -1187,12 +1187,12 @@ if ($action == 'create') {
// What trigger creation
print '<tr><td>' . $langs->trans('Source') . '</td><td>';
$form->select_demand_reason('', 'demand_reason_id', "SRC_PROP", 1);
$form->selectInputReason('', 'demand_reason_id', "SRC_PROP", 1);
print '</td></tr>';
// Delivery delay
print '<tr><td>' . $langs->trans('AvailabilityPeriod') . '</td><td colspan="2">';
$form->select_availability('', 'availability_id', '', 1);
$form->selectAvailabilityDelay('', 'availability_id', '', 1);
print '</td></tr>';
// Delivery date (or manufacturing)
@ -1465,7 +1465,7 @@ if ($action == 'create') {
$absolute_creditnote = price2num($absolute_creditnote, 'MT');
if ($absolute_discount) {
if ($object->statut > 0) {
print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->transnoentities("Currency" . $conf->currency));
print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount, 0, $langs, 0, 0, -1, $conf->currency));
} else {
// Remise dispo de type non avoir
$filter = 'fk_facture_source IS NULL';
@ -1474,7 +1474,7 @@ if ($action == 'create') {
}
}
if ($absolute_creditnote) {
print $langs->trans("CompanyHasCreditNote", price($absolute_creditnote), $langs->transnoentities("Currency" . $conf->currency)) . '. ';
print $langs->trans("CompanyHasCreditNote", price($absolute_creditnote, 0, $langs, 0, 0, -1, $conf->currency)) . '. ';
}
if (! $absolute_discount && ! $absolute_creditnote)
print $langs->trans("CompanyHasNoAbsoluteDiscount") . '.';
@ -1604,13 +1604,11 @@ if ($action == 'create') {
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdemandreason&amp;id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetDemandReason'), 1) . '</a></td>';
print '</tr></table>';
print '</td><td colspan="3">';
// print $object->demand_reason_id;
if ($action == 'editdemandreason') {
$form->form_demand_reason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
} else {
$form->form_demand_reason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
}
print '</td>';
print '</tr>';

View File

@ -2301,51 +2301,23 @@ class Propal extends CommonObject
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto
* @return string Label
*/
function LibStatut($statut,$mode=1)
function LibStatut($statut,$mode=1)
{
global $langs;
$langs->load("propal");
global $langs;
$langs->load("propal");
if ($mode == 0)
{
return $this->labelstatut[$statut];
}
if ($mode == 1)
{
return $this->labelstatut_short[$statut];
}
if ($mode == 2)
{
if ($statut==0) return img_picto($langs->trans('PropalStatusDraftShort'),'statut0').' '.$this->labelstatut_short[$statut];
if ($statut==1) return img_picto($langs->trans('PropalStatusOpenedShort'),'statut1').' '.$this->labelstatut_short[$statut];
if ($statut==2) return img_picto($langs->trans('PropalStatusSignedShort'),'statut3').' '.$this->labelstatut_short[$statut];
if ($statut==3) return img_picto($langs->trans('PropalStatusNotSignedShort'),'statut5').' '.$this->labelstatut_short[$statut];
if ($statut==4) return img_picto($langs->trans('PropalStatusBilledShort'),'statut6').' '.$this->labelstatut_short[$statut];
}
if ($mode == 3)
{
if ($statut==0) return img_picto($langs->trans('PropalStatusDraftShort'),'statut0');
if ($statut==1) return img_picto($langs->trans('PropalStatusOpenedShort'),'statut1');
if ($statut==2) return img_picto($langs->trans('PropalStatusSignedShort'),'statut3');
if ($statut==3) return img_picto($langs->trans('PropalStatusNotSignedShort'),'statut5');
if ($statut==4) return img_picto($langs->trans('PropalStatusBilledShort'),'statut6');
}
if ($mode == 4)
{
if ($statut==0) return img_picto($langs->trans('PropalStatusDraft'),'statut0').' '.$this->labelstatut[$statut];
if ($statut==1) return img_picto($langs->trans('PropalStatusOpened'),'statut1').' '.$this->labelstatut[$statut];
if ($statut==2) return img_picto($langs->trans('PropalStatusSigned'),'statut3').' '.$this->labelstatut[$statut];
if ($statut==3) return img_picto($langs->trans('PropalStatusNotSigned'),'statut5').' '.$this->labelstatut[$statut];
if ($statut==4) return img_picto($langs->trans('PropalStatusBilled'),'statut6').' '.$this->labelstatut[$statut];
}
if ($mode == 5)
{
if ($statut==0) return '<span class="hideonsmartphone">'.$this->labelstatut_short[$statut].' </span>'.img_picto($langs->trans('PropalStatusDraftShort'),'statut0');
if ($statut==1) return '<span class="hideonsmartphone">'.$this->labelstatut_short[$statut].' </span>'.img_picto($langs->trans('PropalStatusOpenedShort'),'statut1');
if ($statut==2) return '<span class="hideonsmartphone">'.$this->labelstatut_short[$statut].' </span>'.img_picto($langs->trans('PropalStatusSignedShort'),'statut3');
if ($statut==3) return '<span class="hideonsmartphone">'.$this->labelstatut_short[$statut].' </span>'.img_picto($langs->trans('PropalStatusNotSignedShort'),'statut5');
if ($statut==4) return '<span class="hideonsmartphone">'.$this->labelstatut_short[$statut].' </span>'.img_picto($langs->trans('PropalStatusBilledShort'),'statut6');
}
if ($statut==0) $statuttrans='statut0';
if ($statut==1) $statuttrans='statut1';
if ($statut==2) $statuttrans='statut3';
if ($statut==3) $statuttrans='statut5';
if ($statut==4) $statuttrans='statut6';
if ($mode == 0) return $this->labelstatut[$statut];
if ($mode == 1) return $this->labelstatut_short[$statut];
if ($mode == 2) return img_picto($this->labelstatut_short[$statut], $statuttrans).' '.$this->labelstatut_short[$statut];
if ($mode == 3) return img_picto($this->labelstatut[$statut], $statuttrans);
if ($mode == 4) return img_picto($this->labelstatut[$statut],$statuttrans).' '.$this->labelstatut[$statut];
if ($mode == 5) return '<span class="hideonsmartphone">'.$this->labelstatut_short[$statut].' </span>'.img_picto($this->labelstatut_short[$statut],$statuttrans);
}

View File

@ -308,7 +308,7 @@ if ($result)
print '<input class="flat" size="10" type="text" name="search_author" value="'.$search_author.'">';
print '</td>';
print '<td class="liste_titre" align="right">';
$formpropal->select_propal_statut($viewstatut,1);
$formpropal->selectProposalStatus($viewstatut,1);
print '</td>';
print '<td class="liste_titre" align="right"><input class="liste_titre" type="image" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
print '</td>';

View File

@ -544,9 +544,9 @@ else if ($action == 'addline' && $user->rights->commande->creer) {
if (! $error && ($qty >= 0) && (! empty($product_desc) || ! empty($idprod))) {
// Clean parameters
$date_start = dol_mktime(0, 0, 0, GETPOST('date_start' . $predef . 'month'), GETPOST('date_start' . $predef . 'day'), GETPOST('date_start' . $predef . 'year'));
$date_end = dol_mktime(0, 0, 0, GETPOST('date_end' . $predef . 'month'), GETPOST('date_end' . $predef . 'day'), GETPOST('date_end' . $predef . 'year'));
$price_base_type = (GETPOST('price_base_type', 'alpha') ? GETPOST('price_base_type', 'alpha') : 'HT');
$date_start=dol_mktime(GETPOST('date_start'.$predef.'hour'), GETPOST('date_start'.$predef.'min'), 0, GETPOST('date_start'.$predef.'month'), GETPOST('date_start'.$predef.'day'), GETPOST('date_start'.$predef.'year'));
$date_end=dol_mktime(GETPOST('date_start'.$predef.'hour'), GETPOST('date_start'.$predef.'min'), 0, GETPOST('date_end'.$predef.'month'), GETPOST('date_end'.$predef.'day'), GETPOST('date_end'.$predef.'year'));
$price_base_type = (GETPOST('price_base_type', 'alpha')?GETPOST('price_base_type', 'alpha'):'HT');
// Ecrase $pu par celui du produit
// Ecrase $desc par celui du produit
@ -735,13 +735,13 @@ else if ($action == 'addline' && $user->rights->commande->creer) {
*/
else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('save') == $langs->trans('Save')) {
// Clean parameters
$date_start = '';
$date_end = '';
$date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
$date_end = dol_mktime(0, 0, 0, GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
$description = dol_htmlcleanlastbr(GETPOST('product_desc'));
$pu_ht = GETPOST('price_ht');
$vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0);
$date_start='';
$date_end='';
$date_start=dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), 0, GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
$date_end=dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), 0, GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
$description=dol_htmlcleanlastbr(GETPOST('product_desc'));
$pu_ht=GETPOST('price_ht');
$vat_rate=(GETPOST('tva_tx')?GETPOST('tva_tx'):0);
// Define info_bits
$info_bits = 0;
@ -1446,12 +1446,12 @@ if ($action == 'create' && $user->rights->commande->creer) {
// Delivery delay
print '<tr><td>' . $langs->trans('AvailabilityPeriod') . '</td><td colspan="2">';
$form->select_availability($availability_id, 'availability_id', '', 1);
$form->selectAvailabilityDelay($availability_id, 'availability_id', '', 1);
print '</td></tr>';
// What trigger creation
print '<tr><td>' . $langs->trans('Source') . '</td><td colspan="2">';
$form->select_demand_reason($demand_reason_id, 'demand_reason_id', '', 1);
$form->selectInputReason($demand_reason_id, 'demand_reason_id', '', 1);
print '</td></tr>';
// Project
@ -1648,7 +1648,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
// => 1),
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"),
// 'value' => 1),
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockDecrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1)));
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockDecrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
}
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateOrder'), $text, 'confirm_validate', $formquestion, 0, 1, 220);
@ -1668,7 +1668,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
// => 1),
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"),
// 'value' => 1),
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1)));
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
}
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('UnvalidateOrder'), $text, 'confirm_modif', $formquestion, "yes", 1, 220);
@ -1697,7 +1697,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
// => 1),
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"),
// 'value' => 1),
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1)));
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
}
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('Cancel'), $text, 'confirm_cancel', $formquestion, 0, 1);
@ -1929,9 +1929,9 @@ if ($action == 'create' && $user->rights->commande->creer) {
print '</tr></table>';
print '</td><td colspan="3">';
if ($action == 'editdemandreason') {
$form->form_demand_reason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
} else {
$form->form_demand_reason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
}
// Removed because using dictionary is an admin feature, not a user feature. Ther is already the "star" to show info to admin users.
// This is to avoid too heavy screens and have an uniform look and feel for all screens.

View File

@ -53,7 +53,7 @@ $confirm=GETPOST('confirm','alpha');
$fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref :''));
$fieldtype = (! empty($ref) ? 'ref' :'rowid');
if ($user->societe_id) $socid=$user->societe_id;
$result=restrictedArea($user,'banque',$fieldvalue,'bank_account','','',$fieldtype);
$result=restrictedArea($user,'banque',$fieldvalue,'bank_account&bank_account','','',$fieldtype);
$paiementtype=GETPOST('paiementtype','alpha',3);
$req_nb=GETPOST("req_nb",'',3);

View File

@ -43,7 +43,7 @@ if (isset($_GET["id"]) || isset($_GET["ref"]))
}
$fieldid = isset($_GET["ref"])?'ref':'rowid';
if ($user->societe_id) $socid=$user->societe_id;
$result=restrictedArea($user,'banque',$id,'bank_account','','',$fieldid);
$result=restrictedArea($user,'banque',$id,'bank_account&bank_account','','',$fieldid);
/*

View File

@ -44,7 +44,7 @@ if (isset($_GET["id"]) || isset($_GET["ref"]))
}
$fieldid = isset($_GET["ref"])?'ref':'rowid';
if ($user->societe_id) $socid=$user->societe_id;
$result=restrictedArea($user,'banque',$id,'bank_account','','',$fieldid);
$result=restrictedArea($user,'banque',$id,'bank_account&bank_account','','',$fieldid);
/*
@ -256,7 +256,7 @@ if ($action == 'create')
print '<td colspan="3">';
$selectedcode=$account->account_currency_code;
if (! $selectedcode) $selectedcode=$conf->currency;
$form->select_currency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
print $form->selectCurrency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
//print $langs->trans("Currency".$conf->currency);
//print '<input type="hidden" name="account_currency_code" value="'.$conf->currency.'">';
print '</td></tr>';
@ -325,7 +325,7 @@ if ($action == 'create')
print '<tr><td valign="top">'.$langs->trans("Date").'</td>';
print '<td colspan="3">';
$form->select_date(time(), 're', 0, 0, 0, 'formsoc');
$form->select_date('', 're', 0, 0, 0, 'formsoc');
print '</td></tr>';
print '<tr><td valign="top">'.$langs->trans("BalanceMinimalAllowed").'</td>';
@ -374,7 +374,7 @@ else
if ($action == 'delete')
{
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$account->id,$langs->trans("DeleteAccount"),$langs->trans("ConfirmDeleteAccount"),"confirm_delete");
}
print '<table class="border" width="100%">';
@ -531,7 +531,7 @@ else
print '<td colspan="3">';
$selectedcode=$account->account_currency_code;
if (! $selectedcode) $selectedcode=$conf->currency;
$form->select_currency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
print $form->selectCurrency((isset($_POST["account_currency_code"])?$_POST["account_currency_code"]:$selectedcode), 'account_currency_code');
//print $langs->trans("Currency".$conf->currency);
//print '<input type="hidden" name="account_currency_code" value="'.$conf->currency.'">';
print '</td></tr>';

View File

@ -41,7 +41,7 @@ if (isset($_GET["account"]) || isset($_GET["ref"]))
}
$fieldid = isset($_GET["ref"])?'ref':'rowid';
if ($user->societe_id) $socid=$user->societe_id;
$result=restrictedArea($user,'banque',$id,'bank_account','','',$fieldid);
$result=restrictedArea($user,'banque',$id,'bank_account&bank_account','','',$fieldid);
$account=$_GET["account"];
$mode='standard';

View File

@ -42,7 +42,7 @@ if (isset($_GET["account"]) || isset($_GET["ref"]))
}
$fieldid = isset($_GET["ref"])?'ref':'rowid';
if ($user->societe_id) $socid=$user->societe_id;
$result=restrictedArea($user,'banque',$id,'bank_account','','',$fieldid);
$result=restrictedArea($user,'banque',$id,'bank_account&bank_account','','',$fieldid);
$vline=isset($_GET["vline"])?$_GET["vline"]:$_POST["vline"];

View File

@ -181,8 +181,8 @@ if ($resql)
print '<td class="nobordernopadding">';
print $obj->societe;
print ($obj->societe && $obj->nom?' / ':'');
print dolGetFirstLastname($obj->nom,$obj->firstname);
print ($obj->societe && ($obj->lastname || $obj->firstname)?' / ':'');
print dolGetFirstLastname($obj->lastname,$obj->firstname);
print '</td>';
print '<td align="right" class="nobordernopadding">';

View File

@ -52,6 +52,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
$langs->load('bills');
$langs->load('companies');
$langs->load('compta');
$langs->load('products');
$langs->load('banks');
$langs->load('main');
@ -336,7 +337,7 @@ else if ($action == 'set_ref_client' && $user->rights->facture->creer) {
}
// Classify to validated
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
{
$idwarehouse = GETPOST('idwarehouse');
@ -346,7 +347,7 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->factu
// Check parameters
// Check for mandatory prof id
for($i = 1; $i < 6; $i ++)
for($i = 1; $i < 6; $i ++)
{
$idprof_mandatory = 'SOCIETE_IDPROF' . ($i) . '_INVOICE_MANDATORY';
$idprof = 'idprof' . $i;
@ -375,10 +376,10 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->factu
}
}
if (! $error)
if (! $error)
{
$result = $object->validate($user, '', $idwarehouse);
if ($result >= 0)
if ($result >= 0)
{
// Define output language
$outputlangs = $langs;
@ -677,13 +678,13 @@ else if ($action == 'add' && $user->rights->facture->creer)
$id = $object->create($user);
if (GETPOST('invoiceAvoirWithLines', 'int')==1 && $id>0)
if (GETPOST('invoiceAvoirWithLines', 'int')==1 && $id>0)
{
$facture_source = new Facture($db); // fetch origin object
if ($facture_source->fetch($object->fk_facture_source)>0)
if ($facture_source->fetch($object->fk_facture_source)>0)
{
foreach($facture_source->lines as $line)
foreach($facture_source->lines as $line)
{
$line->fk_facture = $object->id;
@ -734,7 +735,7 @@ else if ($action == 'add' && $user->rights->facture->creer)
}
// Standard invoice or Deposit invoice created from a Predefined invoice
if (($_POST['type'] == 0 || $_POST['type'] == 3) && $_POST['fac_rec'] > 0)
if (($_POST['type'] == 0 || $_POST['type'] == 3) && $_POST['fac_rec'] > 0)
{
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datefacture)) {
@ -742,7 +743,7 @@ else if ($action == 'add' && $user->rights->facture->creer)
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors');
}
if (! $error)
if (! $error)
{
$object->socid = GETPOST('socid', 'int');
$object->type = $_POST['type'];
@ -762,9 +763,9 @@ else if ($action == 'add' && $user->rights->facture->creer)
}
// Standard or deposit or proforma invoice
if (($_POST['type'] == 0 || $_POST['type'] == 3 || $_POST['type'] == 4) && $_POST['fac_rec'] <= 0)
if (($_POST['type'] == 0 || $_POST['type'] == 3 || $_POST['type'] == 4) && $_POST['fac_rec'] <= 0)
{
if (GETPOST('socid', 'int') < 1)
if (GETPOST('socid', 'int') < 1)
{
$error ++;
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Customer")), 'errors');
@ -776,7 +777,7 @@ else if ($action == 'add' && $user->rights->facture->creer)
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors');
}
if (! $error)
if (! $error)
{
// Si facture standard
$object->socid = GETPOST('socid', 'int');
@ -1042,7 +1043,9 @@ else if (($action == 'addline' || $action == 'addline_predef') && $user->rights-
$error = 0;
// Set if we used free entry or predefined product
if (GETPOST('addline_libre'))
if (GETPOST('addline_libre')
|| (GETPOST('dp_desc') && ! GETPOST('addline_libre') && ! GETPOST('idprod', 'int')>0) // we push enter onto qty field
)
{
$predef = '';
$idprod = 0;
@ -1050,7 +1053,9 @@ else if (($action == 'addline' || $action == 'addline_predef') && $user->rights-
$price_ht = GETPOST('price_ht');
$tva_tx = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0);
}
if (GETPOST('addline_predefined'))
if (GETPOST('addline_predefined')
|| (! GETPOST('dp_desc') && ! GETPOST('addline_predefined') && GETPOST('idprod', 'int')>0) // we push enter onto qty field
)
{
$predef = (($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : '');
$idprod = GETPOST('idprod', 'int');
@ -1873,22 +1878,24 @@ if ($action == 'create')
$mode_reglement_id = (! empty($objectsrc->mode_reglement_id) ? $objectsrc->mode_reglement_id : (! empty($soc->mode_reglement_id) ? $soc->mode_reglement_id : 0));
$remise_percent = (! empty($objectsrc->remise_percent) ? $objectsrc->remise_percent : (! empty($soc->remise_percent) ? $soc->remise_percent : 0));
$remise_absolue = (! empty($objectsrc->remise_absolue) ? $objectsrc->remise_absolue : (! empty($soc->remise_absolue) ? $soc->remise_absolue : 0));
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE) ? - 1 : 0;
// Replicate extrafields
$objectsrc->fetch_optionals($originid);
$object->array_options = $objectsrc->array_options;
}
} else {
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE) ? -1 : ''; // Dot not set 0 here (0 for a date is 1970)
}
else
{
$cond_reglement_id = $soc->cond_reglement_id;
$mode_reglement_id = $soc->mode_reglement_id;
$remise_percent = $soc->remise_percent;
$remise_absolue = 0;
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE) ? - 1 : 0;
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE) ? -1 : ''; // Do not set 0 here (0 for a date is 1970)
}
$absolute_discount = $soc->getAvailableDiscounts();
if (! empty($conf->use_javascript_ajax))
if (! empty($conf->use_javascript_ajax))
{
require_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
print ajax_combobox('fac_replacement');
@ -2142,7 +2149,7 @@ if ($action == 'create')
print '&nbsp;&nbsp;&nbsp; <input type="checkbox" name="invoiceAvoirWithLines" id="invoiceAvoirWithLines" value="1" onclick="if($(this).is(\':checked\') ) { $(\'#radio_creditnote\').attr(\'checked\',\'checked\'); $(\'#invoiceAvoirWithPaymentRestAmount\').removeAttr(\'checked\'); }" '.(GETPOST('invoiceAvoirWithLines','int')>0 ? 'checked="checked"':'').' /> <label for="invoiceAvoirWithLines">'.$langs->trans('invoiceAvoirWithLines')."</label>";
print '<br>&nbsp;&nbsp;&nbsp; <input type="checkbox" name="invoiceAvoirWithPaymentRestAmount" id="invoiceAvoirWithPaymentRestAmount" value="1" onclick="if($(this).is(\':checked\') ) { $(\'#radio_creditnote\').attr(\'checked\',\'checked\'); $(\'#invoiceAvoirWithLines\').removeAttr(\'checked\'); }" '.(GETPOST('invoiceAvoirWithPaymentRestAmount','int')>0 ? 'checked="checked"':'').' /> <label for="invoiceAvoirWithPaymentRestAmount">'.$langs->trans('invoiceAvoirWithPaymentRestAmount')."</label>";
print '</div>';
print '</td></tr>' . "\n";
}
else
@ -2458,7 +2465,7 @@ if ($action == 'create')
// 1),
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value'
// => 1),
array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1, 0, 0, $langs->trans("NoStockAction"))));
array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, $langs->trans("NoStockAction"))));
$formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', $formquestion, "yes", 1);
} else {
$formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', '', '', 1);
@ -2509,7 +2516,7 @@ if ($action == 'create')
$value = '<input type="hidden" id="idwarehouse" name="idwarehouse" value="' . key($warehouse_array) . '">';
} else {
$label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("SelectWarehouseForStockIncrease") : $langs->trans("SelectWarehouseForStockDecrease");
$value = $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1);
$value = $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1);
}
$formquestion = array(
// 'text' => $langs->trans("ConfirmClone"),
@ -2549,7 +2556,7 @@ if ($action == 'create')
$value = '<input type="hidden" id="idwarehouse" name="idwarehouse" value="' . key($warehouse_array) . '">';
} else {
$label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("SelectWarehouseForStockDecrease") : $langs->trans("SelectWarehouseForStockIncrease");
$value = $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1);
$value = $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1);
}
$formquestion = array(
// 'text' => $langs->trans("ConfirmClone"),

View File

@ -1270,6 +1270,16 @@ class Facture extends CommonInvoice
}
// Fin appel triggers
}
// Removed extrafields
if (! $error) {
$result=$this->deleteExtraFields();
if ($result < 0)
{
$error++;
dol_syslog(get_class($this)."::delete error deleteExtraFields ".$this->error, LOG_ERR);
}
}
if (! $error)
{

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
@ -385,13 +385,13 @@ else
print "<tr><td>".$langs->trans("Author").'</td><td colspan="3">'.$author->getFullName($langs)."</td></tr>";
print '<tr><td>'.$langs->trans("AmountHT").'</td>';
print '<td align="right" colspan="2"><b>'.price($object->total_ht).'</b></td>';
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
print '<td colspan="3"><b>'.price($object->total_ht,'',$langs,1,-1,-1,$conf->currency).'</b></td>';
print '</tr>';
print '<tr><td>'.$langs->trans("AmountVAT").'</td><td align="right" colspan="2">'.price($object->total_tva).'</td>';
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
print '<tr><td>'.$langs->trans("AmountTTC").'</td><td align="right" colspan="2">'.price($object->total_ttc).'</td>';
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
print '<tr><td>'.$langs->trans("AmountVAT").'</td><td colspan="3">'.price($object->total_tva,'',$langs,1,-1,-1,$conf->currency).'</td>';
print '</tr>';
print '<tr><td>'.$langs->trans("AmountTTC").'</td><td colspan="3">'.price($object->total_ttc,'',$langs,1,-1,-1,$conf->currency).'</td>';
print '</tr>';
// Payment term
print '<tr><td>'.$langs->trans("PaymentConditions").'</td><td colspan="3">';

View File

@ -164,7 +164,7 @@ if ($result)
}
else
{
print '<tr '.$bc[$var].'><td colspan="2">'.$langs->trans("None").'</td></tr>';
print '<tr '.$bc[$var].'><td colspan="5">'.$langs->trans("None").'</td></tr>';
}
print '</table><br>';
}

View File

@ -406,7 +406,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie
// Date payment
print '<tr><td><span class="fieldrequired">'.$langs->trans('Date').'</span></td><td>';
$datepayment = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
$datepayment= ($datepayment == '' ? (empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0) : $datepayment);
$datepayment= ($datepayment == '' ? (empty($conf->global->MAIN_AUTOFILL_DATE)?-1:'') : $datepayment);
$form->select_date($datepayment,'','','',0,"add_paiement",1,1);
print '</td>';
print '<td>'.$langs->trans('Comments').'</td></tr>';

View File

@ -1,8 +1,8 @@
<?php
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2014 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -30,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
/**
* Class to manage withdrawal receipts
*/
@ -44,6 +45,11 @@ class BonPrelevement extends CommonObject
var $emetteur_numero_compte;
var $emetteur_code_banque;
var $emetteur_number_key;
var $emetteur_iban;
var $emetteur_bic;
var $emetteur_ics;
var $total;
var $_fetched;
var $statut; // 0-Wait, 1-Trans, 2-Done
@ -74,6 +80,10 @@ class BonPrelevement extends CommonObject
$this->emetteur_code_banque = "";
$this->emetteur_number_key = "";
$this->emetteur_iban = "";
$this->emetteur_bic = "";
$this->emetteur_ics = "";
$this->factures = array();
$this->numero_national_emetteur = "";
@ -655,9 +665,9 @@ class BonPrelevement extends CommonObject
$resql = $this->db->query($sql);
if ( $resql )
{
$row = $this->db->fetch_row($resql);
$obj = $this->db->fetch_object($resql);
return $row[0];
return $obj->nb;
$this->db->free($resql);
}
@ -671,38 +681,39 @@ class BonPrelevement extends CommonObject
/**
* Get number of invoices to withdrawal
* TODO delete params banque and agence when not necesary
*
* @param int $banque bank
* @param int $agence agence
* @param int $banque dolibarr mysoc bank
* @param int $agence dolibarr mysoc agence
* @return int <O if KO, number of invoices if OK
*/
function NbFactureAPrelever($banque=0,$agence=0)
{
global $conf;
$sql = "SELECT count(f.rowid)";
$sql = "SELECT count(f.rowid) as nb";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque || $agence) $sql.=", ".MAIN_DB_PREFIX."societe_rib as sr";
//if ($banque || $agence) $sql.=", ".MAIN_DB_PREFIX."societe_rib as sr";
$sql.= " WHERE f.fk_statut = 1";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND f.rowid = pfd.fk_facture";
$sql.= " AND f.paye = 0";
$sql.= " AND pfd.traite = 0";
$sql.= " AND f.total_ttc > 0";
if ($banque || $agence) $sql.= " AND f.fk_soc = sr.rowid";
if ($banque) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
if ($agence) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
//if ($banque || $agence) $sql.= " AND f.fk_soc = sr.rowid";
//if ($banque) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
//if ($agence) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
$resql = $this->db->query($sql);
if ( $resql )
{
$row = $this->db->fetch_row($resql);
$obj = $this->db->fetch_object($resql);
$this->db->free($resql);
return $row[0];
return $obj->nb;
}
else
{
@ -715,9 +726,10 @@ class BonPrelevement extends CommonObject
/**
* Create a withdraw
* TODO delete params banque and agence when not necesary
*
* @param int $banque code of bank (to withdraw a specific bankof a specific customer. By default '')
* @param int $agence code of bank office (guichet) (to withdraw a specific bankof a specific customer. By default '')
* @param int $banque dolibarr mysoc bank
* @param int $agence dolibarr mysoc bank office (guichet)
* @param string $mode real=do action, simu=test only
* @return int <0 if KO, nbre of invoice withdrawed if OK
*/
@ -755,17 +767,17 @@ class BonPrelevement extends CommonObject
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque || $agence) $sql.= ", ".MAIN_DB_PREFIX."societe_rib as sr";
//if ($banque || $agence) $sql.= ", ".MAIN_DB_PREFIX."societe_rib as sr";
$sql.= " WHERE f.rowid = pfd.fk_facture";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND s.rowid = f.fk_soc";
if ($banque || $agence) $sql.= " AND s.rowid = sr.fk_soc";
//if ($banque || $agence) $sql.= " AND s.rowid = sr.fk_soc";
$sql.= " AND f.fk_statut = 1";
$sql.= " AND f.paye = 0";
$sql.= " AND pfd.traite = 0";
$sql.= " AND f.total_ttc > 0";
if ($banque) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
if ($agence) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
//if ($banque) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
//if ($agence) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
dol_syslog(get_class($this)."::Create sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql);
@ -1006,6 +1018,9 @@ class BonPrelevement extends CommonObject
$bonprev->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET;
$bonprev->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE;
$bonprev->emetteur_number_key = $conf->global->PRELEVEMENT_NUMBER_KEY;
$bonprev->emetteur_iban = $conf->global->PRELEVEMENT_IBAN;
$bonprev->emetteur_bic = $conf->global->PRELEVEMENT_BIC;
$bonprev->emetteur_ics = $conf->global->PRELEVEMENT_ICS; // TODO Add this into setup of admin/prelevement.php. Ex: PRELEVEMENT_ICS = "FR78ZZZ123456";
$bonprev->factures = $factures_prev_id;
@ -1225,11 +1240,15 @@ class BonPrelevement extends CommonObject
// TODO Move code for es and fr into an external module file with selection into setup of prelevement module
$found=0;
// Build file for Spain
if ($mysoc->country_code=='ES')
{
if (! empty($conf->esaeb->enabled))
{
$found++;
dol_include_once('/esaeb/class/esaeb19.class.php');
//Head
@ -1278,102 +1297,124 @@ class BonPrelevement extends CommonObject
$i++;
}
}
else
{
{
$result = -2;
}
fputs($this->file, $esaeb19->generaRemesa());
}
else
{
$this->total = 0;
$sql = "SELECT pl.amount";
$sql.= " FROM";
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
$sql.= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql.= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql.= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql.= " AND pf.fk_facture = f.rowid";
//Lines
$i = 0;
$resql=$this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$this->total = $this->total + $obj->amount;
$i++;
}
}
else
{
$result = -2;
}
$langs->load('withdrawals');
fputs($this->file, $langs->trans('WithdrawalFileNotCapable'));
}
}
// Build file for France
elseif ($mysoc->country_code=='FR')
// Build file for European countries
if (! $found && $mysoc->isInEEC())
{
/*
* En-tete Emetteur
*/
$this->EnregEmetteur();
$found++;
/*
* Lines
*/
$this->total = 0;
/**
* SECTION CREATION FICHIER SEPA
* SECTION CREATION FICHIER SEPA
* SECTION CREATION FICHIER SEPA
*/
// SEPA Initialisation
$CrLf = "\n";
$date_actu = dol_now();
$dateTime_YMD = dol_print_date($date_actu, '%Y%m%d');
$dateTime_YMDHMS = dol_print_date($date_actu, '%Y%m%d%H%M%S');
$dateTime_ECMA = dol_print_date($date_actu, '%Y-%m-%dT%H:%M:%S');
$fileDebiteurSection = '';
$fileEmetteurSection = '';
$i = 0;
$this->total = 0;
$sql = "SELECT pl.rowid, pl.client_nom, pl.code_banque, pl.code_guichet, pl.number, pl.amount,";
$sql.= " f.facnumber, pf.fk_facture";
$sql.= " FROM";
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
$sql.= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql.= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql.= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql.= " AND pf.fk_facture = f.rowid";
/*
* section Debiteur (sepa Debiteurs bloc lines)
*/
$sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, soc.datec, p.code as country_code,";
$sql.= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,";
$sql.= " f.facnumber as fac, pf.fk_facture as idfac, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum";
$sql.= " FROM";
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
$sql.= " ".MAIN_DB_PREFIX."prelevement_facture as pf,";
$sql.= " ".MAIN_DB_PREFIX."societe as soc,";
$sql.= " ".MAIN_DB_PREFIX."c_pays as p,";
$sql.= " ".MAIN_DB_PREFIX."societe_rib as rib";
$sql.= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql.= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql.= " AND pf.fk_facture = f.rowid";
$sql.= " AND soc.fk_pays = p.rowid";
$sql.= " AND soc.rowid = f.fk_soc";
$sql.= " AND rib.fk_soc = f.fk_soc";
$sql.= " AND rib.default_rib = 1";
$i = 0;
//echo $sql;
$resql=$this->db->query($sql);
if ($resql)
{ $num = $this->db->num_rows($resql);
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->facnumber, $obj->idfac, $obj->iban, $obj->bic, $obj->datec, $obj->drum);
$this->total = $this->total + $obj->somme;
$i++;
}
}
else
{ fputs($this->file, 'ERREUR DEBITEUR '.$sql.$CrLf);
$result = -2;
}
$resql=$this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
/*
* section Emetteur(sepa Emetteur bloc lines)
*/
if ($result != -2)
{ $fileEmetteurSection .= $this->EnregEmetteurSEPA($conf, $date_actu, $i, $this->total, $CrLf);
}
else
{ fputs($this->file, 'ERREUR EMETTEUR'.$CrLf);
}
while ($i < $num)
{
$row = $this->db->fetch_row($resql);
/**
* SECTION CREATION FICHIER SEPA
* SECTION CREATION FICHIER SEPA
* SECTION CREATION FICHIER SEPA
*/
// SEPA File Header
fputs($this->file, '<'.'?xml version="1.0" encoding="UTF-8" standalone="yes"?'.'>'.$CrLf);
fputs($this->file, '<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$CrLf);
fputs($this->file, ' <CstmrDrctDbtInitn>'.$CrLf);
// SEPA Group header
fputs($this->file, ' <GrpHdr>'.$CrLf);
fputs($this->file, ' <MsgId>'.('PREL'.$dateTime_YMD.'/REF'.$this->id).'</MsgId>'.$CrLf);
fputs($this->file, ' <CreDtTm>'.$dateTime_ECMA.'</CreDtTm>'.$CrLf);
fputs($this->file, ' <NbOfTxs>'.$i.'</NbOfTxs>'.$CrLf);
fputs($this->file, ' <CtrlSum>'.$this->total.'</CtrlSum>'.$CrLf);
fputs($this->file, ' <InitgPty>'.$CrLf);
fputs($this->file, ' <Nm>'.$this->raison_sociale.'</Nm>'.$CrLf);
/* fputs($this->file, ' <Id>'.$CrLf);
fputs($this->file, ' <Othr>'.$CrLf);
fputs($this->file, ' <Id>0533883248</Id>'.$CrLf);
fputs($this->file, ' <Issr>KBO-BCE</Issr>'.$CrLf);
fputs($this->file, ' <Othr>'.$CrLf);
fputs($this->file, ' </Id>'.$CrLf);
*/ fputs($this->file, ' </InitgPty>'.$CrLf);
fputs($this->file, ' </GrpHdr>'.$CrLf);
// SEPA File Emetteur
if ($result != -2)
{ fputs($this-> file, $fileEmetteurSection);}
// SEPA File Debiteurs
if ($result != -2)
{ fputs($this-> file, $fileDebiteurSection);}
// SEPA FILE FOOTER
fputs($this->file, ' </PmtInf>'.$CrLf);
fputs($this->file, ' </CstmrDrctDbtInitn>'.$CrLf);
fputs($this->file, '</Document>'.$CrLf);
$this->EnregDestinataire($row[0],$row[1],$row[2],$row[3],$row[4],$row[5],$row[6],$row[7]);
$this->total = $this->total + $row[5];
$i++;
}
}
else
{
$result = -2;
}
/*
* Pied de page total
*/
$this->EnregTotal($this->total);
}
// Build file for Other Countries with unknow format
else
if (! $found)
{
$this->total = 0;
$sql = "SELECT pl.amount";
@ -1426,9 +1467,10 @@ class BonPrelevement extends CommonObject
* @param float $amount amount
* @param string $facnumber ref of invoice
* @param int $facid id of invoice
* @param string $rib_dom rib domiciliation
* @return void
*/
function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount, $facnumber, $facid)
function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount, $facnumber, $facid, $rib_dom='')
{
fputs($this->file, "06");
fputs($this->file, "08"); // Prelevement ordinaire
@ -1445,11 +1487,11 @@ class BonPrelevement extends CommonObject
// Raison Sociale Destinataire C2
fputs($this->file, substr($client->nom. " ",0,24));
fputs($this->file, substr(strtoupper($client_nom)." ",0,24));
// Domiciliation facultative D1
fputs($this->file, substr(" ",0,24));
$domiciliation = strtr($rib_dom, array(" " => "-", CHR(13) => " ", CHR(10) => ""));
fputs($this->file, substr($domiciliation." ",0,24));
// Zone Reservee D2
@ -1471,8 +1513,7 @@ class BonPrelevement extends CommonObject
// Libelle F
fputs($this->file, substr("*".$this->ref.$rowid." ",0,13));
fputs($this->file, substr(" ",0,18));
fputs($this->file, substr("*_".$facnumber."_RDVnet".$rowid." ", 0, 31));
// Code etablissement G1
@ -1480,12 +1521,79 @@ class BonPrelevement extends CommonObject
// Zone Reservee G2
fputs($this->file, substr(" ",0,5));
fputs($this->file, substr(" ", 0, 5));
fputs($this->file, "\n");
}
/**
* Write recipient of request (customer)
*
* @param string $row_code_client soc.code_client as code,
* @param string $row_nom pl.client_nom AS nom,
* @param string $row_address soc.address AS adr,
* @param string $row_zip soc.zip
* @param string $row_town soc.town
* @param string $row_country_code p.code AS pays,
* @param string $row_cb pl.code_banque AS cb,
* @param string $row_cg pl.code_guichet AS cg,
* @param string $row_cc pl.number AS cc,
* @param string $row_somme pl.amount AS somme,
* @param string $row_facnumber f.facnumber
* @param string $row_idfac pf.fk_facture AS idfac,
* @param string $row_iban rib.iban_prefix AS iban,
* @param string $row_bic rib.bic AS bic,
* @param string $row_datec soc.datec,
* @param string $row_drum soc.rowid AS drum
* @return void
*/
function EnregDestinataireSEPA($row_code_client, $row_nom, $row_address, $row_zip, $row_town, $row_country_code, $row_cb, $row_cg, $row_cc, $row_somme, $row_facnumber, $row_idfac, $row_iban, $row_bic, $row_datec, $row_drum)
{
$CrLf = "\n";
$Rowing = sprintf("%06d", $row_idfac);
$Date_Rum = strtotime($row_datec);
$pre = ($date_Rum > 1359673200) ? 'Rum' : '++R';
$Rum = $pre.$row_code_client.$row_drum.'-0'.date('U', $Date_Rum);
$XML_DEBITOR ='';
$XML_DEBITOR .=' <DrctDbtTxInf>'.$CrLf;
$XML_DEBITOR .=' <PmtId>'.$CrLf;
$XML_DEBITOR .=' <EndToEndId>'.('AS-'.$row_facnumber.'-'.$Rowing).'</EndToEndId>'.$CrLf;
$XML_DEBITOR .=' </PmtId>'.$CrLf;
$XML_DEBITOR .=' <InstdAmt Ccy.="EUR">'.round($row_somme, 2).'</InstdAmt>'.$CrLf;
$XML_DEBITOR .=' <DrctDbtTx>'.$CrLf;
$XML_DEBITOR .=' <MndtRltdInf>'.$CrLf;
$XML_DEBITOR .=' <MndtId>'.$Rum.'</MndtId>'.$CrLf;
$XML_DEBITOR .=' <DtOfSgntr>'.$row_datec.'</DtOfSgntr>'.$CrLf;
$XML_DEBITOR .=' <AmdmntInd>false</AmdmntInd>'.$CrLf;
$XML_DEBITOR .=' </MndtRltdInf>'.$CrLf;
$XML_DEBITOR .=' </DrctDbtTx>'.$CrLf;
$XML_DEBITOR .=' <DbtrAgt>'.$CrLf;
$XML_DEBITOR .=' <FinInstnId>'.$CrLf;
$XML_DEBITOR .=' <BIC>'.$row_iban.'</BIC>'.$CrLf;
$XML_DEBITOR .=' </FinInstnId>'.$CrLf;
$XML_DEBITOR .=' </DbtrAgt>'.$CrLf;
$XML_DEBITOR .=' <Dbtr>'.$CrLf;
$XML_DEBITOR .=' <Nm>'.strtoupper($row_nom).'</Nm>'.$CrLf;
$XML_DEBITOR .=' <PstlAdr>'.$CrLf;
$XML_DEBITOR .=' <Ctry>'.$row_country_code.'</Ctry>'.$CrLf;
$XML_DEBITOR .=' <AdrLine>'.strtr($row_adr, array(CHR(13) => ", ", CHR(10) => "")).'</AdrLine>'.$CrLf;
$XML_DEBITOR .=' <AdrLine>'.$row_zip.' '.$row_town.'</AdrLine>'.$CrLf;
$XML_DEBITOR .=' </PstlAdr>'.$CrLf;
$XML_DEBITOR .=' </Dbtr>'.$CrLf;
$XML_DEBITOR .=' <DbtrAcct>'.$CrLf;
$XML_DEBITOR .=' <Id>'.$CrLf;
$XML_DEBITOR .=' <IBAN>'.$row_iban.'</IBAN>'.$CrLf;
$XML_DEBITOR .=' </Id>'.$CrLf;
$XML_DEBITOR .=' </DbtrAcct>'.$CrLf;
$XML_DEBITOR .=' <RmtInf>'.$CrLf;
$XML_DEBITOR .=' <Ustrd>'.($row_facnumber.'/'.$Rowing.'/'.$Rum).'</Ustrd>'.$CrLf;
$XML_DEBITOR .=' </RmtInf>'.$CrLf;
$XML_DEBITOR .=' </DrctDbtTxInf>'.$CrLf;
return $XML_DEBITOR;
}
/**
* Write sender of request (me)
*
@ -1552,6 +1660,106 @@ class BonPrelevement extends CommonObject
}
/**
* Write sender of request (me)
*
* @param string $configuration conf
* @param date $ladate Date
* @param int $nombre 0 or 1
* @param float $total Total
* @param string $CrLf End of line character
* @return SEPA
*/
function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf='\n')
{ // SEPA INITIALISATION
global $confs;
$dateTime_YMD = dol_print_date($ladate, '%Y%m%d');
$dateTime_ETAD = dol_print_date($ladate, '%Y-%m-%d');
$dateTime_YMDHMS = dol_print_date($ladate, '%Y-%m-%dT%H:%M:%S');
// Récupération info demandeur
$sql = "SELECT rowid, ref";
$sql.= " FROM";
$sql.= " ".MAIN_DB_PREFIX."prelevement_bons as pb";
$sql.= " WHERE pb.rowid = ".$this->id;
$resql=$this->db->query($sql);
if ($resql)
{
$obj = $this->db->fetch_object($resql);
// DONNEES BRUTES : par la suite Rows['XXX'] de la requete au dessus
$pays = explode(':', $configuration->global->MAIN_INFO_SOCIETE_COUNTRY);
$IdBon = sprintf("%05d", $obj->rowid);
$RefBon = $obj->ref;
$type = ($nombre == 1) ? 'FRST' : 'RCUR' ;
// SEPA Paiement Information
$XML_SEPA_INFO = '';
$XML_SEPA_INFO .= ' <PmtInf>'.$CrLf;
$XML_SEPA_INFO .= ' <PmtInfId>'.('PREL'.$dateTime_YMD.'/ID'.$IdBon.'-'.$RefBon).'</PmtInfId>'.$CrLf;
$XML_SEPA_INFO .= ' <PmtMtd>DD</PmtMtd>'.$CrLf;
$XML_SEPA_INFO .= ' <NbOfTxs>'.$nombre.'</NbOfTxs>'.$CrLf;
$XML_SEPA_INFO .= ' <CtrlSum>'.$total.'</CtrlSum>'.$CrLf;
$XML_SEPA_INFO .= ' <PmtTpInf>'.$CrLf;
$XML_SEPA_INFO .= ' <InstrPrty>NORM</InstrPrty>'.$CrLf;
$XML_SEPA_INFO .= ' <SvcLvl>'.$CrLf;
$XML_SEPA_INFO .= ' <Cd>SEPA</Cd>'.$CrLf;
$XML_SEPA_INFO .= ' </SvcLvl>'.$CrLf;
$XML_SEPA_INFO .= ' <LclInstrm>'.$CrLf;
$XML_SEPA_INFO .= ' <Cd>CORE</Cd>'.$CrLf;
$XML_SEPA_INFO .= ' </LclInstrm>'.$CrLf;
$XML_SEPA_INFO .= ' <SeqTp>'.$type.'</SeqTp>'.$CrLf;
$XML_SEPA_INFO .= ' </PmtTpInf>'.$CrLf;
$XML_SEPA_INFO .= ' <ReqdColltnDt>'.$dateTime_ETAD.'</ReqdColltnDt>'.$CrLf;
$XML_SEPA_INFO .= ' <Cdtr>'.$CrLf;
$XML_SEPA_INFO .= ' <Nm>'.$configuration->global->PRELEVEMENT_RAISON_SOCIALE.'</Nm>'.$CrLf;
$XML_SEPA_INFO .= ' <PstlAdr>'.$CrLf;
$XML_SEPA_INFO .= ' <Ctry>'.$pays[1].'</Ctry>'.$CrLf;
$XML_SEPA_INFO .= ' <AdrLine>'.$configuration->global->MAIN_INFO_SOCIETE_ADDRESS.'</AdrLine>'.$CrLf;
$XML_SEPA_INFO .= ' <AdrLine>'.$configuration->global->MAIN_INFO_SOCIETE_ZIP.' '.$configuration->global->MAIN_INFO_SOCIETE_TOWN.'</AdrLine>'.$CrLf;
$XML_SEPA_INFO .= ' </PstlAdr>'.$CrLf;
$XML_SEPA_INFO .= ' </Cdtr>'.$CrLf;
$XML_SEPA_INFO .= ' <CdtrAcct>'.$CrLf;
$XML_SEPA_INFO .= ' <Id>'.$CrLf;
$XML_SEPA_INFO .= ' <IBAN>'.preg_replace('/\s/', '', $configuration->global->PRELEVEMENT_IBAN).'</IBAN>'.$CrLf;
$XML_SEPA_INFO .= ' </Id>'.$CrLf;
$XML_SEPA_INFO .= ' </CdtrAcct>'.$CrLf;
$XML_SEPA_INFO .= ' <CdtrAgt>'.$CrLf;
$XML_SEPA_INFO .= ' <FinInstnId>'.$CrLf;
$XML_SEPA_INFO .= ' <BIC>'.$configuration->global->PRELEVEMENT_BIC.'</BIC>'.$CrLf;
$XML_SEPA_INFO .= ' </FinInstnId>'.$CrLf;
$XML_SEPA_INFO .= ' </CdtrAgt>'.$CrLf;
/* $XML_SEPA_INFO .= ' <UltmtCdtr>'.$CrLf;
$XML_SEPA_INFO .= ' <Nm>'.$configuration->global->PRELEVEMENT_RAISON_SOCIALE.'</Nm>'.$CrLf;
$XML_SEPA_INFO .= ' <PstlAdr>'.$CrLf;
$XML_SEPA_INFO .= ' <Ctry>'.$pays[1].'</Ctry>'.$CrLf;
$XML_SEPA_INFO .= ' <AdrLine>'.$conf->global->MAIN_INFO_SOCIETE_ADDRESS.'</AdrLine>'.$CrLf;
$XML_SEPA_INFO .= ' <AdrLine>'.$conf->global->MAIN_INFO_SOCIETE_ZIP.' '.$conf->global->MAIN_INFO_SOCIETE_TOWN.'</AdrLine>'.$CrLf;
$XML_SEPA_INFO .= ' </PstlAdr>'.$CrLf;
$XML_SEPA_INFO .= ' </UltmtCdtr>'.$CrLf;
*/ $XML_SEPA_INFO .= ' <ChrgBr>SLEV</ChrgBr>'.$CrLf;
$XML_SEPA_INFO .= ' <CdtrSchmeId>'.$CrLf;
$XML_SEPA_INFO .= ' <Id>'.$CrLf;
$XML_SEPA_INFO .= ' <PrvtId>'.$CrLf;
$XML_SEPA_INFO .= ' <Othr>'.$CrLf;
$XML_SEPA_INFO .= ' <Id>'.$configuration->global->PRELEVEMENT_ICS.'</Id>'.$CrLf;
$XML_SEPA_INFO .= ' <SchmeNm>'.$CrLf;
$XML_SEPA_INFO .= ' <Prtry>SEPA</Prtry>'.$CrLf;
$XML_SEPA_INFO .= ' </SchmeNm>'.$CrLf;
$XML_SEPA_INFO .= ' </Othr>'.$CrLf;
$XML_SEPA_INFO .= ' </PrvtId>'.$CrLf;
$XML_SEPA_INFO .= ' </Id>'.$CrLf;
$XML_SEPA_INFO .= ' </CdtrSchmeId>'.$CrLf;
}
else
{
fputs($this->file, 'INCORRECT EMETTEUR '.$XML_SEPA_INFO.$CrLf);
$result = -2;
}
return $XML_SEPA_INFO;
}
/**
* Write end
*

View File

@ -323,9 +323,9 @@ class ChargeSociales extends CommonObject
* @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
* @return string Label
*/
function getLibStatut($mode=0,$alreadypayed=-1)
function getLibStatut($mode=0,$alreadypaid=-1)
{
return $this->LibStatut($this->paye,$mode,$alreadypayed);
return $this->LibStatut($this->paye,$mode,$alreadypaid);
}
/**
@ -336,7 +336,7 @@ class ChargeSociales extends CommonObject
* @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
* @return string Label
*/
function LibStatut($statut,$mode=0,$alreadypayed=-1)
function LibStatut($statut,$mode=0,$alreadypaid=-1)
{
global $langs;
$langs->load('customers');
@ -354,24 +354,26 @@ class ChargeSociales extends CommonObject
}
if ($mode == 2)
{
if ($statut == 0) return img_picto($langs->trans("Unpaid"), 'statut1').' '.$langs->trans("Unpaid");
if ($statut == 0 && $alreadypaid <= 0) return img_picto($langs->trans("Unpaid"), 'statut1').' '.$langs->trans("Unpaid");
if ($statut == 0 && $alreadypaid > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3').' '.$langs->trans("BillStatusStarted");
if ($statut == 1) return img_picto($langs->trans("Paid"), 'statut6').' '.$langs->trans("Paid");
}
if ($mode == 3)
{
if ($statut == 0) return img_picto($langs->trans("Unpaid"), 'statut1');
if ($statut == 0 && $alreadypaid <= 0) return img_picto($langs->trans("Unpaid"), 'statut1');
if ($statut == 0 && $alreadypaid > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3');
if ($statut == 1) return img_picto($langs->trans("Paid"), 'statut6');
}
if ($mode == 4)
{
if ($statut == 0 && $alreadypayed <= 0) return img_picto($langs->trans("Unpaid"), 'statut1').' '.$langs->trans("Unpaid");
if ($statut == 0 && $alreadypayed > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3').' '.$langs->trans("BillStatusStarted");
if ($statut == 0 && $alreadypaid <= 0) return img_picto($langs->trans("Unpaid"), 'statut1').' '.$langs->trans("Unpaid");
if ($statut == 0 && $alreadypaid > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3').' '.$langs->trans("BillStatusStarted");
if ($statut == 1) return img_picto($langs->trans("Paid"), 'statut6').' '.$langs->trans("Paid");
}
if ($mode == 5)
{
if ($statut == 0 && $alreadypayed <= 0) return $langs->trans("Unpaid").' '.img_picto($langs->trans("Unpaid"), 'statut1');
if ($statut == 0 && $alreadypayed > 0) return $langs->trans("BillStatusStarted").' '.img_picto($langs->trans("BillStatusStarted"), 'statut3');
if ($statut == 0 && $alreadypaid <= 0) return $langs->trans("Unpaid").' '.img_picto($langs->trans("Unpaid"), 'statut1');
if ($statut == 0 && $alreadypaid > 0) return $langs->trans("BillStatusStarted").' '.img_picto($langs->trans("BillStatusStarted"), 'statut3');
if ($statut == 1) return $langs->trans("Paid").' '.img_picto($langs->trans("Paid"), 'statut6');
}

View File

@ -425,14 +425,14 @@ else
print '<td class="nowrap" align="right">';
$temp_ht=$fields['totalht'];
if ($type == 1) $temp_ht=$fields['totalht']*$ratiopaymentinvoice;
print price(price2num($temp_ht,'MT'));
print price(price2num($temp_ht,'MT'),1);
print '</td>';
// VAT
print '<td class="nowrap" align="right">';
$temp_vat=$fields['vat'];
if ($type == 1) $temp_vat=$fields['vat']*$ratiopaymentinvoice;
print price(price2num($temp_vat,'MT'));
print price(price2num($temp_vat,'MT'),1);
//print price($fields['vat']);
print '</td>';
print '</tr>';
@ -576,14 +576,14 @@ else
print '<td class="nowrap" align="right">';
$temp_ht=$fields['totalht'];
if ($type == 1) $temp_ht=$fields['totalht']*$ratiopaymentinvoice;
print price(price2num($temp_ht,'MT'));
print price(price2num($temp_ht,'MT'),1);
print '</td>';
// VAT
print '<td class="nowrap" align="right">';
$temp_vat=$fields['vat'];
if ($type == 1) $temp_vat=$fields['vat']*$ratiopaymentinvoice;
print price(price2num($temp_vat,'MT'));
print price(price2num($temp_vat,'MT'),1);
//print price($fields['vat']);
print '</td>';
print '</tr>';

View File

@ -170,6 +170,8 @@ $dolibarr_main_db_collation='utf8_general_ci';
// $dolibarr_main_authentication='dolibarr';
// $dolibarr_main_authentication='ldap';
// $dolibarr_main_authentication='openid,dolibarr';
// $dolibarr_main_authentication='forceuser'; // Add also $dolibarr_auto_user='loginforuser';
//
$dolibarr_main_authentication='dolibarr';

View File

@ -816,9 +816,10 @@ abstract class CommonObject
*
* @param string $filter Optional filter
* @param int $fieldid Name of field to use for the select MAX and MIN
* @param int $nodbprefix Do not include DB prefix to forge table name
* @return int <0 if KO, >0 if OK
*/
function load_previous_next_ref($filter,$fieldid)
function load_previous_next_ref($filter,$fieldid,$nodbprefix=0)
{
global $conf, $user;
@ -834,7 +835,7 @@ abstract class CommonObject
if ($this->element == 'societe') $alias = 'te';
$sql = "SELECT MAX(te.".$fieldid.")";
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as te";
$sql.= " FROM ".(empty($nodbprefix)?MAIN_DB_PREFIX:'').$this->table_element." as te";
if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 2 || ($this->element != 'societe' && empty($this->isnolinkedbythird) && empty($user->rights->societe->client->voir))) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to entity
if (empty($this->isnolinkedbythird) && !$user->rights->societe->client->voir) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON ".$alias.".rowid = sc.fk_soc";
$sql.= " WHERE te.".$fieldid." < '".$this->db->escape($this->ref)."'";
@ -847,7 +848,7 @@ abstract class CommonObject
$result = $this->db->query($sql);
if (! $result)
{
$this->error=$this->db->error();
$this->error=$this->db->lasterror();
return -1;
}
$row = $this->db->fetch_row($result);
@ -855,7 +856,7 @@ abstract class CommonObject
$sql = "SELECT MIN(te.".$fieldid.")";
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as te";
$sql.= " FROM ".(empty($nodbprefix)?MAIN_DB_PREFIX:'').$this->table_element." as te";
if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 2 || ($this->element != 'societe' && empty($this->isnolinkedbythird) && !$user->rights->societe->client->voir)) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to entity
if (empty($this->isnolinkedbythird) && !$user->rights->societe->client->voir) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON ".$alias.".rowid = sc.fk_soc";
$sql.= " WHERE te.".$fieldid." > '".$this->db->escape($this->ref)."'";
@ -869,7 +870,7 @@ abstract class CommonObject
$result = $this->db->query($sql);
if (! $result)
{
$this->error=$this->db->error();
$this->error=$this->db->lasterror();
return -2;
}
$row = $this->db->fetch_row($result);

View File

@ -200,12 +200,21 @@ class Conf
}
//var_dump($this->modules);
//var_dump($this->modules_parts['theme']);
// If you can't set timezone of your PHP, set this constant. Better is to set it to UTC.
// In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore.
//$this->global->MAIN_SERVER_TZ='Europe/Paris';
if (! empty($this->global->MAIN_SERVER_TZ) && $this->global->MAIN_SERVER_TZ != 'auto') date_default_timezone_set($this->global->MAIN_SERVER_TZ);
if (! empty($this->global->MAIN_SERVER_TZ) && $this->global->MAIN_SERVER_TZ != 'auto')
{
try {
date_default_timezone_set($this->global->MAIN_SERVER_TZ);
}
catch(Exception $e)
{
dol_syslog("Error: Bad value for parameter MAIN_SERVER_TZ=".$this->global->MAIN_SERVER_TZ, LOG_ERR);
}
}
// Object $mc
if (! defined('NOREQUIREMC') && ! empty($this->multicompany->enabled))
{
@ -235,6 +244,14 @@ class Conf
if (empty($this->global->MAIN_MENUFRONT_STANDARD)) $this->global->MAIN_MENUFRONT_STANDARD="eldy_menu.php";
if (empty($this->global->MAIN_MENU_SMARTPHONE)) $this->global->MAIN_MENU_SMARTPHONE="eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones
if (empty($this->global->MAIN_MENUFRONT_SMARTPHONE)) $this->global->MAIN_MENUFRONT_SMARTPHONE="eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones
// Clean var use vat for company
if (! isset($this->global->FACTURE_TVAOPTION)) $this->global->FACTURE_TVAOPTION=1;
else if (! empty($this->global->FACTURE_TVAOPTION) && ! is_numeric($this->global->FACTURE_TVAOPTION))
{
// Old value of option, we clean to use new value (0 or 1)
if ($this->global->FACTURE_TVAOPTION != "franchise") $this->global->FACTURE_TVAOPTION=1;
else $this->global->FACTURE_TVAOPTION=0;
}
// Variable globales LDAP
if (empty($this->global->LDAP_FIELD_FULLNAME)) $this->global->LDAP_FIELD_FULLNAME='';

View File

@ -81,7 +81,7 @@ class DolEditor
// Check if extended editor is ok. If not we force textarea
if (empty($conf->fckeditor->enabled) || ! $okforextendededitor) $this->tool = 'textarea';
if ($conf->browser->phone) $this->tool = 'textarea';
//if ($conf->browser->phone) $this->tool = 'textarea';
// Define content and some properties
if ($this->tool == 'ckeditor')

View File

@ -791,6 +791,7 @@ class ExtraFields
$labeltoshow=dol_trunc($obj->$field_toshow,18).' ';
}
}
$out.='<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>';
}
else
{

View File

@ -202,7 +202,7 @@ class Form
else
{
if ($typeofdata == 'email') $ret.=dol_print_email($value,0,0,0,0,1);
elseif ($typeofdata == 'amount') $ret.=($value != '' ? price($value,'',$langs) : '');
elseif ($typeofdata == 'amount') $ret.=($value != '' ? price($value,'',$langs,0,0,-1,$conf->currency) : '');
elseif (preg_match('/^text/',$typeofdata) || preg_match('/^note/',$typeofdata)) $ret.=dol_htmlentitiesbr($value);
elseif ($typeofdata == 'day' || $typeofdata == 'datepicker') $ret.=dol_print_date($value,'day');
elseif ($typeofdata == 'datehourpicker') $ret.=dol_print_date($value,'dayhour');
@ -729,6 +729,7 @@ class Form
* @param int $showtype Show third party type in combolist (customer, prospect or supplier)
* @param int $forcecombo Force to use combo box
* @param array $events Event options. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled')))
* @param int $limit Maximum number of elements
* @return string HTML string with
* @deprecated Use select_thirdparty instead
*/
@ -792,7 +793,7 @@ class Form
}
$sql.=$this->db->order("nom","ASC");
if ($limit > 0) $sql.=$this->db->plimit($limit);
dol_syslog(get_class($this)."::select_thirdparty_list sql=".$sql);
$resql=$this->db->query($sql);
if ($resql)
@ -1340,7 +1341,7 @@ class Form
$sql.=' ,pcp.rowid as idprodcustprice, pcp.price as custprice, pcp.price_ttc as custprice_ttc,';
$sql.=' pcp.price_base_type as custprice_base_type, pcp.tva_tx as custtva_tx';
}
// Multilang : we add translation
if (! empty($conf->global->MAIN_MULTILANGS))
{
@ -1616,23 +1617,23 @@ class Form
$opt.=" - ".$langs->trans("Discount")." : ".vatrate($objp->remise_percent).' %';
$outval.=" - ".$langs->transnoentities("Discount")." : ".vatrate($objp->remise_percent).' %';
}
//Price by customer
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) {
if (!empty($objp->idprodcustprice)) {
$found = 1;
if ($objp->custprice_base_type == 'HT')
{
$opt.= price($objp->custprice,1).' '.$currencytext.' '.$langs->trans("HT");
$outval.= price($objp->custprice,1).' '.$currencytextnoent.' '.$langs->transnoentities("HT");
$opt.= price($objp->custprice,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("HT");
$outval.= price($objp->custprice,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("HT");
}
else
{
$opt.= price($objp->custprice_ttc,1).' '.$currencytext.' '.$langs->trans("TTC");
$outval.= price($objp->custprice_ttc,1).' '.$currencytextnoent.' '.$langs->transnoentities("TTC");
$opt.= price($objp->custprice_ttc,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("TTC");
$outval.= price($objp->custprice_ttc,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("TTC");
}
$outprice_ht=price($objp->custprice);
$outprice_ttc=price($objp->custprice_ttc);
$outpricebasetype=$objp->custprice_base_type;
@ -2123,7 +2124,7 @@ class Form
* @param int $addempty Add empty entry
* @return void
*/
function select_availability($selected='',$htmlname='availid',$filtertype='',$addempty=0)
function selectAvailabilityDelay($selected='',$htmlname='availid',$filtertype='',$addempty=0)
{
global $langs,$user;
@ -2153,7 +2154,7 @@ class Form
*
* @return int Nb of lines loaded, 0 if already loaded, <0 if ko
*/
function load_cache_demand_reason()
function loadCacheInputReason()
{
global $langs;
@ -2163,7 +2164,7 @@ class Form
$sql.= " FROM ".MAIN_DB_PREFIX.'c_input_reason';
$sql.= " WHERE active=1";
$sql.= " ORDER BY rowid";
dol_syslog(get_class($this)."::load_cache_demand_reason sql=".$sql,LOG_DEBUG);
dol_syslog(get_class($this)."::loadCacheInputReason sql=".$sql,LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql)
{
@ -2193,19 +2194,20 @@ class Form
}
/**
* Return list of events that triggered an object creation
* Return list of input reason (events that triggered an object creation, like after sending an emailing, making an advert, ...)
* List found into table c_input_reason loaded by loadCacheInputReason
*
* @param int $selected Id or code of type origin to select by default
* @param string $htmlname Nom de la zone select
* @param string $exclude To exclude a code value (Example: SRC_PROP)
* @param int $addempty Add an empty entry
* @return void
* @param int $selected Id or code of type origin to select by default
* @param string $htmlname Nom de la zone select
* @param string $exclude To exclude a code value (Example: SRC_PROP)
* @param int $addempty Add an empty entry
* @return void
*/
function select_demand_reason($selected='',$htmlname='demandreasonid',$exclude='',$addempty=0)
function selectInputReason($selected='',$htmlname='demandreasonid',$exclude='',$addempty=0)
{
global $langs,$user;
$this->load_cache_demand_reason();
$this->loadCacheInputReason();
print '<select class="flat" name="'.$htmlname.'">';
if ($addempty) print '<option value="0"'.(empty($selected)?' selected="selected"':'').'>&nbsp;</option>';
@ -2903,7 +2905,7 @@ class Form
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
print '<tr><td>';
$this->select_availability($selected,$htmlname,-1,$addempty);
$this->selectAvailabilityDelay($selected,$htmlname,-1,$addempty);
print '</td>';
print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
print '</tr></table></form>';
@ -2921,7 +2923,8 @@ class Form
}
/**
* Show a select form to select origin
* Output HTML form to select list of input reason (events that triggered an object creation, like after sending an emailing, making an advert, ...)
* List found into table c_input_reason loaded by loadCacheInputReason
*
* @param string $page Page
* @param string $selected Id condition pre-selectionne
@ -2929,7 +2932,7 @@ class Form
* @param int $addempty Add empty entry
* @return void
*/
function form_demand_reason($page, $selected='', $htmlname='demandreason', $addempty=0)
function formInputReason($page, $selected='', $htmlname='demandreason', $addempty=0)
{
global $langs;
if ($htmlname != "none")
@ -2939,7 +2942,7 @@ class Form
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
print '<tr><td>';
$this->select_demand_reason($selected,$htmlname,-1,$addempty);
$this->selectInputReason($selected,$htmlname,-1,$addempty);
print '</td>';
print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
print '</tr></table></form>';
@ -2948,7 +2951,7 @@ class Form
{
if ($selected)
{
$this->load_cache_demand_reason();
$this->loadCacheInputReason();
foreach ($this->cache_demand_reason as $key => $val)
{
if ($val['id'] == $selected)
@ -2964,16 +2967,17 @@ class Form
}
/**
* Show a form to select a date
* Show a form + html select a date
*
* @param string $page Page
* @param string $selected Date preselected
* @param string $htmlname Name of input html field
* @param string $htmlname Html name of date input fields or 'none'
* @param int $displayhour Display hour selector
* @param int $displaymin Display minutes selector
* @return void
* @see select_date
*/
function form_date($page, $selected, $htmlname,$displayhour=0,$displaymin=0)
function form_date($page, $selected, $htmlname, $displayhour=0, $displaymin=0)
{
global $langs;
@ -3106,13 +3110,13 @@ class Form
print '<tr><td class="nowrap">';
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS))
{
if (! $filter || $filter=="fk_facture_source IS NULL") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,1,$langs,0,0,-1,$conf->currency)).': '; // If we want deposit to be substracted to payments only and not to total of final invoice
else print $langs->trans("CompanyHasCreditNote",price($amount,1,$langs,0,0,-1,$conf->currency)).': ';
if (! $filter || $filter=="fk_facture_source IS NULL") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,0,$langs,0,0,-1,$conf->currency)).': '; // If we want deposit to be substracted to payments only and not to total of final invoice
else print $langs->trans("CompanyHasCreditNote",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
}
else
{
if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,1,$langs,0,0,-1,$conf->currency)).': ';
else print $langs->trans("CompanyHasCreditNote",price($amount,1,$langs,0,0,-1,$conf->currency)).': ';
if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
else print $langs->trans("CompanyHasCreditNote",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
}
$newfilter='fk_facture IS NULL AND fk_facture_line IS NULL'; // Remises disponibles
if ($filter) $newfilter.=' AND ('.$filter.')';
@ -3254,7 +3258,7 @@ class Form
* @param string $htmlname name of HTML select list
* @return void
*/
function selectcurrency($selected='',$htmlname='currency_id')
function selectCurrency($selected='',$htmlname='currency_id')
{
global $conf,$langs,$user;
@ -3486,13 +3490,13 @@ class Form
/**
* Show a HTML widget to input a date or combo list for day, month, years and optionaly hours and minutes
* Show a HTML widget to input a date or combo list for day, month, years and optionaly hours and minutes.
* Fields are preselected with :
* - set_time date (Local PHP server timestamps or date format YYYY-MM-DD or YYYY-MM-DD HH:MM)
* - local date of PHP server if set_time is ''
* - Empty (fields empty) if set_time is -1 (in this case, parameter empty must also have value 1)
* - set_time date (must be a local PHP server timestamp or string date with format 'YYYY-MM-DD' or 'YYYY-MM-DD HH:MM')
* - local date in user area, if set_time is '' (so if set_time is '', output may differs when done from two different location)
* - Empty (fields empty), if set_time is -1 (in this case, parameter empty must also have value 1)
*
* @param timestamp $set_time Pre-selected date (must be a local PHP server timestamp)
* @param timestamp $set_time Pre-selected date (must be a local PHP server timestamp), -1 to keep date not preselected, '' to use current date.
* @param string $prefix Prefix for fields name
* @param int $h 1=Show also hours
* @param int $m 1=Show also minutes
@ -3504,6 +3508,7 @@ class Form
* @param int $disabled Disable input fields
* @param int $fullday When a checkbox with this html name is on, hour and day are set with 00:00 or 23:59
* @return mixed Nothing or string if nooutput is 1
* @see form_date
*/
function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowbutton=0, $nooutput=0, $disabled=0, $fullday='')
{
@ -3516,7 +3521,11 @@ class Form
if($m == '') $m=0;
if($empty == '') $empty=0;
if (! $set_time && $empty == 0) $set_time = dol_now('tzuser');
if ($set_time === '' && $empty == 0)
{
include_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
$set_time = dol_now('tzuser')-(getServerTimeZoneInt('now')*3600); // set_time must be relative to PHP server timezone
}
// Analysis of the pre-selection date
if (preg_match('/^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?/',$set_time,$reg))
@ -4014,9 +4023,10 @@ class Form
* @param string $fieldref Nom du champ objet ref (object->ref) a utiliser pour select next et previous
* @param string $morehtmlref Code html supplementaire a afficher apres ref
* @param string $moreparam More param to add in nav link url.
* @param int $nodbprefix Do not include DB prefix to forge table name
* @return tring Portion HTML avec ref + boutons nav
*/
function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='')
function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='',$nodbprefix=0)
{
global $langs,$conf;
@ -4025,7 +4035,8 @@ class Form
if (empty($fieldref)) $fieldref='ref';
//print "paramid=$paramid,morehtml=$morehtml,shownav=$shownav,$fieldid,$fieldref,$morehtmlref,$moreparam";
$object->load_previous_next_ref((isset($object->next_prev_filter)?$object->next_prev_filter:''),$fieldid);
$object->load_previous_next_ref((isset($object->next_prev_filter)?$object->next_prev_filter:''),$fieldid,$nodbprefix);
$previous_ref = $object->ref_previous?'<a data-role="button" data-icon="arrow-l" data-iconpos="left" href="'.$_SERVER["PHP_SELF"].'?'.$paramid.'='.urlencode($object->ref_previous).$moreparam.'">'.(empty($conf->dol_use_jmobile)?img_picto($langs->trans("Previous"),'previous.png'):'&nbsp;').'</a>':'';
$next_ref = $object->ref_next?'<a data-role="button" data-icon="arrow-r" data-iconpos="right" href="'.$_SERVER["PHP_SELF"].'?'.$paramid.'='.urlencode($object->ref_next).$moreparam.'">'.(empty($conf->dol_use_jmobile)?img_picto($langs->trans("Next"),'next.png'):'&nbsp;').'</a>':'';
@ -4042,7 +4053,7 @@ class Form
if ($morehtml)
{
$ret.='</td><td class="nobordernopadding" align="right">'.$morehtml;
$ret.='</td><td class="paddingrightonly" align="right">'.$morehtml;
}
if ($shownav && ($previous_ref || $next_ref))
{

View File

@ -23,8 +23,8 @@
/**
* Classe permettant la generation de composants html
* Only common components are here.
* Class to manage HTML output components for orders
* Before adding component here, check they are not into common part Form.class.php
*/
class FormOrder
{
@ -45,9 +45,32 @@ class FormOrder
}
/**
* Return combo list of differents status of a orders
*
* @param string $selected Preselected value
* @param int $short Use short labels
* @param string $hmlname Name of HTML select element
* @return void
*/
function selectSupplierOrderStatus($selected='', $short=0, $hmlname='order_status')
{
print '<select class="flat" name="'.$hmlname.'">';
print '<option value="-1">&nbsp;</option>';
$statustohow=array(0,1,2,3,4,5,6,9); // 7 is same label than 6. 8 does not exist.
foreach($statustohow as $key)
{
print '<option value="'.$key.'"'.($selected == $key?' selected="selected"':'').'>';
print CommandeFournisseur::LibStatut($key,$short);
print '</option>';
}
print '</select>';
}
/**
* Return list of way to order
*
*
* @param string $selected Id of preselected order origin
* @param string $htmlname Name of HTML select list
* @param int $addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
@ -73,17 +96,18 @@ class FormOrder
/**
* Return list of way to order
* Return list of input method (mode used to receive order, like order received by email, fax, online)
* List found into table c_input_method
*
* @param string $selected Id of preselected input method
* @param string $htmlname Name of HTML select list
* @param int $addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
* @param int $addempty 0=list with no empty value, 1=list with empty value
* @return array Tableau des sources de commandes
*/
function select_methodes_commande($selected='',$htmlname='source_id',$addempty=0)
function selectInputMethod($selected='',$htmlname='source_id',$addempty=0)
{
global $conf,$langs;
$listemethodes=array();
$listofmethods=array();
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
$form=new Form($this->db);
@ -92,7 +116,7 @@ class FormOrder
$sql.= " FROM ".MAIN_DB_PREFIX."c_input_method";
$sql.= " WHERE active = 1";
dol_syslog(get_class($this)."::select_methodes_commande sql=".$sql);
dol_syslog(get_class($this)."::selectInputMethod sql=".$sql);
$resql=$this->db->query($sql);
if ($resql)
{
@ -101,7 +125,7 @@ class FormOrder
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$listemethodes[$obj->rowid] = $langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):$obj->label;
$listofmethods[$obj->rowid] = $langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):$obj->label;
$i++;
}
}
@ -111,10 +135,10 @@ class FormOrder
return -1;
}
print $form->selectarray($htmlname,$listemethodes,$selected,$addempty);
print $form->selectarray($htmlname,$listofmethods,$selected,$addempty);
return 1;
}
}
?>
?>

View File

@ -49,14 +49,14 @@ class FormPropal
* @param int $short Use short labels
* @return void
*/
function select_propal_statut($selected='',$short=0)
function selectProposalStatus($selected='',$short=0)
{
global $langs;
$sql = "SELECT id, code, label, active FROM ".MAIN_DB_PREFIX."c_propalst";
$sql .= " WHERE active = 1";
dol_syslog(get_class($this)."::select_propal_statut sql=".$sql);
dol_syslog(get_class($this)."::selectProposalStatus sql=".$sql);
$resql=$this->db->query($sql);
if ($resql)
{

View File

@ -721,7 +721,15 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
if (!empty($obj->town)) $coords .= $obj->town;
if (!empty($obj->country_id)) $coords .= "<br>".$country_code['label'];
}
print '<a href="#" onclick="return copyToClipboard(\''.dol_escape_js($coords).'\',\''.dol_escape_js($langs->trans("HelpCopyToClipboard")).'\');">';
else if (!empty($object->address))
{
$coords .= dol_nl2br($object->address,1,true)."<br>";
if (!empty($object->zip)) $coords .= $object->zip.' ';
if (!empty($object->town)) $coords .= $object->town;
if (!empty($object->country_id)) $coords .= "<br>".$country_code['label'];
}
// hideonsmatphone because copyToClipboard call jquery dialog that does not work with jmobile
print '<a href="#" class="hideonsmartphone" onclick="return copyToClipboard(\''.dol_escape_js($coords).'\',\''.dol_escape_js($langs->trans("HelpCopyToClipboard")).'\');">';
print img_picto($langs->trans("Address"), 'object_address.png');
print '</a>';
}
@ -733,7 +741,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
print '<td align="center">';
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
{
print '<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&actioncode=AC_RDV&contactid='.$obj->rowid.'&socid='.$object->id.'&backtopage='.urlencode($backtopage).'">';
print '<a class="hideonsmartphone" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&actioncode=AC_RDV&contactid='.$obj->rowid.'&socid='.$object->id.'&backtopage='.urlencode($backtopage).'">';
print img_object($langs->trans("Rendez-Vous"),"action_rdv");
print '</a> ';
}
@ -768,8 +776,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
print "<br>\n";
?>
<div id="dialog" title="<?php echo dol_escape_htmltag($langs->trans('Address')); ?>" style="display: none;">
</div>
<div id="dialog" title="<?php echo dol_escape_htmltag($langs->trans('Address')); ?>" style="display: none;"></div>
<?php
return $i;

View File

@ -510,6 +510,12 @@ function dol_copy($srcfile, $destfile, $newmask=0, $overwriteifexists=1)
return -3;
}
if (empty($newmask) && ! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK;
if (empty($newmask)) // This should no happen
{
dol_syslog("Warning: dol_copy called with empty value for newmask and no default value defined", LOG_WARNING);
$newmask='0664';
}
@chmod($newpathofdestfile, octdec($newmask));
return 1;

View File

@ -1063,7 +1063,7 @@ function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1)
/**
* Return date for now. We should always use this function without parameters (that means GMT time)
* Return date for now. In mot cases, we use this function without parameters (that means GMT time).
*
* @param string $mode 'gmt' => we return GMT timestamp,
* 'tzserver' => we add the PHP server timezone
@ -1073,7 +1073,7 @@ function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1)
*/
function dol_now($mode='gmt')
{
// Note that gmmktime and mktime return same value (GMT) whithout parameters
// Note that gmmktime and mktime return same value (GMT) when used without parameters
//if ($mode == 'gmt') $ret=gmmktime(); // Strict Standards: gmmktime(): You should be using the time() function instead
if ($mode == 'gmt') $ret=time(); // Time for now at greenwich.
else if ($mode == 'tzserver') // Time for now with PHP server timezone added
@ -1088,7 +1088,7 @@ function dol_now($mode='gmt')
$tzsecond=getParentCompanyTimeZoneInt(); // Contains tz+dayling saving time
$ret=dol_now('gmt')+($tzsecond*3600);
}*/
else if ($mode == 'tzuser') // Time for now with user timezone is added
else if ($mode == 'tzuser') // Time for now with user timezone added
{
//print 'eeee'.time().'-'.mktime().'-'.gmmktime();
$offsettz=(empty($_SESSION['dol_tz'])?0:$_SESSION['dol_tz'])*60*60;
@ -2724,6 +2724,7 @@ function price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou
if ($outlangs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$outlangs->transnoentitiesnoconv("SeparatorDecimal");
if ($outlangs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$outlangs->transnoentitiesnoconv("SeparatorThousand");
if ($thousand == 'None') $thousand='';
else if ($thousand == 'Space') $thousand=' ';
//print "outlangs=".$outlangs->defaultlang." amount=".$amount." html=".$form." trunc=".$trunc." nbdecimal=".$nbdecimal." dec='".$dec."' thousand='".$thousand."'<br>";
//print "amount=".$amount."-";
@ -2799,6 +2800,7 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
if ($thousand == 'None') $thousand='';
elseif ($thousand == 'Space') $thousand=' ';
//print "amount=".$amount." html=".$form." trunc=".$trunc." nbdecimal=".$nbdecimal." dec='".$dec."' thousand='".$thousand."'<br>";
// Convert value to universal number format (no thousand separator, '.' as decimal separator)
@ -4490,6 +4492,34 @@ function printCommonFooter($zone='private')
}
/**
* Split a string with 2 keys into key array.
* For example: "A=1;B=2;C=2" is exploded into array('A'=>1,'B'=>2,'C'=>3)
*
* @param string $string String to explode
* @param string $delimiter Delimiter between each couple of data
* @param string $kv Delimiter between key and value
* @return array Array of data exploded
*/
function dolExplodeIntoArray($string, $delimiter = ';', $kv = '=')
{
if ($a = explode($delimiter, $string))
{
foreach ($a as $s) { // each part
if ($s) {
if ($pos = strpos($s, $kv)) { // key/value delimiter
$ka[trim(substr($s, 0, $pos))] = trim(substr($s, $pos + strlen($kv)));
} else { // key delimiter not found
$ka[] = trim($s);
}
}
}
return $ka;
}
return array();
}
/**
* Convert an array with RGB value into hex RGB value
*

View File

@ -129,9 +129,9 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
// Protection and encryption of pdf
if (empty($conf->global->MAIN_USE_FPDF) && ! empty($conf->global->PDF_SECURITY_ENCRYPTION))
{
{
/* Permission supported by TCPDF
- print : Print the document;
- print : Print the document;
- modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble';
- copy : Copy or otherwise extract text and graphics from the document;
- annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields);
@ -146,8 +146,8 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
// For TCPDF, we specify permission we want to block
$pdfrights = array('modify','copy');
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdfuserpass = ''; // Password for the end user
$pdfownerpass = NULL; // Password of the owner, created randomly if not defined
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
@ -161,8 +161,8 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
{
// Declare here a class to overwrite FPDI to add method writeHTMLCell
/**
* This class if a enhanced FPDI class that support method writeHTMLCell
*/
* This class if a enhanced FPDI class that support method writeHTMLCell
*/
class FPDI_DolExtended extends FPDI
{
/**
@ -259,7 +259,7 @@ function pdf_getPDFFontSize($outputlangs)
/**
* Return height to use for Logo onot PDF
* Return height to use for Logo onto PDF
*
* @param string $logo Full path to logo file to use
* @param bool $url Image with url (true or false)
@ -312,7 +312,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target
if (empty($conf->global->MAIN_PDF_DISABLESOURCEDETAILS))
{
// Tel
// Phone
if ($sourcecompany->phone) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Phone").": ".$outputlangs->convToOutputCharset($sourcecompany->phone);
// Fax
if ($sourcecompany->fax) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Fax").": ".$outputlangs->convToOutputCharset($sourcecompany->fax);
@ -345,7 +345,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target
if (! empty($conf->global->MAIN_PDF_ADDALSOTARGETDETAILS))
{
// Tel
// Phone
if ($targetcontact->phone_pro) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Phone").": ".$outputlangs->convToOutputCharset($targetcontact->phone_pro);
// Fax
if ($targetcontact->fax) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Fax").": ".$outputlangs->convToOutputCharset($targetcontact->fax);
@ -363,7 +363,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target
if (! empty($conf->global->MAIN_PDF_ADDALSOTARGETDETAILS))
{
// Tel
// Phone
if ($targetcompany->phone) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Phone").": ".$outputlangs->convToOutputCharset($targetcompany->phone);
// Fax
if ($targetcompany->fax) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Fax").": ".$outputlangs->convToOutputCharset($targetcompany->fax);
@ -411,7 +411,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target
{
$stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset(dol_format_address($deliverycompany))."\n";
// Tel
// Phone
if ($deliverycompany->phone) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Phone").": ".$outputlangs->convToOutputCharset($deliverycompany->phone);
// Fax
if ($deliverycompany->fax) $stringaddress .= ($stringaddress ? ($deliverycompany->phone ? " - " : "\n") : '' ).$outputlangs->transnoentities("Fax").": ".$outputlangs->convToOutputCharset($deliverycompany->fax);
@ -447,7 +447,7 @@ function pdf_pagehead(&$pdf,$outputlangs,$page_height)
* @param Translate $outputlangs Object lang
* @param int $h Height of PDF
* @param int $w Width of PDF
* @param string $unit Unit of height (mmn, pt, ...)
* @param string $unit Unit of height (mm, pt, ...)
* @param string $text Text to show
* @return void
*/
@ -783,7 +783,7 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
$pdf->SetFont('','',7);
$pdf->SetDrawColor(224,224,224);
// On positionne le debut du bas de page selon nbre de lignes de ce bas de page
// The start of the bottom of this page footer is positioned according to # of lines
$freetextheight=0;
if ($line) // Free text
{
@ -901,7 +901,7 @@ function pdf_writeLinkedObjects(&$pdf,$object,$outputlangs,$posx,$posy,$w,$h,$al
* @param int $posx Pos x
* @param int $posy Pos y
* @param int $hideref Hide reference
* @param int $hidedesc Hide description
* @param int $hidedesc Hide description
* @param int $issupplierline Is it a line for a supplier object ?
* @return void
*/
@ -1015,7 +1015,7 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl
// If line linked to a product
if ($idprod)
{
// On ajoute la ref
// We add ref
if ($prodser->ref)
{
$prefix_prodserv = "";

View File

@ -133,7 +133,7 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
// More parameters
$params = explode('&', $dbtablename);
$dbtablename=(! empty($params[0]) ? $params[0] : '');
$sharedelement=(! empty($params[1]) ? $params[1] : '');
$sharedelement=(! empty($params[1]) ? $params[1] : $dbtablename);
$listofmodules=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);

View File

@ -102,6 +102,7 @@ function tree_showpad(&$fulltree,$key,$silent=0)
* $arrayofjs=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.js',
* '/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js');
* $arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css');
* TODO Replace with jstree plugin instead of treeview plugin.
*
* @param array $tab Array of all elements
* @param int $pere Array with parent ids ('rowid'=>,'mainmenu'=>,'leftmenu'=>,'fk_mainmenu=>,'fk_leftmenu=>)

View File

@ -1283,7 +1283,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
{
for ($j=0; $j < $tabul; $j++)
{
$tabstring.='&nbsp; &nbsp;';
$tabstring.='&nbsp; &nbsp; &nbsp;';
}
}

View File

@ -222,7 +222,7 @@ class doc_generic_order_odt extends ModelePDFCommandes
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
else
{
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.odt');
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.(ods|odt)');
if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles);
}
}
@ -232,34 +232,24 @@ class doc_generic_order_odt extends ModelePDFCommandes
$texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it
$texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1);
$texte.= '<table><tr><td>';
$texte.= '<div><div style="display: inline-block; min-width: 100px; vertical-align: middle;">';
$texte.= '<textarea class="flat" cols="60" name="value1">';
$texte.=$conf->global->COMMANDE_ADDON_PDF_ODT_PATH;
$texte.= '</textarea>';
$texte.= '</td>';
$texte.= '<td align="center">&nbsp; ';
$texte.= '</div><div style="display: inline-block; vertical-align: middle;">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '<br></div></div>';
// Scan directories
if (count($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr>';
$texte.= '<td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';

View File

@ -605,20 +605,6 @@ class pdf_einstein extends ModelePDFCommandes
$posy=$pdf->GetY()+1;
}
*/
/*if (! empty($object->date_livraison))
{
$pdf->SetXY($this->marge_gauche, $posy);
$pdf->SetFont('','B', $default_font_size - 2);
$text=$outputlangs->transnoentities("DeliveryDate").':';
$pdf->MultiCell(80, 3, $text, 0, 'L', 0);
$pdf->SetFont('','', $default_font_size - 2);
$pdf->SetXY($posxval, $posy);
$text=dol_print_date($object->date_livraison,'day','',$outputlangs);
$pdf->MultiCell(80, 3, $text, 0, 'L', 0);
$posy=$pdf->GetY()+1;
}*/
/* TODO
else if (! empty($object->availability_code))
{
@ -631,8 +617,8 @@ class pdf_einstein extends ModelePDFCommandes
$posy=$pdf->GetY()+1;
}*/
// Show shipping date
if ($object->date_livraison)
// Show planed date of delivery
if (! empty($object->date_livraison))
{
$outputlangs->load("sendings");
$pdf->SetFont('','B', $default_font_size - 2);

View File

@ -212,7 +212,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
else
{
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.odt');
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.(ods|odt)');
if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles);
}
}
@ -222,34 +222,24 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
$texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it
$texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1);
$texte.= '<table><tr><td>';
$texte.= '<div><div style="display: inline-block; min-width: 100px; vertical-align: middle;">';
$texte.= '<textarea class="flat" cols="60" name="value1">';
$texte.=$conf->global->EXPEDITION_ADDON_PDF_ODT_PATH;
$texte.= '</textarea>';
$texte.= '</td>';
$texte.= '<td align="center">&nbsp; ';
$texte.= '</div><div style="display: inline-block; vertical-align: middle;">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '<br></div></div>';
// Scan directories
if (count($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr>';
$texte.= '<td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';

View File

@ -223,7 +223,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures
$texte.= '<table class="nobordernopadding" width="100%">';
// List of directories area
$texte.= '<tr><td>';
$texte.= '<tr><td valign="middle">';
$texttitle=$langs->trans("ListOfDirectories");
$listofdir=explode(',',preg_replace('/[\r\n]+/',',',trim($conf->global->FACTURE_ADDON_PDF_ODT_PATH)));
$listoffiles=array();
@ -247,34 +247,24 @@ class doc_generic_invoice_odt extends ModelePDFFactures
$texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it
$texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1);
$texte.= '<table><tr><td>';
$texte.= '<div><div style="display: inline-block; min-width: 100px; vertical-align: middle;">';
$texte.= '<textarea class="flat" cols="60" name="value1">';
$texte.=$conf->global->FACTURE_ADDON_PDF_ODT_PATH;
$texte.= '</textarea>';
$texte.= '</td>';
$texte.= '<td align="center">&nbsp; ';
$texte.= '</div><div style="display: inline-block; vertical-align: middle;">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '<br></div></div>';
// Scan directories
if (count($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr>';
$texte.= '<td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
@ -184,12 +184,6 @@ class modProjet extends DolibarrModules
$this->export_permission[$r]=array(array("projet","export"));
$this->export_dependencies_array[$r]=array('task_time'=>'ppt.rowid');
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country',
's.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode',
'p.rowid'=>"ProjectId",'p.ref'=>"RefProject",'p.datec'=>"DateCreation",'p.dateo'=>"DateStart",'p.datee'=>"DateEnd",'p.fk_statut'=>'Status','p.description'=>"Description",
'pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateStart",'pt.datee'=>"TaskDateEnd",'pt.duration_effective'=>"DurationEffective",'pt.planned_workload'=>"PlannedWorkload",'pt.progress'=>"Progress",'pt.description'=>"TaskDescription",
'ptt.task_date'=>'TaskTimeDate','ptt.task_duration'=>"TimesSpent",'ptt.fk_user'=>"TaskTimeUser",'ptt.note'=>"TaskTimeNote");
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','s.fk_pays'=>'List:c_pays:libelle',
's.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text',
'p.rowid'=>"List:projet:ref",'p.ref'=>"Text",'p.datec'=>"Date",'p.dateo'=>"Date",'p.datee'=>"Date",'p.fk_statut'=>'Status','p.description'=>"Text",
@ -198,15 +192,96 @@ class modProjet extends DolibarrModules
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company',
's.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company',
'p.rowid'=>"project",'p.ref'=>"project",'p.datec'=>"project",'p.dateo'=>"project",'p.datee'=>"project",'p.duree'=>"project",'p.fk_statut'=>"project",'p.description'=>"project",
'pt.rowid'=>'projecttask','pt.dateo'=>"projecttask",'pt.datee'=>"projecttask",'pt.duration_effective'=>"projecttask",'pt.planned_workload'=>"projecttask",'pt.progress'=>"projecttask",'pt.description'=>"projecttask",
'ptt.task_date'=>'task_time','ptt.task_duration'=>"task_time",'ptt.fk_user'=>"task_time",'ptt.note'=>"task_time");
'p.rowid'=>"project",'p.ref'=>"project",'p.datec'=>"project",'p.dateo'=>"project",'p.datee'=>"project",'p.duree'=>"project",'p.fk_statut'=>"project",'p.description'=>"project");
$this->export_sql_start[$r]='SELECT DISTINCT ';
$this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'projet as p, '.MAIN_DB_PREFIX.'societe as s)';
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX."projet_task as pt ON (p.rowid = pt.fk_projet)";
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX."projet_task_time as ptt ON (pt.rowid = ptt.fk_task)";
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country',
's.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode',
'p.rowid'=>"ProjectId",'p.ref'=>"RefProject",'p.datec'=>"DateCreation",'p.dateo'=>"DateStart",'p.datee'=>"DateEnd",'p.fk_statut'=>'Status','p.description'=>"Description");
// Add fields for project
$this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array());
// Add extra fields
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'projet'";
$resql=$this->db->query($sql);
if ($resql) // This can fail when class is used on old database (during migration for example)
{
while ($obj=$this->db->fetch_object($resql))
{
$fieldname='extra.'.$obj->name;
$fieldlabel=ucfirst($obj->label);
$typeFilter="Text";
switch($obj->type)
{
case 'int':
case 'double':
case 'price':
$typeFilter="Numeric";
break;
case 'date':
case 'datetime':
$typeFilter="Date";
break;
case 'boolean':
$typeFilter="Boolean";
break;
case 'sellist':
$typeFilter="List:".$obj->param;
break;
}
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
$this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
$this->export_entities_array[$r][$fieldname]='project';
}
}
// End add extra fields
// Add fields for tasks
$this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateStart",'pt.datee'=>"TaskDateEnd",'pt.duration_effective'=>"DurationEffective",'pt.planned_workload'=>"PlannedWorkload",'pt.progress'=>"Progress",'pt.description'=>"TaskDescription"));
$this->export_entities_array[$r]=array_merge($this->export_entities_array[$r], array('pt.rowid'=>'projecttask','pt.dateo'=>"projecttask",'pt.datee'=>"projecttask",'pt.duration_effective'=>"projecttask",'pt.planned_workload'=>"projecttask",'pt.progress'=>"projecttask",'pt.description'=>"projecttask"));
// Add extra fields
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'projet_task'";
$resql=$this->db->query($sql);
if ($resql) // This can fail when class is used on old database (during migration for example)
{
while ($obj=$this->db->fetch_object($resql))
{
$fieldname='extra2.'.$obj->name;
$fieldlabel=ucfirst($obj->label);
$typeFilter="Text";
switch($obj->type)
{
case 'int':
case 'double':
case 'price':
$typeFilter="Numeric";
break;
case 'date':
case 'datetime':
$typeFilter="Date";
break;
case 'boolean':
$typeFilter="Boolean";
break;
case 'sellist':
$typeFilter="List:".$obj->param;
break;
}
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
$this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
$this->export_entities_array[$r][$fieldname]='projecttask';
}
}
// End add extra fields
$this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('ptt.task_date'=>'TaskTimeDate','ptt.task_duration'=>"TimesSpent",'ptt.fk_user'=>"TaskTimeUser",'ptt.note'=>"TaskTimeNote"));
$this->export_entities_array[$r]=array_merge($this->export_entities_array[$r], array('ptt.task_date'=>'task_time','ptt.task_duration'=>"task_time",'ptt.fk_user'=>"task_time",'ptt.note'=>"task_time"));
$this->export_sql_start[$r]='SELECT DISTINCT ';
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'projet as p';
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'projet_extrafields as extra ON p.rowid = extra.fk_object';
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX."projet_task as pt ON p.rowid = pt.fk_projet";
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'projet_task_extrafields as extra2 ON pt.rowid = extra2.fk_object';
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX."projet_task_time as ptt ON pt.rowid = ptt.fk_task,";
$this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'societe as s';
$this->export_sql_end[$r] .=' WHERE p.fk_soc = s.rowid';
$this->export_sql_end[$r] .=' AND p.entity = '.$conf->entity;
@ -228,6 +303,47 @@ class modProjet extends DolibarrModules
// Permissions
$this->remove($options);
//ODT template for project
$src=DOL_DOCUMENT_ROOT.'/install/doctemplates/projects/template_project.odt';
$dirodt=DOL_DATA_ROOT.'/doctemplates/projects';
$dest=$dirodt.'/template_project.odt';
if (file_exists($src) && ! file_exists($dest))
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
dol_mkdir($dirodt);
$result=dol_copy($src,$dest,0,0);
if ($result < 0)
{
$langs->load("errors");
$this->error=$langs->trans('ErrorFailToCopyFile',$src,$dest);
return 0;
}
}
//ODT template for tasks
$src=DOL_DOCUMENT_ROOT.'/install/doctemplates/tasks/template_task_summary.odt';
$dirodt=DOL_DATA_ROOT.'/doctemplates/tasks';
$dest=$dirodt.'/template_task_summary.odt';
if (file_exists($src) && ! file_exists($dest))
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
dol_mkdir($dirodt);
$result=dol_copy($src,$dest,0,0);
if ($result < 0)
{
$langs->load("errors");
$this->error=$langs->trans('ErrorFailToCopyFile',$src,$dest);
return 0;
}
}
$sql = array(
"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity,
"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','invoice',".$conf->entity.")"
);
$sql = array(
"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity,
"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','project',".$conf->entity.")",

View File

@ -322,7 +322,7 @@ class doc_generic_project_odt extends ModelePDFProjects
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
else
{
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.odt');
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.(ods|odt)');
if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles);
}
}
@ -332,34 +332,24 @@ class doc_generic_project_odt extends ModelePDFProjects
$texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it
$texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1);
$texte.= '<table><tr><td>';
$texte.= '<div><div style="display: inline-block; min-width: 100px; vertical-align: middle;">';
$texte.= '<textarea class="flat" cols="60" name="value1">';
$texte.=$conf->global->PROJECT_ADDON_PDF_ODT_PATH;
$texte.= '</textarea>';
$texte.= '</td>';
$texte.= '<td align="center">&nbsp; ';
$texte.= '</div><div style="display: inline-block; vertical-align: middle;">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '<br></div></div>';
// Scan directories
if (count($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr>';
$texte.= '<td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';

View File

@ -111,7 +111,7 @@ abstract class ModeleNumRefTask
/**
* Renvoi prochaine valeur attribuee
*
*
* @param Societe $objsoc Object third party
* @param Project $project Object project
* @return string Valeur
@ -171,7 +171,7 @@ function task_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0, $h
}
else
{
$modele='baleine';
$modele='nodefault';
}
}
@ -194,7 +194,7 @@ function task_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0, $h
$file = $prefix."_".$modele.".modules.php";
// On verifie l'emplacement du modele
$file=dol_buildpath($reldir."core/modules/project/pdf/".$file,0);
$file=dol_buildpath($reldir."core/modules/project/task/pdf/".$file,0);
if (file_exists($file))
{
$filefound=1;

View File

@ -323,7 +323,7 @@ class doc_generic_task_odt extends ModelePDFTask
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
else
{
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.odt');
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.(ods|odt)');
if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles);
}
}
@ -333,34 +333,24 @@ class doc_generic_task_odt extends ModelePDFTask
$texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it
$texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1);
$texte.= '<table><tr><td>';
$texte.= '<div><div style="display: inline-block; min-width: 100px; vertical-align: middle;">';
$texte.= '<textarea class="flat" cols="60" name="value1">';
$texte.=$conf->global->PROJECT_TASK_ADDON_PDF_ODT_PATH;
$texte.= '</textarea>';
$texte.= '</td>';
$texte.= '<td align="center">&nbsp; ';
$texte.= '</div><div style="display: inline-block; vertical-align: middle;">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '<br></div></div>';
// Scan directories
if (count($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr>';
$texte.= '<td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';
@ -431,7 +421,7 @@ class doc_generic_task_odt extends ModelePDFTask
{
//print "srctemplatepath=".$srctemplatepath; // Src filename
$newfile=basename($srctemplatepath);
$newfiletmp=preg_replace('/\.odt/i','',$newfile);
$newfiletmp=preg_replace('/\.(ods|odt)/i','',$newfile);
$newfiletmp=preg_replace('/template_/i','',$newfiletmp);
$newfiletmp=preg_replace('/modele_/i','',$newfiletmp);
$newfiletmp=$objectref.'_'.$newfiletmp;
@ -536,7 +526,6 @@ class doc_generic_task_odt extends ModelePDFTask
else // Text
{
$odfHandler->setVars($key, $value, true, 'UTF-8');
$odfHandler->setVarsHeadFooter($key, $value, true, 'UTF-8');
}
}
catch(OdfException $e)

View File

@ -129,7 +129,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
else
{
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.odt');
$tmpfiles=dol_dir_list($tmpdir,'files',0,'\.(ods|odt)');
if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles);
}
}
@ -139,17 +139,14 @@ class doc_generic_proposal_odt extends ModelePDFPropales
$texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it
$texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1);
$texte.= '<table><tr><td>';
$texte.= '<div><div style="display: inline-block; min-width: 100px; vertical-align: middle;">';
$texte.= '<textarea class="flat" cols="60" name="value1">';
$texte.=$conf->global->PROPALE_ADDON_PDF_ODT_PATH;
$texte.= '</textarea>';
$texte.= '</td>';
$texte.= '<td align="center">&nbsp; ';
$texte.= '</div><div style="display: inline-block; vertical-align: middle;">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '<br></div></div>';
// Scan directories
if (count($listofdir))
{
@ -181,22 +178,13 @@ class doc_generic_proposal_odt extends ModelePDFPropales
}
}
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr>';
$texte.= '<td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';

View File

@ -135,17 +135,11 @@ class doc_generic_odt extends ModeleThirdPartyDoc
$texte.= '</td>';
$texte.= '<td valign="top" rowspan="2">';
$texte.= '<td valign="top" rowspan="2" class="hideonsmartphone">';
$texte.= $langs->trans("ExampleOfDirectoriesForModelGen");
$texte.= '</td>';
$texte.= '</tr>';
/*$texte.= '<tr><td align="center">';
$texte.= '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button">';
$texte.= '</td>';
$texte.= '</tr>';*/
$texte.= '</table>';
$texte.= '</form>';

View File

@ -990,7 +990,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
else
{
$pdf->SetTextColor(255,0,0);
$pdf->MultiCell(100, 3, strtolower($outputlangs->transnoentities("OrderToProcess")), '', 'R');
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("OrderToProcess"), '', 'R');
}
$posy+=2;

View File

@ -633,14 +633,12 @@ class InterfaceActionsAuto
$ok=1;
}
// If not found
/*
else
{
dol_syslog("Trigger '".$this->name."' for action '$action' was ran by ".__FILE__." but no handler found for this action.");
// The trigger was enabled but we are missing the implementation, let the log know
else
{
dol_syslog("Trigger '".$this->name."' for action '$action' was ran by ".__FILE__." but no handler found for this action.", LOG_WARNING);
return 0;
}
*/
}
// Add entry in event table
if ($ok)

View File

@ -142,7 +142,7 @@ class InterfaceMailmanSpipsynchro
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
// We add subscription if we change category (new category may means more mailing-list to subscribe)
if ($object->linkto->add_to_abo() < 0)
if (is_object($object->linkto) && method_exists($object->linkto, 'add_to_abo') && $object->linkto->add_to_abo() < 0)
{
$this->error=$object->linkto->error;
$this->errors=$object->linkto->errors;
@ -160,7 +160,7 @@ class InterfaceMailmanSpipsynchro
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
// We remove subscription if we change category (lessw category may means less mailing-list to subscribe)
if ($object->unlinkoff->del_to_abo() < 0)
if (is_object($object->unlinkoff) && method_exists($object->unlinkoff, 'del_to_abo') && $object->unlinkoff->del_to_abo() < 0)
{
$this->error=$object->unlinkoff->error;
$this->errors=$object->unlinkoff->errors;

View File

@ -303,11 +303,13 @@ if (($action=="create") || ($action=="edit"))
print "<tr><td>";
print $langs->trans('CronHourStart')."</td><td>";
if(!empty($object->datestart)){
if(!empty($object->datestart))
{
$form->select_date($object->datestart,'datestart',1,1,'',"cronform");
}
else{
$form->select_date(dol_now(),'datestart',1,1,'',"cronform");
else
{
$form->select_date('','datestart',1,1,'',"cronform");
}
print "</td>";
print "<td>";

View File

@ -856,47 +856,48 @@ if ($action == 'create')
if (($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) || $defaultqty < 0) $defaultqty=0;
}
if (empty($conf->productbatch->enabled) || ! ($product->hasbatch() and is_array($product->stock_warehouse[GETPOST('entrepot_id','int')] ))) {
// Quantity to send
print '<td align="center">';
if ($line->product_type == 0 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$line->id.'">';
print '<input name="qtyl'.$indiceAsked.'" id="qtyl'.$indiceAsked.'" type="text" size="4" value="'.$defaultqty.'">';
}
else print $langs->trans("NA");
print '</td>';
// Stock
if (! empty($conf->stock->enabled))
{
print '<td align="left">';
if ($line->product_type == 0 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
// Show warehouse combo list
$ent = "entl".$indiceAsked;
$idl = "idl".$indiceAsked;
$tmpentrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):GETPOST('entrepot_id','int');
print $formproduct->selectWarehouses($tmpentrepot_id,'entl'.$indiceAsked,'',1,0,$line->fk_product);
if ($tmpentrepot_id > 0 && $tmpentrepot_id == GETPOST('entrepot_id','int'))
{
//print $stock.' '.$quantityToBeDelivered;
if ($stock < $quantityToBeDelivered)
{
print ' '.img_warning($langs->trans("StockTooLow")); // Stock too low for entrepot_id but we may have change warehouse
}
}
}
else
{
print $langs->trans("Service");
}
print '</td>';
}
print "</tr>\n";
// Show subproducts of product
if (empty($conf->productbatch->enabled) || ! ($product->hasbatch() and is_array($product->stock_warehouse[GETPOST('entrepot_id','int')])))
{
// Quantity to send
print '<td align="center">';
if ($line->product_type == 0 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$line->id.'">';
print '<input name="qtyl'.$indiceAsked.'" id="qtyl'.$indiceAsked.'" type="text" size="4" value="'.$defaultqty.'">';
}
else print $langs->trans("NA");
print '</td>';
// Stock
if (! empty($conf->stock->enabled))
{
print '<td align="left">';
if ($line->product_type == 0 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
// Show warehouse combo list
$ent = "entl".$indiceAsked;
$idl = "idl".$indiceAsked;
$tmpentrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):GETPOST('entrepot_id','int');
print $formproduct->selectWarehouses($tmpentrepot_id,'entl'.$indiceAsked,'',1,0,$line->fk_product);
if ($tmpentrepot_id > 0 && $tmpentrepot_id == GETPOST('entrepot_id','int'))
{
//print $stock.' '.$quantityToBeDelivered;
if ($stock < $quantityToBeDelivered)
{
print ' '.img_warning($langs->trans("StockTooLow")); // Stock too low for entrepot_id but we may have change warehouse
}
}
}
else
{
print $langs->trans("Service");
}
print '</td>';
}
print "</tr>\n";
// Show subproducts of product
if (! empty($conf->global->PRODUIT_SOUSPRODUITS) && $line->fk_product > 0)
{
$product->get_sousproduits_arbo();

View File

@ -45,6 +45,8 @@ class CommandeFournisseur extends CommonOrder
public $fk_element = 'fk_commande';
protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
var $id;
var $ref; // TODO deprecated
var $product_ref;
var $ref_supplier;
@ -99,8 +101,8 @@ class CommandeFournisseur extends CommonOrder
$this->statuts[3] = 'StatusOrderOnProcess';
$this->statuts[4] = 'StatusOrderReceivedPartially';
$this->statuts[5] = 'StatusOrderReceivedAll';
$this->statuts[6] = 'StatusOrderCanceled';
$this->statuts[7] = 'StatusOrderCanceled';
$this->statuts[6] = 'StatusOrderCanceled'; // Approved->Canceled
$this->statuts[7] = 'StatusOrderCanceled'; // Process running->canceled
$this->statuts[9] = 'StatusOrderRefused';
}

View File

@ -199,16 +199,16 @@ class ProductFournisseur extends Product
dol_syslog(get_class($this).'::update_buyprice sql='.$sql);
$resql = $this->db->query($sql);
if ($resql)
{
{
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('UPDATE_BUYPRICE',$this,$user,$langs,$conf);
$result=$interface->run_triggers('SUPPLIER_PRODUCT_BUYPRICE_UPDATE',$this,$user,$langs,$conf);
if ($result < 0)
{
$error++; $this->errors=$interface->errors;
$error++; $this->error=$interface->errors;
}
if (empty($error))
{
$this->db->commit();
@ -286,8 +286,25 @@ class ProductFournisseur extends Product
if (! $error)
{
$this->db->commit();
return 0;
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('SUPPLIER_PRODUCT_BUYPRICE_CREATE',$this,$user,$langs,$conf);
if ($result < 0)
{
$error++; $this->error=$interface->errors;
}
if (empty($error))
{
$this->db->commit();
return 0;
}
else
{
$this->db->rollback();
return 1;
}
}
else
{

View File

@ -146,7 +146,7 @@ class PaiementFourn extends Paiement
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'paiementfourn (';
$sql.= 'datec, datep, amount, fk_paiement, num_paiement, note, fk_user_author, fk_bank)';
$sql.= " VALUES ('".$this->db->idate($now).',';
$sql.= " VALUES ('".$this->db->idate($now)."',";
$sql.= " '".$this->db->idate($this->datepaye)."', '".$this->total."', ".$this->paiementid.", '".$this->num_paiement."', '".$this->db->escape($this->note)."', ".$user->id.", 0)";
dol_syslog("PaiementFourn::create sql=".$sql);

View File

@ -192,7 +192,7 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
}
if (GETPOST('addline_predefined')
|| (! GETPOST('dp_desc') && ! GETPOST('addline_predefined') && GETPOST('idprod', 'int')>0) // we push enter onto qty field
)
)
{
$predef= '_predef';
$idprod=GETPOST('idprod', 'int');
@ -214,7 +214,7 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
}
if (! GETPOST('addline_predefined') && ( GETPOST('pu')==='')) // Unit price can be 0 but not ''
{
setEventMessage($langs->trans($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('UnitPrice'))), 'errors');
$error++;
}
@ -233,7 +233,7 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
// Ecrase $pu par celui du produit
// Ecrase $desc par celui du produit
// Ecrase $txtva par celui du produit
if ((GETPOST('addline_predefined') || GETPOST('idprodfournprice')) && ( GETPOST('pu')!=='')) // With combolist idprodfournprice is > 0 or -1. With autocomplete, idprodfournprice is > 0 or ''
if (GETPOST('addline_predefined') || GETPOST('idprodfournprice')) // With combolist idprodfournprice is > 0 or -1. With autocomplete, idprodfournprice is > 0 or ''
{
$idprod=0;
$productsupplier = new ProductFournisseur($db);
@ -508,6 +508,9 @@ else if ($action == 'confirm_approve' && $confirm == 'yes' && $user->rights->fou
$result = $object->approve($user, $idwarehouse);
if ($result > 0)
{
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
supplier_order_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
}
header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id);
exit;
}
@ -537,6 +540,9 @@ else if ($action == 'confirm_commande' && $confirm == 'yes' && $user->rights->fo
$result = $object->commande($user, $_REQUEST["datecommande"], $_REQUEST["methode"], $_REQUEST['comment']);
if ($result > 0)
{
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
supplier_order_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
}
header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id);
exit;
}
@ -1987,7 +1993,7 @@ elseif (! empty($object->id))
print '</td></tr>';
print '<tr><td>'.$langs->trans("OrderMode").'</td><td>';
$formorder->select_methodes_commande(GETPOST('methodecommande'), "methodecommande", 1);
$formorder->selectInputMethod(GETPOST('methodecommande'), "methodecommande", 1);
print '</td></tr>';
print '<tr><td>'.$langs->trans("Comment").'</td><td><input size="40" type="text" name="comment" value="'.GETPOST('comment').'"></td></tr>';

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
*
@ -29,6 +29,7 @@ require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formorder.class.php';
$langs->load("orders");
@ -39,6 +40,8 @@ $search_nom=GETPOST('search_nom');
$search_user=GETPOST('search_user');
$search_ttc=GETPOST('search_ttc');
$sall=GETPOST('search_all');
$search_status=GETPOST('search_status','int');
if ($search_status == '') $search_status=-1;
$page = GETPOST('page','int');
$socid = GETPOST('socid','int');
@ -67,6 +70,7 @@ llxHeader('',$title);
$commandestatic=new CommandeFournisseur($db);
$formfile = new FormFile($db);
$formorder = new FormOrder($db);
if ($sortorder == "") $sortorder="DESC";
@ -119,8 +123,13 @@ if ($search_refsupp)
{
$sql.= " AND (cf.ref_supplier LIKE '%".$db->escape($search_refsupp)."%')";
}
if ($search_status >= 0)
{
if ($search_status == 6 || $search_status == 7) $sql.=" AND fk_statut IN (6,7)";
else $sql.=" AND fk_statut = ".$search_status;
}
$sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->order($sortfield,$sortorder);
$sql.= $db->plimit($conf->liste_limit+1, $offset);
$resql = $db->query($sql);
@ -136,6 +145,7 @@ if ($resql)
if ($search_user) $param.="&search_user=".$search_user;
if ($search_ttc) $param.="&search_ttc=".$search_ttc;
if ($search_refsupp) $param.="&search_refsupp=".$search_refsupp;
if ($search_status >= 0) $param.="&search_status=".$search_status;
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num);
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<table class="noborder" width="100%">';
@ -147,6 +157,7 @@ if ($resql)
print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"total_ttc","",$param,$sortfield,$sortorder);
print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"dc","",$param,'align="center"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"cf.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre('');
print "</tr>\n";
print '<tr class="liste_titre">';
@ -156,7 +167,11 @@ if ($resql)
print '<td class="liste_titre"><input type="text" class="flat" name="search_nom" value="'.$search_nom.'"></td>';
print '<td class="liste_titre"><input type="text" class="flat" name="search_user" value="'.$search_user.'"></td>';
print '<td class="liste_titre"><input type="text" class="flat" name="search_ttc" value="'.$search_ttc.'"></td>';
print '<td colspan="2" class="liste_titre" align="right">';
print '<td class="liste_titre">&nbsp;</td>';
print '<td class="liste_titre" align="right">';
$formorder->selectSupplierOrderStatus($search_status,1,'search_status');
print '</td>';
print '<td class="liste_titre" align="right">';
print '<input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
print '</td>';
print '</tr>';
@ -212,7 +227,7 @@ if ($resql)
print '</td>';
// Statut
print '<td align="right">'.$commandestatic->LibStatut($obj->fk_statut, 5).'</td>';
print '<td align="right" colspan="2">'.$commandestatic->LibStatut($obj->fk_statut, 5).'</td>';
print "</tr>\n";
$i++;

View File

@ -1,12 +1,13 @@
-- Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
-- Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
-- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be>
-- Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
-- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
-- Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
-- Copyright (C) 2013 Cedric Gross <c.gross@kreiz-it.fr>
-- Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
-- Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
-- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be>
-- Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
-- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
-- Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
-- Copyright (C) 2013 Cedric Gross <c.gross@kreiz-it.fr>
-- Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
@ -59,3 +60,7 @@ insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang)
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (28,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (29,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',29);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (30,'PROJECT_CREATE','Project creation','Executed when a project is created','project',30);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (31,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',31);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (32,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',32);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (33,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',33);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (34,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',34);

View File

@ -1029,7 +1029,7 @@ create table llx_product_customer_price_log
import_key varchar(14) -- Import key
)ENGINE=innodb;
--Batch number managment
-- Batch number management
ALTER TABLE llx_product ADD COLUMN tobatch tinyint DEFAULT 0 NOT NULL;
CREATE TABLE llx_product_batch (
@ -1055,7 +1055,7 @@ CREATE TABLE llx_expeditiondet_batch (
KEY ix_fk_expeditiondet (fk_expeditiondet)
) ENGINE=InnoDB;
--Salary payment in tax module
-- Salary payment in tax module
--DROP TABLE llx_payment_salary
CREATE TABLE llx_payment_salary (
rowid integer AUTO_INCREMENT PRIMARY KEY,
@ -1076,11 +1076,11 @@ CREATE TABLE llx_payment_salary (
fk_user_modif integer
)ENGINE=innodb;
--New 1074 : Stock mouvement link to origin
-- New 1074 : Stock mouvement link to origin
ALTER TABLE llx_stock_mouvement ADD fk_origin integer;
ALTER TABLE llx_stock_mouvement ADD origintype VARCHAR(32);
--New 1300 : Add THM on user
-- New 1300 : Add THM on user
ALTER TABLE llx_user ADD thm double(24,8);
ALTER TABLE llx_projet_task_time ADD thm double(24,8);
@ -1108,3 +1108,9 @@ ALTER TABLE llx_societe ADD UNIQUE INDEX uk_societe_barcode (barcode, fk_barcode
ALTER TABLE llx_tva ADD COLUMN fk_typepayment integer NULL; -- table may already contains data
ALTER TABLE llx_tva ADD COLUMN num_payment varchar(50);
-- Add missing action triggers
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (31,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',31);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (32,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',32);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (33,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',33);
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (34,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',34);

View File

@ -75,8 +75,6 @@ CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_contratdet_log FOR E
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_cotisation FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_deplacement FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_don FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE OR REPLACE FUNCTION update_modified_column_date_m() RETURNS TRIGGER AS $$ BEGIN NEW.date_m = now(); RETURN NEW; END; $$ LANGUAGE plpgsql;
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_m();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_entrepot FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_events FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_expedition FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
@ -89,15 +87,17 @@ CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_localtax FOR EACH RO
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_menu FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_notify FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_notify_def FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_opensurvey_comments FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_opensurvey_sondage FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_opensurvey_user_studs FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_paiement FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_paiementcharge FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_paiementfourn FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_payment_salary FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product_extrafields FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product_fournisseur_price FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product_price FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE OR REPLACE FUNCTION update_modified_column_date_price() RETURNS TRIGGER AS $$ BEGIN NEW.date_price = now(); RETURN NEW; END; $$ LANGUAGE plpgsql;
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product_price_by_qty FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_price();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product_stock FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_projet FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_projet_task FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
@ -118,3 +118,9 @@ CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_user_extrafields FOR
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_usergroup FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_cronjob FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_printer_ipp FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms();
CREATE OR REPLACE FUNCTION update_modified_column_date_m() RETURNS TRIGGER AS $$ BEGIN NEW.date_m = now(); RETURN NEW; END; $$ LANGUAGE plpgsql;
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_m();
CREATE OR REPLACE FUNCTION update_modified_column_date_price() RETURNS TRIGGER AS $$ BEGIN NEW.date_price = now(); RETURN NEW; END; $$ LANGUAGE plpgsql;
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_product_price_by_qty FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_price();

View File

@ -12,7 +12,7 @@ SessionId=رمز المرحلة
SessionSaveHandler=معالج لحفظ المراحل
SessionSavePath=مرحلة التخزين المحلية
PurgeSessions=إزالة المراحل
# ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself).
ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself).
NoSessionListWithThisHandler=معالج حفظ المرحلة المهيأ في لغة البي إتش بي لا يسمح بسرد كل المراحل التي تعمل
LockNewSessions=قم بإقفال الإتصالات الجديدة
ConfirmLockNewSessions=هل أنت متأكد من أنك تريد تقييد أي اتصال جديدة من دوليبار لنفسك. <b>%s</b> المستخدم الوحيد الذي سيتمكن من الإتصال بعد هذه العملية.
@ -43,13 +43,13 @@ SecuritySetup=الإعداد الأمني
ErrorModuleRequirePHPVersion=خطأ ، هذا النموذج يتطلب نسخة بي إتش بي %s أو أعلى
ErrorModuleRequireDolibarrVersion=خطأ ، هذا النموذج يتطلب نسخة دوليبار %s أو أعلى
ErrorDecimalLargerThanAreForbidden=خطأ, برنامج دوليبار <b>%s</b> الحالي لا يدعم دقة أعلى من الحالية
# DictionarySetup=Dictionary setup
# Dictionary=Dictionaries
DictionarySetup=Dictionary setup
Dictionary=Dictionaries
ErrorReservedTypeSystemSystemAuto=القيمة 'system' و 'systemauto' لهذا النوع محفوظ. يمكنك إستخدام 'user' كقيمة لإضافة السجل الخاص بك
ErrorCodeCantContainZero=لا يمكن إستخدام القيمة 0 لهذا الكود
DisableJavascript=تعطيل عمليات الجافا و الأجاكس
ConfirmAjax=إستخدم تأكيد أجاكس المنبثق
# UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
ActivityStateToSelectCompany= أضف فلتر كخيار لعرض/إخفاء الجهات الأخرى التي تقوم بنشاط حالياً أو توقفت عنه
UseSearchToSelectContact=إستخدم حقل التكملة التلقائية لإختيار عنوان الإتصال (بدلاً من إستخدام القائمة المنسدلة). <br><br> أيضاً إذا كان لديك عدد كبير من العملاء الخارجيين )أكثر من 100000(, يمكنك زيادة السرعة بإختيار ثابت
SearchFilter=فلاتر خيارات البحث
@ -71,8 +71,8 @@ Mask=القناع
NextValue=قيمة التالية
NextValueForInvoices=القيمة التالية (الفواتير)
NextValueForCreditNotes=القيمة التالية (ملاحظات دائن)
# NextValueForDeposit=Next value (deposit)
# NextValueForReplacements=Next value (replacements)
NextValueForDeposit=Next value (deposit)
NextValueForReplacements=Next value (replacements)
MustBeLowerThanPHPLimit=ملاحظة : البي إتش بي الخاص بك يحد من حجم الملفات المرفوعة <b>%s</b> %s, مهما كان الحجم المدخل
NoMaxSizeByPHPLimit=ملاحظة : لم يتم وضح حد في إعدادات الـ PHP الخاص بك
MaxSizeForUploadedFiles=الحجم الأقصى لتحميل الملفات (0 لمنع أي تحميل)
@ -109,8 +109,8 @@ ParameterInDolibarr=الوحدة %s
LanguageParameter=وحدة اللغة %s
LanguageBrowserParameter=الوحدة %s
LocalisationDolibarrParameters=الوحدات المحلية
# ClientTZ=Client Time Zone (user)
# ClientHour=Client time (user)
ClientTZ=Client Time Zone (user)
ClientHour=Client time (user)
OSTZ=المنطقة الزمنية لنظام تشغيل الخادم
PHPTZ=المنطقة الزمنية خادم PHP
PHPServerOffsetWithGreenwich=عرض وزنية جرينتش لخادم لغة الـ PHP (ثانية)
@ -120,7 +120,7 @@ CurrentHour=PHP خادم ساعة
CompanyTZ=المنطقة الزمنية لشركة من الشركات الرئيسية)
CompanyHour=ساعة وشركة من الشركات الرئيسية)
CurrentSessionTimeOut=إنتها مدة التصفح الحالية
# YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris"
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris"
OSEnv=بيئة نظام التشغيل
Box=مربع
Boxes=مربعات
@ -228,7 +228,7 @@ OfficialWebSiteFr=الفرنسية الموقع الرسمي
OfficialWiki=Dolibarr يكي
OfficialDemo=Dolibarr الانترنت التجريبي
OfficialMarketPlace=المسؤول عن وحدات السوق الخارجية / أدونس
# OfficialWebHostingService=Official web hosting services (Cloud hosting)
OfficialWebHostingService=Official web hosting services (Cloud hosting)
ForDocumentationSeeWiki=For user's or developer's documentation (Doc, FAQs...),<br>take a look at the Dolibarr Wiki:<br><b><a href="%s" target=للمستخدم أو للتطوير وثائق (مستدات ،...)، أسئلة وأجوبة <br> إلقاء نظرة على ويكي Dolibarr : <br> <a href="%s" target="_blank"><b>ق ٪</b></a>
ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:<br><b><a href="%s" target=عن أي أسئلة أخرى / مساعدة ، يمكنك استخدام Dolibarr المنتدى : <br> <a href="%s" target="_blank"><b>ق ٪</b></a>
HelpCenterDesc1=هذا المجال يمكن أن تساعدك في الحصول على مساعدة لتقديم خدمات الدعم على Dolibarr.
@ -272,34 +272,34 @@ ModuleFamilyFinancial=الوحدات المالية (المحاسبة / الخز
ModuleFamilyECM=إدارة المحتوى في المؤسسة
MenuHandlers=قائمة مناولي
MenuAdmin=قائمة تحرير
# DoNotUseInProduction=Do not use in production
DoNotUseInProduction=Do not use in production
ThisIsProcessToFollow=هذا هو الإعداد لهذه العملية :
StepNb=الخطوة ق ٪
FindPackageFromWebSite=العثور على الحزمة التي توفر ميزة تريد (على سبيل المثال على موقع الويب ق ٪).
DownloadPackageFromWebSite=التحميل من الموقع حزمة ٪ s.
UnpackPackageInDolibarrRoot=تفريغ الملف إلى مجموعة Dolibarr 'sجذور دليل <b>٪ ق</b>
SetupIsReadyForUse=الانتهاء من تركيب وDolibarr على استعداد لاستخدام هذا العنصر الجديد.
# NotExistsDirect=The alternative root directory is not defined.<br>
# InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.<br>Just create a directory at the root of Dolibarr (eg: custom).<br>
# InfDirExample=<br>Then declare it in the file conf.php<br> $dolibarr_main_url_root_alt='http://myserver/custom'<br>$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'<br>*These lines are commented with "#", to uncomment only remove the character.
# YouCanSubmitFile=Select module:
NotExistsDirect=The alternative root directory is not defined.<br>
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.<br>Just create a directory at the root of Dolibarr (eg: custom).<br>
InfDirExample=<br>Then declare it in the file conf.php<br> $dolibarr_main_url_root_alt='http://myserver/custom'<br>$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'<br>*These lines are commented with "#", to uncomment only remove the character.
YouCanSubmitFile=Select module:
CurrentVersion=Dolibarr النسخة الحالية
CallUpdatePage=الذهاب إلى صفحة التحديثات وdatas هيكل قاعدة البيانات : ٪ s.
LastStableVersion=آخر نسخة مستقرة
GenericMaskCodes=يمكنك إدخال أي قناع الترقيم. في هذا القناع ، وبعد ويمكن استخدام العلامات : <br> <b>(000000)</b> يطابق عدد الذي سيكون على كل يزداد ٪ s. كما تدخل العديد من أصفار على النحو المنشود طول المضادة. المضاد وسيتم الانتهاء من اصفار من اليسار من أجل الحصول على أكبر عدد اصفار كما القناع. <br> <b>000000 +000) (نفس</b> السابقة ولكن يقابل المقابلة لعدد للحق من علامة + يطبق اعتبارا من أول ٪ s. <br> <b>000000 @ (س)</b> نفس السابقة ولكن المضاد هو إعادة الصفر عندما يتم التوصل إلى الشهر خ خ ما بين 1 و 12). إذا كان هذا الخيار هو المستخدمة وس 2 أو أعلى ، ثم تسلسل (ذ ذ م م)) ((سنة أو ملم)) (مطلوب أيضا. <br> <b>(ب)</b> اليوم (01 الى 31). <br> <b>() ملم</b> في الشهر (01 الى 12). <br> <b>(كذا)</b> ، <b>(سنة))</b> أو <b>(ذ</b> السنة أكثر من 2 أو 4 أو 1 الأرقام. <br>
# GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of company type on n characters (see dictionary-company types).<br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of company type on n characters (see dictionary-company types).<br>
GenericMaskCodes3=جميع الشخصيات الاخرى في قناع سوف تظل سليمة. <br> المساحات غير مسموح بها. <br>
GenericMaskCodes4a=<u>ومثال على 99th ق ٪ من طرف ثالث TheCompany عمله 2007-01-31 :</u> <br>
GenericMaskCodes4b=<u>ومثال على طرف ثالث على خلق 2007-03-01 :</u> <br>
# GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
# GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericNumRefModelDesc=العودة للتخصيص وفقا لعدد محدد القناع.
ServerAvailableOnIPOrPort=الخدمة متاحة في معالجة <b>٪ ق ق ٪</b> على الميناء
ServerNotAvailableOnIPOrPort=الخدمة غير متاحة في التصدي <b>٪ ق ق ٪</b> على الميناء
DoTestServerAvailability=اختبار خدمة التوصيل
DoTestSend=ارسال الاختبار
DoTestSendHTML=اختبار ارسال هتمل
# ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask.
ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask.
ErrorCantUseRazInStartedYearIfNoYearMonthInMask=خطأ ، لا يمكن للمستخدم الخيار في حال تسلسل @ (ذ ذ م م)) ((سنة أو ملم)) (لا تخفي.
UMask=معلمة جديدة UMask صورة يونيكس / لينكس / بي إس دي نظام الملفات.
UMaskExplanation=تسمح لك هذه المعلمة لتحديد الاذونات التي حددها تقصير من الملفات التي أنشأتها Dolibarr على الخادم (خلال تحميلها على سبيل المثال). <br> يجب أن يكون ثمانية القيمة (على سبيل المثال ، 0666 وسائل القراءة والكتابة للجميع). <br> م شمال شرق paramètre سرت sous الامم المتحدة لتقييم الأداء ويندوز serveur.
@ -316,7 +316,7 @@ LanguageFilesCachedIntoShmopSharedMemory=لانغ لتحميل الملفات.
ExamplesWithCurrentSetup=أمثلة مع تشغيل الإعداد الحالي
ListOfDirectories=قائمة الدلائل المفتوحة قوالب
ListOfDirectoriesForModelGenODT=قائمة الدلائل التي تحتوي على ملفات ذات شكل قوالب المفتوحة. <br><br> هنا وضع المسار الكامل من الدلائل. <br> إضافة حرف إرجاع بين الدليل ايه. <br> لإضافة دليل وحدة [جد] ، أضيف هنا <b>DOL_DATA_ROOT / إدارة المحتوى في المؤسسة / yourdirectoryname.</b> <br><br> في هذه الدلائل يجب أن تنتهي مع <b>ملفات. odt.</b>
# NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories
NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories
ExampleOfDirectoriesForModelGen=أمثلة على بناء الجملة : <br> ج : mydir \\ <br> / الوطن / mydir <br> DOL_DATA_ROOT / إدارة المحتوى في المؤسسة / ecmdir
FollowingSubstitutionKeysCanBeUsed=<br> لمعرفة كيفية إنشاء قوالب المستند ODT، قبل تخزينها في تلك الدلائل، وقراءة وثائق ويكي:
FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template
@ -336,59 +336,58 @@ PDF=PDF
PDFDesc=يمكنك تعيين كل الخيارات العالمية المتصلة جيل PDF
PDFAddressForging=قواعد لتشكيل مربعات العناوين
HideAnyVATInformationOnPDF=إخفاء كل المعلومات المتعلقة ضريبة القيمة المضافة على إنشاء قوات الدفاع الشعبي
# HideDescOnPDF=Hide products description on generated PDF
# HideRefOnPDF=Hide products ref. on generated PDF
# HideDetailsOnPDF=Hide products lines details on generated PDF
HideDescOnPDF=Hide products description on generated PDF
HideRefOnPDF=Hide products ref. on generated PDF
HideDetailsOnPDF=Hide products lines details on generated PDF
Library=المكتبة
UrlGenerationParameters=المعلمات لتأمين عناوين المواقع
SecurityTokenIsUnique=استخدام معلمة securekey فريدة لكل URL
EnterRefToBuildUrl=أدخل مرجع لكائن %s
GetSecuredUrl=الحصول على عنوان محسوب
# ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons
# OldVATRates=Old VAT rate
# NewVATRates=New VAT rate
# PriceBaseTypeToChange=Modify on prices with base reference value defined on
# MassConvert=Launch mass convert
ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons
OldVATRates=Old VAT rate
NewVATRates=New VAT rate
PriceBaseTypeToChange=Modify on prices with base reference value defined on
MassConvert=Launch mass convert
String=سلسلة
# TextLong=Long text
# Int=Integer
# Float=Float
# DateAndTime=Date and hour
# Unique=Unique
# Boolean=Boolean (Checkbox)
TextLong=Long text
Int=Integer
Float=Float
DateAndTime=Date and hour
Unique=Unique
Boolean=Boolean (Checkbox)
ExtrafieldPhone = هاتف
ExtrafieldPrice = الأسعار
# ExtrafieldMail = Email
# ExtrafieldSelect = Select list
# ExtrafieldSelectList = Select from table
# ExtrafieldSeparator=Separator
# ExtrafieldCheckBox=Checkbox
# ExtrafieldRadio=Radio button
# ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
# ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
# ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
# ExtrafieldParamHelpsellist=Parameters list have come from table<br><br> for exemple : <br>c_typent:libelle:id::filter<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter <br> filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)
# LibraryToBuildPDF=Library used to build PDF
# WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
# LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:<br>1 : local tax apply on products and services without vat (vat is not applied on local tax)<br>2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)<br>3 : local tax apply on products without vat (vat is not applied on local tax)<br>4 : local tax apply on products before vat (vat is calculated on amount + localtax)<br>5 : local tax apply on services without vat (vat is not applied on local tax)<br>6 : local tax apply on services before vat (vat is calculated on amount + localtax)
# SMS=SMS
# LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user <strong>%s</strong>
# RefreshPhoneLink=Refresh link
# LinkToTest=Clickable link generated for user <strong>%s</strong> (click phone number to test)
# KeepEmptyToUseDefault=Keep empty to use default value
# DefaultLink=Default link
# ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url)
# ExternalModule=External module - Installed into directory %s
# BarcodeInitForThirdparties=Mass barcode init for thirdparties
# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services
# CurrentlyNWithoutBarCode=Currently, you have <strong>%s</strong> records on <strong>%s</strong> %s without barcode defined.
# InitEmptyBarCode=Init value for next %s empty records
# EraseAllCurrentBarCode=Erase all current barcode values
# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ?
# AllBarcodeReset=All barcode values have been removed
# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup.
# NoRecordWithoutBarcodeDefined=No record with no barcode value defined.
ExtrafieldMail = Email
ExtrafieldSelect = Select list
ExtrafieldSelectList = Select from table
ExtrafieldSeparator=Separator
ExtrafieldCheckBox=Checkbox
ExtrafieldRadio=Radio button
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpsellist=Parameters list have come from table<br><br> for exemple : <br>c_typent:libelle:id::filter<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter <br> filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)
LibraryToBuildPDF=Library used to build PDF
WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:<br>1 : local tax apply on products and services without vat (vat is not applied on local tax)<br>2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)<br>3 : local tax apply on products without vat (vat is not applied on local tax)<br>4 : local tax apply on products before vat (vat is calculated on amount + localtax)<br>5 : local tax apply on services without vat (vat is not applied on local tax)<br>6 : local tax apply on services before vat (vat is calculated on amount + localtax)
SMS=SMS
LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user <strong>%s</strong>
RefreshPhoneLink=Refresh link
LinkToTest=Clickable link generated for user <strong>%s</strong> (click phone number to test)
KeepEmptyToUseDefault=Keep empty to use default value
DefaultLink=Default link
ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url)
ExternalModule=External module - Installed into directory %s
BarcodeInitForThirdparties=Mass barcode init for thirdparties
BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services
CurrentlyNWithoutBarCode=Currently, you have <strong>%s</strong> records on <strong>%s</strong> %s without barcode defined.
InitEmptyBarCode=Init value for next %s empty records
EraseAllCurrentBarCode=Erase all current barcode values
ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ?
AllBarcodeReset=All barcode values have been removed
NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup.
NoRecordWithoutBarcodeDefined=No record with no barcode value defined.
# Modules
Module0Name=& مجموعات المستخدمين
@ -465,8 +464,10 @@ Module400Name=المشاريع
Module400Desc=إدارة المشاريع داخل وحدات أخرى
Module410Name=Webcalendar
Module410Desc=Webcalendar التكامل
Module500Name=الضرائب والمساهمات الاجتماعية والأرباح
Module500Desc=المساهمات الاجتماعية والضرائب وإدارة
Module500Name=Special expenses (tax, social contributions, dividends)
Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries
Module510Name=Salaries
Module510Desc=Management of empoyees salaries and payments
Module600Name=الإخطارات
Module600Desc=إرسال الإشعارات عن طريق البريد الإلكتروني على بعض الفعاليات التجارية Dolibarr لطرف ثالث اتصالات
Module700Name=التبرعات
@ -483,8 +484,8 @@ Module1780Name=الفئات
Module1780Desc=الفئات إدارة المنتجات والموردين والزبائن)
Module2000Name=Fckeditor
Module2000Desc=سوغ محرر
# Module2300Name=Cron
# Module2300Desc=Scheduled task management
Module2300Name=Cron
Module2300Desc=Scheduled task management
Module2400Name=جدول الأعمال
Module2400Desc=الأعمال / الإدارة المهام وجدول الأعمال
Module2500Name=إدارة المحتوى الإلكتروني
@ -493,33 +494,33 @@ Module2600Name= WebServices
Module2600Desc= تمكين خدمات الويب Dolibarr الملقم
Module2700Name= غرفتر
Module2700Desc= استخدام خدمة غرفتر على الانترنت (www.gravatar.com) لإظهار الصورة من المستخدمين / أعضاء (وجدت مع رسائل البريد الإلكتروني الخاصة بهم). في حاجة الى الوصول الى شبكة الانترنت
# Module2800Desc=FTP Client
Module2800Desc=FTP Client
Module2900Name= GeoIPMaxmind
Module2900Desc= GeoIP التحويلات Maxmind القدرات
# Module3100Name= Skype
# Module3100Desc= Add a Skype button into card of adherents / third parties / contacts
Module3100Name= Skype
Module3100Desc= Add a Skype button into card of adherents / third parties / contacts
Module5000Name=شركة متعددة
Module5000Desc=يسمح لك لإدارة الشركات المتعددة
# Module6000Name=Workflow
# Module6000Desc=Workflow management
# Module20000Name=Holidays
# Module20000Desc=Declare and follow employees holidays
Module6000Name=Workflow
Module6000Desc=Workflow management
Module20000Name=Holidays
Module20000Desc=Declare and follow employees holidays
Module50000Name=PayBox
Module50000Desc=وحدة لتقديم على صفحة الدفع عبر الإنترنت عن طريق بطاقة الائتمان مع PayBox
Module50100Name=نقطة البيع
Module50100Desc=نقطة بيع وحدة
Module50200Name= باي بال
Module50200Desc= وحدة لتقديم على صفحة الدفع عبر الإنترنت عن طريق بطاقة الائتمان مع بايبال
# Module54000Name=PrintIPP
# Module54000Desc=Print via Cups IPP Printer.
# Module55000Name=Open Poll
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
# Module59000Name=Margins
# Module59000Desc=Module to manage margins
# Module60000Name=Commissions
# Module60000Desc=Module to manage commissions
# Module150010Name=Batch number, eat-by date and sell-by date
# Module150010Desc=batch number, eat-by date and sell-by date management for product
Module54000Name=PrintIPP
Module54000Desc=Print via Cups IPP Printer.
Module55000Name=Open Poll
Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
Module59000Name=Margins
Module59000Desc=Module to manage margins
Module60000Name=Commissions
Module60000Desc=Module to manage commissions
Module150010Name=Batch number, eat-by date and sell-by date
Module150010Desc=batch number, eat-by date and sell-by date management for product
Permission11=قراءة الفواتير
Permission12=خلق الفواتير
Permission13=تعديل الفواتير
@ -571,7 +572,7 @@ Permission98=ارسال الفاتورة 'sخطوط المحاسبة
Permission101=قراءة الإرسال
Permission102=إنشاء / تعديل الإرسال
Permission104=صحة الإرسال
# Permission106=Export sendings
Permission106=Export sendings
Permission109=حذف الإرسال
Permission111=قراءة الحسابات المالية
Permission112=إنشاء / تعديل أو حذف ، وقارن المعاملات
@ -628,9 +629,9 @@ Permission221=قراءة emailings
Permission222=إنشاء / تعديل emailings (الموضوع والمستفيدين...)
Permission223=صحة emailings (يسمح بارسال)
Permission229=حذف emailings
# Permission237=View recipients and info
# Permission238=Manually send mailings
# Permission239=Delete mailings after validation or sent
Permission237=View recipients and info
Permission238=Manually send mailings
Permission239=Delete mailings after validation or sent
Permission241=قراءة الفئات
Permission242=إنشاء / تعديل الفئات
Permission243=حذف فئات
@ -708,14 +709,14 @@ Permission1233=التحقق من فواتير الموردين
Permission1234=حذف فواتير الموردين
Permission1235=إرسال فواتير المورد عن طريق البريد الإلكتروني
Permission1236=تصدير فواتير الموردين والصفات والمدفوعات
# Permission1237=Export supplier orders and their details
Permission1237=Export supplier orders and their details
Permission1251=ادارة الدمار الواردات الخارجية البيانات في قاعدة البيانات (بيانات تحميل)
Permission1321=تصدير العملاء والفواتير والمدفوعات والصفات
Permission1421=التصدير طلبات الزبائن وصفاته
# Permission23001 = Read Scheduled task
# Permission23002 = Create/update Scheduled task
# Permission23003 = Delete Scheduled task
# Permission23004 = Execute Scheduled task
Permission23001 = Read Scheduled task
Permission23002 = Create/update Scheduled task
Permission23003 = Delete Scheduled task
Permission23004 = Execute Scheduled task
Permission2401=قراءة الأعمال (أو أحداث المهام) مرتبطة حسابه
Permission2402=إنشاء / تعديل أو حذف الإجراءات (الأحداث أو المهام) مرتبطة حسابه
Permission2403=قراءة الأعمال (أو أحداث المهام) آخرين
@ -726,44 +727,44 @@ Permission2501=قراءة وثائق
Permission2502=تقديم وثائق أو حذف
Permission2503=تقديم وثائق أو حذف
Permission2515=إعداد وثائق وأدلة
# Permission2801=Use FTP client in read mode (browse and download only)
# Permission2802=Use FTP client in write mode (delete or upload files)
# Permission50101=Use Point of sales
Permission2801=Use FTP client in read mode (browse and download only)
Permission2802=Use FTP client in write mode (delete or upload files)
Permission50101=Use Point of sales
Permission50201=قراءة المعاملات
Permission50202=استيراد المعاملات
# Permission54001=Print
# Permission55001=Read polls
# Permission55002=Create/modify polls
# Permission59001=Read commercial margins
# Permission59002=Define commercial margins
# DictionaryCompanyType=Thirdparties type
# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties
# DictionaryProspectLevel=Prospect potential level
# DictionaryCanton=State/Cantons
# DictionaryRegion=Regions
# DictionaryCountry=Countries
# DictionaryCurrency=Currencies
# DictionaryCivility=Civility title
# DictionaryActions=Type of agenda events
# DictionarySocialContributions=Social contributions types
# DictionaryVAT=VAT Rates or Sales Tax Rates
# DictionaryRevenueStamp=Amount of revenue stamps
# DictionaryPaymentConditions=Payment terms
# DictionaryPaymentModes=Payment modes
# DictionaryTypeContact=Contact/Address types
# DictionaryEcotaxe=Ecotax (WEEE)
# DictionaryPaperFormat=Paper formats
# DictionaryFees=Type of fees
# DictionarySendingMethods=Shipping methods
# DictionaryStaff=Staff
# DictionaryAvailability=Delivery delay
# DictionaryOrderMethods=Ordering methods
# DictionarySource=Origin of proposals/orders
# DictionaryAccountancyplan=Chart of accounts
# DictionaryAccountancysystem=Models for chart of accounts
Permission54001=Print
Permission55001=Read polls
Permission55002=Create/modify polls
Permission59001=Read commercial margins
Permission59002=Define commercial margins
DictionaryCompanyType=Thirdparties type
DictionaryCompanyJuridicalType=Juridical kinds of thirdparties
DictionaryProspectLevel=Prospect potential level
DictionaryCanton=State/Cantons
DictionaryRegion=Regions
DictionaryCountry=Countries
DictionaryCurrency=Currencies
DictionaryCivility=Civility title
DictionaryActions=Type of agenda events
DictionarySocialContributions=Social contributions types
DictionaryVAT=VAT Rates or Sales Tax Rates
DictionaryRevenueStamp=Amount of revenue stamps
DictionaryPaymentConditions=Payment terms
DictionaryPaymentModes=Payment modes
DictionaryTypeContact=Contact/Address types
DictionaryEcotaxe=Ecotax (WEEE)
DictionaryPaperFormat=Paper formats
DictionaryFees=Type of fees
DictionarySendingMethods=Shipping methods
DictionaryStaff=Staff
DictionaryAvailability=Delivery delay
DictionaryOrderMethods=Ordering methods
DictionarySource=Origin of proposals/orders
DictionaryAccountancyplan=Chart of accounts
DictionaryAccountancysystem=Models for chart of accounts
SetupSaved=الإعداد المحفوظة
BackToModuleList=العودة إلى قائمة الوحدات
# BackToDictionaryList=Back to dictionaries list
BackToDictionaryList=Back to dictionaries list
VATReceivedOnly=سعر خاص لا تحمل
VATManagement=إدارة الضريبة على القيمة المضافة
VATIsUsedDesc=معدل ضريبة القيمة المضافة بشكل افتراضي عند إنشاء الآفاق ، والفواتير ، وما يتبع أوامر النشطة القياسية للمادة : <br> إذا كان البائع هو تعرض لضريبة القيمة المضافة ، وضريبة القيمة المضافة بعد ذلك تلقائيا= 0. نهاية المادة. <br> إذا كان (بيع وشراء= بلد في البلد) ، فإن ضريبة القيمة المضافة بشكل افتراضي= ضريبة القيمة المضافة من بيع المنتج في البلد. نهاية المادة. <br> إذا كان البائع والمشتري في الجماعة الأوروبية ، وبيعت البضاعة الجديدة بعد أن وسائل النقل (السيارات ، والسفن ، والطائرات) ، الافتراضي= 0 ضريبة القيمة المضافة (ضريبة القيمة المضافة وينبغي أن تدفع من قبل المشتري في customoffice بلاده وليس على البائع . نهاية المادة. <br> إذا كان البائع والمشتري في الجماعة الأوروبية والسلع التي تباع عن طريق وسائل أخرى جديدة بدلا من وسائل النقل ، فإن ضريبة القيمة المضافة بشكل افتراضي= ضريبة القيمة المضافة للمنتجات المباعة. نهاية المادة. <br> وإلا فإن ضريبة القيمة المضافة المقترحة الافتراضي= 1. نهاية المادة.
@ -771,18 +772,18 @@ VATIsNotUsedDesc=افتراضي المقترحة 0 ضريبة القيمة ال
VATIsUsedExampleFR=في فرنسا ، فإن ذلك يعني وجود منظمات أو شركات حقيقية في النظام المالي (المبسطة حقيقية أو طبيعية حقيقية). نظام ضريبة القيمة المضافة هي التي أعلنت.
VATIsNotUsedExampleFR=في فرنسا ، فإن ذلك يعني أن الجمعيات غير المعلنة ضريبة القيمة المضافة أو شركات أو مؤسسات المهن الحرة التي اختارت المشاريع الصغيرة النظام الضريبي (ضريبة القيمة المضافة في الانتخاب) ، ودفع ضريبة القيمة المضافة في الانتخاب دون أي إعلان من ضريبة القيمة المضافة. هذا الخيار سيتم عرض المرجعي "غير الضريبة على القيمة المضافة المطبقة -- الفن - 293B من المجموعة الاستشارية لاندونيسيا" على الفواتير.
##### Local Taxes #####
# LocalTax1IsUsed=Use second tax
# LocalTax1IsNotUsed=Do not use second tax
# LocalTax1IsUsedDesc=Use a second type of tax (other than VAT)
# LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT)
# LocalTax1Management=Second type of tax
LocalTax1IsUsed=Use second tax
LocalTax1IsNotUsed=Do not use second tax
LocalTax1IsUsedDesc=Use a second type of tax (other than VAT)
LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT)
LocalTax1Management=Second type of tax
LocalTax1IsUsedExample=
LocalTax1IsNotUsedExample=
# LocalTax2IsUsed=Use third tax
# LocalTax2IsNotUsed=Do not use third tax
# LocalTax2IsUsedDesc=Use a third type of tax (other than VAT)
# LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT)
# LocalTax2Management=Third type of tax
LocalTax2IsUsed=Use third tax
LocalTax2IsNotUsed=Do not use third tax
LocalTax2IsUsedDesc=Use a third type of tax (other than VAT)
LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT)
LocalTax2Management=Third type of tax
LocalTax2IsUsedExample=
LocalTax2IsNotUsedExample=
LocalTax1ManagementES= إدارة الطاقة المتجددة
@ -819,7 +820,7 @@ PhpConf=Conf
PhpWebLink=Php ربط الشبكة
Pear=الكمثرى
PearPackages=الكمثرى الحزم
# Browser=Browser
Browser=Browser
Server=الخادم
Database=قاعدة بيانات
DatabaseServer=قاعدة بيانات المضيف
@ -846,7 +847,7 @@ MenuCompanySetup=الشركة / المؤسسة
MenuNewUser=مستخدم جديد
MenuTopManager=المدير الأعلى
MenuLeftManager=مدير القائمة اليمنى
# MenuManager=Menu manager
MenuManager=Menu manager
MenuSmartphoneManager=الهاتف الذكي القائمة مدير
DefaultMenuTopManager=المدير الأعلى
DefaultMenuLeftManager=مدير القائمة اليمنى
@ -871,7 +872,7 @@ CompanyZip=الرمز البريدي
CompanyTown=مدينة
CompanyCountry=قطر
CompanyCurrency=العملة الرئيسية
# Logo=Logo
Logo=Logo
DoNotShow=لا تظهر
DoNotSuggestPaymentMode=لا توحي
NoActiveBankAccountDefined=لا يعرف في حساب مصرفي نشط
@ -905,12 +906,12 @@ SetupDescription5=القيود الأخرى القائمة في إدارة اخ
EventsSetup=الإعداد للمناسبات الجذوع
LogEvents=مراجعة الحسابات الأحداث الأمنية
Audit=المراجعة
# InfoDolibarr=Infos Dolibarr
# InfoOS=Infos OS
# InfoWebServer=Infos web server
# InfoDatabase=Infos database
# InfoPHP=Infos PHP
# InfoPerf=Infos performances
InfoDolibarr=Infos Dolibarr
InfoOS=Infos OS
InfoWebServer=Infos web server
InfoDatabase=Infos database
InfoPHP=Infos PHP
InfoPerf=Infos performances
ListEvents=مراجعة الأحداث
ListOfSecurityEvents=قائمة الأحداث الأمنية Dolibarr
SecurityEventsPurged=تطهير الاحداث الامنية
@ -931,7 +932,7 @@ TriggerDisabledAsModuleDisabled=يتسبب في تعطيل هذه الصورة
TriggerAlwaysActive=يطلق في هذا الملف هي حركة دائمة ، وتفعيل ما هي وحدات Dolibarr.
TriggerActiveAsModuleActive=يطلق في هذا الملف كما ينشط حدة تمكين <b>٪ ق.</b>
GeneratedPasswordDesc=هنا تعريف القاعدة التي تريد استخدامه لكلمة السر اذا كنت أسأل لصناعة السيارات ولدت كلمة السر
# DictionaryDesc=Define here all reference datas. You can complete predefined value with yours.
DictionaryDesc=Define here all reference datas. You can complete predefined value with yours.
ConstDesc=تسمح لك هذه الصفحة لتحرير جميع البارامترات الأخرى غير المتوفرة في الصفحات السابقة. فهي محفوظة لمعايير متقدمة للمطورين أو troubleshouting.
OnceSetupFinishedCreateUsers=تحذير فأنت Dolibarr مدير المستخدم. مدير المستخدمين تستخدم لإعداد Dolibarr. لالمعتاد استخدام Dolibarr ، يوصى باستخدام غير مستخدم مدير خلق مجموعات من المستخدمين & القائمة.
MiscellaneousDesc=هنا تعريف جميع البارامترات الأخرى ذات الصلة بالأمن.
@ -953,11 +954,11 @@ BackupDesc2=* حفظ الوثائق محتوى الدليل <b>(٪)</b> والذ
BackupDesc3=* حفظ محتوى قاعدة البيانات مع نفايات. لهذا ، يمكنك استخدام التالية مساعد.
BackupDescX=الأرشيف دليل ينبغي أن تحفظ في مكان آمن.
BackupDescY=وقد ولدت وينبغي التخلص من الملفات المخزنة في مكان آمن.
# BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one
BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one
RestoreDesc=Dolibarr لاستعادة النسخ الاحتياطي ، يجب عليك :
RestoreDesc2=* استعادة ارشيف ملف (ملف مضغوط على سبيل المثال) للوثائق ودليل لانتزاع شجرة الملفات في دليل وثائق جديدة أو Dolibarr تركيب هذه الوثائق الحالية directoy <b>(٪).</b>
RestoreDesc3=* استعادة البيانات ، احتياطية من إلقاء الملف في قاعدة البيانات من جديد Dolibarr تركيب أو في قاعدة البيانات الحالية لهذا التثبيت. تحذير ، بعد الانتهاء من اعادة ، يجب استخدام ادخل كلمة السر ، التي كانت موجودة عندما تم احتياطية ، لربط جديد. النسخ الاحتياطي لاستعادة قاعدة بيانات في هذا التركيب الحالي ، يمكنك اتباع هذه مساعدا.
# RestoreMySQL=MySQL import
RestoreMySQL=MySQL import
ForcedToByAModule= هذه القاعدة <b>ق ٪</b> الى جانب تفعيل وحدة
PreviousDumpFiles=متاح تفريغ النسخ الاحتياطي ملفات قاعدة البيانات
WeekStartOnDay=أول يوم من الأسبوع
@ -967,9 +968,9 @@ YourPHPDoesNotHaveSSLSupport=وظائف خدمة تصميم المواقع لا
DownloadMoreSkins=مزيد من جلود بتحميل
SimpleNumRefModelDesc=عودة الرقم المرجعي للتنسيق مع nnnn - ٪ syymm ث ث حيث هي السنة ، هو شهر ملم وnnnn هو تسلسل بدون ثقب ودون إعادة تعيين
ShowProfIdInAddress=إظهار رقم حرفي مع عناوين على وثائق
# ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents
ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents
TranslationUncomplete=ترجمة جزئية
# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
MenuUseLayout=جعل القائمة العمودية hidable (يجب أن لا يتم تعطيل خيار جافا سكريبت)
MAIN_DISABLE_METEO=تعطيل ميتيو رأي
TestLoginToAPI=اختبار الدخول إلى API
@ -982,50 +983,50 @@ MAIN_PROXY_USER=الدخول لاستخدام الملقم الوكيل
MAIN_PROXY_PASS=كلمة مرور لاستخدام الملقم الوكيل
DefineHereComplementaryAttributes=هنا تعريف جميع atributes، لا تتوفر بالفعل افتراضيا، والتي تريد أن تدعم ل%s.
ExtraFields=تكميلية سمات
# ExtraFieldsLines=Complementary attributes (lines)
# ExtraFieldsThirdParties=Complementary attributes (thirdparty)
# ExtraFieldsContacts=Complementary attributes (contact/address)
# ExtraFieldsMember=Complementary attributes (member)
# ExtraFieldsMemberType=Complementary attributes (member type)
# ExtraFieldsCustomerOrders=Complementary attributes (orders)
# ExtraFieldsCustomerInvoices=Complementary attributes (invoices)
# ExtraFieldsSupplierOrders=Complementary attributes (orders)
# ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
# ExtraFieldsProject=Complementary attributes (projects)
# ExtraFieldsProjectTask=Complementary attributes (tasks)
ExtraFieldsLines=Complementary attributes (lines)
ExtraFieldsThirdParties=Complementary attributes (thirdparty)
ExtraFieldsContacts=Complementary attributes (contact/address)
ExtraFieldsMember=Complementary attributes (member)
ExtraFieldsMemberType=Complementary attributes (member type)
ExtraFieldsCustomerOrders=Complementary attributes (orders)
ExtraFieldsCustomerInvoices=Complementary attributes (invoices)
ExtraFieldsSupplierOrders=Complementary attributes (orders)
ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
ExtraFieldsProject=Complementary attributes (projects)
ExtraFieldsProjectTask=Complementary attributes (tasks)
ExtraFieldHasWrongValue=قيمة الخاصية %s له قيمة خاطئة.
# AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space
AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space
SendingMailSetup=الإعداد من sendings عن طريق البريد الإلكتروني
SendmailOptionNotComplete=تحذير، في بعض أنظمة لينكس، لإرسال البريد الإلكتروني من البريد الإلكتروني الخاص بك، يجب أن تنسخ الإعداد تنفيذ conatins الخيار، على درجة البكالوريوس (mail.force_extra_parameters المعلمة في ملف php.ini الخاص بك). إذا كان بعض المستفيدين لم تلقي رسائل البريد الإلكتروني، في محاولة لتعديل هذه المعلمة PHP مع mail.force_extra_parameters =-BA).
PathToDocuments=الطريق إلى وثائق
PathDirectory=دليل
SendmailOptionMayHurtBuggedMTA=وميزة لإرسال رسائل باستخدام طريقة &quot;البريد PHP المباشرة&quot; إنشاء رسالة البريد الإلكتروني التي قد لا تحليل بشكل صحيح من قبل بعض ملقمات البريد المتلقي. النتيجة هي أنه لا يمكن أن بعض الرسائل يمكن قراءتها من قبل الناس التي تستضيفها منصات thoose تنصتت. انها الحال بالنسبة لبعض مقدمي خدمات الإنترنت (مثال: البرتقال في فرنسا). هذه ليست مشكلة في Dolibarr ولا في PHP ولكن على استقبال خادم البريد. يمكنك إضافة MAIN_FIX_FOR_BUGGED_MTA لكن الخيار إلى 1 في الإعداد - أخرى لتعديل Dolibarr لتجنب هذا. ومع ذلك، قد تواجه مشكلة مع ملقمات أخرى أن الاحترام الصارم لمعيار SMTP. الحل الآخر (ريكومانديد) هو لاستخدام أسلوب &quot;SMTP مأخذ مكتبة&quot; التي لا يوجد لديه عيوب.
# TranslationSetup=Configuration de la traduction
# TranslationDesc=Choice of language visible on screen can be modified:<br>* Globally from menu <strong>Home - Setup - Display</strong><br>* For user only from tab <strong>User display</strong> of user card (click on login on top of screen).
# TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b>
# YouMustEnableOneModule=You must at least enable 1 module
# ClassNotFoundIntoPathWarning=Class %s not found into PHP path
# YesInSummer=Yes in summer
# OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users):
# SuhosinSessionEncrypt=Session storage encrypted by Suhosin
# ConditionIsCurrently=Condition is currently %s
# TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
# YouUseBestDriver=You use driver %s that is best driver available currently.
# YouDoNotUseBestDriver=You use drive %s but driver %s is recommanded.
# NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
# SearchOptim=Search optimization
# YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
# BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
# BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
# XDebugInstalled=XDebug est chargé.
# XCacheInstalled=XCache is loaded.
# AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
# FieldEdition=Edition of field %s
# FixTZ=TimeZone fix
# FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced)
# GetBarCode=Get barcode
# EmptyNumRefModelDesc=The code is free. This code can be modified at any time.
TranslationSetup=Configuration de la traduction
TranslationDesc=Choice of language visible on screen can be modified:<br>* Globally from menu <strong>Home - Setup - Display</strong><br>* For user only from tab <strong>User display</strong> of user card (click on login on top of screen).
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b>
YouMustEnableOneModule=You must at least enable 1 module
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
YesInSummer=Yes in summer
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users):
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
ConditionIsCurrently=Condition is currently %s
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
YouUseBestDriver=You use driver %s that is best driver available currently.
YouDoNotUseBestDriver=You use drive %s but driver %s is recommanded.
NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
SearchOptim=Search optimization
YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
XDebugInstalled=XDebug est chargé.
XCacheInstalled=XCache is loaded.
AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
FieldEdition=Edition of field %s
FixTZ=TimeZone fix
FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced)
GetBarCode=Get barcode
EmptyNumRefModelDesc=The code is free. This code can be modified at any time.
##### Module password generation
PasswordGenerationStandard=عودة كلمة سر ولدت الداخلية وفقا لخوارزمية Dolibarr : 8 أحرف مشتركة تتضمن الأرقام والحروف في حرف صغير.
PasswordGenerationNone=لا توحي بأي كلمة المرور المتولدة. يجب أن تكون كلمة السر في نوع يدويا.
@ -1048,12 +1049,12 @@ ModuleCompanyCodeDigitaria=قانون المحاسبة طرف ثالث يعتم
UseNotifications=استخدام الإخطارات
NotificationsDesc=إشعارات البريد الإلكتروني ميزة تسمح لك صمت إرسال البريد الآلي ، وبالنسبة لبعض الأحداث Dolibarr ، لأطراف ثالثة (العملاء أو الموردين) التي هي لتهيئتها. اختيار نشط الاشعار الاتصالات واعتماد أهداف واحدة لطرف ثالث في الوقت المناسب.
ModelModules=وثائق قوالب
# DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...)
DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...)
WatermarkOnDraft=علامة مائية على مشروع الوثيقة
CompanyIdProfChecker=المهنية معرف فريد
MustBeUnique=يجب أن تكون فريدة من نوعها؟
# MustBeMandatory=Mandatory to create third parties ?
# MustBeInvoiceMandatory=Mandatory to validate invoices ?
MustBeMandatory=Mandatory to create third parties ?
MustBeInvoiceMandatory=Mandatory to validate invoices ?
Miscellaneous=متفرقات
##### Webcal setup #####
WebCalSetup=Webcalendar ربط الإعداد
@ -1095,7 +1096,7 @@ EnableEditDeleteValidInvoice=تتيح إمكانية تعديل أو حذف صح
SuggestPaymentByRIBOnAccount=وتشير دفع سحب على حساب
SuggestPaymentByChequeToAddress=وتشير إلى دفع الشيكات
FreeLegalTextOnInvoices=نص حر على الفواتير
# WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty)
WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty)
##### Proposals #####
PropalSetup=وحدة إعداد مقترحات تجارية
CreateForm=خلق أشكال
@ -1108,7 +1109,7 @@ AddShippingDateAbility=إضافة قدرة الشحن والتاريخ
AddDeliveryAddressAbility=إضافة قدرة تاريخ التسليم
UseOptionLineIfNoQuantity=خط من المنتجات / الخدمات ذات الصفر المبلغ يعتبر خيارا
FreeLegalTextOnProposal=نص تجارية حرة على مقترحات
# WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty)
WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty)
##### Orders #####
OrdersSetup=أوامر إدارة الإعداد
OrdersNumberingModules=أوامر الترقيم نمائط
@ -1116,7 +1117,7 @@ OrdersModelModule=وثائق من أجل النماذج
HideTreadedOrders=إخفاء أو معاملة الغاء الاوامر في قائمة
ValidOrderAfterPropalClosed=للمصادقة على النظام بعد اقتراح أوثق ، لا يجعل من الممكن للخطوة من جانب النظام المؤقت
FreeLegalTextOnOrders=بناء على أوامر النص الحر
# WatermarkOnDraftOrders=Watermark on draft orders (none if empty)
WatermarkOnDraftOrders=Watermark on draft orders (none if empty)
##### Clicktodial #####
ClickToDialSetup=انقر لإعداد وحدة الاتصال الهاتفي
ClickToDialUrlDesc=ودعا الموقع عندما تنقر على الهاتف picto ذلك. Dans l' رابط ، vous pouvez utiliser ليه balises <br> <b>٪ ٪ 1 $ ق</b> qui الأمصال remplacé قدم المساواة جنيه téléphone دي l' appelé <br> <b>٪ ٪</b> 2 $ <b>ق</b> qui الأمصال remplacé لو قدم المساواة téléphone دي l' appelant جنيه مصري vôtre) <br> <b>٪ ٪ ل 3</b> دولار qui الأمصال remplacé vôtre ادخل clicktodial الفقرة (défini سور vôtre فيشه utilisateur) <br> <b>٪ ٪</b> 4 <b>$</b> ق qui الأمصال remplacé الفقرة vôtre يذكره دي clicktodial عتيق (défini سور vôtre فيشه utilisateur).
@ -1127,13 +1128,13 @@ InterventionsSetup=وحدة التدخل الإعداد
FreeLegalTextOnInterventions=حرر النص على وثائق التدخل
FicheinterNumberingModules=الترقيم وحدات التدخل
TemplatePDFInterventions=تدخل بطاقة نماذج الوثائق
# WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty)
WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty)
##### Contracts #####
ContractsSetup=عقود وحدة الإعداد
ContractsNumberingModules=عقود ترقيم الوحدات
# TemplatePDFContracts=Contracts documents models
# FreeLegalTextOnContracts=Free text on contracts
# WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty)
TemplatePDFContracts=Contracts documents models
FreeLegalTextOnContracts=Free text on contracts
WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty)
##### Members #####
MembersSetup=أعضاء وحدة الإعداد
MemberMainOptions=الخيارات الرئيسية
@ -1202,7 +1203,7 @@ LDAPTestSynchroContact=اختبار الاتصال 'sالتزامن
LDAPTestSynchroUser=تجربة المستخدم التزامن
LDAPTestSynchroGroup=اختبار المجموعة التزامن
LDAPTestSynchroMember=اختبار العضو التزامن
# LDAPTestSearch= Test a LDAP search
LDAPTestSearch= Test a LDAP search
LDAPSynchroOK=تزامن اختبار ناجح
LDAPSynchroKO=فشل تزامن الاختبار
LDAPSynchroKOMayBePermissions=تزامن فشل الاختبار. تأكد من أن ارتباط لخادم تهيئتها بشكل صحيح ، ويسمح LDAP udpates
@ -1266,7 +1267,7 @@ LDAPFieldSid=سيد
LDAPFieldSidExample=مثال ذلك : objectsid
LDAPFieldEndLastSubscription=تاريخ انتهاء الاكتتاب
LDAPFieldTitle=وظيفة / وظيفة
# LDAPFieldTitleExample=Example: title
LDAPFieldTitleExample=Example: title
LDAPParametersAreStillHardCoded=LDAP المعايير ما زالت hardcoded (الطبقة اتصال)
LDAPSetupNotComplete=LDAP الإعداد غير كاملة (على آخرين علامات التبويب)
LDAPNoUserOrPasswordProvidedAccessIsReadOnly=أي مدير أو كلمة السر. LDAP الوصول مجهولة وسيكون في قراءة فقط.
@ -1276,22 +1277,22 @@ LDAPDescGroups=تسمح لك هذه الصفحة لتحديد اسم LDAP الص
LDAPDescMembers=تسمح لك هذه الصفحة لتحديد اسم LDAP الصفات LDAP شجرة في كل البيانات التي وجدت على Dolibarr أعضاء الوحدة.
LDAPDescValues=مثال قيم تهدف <b>لOpenLDAP</b> مع مخططات بعد تحميلها : <b>core.schema ، cosine.schema ، inetorgperson.schema).</b> إذا كنت تستخدم thoose القيم وOpenLDAP تعديل LDAP الخاص بك ملف <b>slapd.conf</b> لجميع مخططات thoose تحميله.
ForANonAnonymousAccess=لصحتها accès (لكتابة الحصول على سبيل المثال)
# PerfDolibarr=Performance setup/optimizing report
# YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance.
# NotInstalled=Not installed, so your server is not slow down by this.
# ApplicativeCache=Applicative cache
# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.<br>More information here <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Note that a lot of web hosting provider does not provide such cache server.
# OPCodeCache=OPCode cache
# NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad).
# HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript)
# FilesOfTypeCached=Files of type %s are cached by HTTP server
# FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
# FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
# FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
# CacheByServer=Cache by server
# CacheByClient=Cache by browser
# CompressionOfResources=Compression of HTTP responses
# TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
PerfDolibarr=Performance setup/optimizing report
YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance.
NotInstalled=Not installed, so your server is not slow down by this.
ApplicativeCache=Applicative cache
MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.<br>More information here <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Note that a lot of web hosting provider does not provide such cache server.
OPCodeCache=OPCode cache
NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad).
HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript)
FilesOfTypeCached=Files of type %s are cached by HTTP server
FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
CacheByServer=Cache by server
CacheByClient=Cache by browser
CompressionOfResources=Compression of HTTP responses
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
##### Products #####
ProductSetup=المنتجات وحدة الإعداد
ServiceSetup=خدمات وحدة الإعداد
@ -1305,8 +1306,8 @@ UseSearchToSelectProduct=استخدام نموذج البحث لاختيار ا
UseEcoTaxeAbility=الدعم الاقتصادي Taxe (WEEE)
SetDefaultBarcodeTypeProducts=النوع الافتراضي لاستخدام الباركود للمنتجات
SetDefaultBarcodeTypeThirdParties=النوع الافتراضي لاستخدام الباركود لأطراف ثالثة
# ProductCodeChecker= Module for product code generation and checking (product or service)
# ProductOtherConf= Product / Service configuration
ProductCodeChecker= Module for product code generation and checking (product or service)
ProductOtherConf= Product / Service configuration
##### Syslog #####
SyslogSetup=Syslog حدة الإعداد
SyslogOutput=سجل الناتج
@ -1317,7 +1318,7 @@ SyslogSimpleFile=ملف
SyslogFilename=اسم الملف ومسار
YouCanUseDOL_DATA_ROOT=يمكنك استخدام DOL_DATA_ROOT / dolibarr.log لملف الدخول في Dolibarr "وثائق" دليل. يمكنك أن تحدد مسارا مختلفا لتخزين هذا الملف.
ErrorUnknownSyslogConstant=ق المستمر ٪ ليست معروفة syslog مستمر
# OnlyWindowsLOG_USER=Windows only supports LOG_USER
OnlyWindowsLOG_USER=Windows only supports LOG_USER
##### Donations #####
DonationsSetup=وحدة الإعداد للتبرع
DonationsReceiptModel=قالب من استلام التبرع
@ -1336,15 +1337,15 @@ BarcodeDescISBN=الباركود من نوع ردمك
BarcodeDescC39=الباركود من نوع C39
BarcodeDescC128=الباركود من نوع C128
GenbarcodeLocation=باركود الجيل سطر أداة تستخدمها phpbarcode المحرك لبعض أنواع باركود)
# BarcodeInternalEngine=Internal engine
# BarCodeNumberManager=Manager to auto define barcode numbers
BarcodeInternalEngine=Internal engine
BarCodeNumberManager=Manager to auto define barcode numbers
##### Prelevements #####
WithdrawalsSetup=انسحاب وحدة الإعداد
##### ExternalRSS #####
ExternalRSSSetup=RSS الواردات الخارجية الإعداد <textarea></textarea>
NewRSS=الجديد تغذية RSS
# RSSUrl=RSS URL
# RSSUrlExample=An interesting RSS feed
RSSUrl=RSS URL
RSSUrlExample=An interesting RSS feed
##### Mailing #####
MailingSetup=إعداد وحدة الارسال بالبريد الالكتروني
MailingEMailFrom=مرسل البريد الالكتروني (من) لرسائل البريد الإلكتروني التي بعث بها وحدة الإنترنت
@ -1372,8 +1373,8 @@ FCKeditorForCompany=WYSIWIG إنشاء / الطبعة شركات ووصف الم
FCKeditorForProduct=WYSIWIG إنشاء / الطبعة المنتجات / الخدمات ووصف المذكرة
FCKeditorForProductDetails=WYSIWIG إنشاء / الطبعة تفاصيل خطوط المنتجات لجميع الكيانات (المقترحات والأوامر والفواتير ، الخ...) <br> تحذير : استخدام هذا الخيار بجدية recommanded لأنه لا يمكن أن تخلق مشاكل مع الأحرف الخاصة وبناء صفحة صيغة عندما الشعبي الملفات.
FCKeditorForMailing= WYSIWIG إنشاء / الطبعة بالبريد
# FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
# FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing)
FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing)
##### OSCommerce 1 #####
OSCommerceErrorConnectOkButWrongDatabase=نجح الصدد ولكن قاعدة البيانات لا يبدو أن قاعدة بيانات OSCommerce (ق ٪ الرئيسية غير موجودة في الجدول ٪).
OSCommerceTestOk=علاقة الخادم '٪ ق' على قاعدة البيانات '٪ ق' مستخدم '٪ ق' ناجحة.
@ -1431,13 +1432,13 @@ Sell=يبيع
InvoiceDateUsed=فاتورة تاريخ المستخدمة
YourCompanyDoesNotUseVAT=وقد تم تسجيل شركة محددة لعدم استخدام ضريبة القيمة المضافة (الصفحة الرئيسية -- إعداد -- شركة / مؤسسة) ، لذلك لا يوجد خيارات لضريبة القيمة المضافة الإعداد.
AccountancyCode=قانون المحاسبة
# AccountancyCodeSell=Sale account. code
# AccountancyCodeBuy=Purchase account. code
AccountancyCodeSell=Sale account. code
AccountancyCodeBuy=Purchase account. code
##### Agenda #####
AgendaSetup=جدول الأعمال وحدة الإعداد
PasswordTogetVCalExport=مفتاح ربط تصدير تأذن
PastDelayVCalExport=لا تصدر الحدث الأكبر من
# AGENDA_USE_EVENT_TYPE=Use events types (managed into Configuration->Dictionary->llx_c_actioncomm)
AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionnary -> Type of agenda events)
##### ClickToDial #####
ClickToDialDesc=هذا النموذج يسمح لإضافة رمز بعد رقم هاتف Dolibarr الاتصالات. وهناك اضغط على هذه الأيقونة ، سوف يطلب من أحد serveur معينة مع تحديد عنوان لكم أدناه. ويمكن استخدام هذه الكلمة لدعوة من مركز نظام Dolibarr التي يمكن الاتصال على رقم الهاتف هذا المسبار النظام على سبيل المثال.
##### Point Of Sales (CashDesk) #####
@ -1471,10 +1472,10 @@ MultiCompanySetup=نموذج متعدد شركة الإعداد
SuppliersSetup=المورد الإعداد وحدة
SuppliersCommandModel=قالب كاملة من أجل المورد (logo...)
SuppliersInvoiceModel=كاملة قالب من فاتورة المورد (logo. ..)
# SuppliersInvoiceNumberingModel=Supplier invoices numbering models
SuppliersInvoiceNumberingModel=Supplier invoices numbering models
##### GeoIPMaxmind #####
GeoIPMaxmindSetup=GeoIP Maxmind الإعداد وحدة
# PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.<br>Examples:<br>/usr/local/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoIP.dat
PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.<br>Examples:<br>/usr/local/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoIP.dat
NoteOnPathLocation=لاحظ أن الملكية الفكرية الخاصة بك على البيانات القطرية الملف يجب أن تكون داخل الدليل الخاص بي يمكن قراءة (راجع الإعداد open_basedir بى وأذونات نظام الملفات).
YouCanDownloadFreeDatFileTo=يمكنك تحميل <b>نسخة تجريبية مجانية</b> من GeoIP ملف Maxmind البلاد في ٪ s.
YouCanDownloadAdvancedDatFileTo=كما يمكنك تحميل <b>نسخة كاملة</b> أكثر من ذلك <b>، مع التحديثات ،</b> من GeoIP ملف Maxmind البلاد في ٪ s.
@ -1483,8 +1484,8 @@ TestGeoIPResult=اختبار لتحويل الملكية الفكرية --> ال
ProjectsNumberingModules=مشاريع وحدة الترقيم
ProjectsSetup=مشروع إعداد وحدة
ProjectsModelModule=المشروع نموذج التقرير وثيقة
# TasksNumberingModules=Tasks numbering module
# TaskModelModule=Tasks reports document model
TasksNumberingModules=Tasks numbering module
TaskModelModule=Tasks reports document model
##### ECM (GED) #####
# ECMSetup = GED Setup
# ECMAutoTree = Automatic tree folder and document
ECMSetup = GED Setup
ECMAutoTree = Automatic tree folder and document

View File

@ -43,6 +43,7 @@ InvoiceBackToDraftInDolibarr=الفاتورة %s للذهاب بها إلى حا
InvoiceDeleteDolibarr=تم حذف %s من الفاتورة
OrderValidatedInDolibarr= تم توثيق %s من الطلب
OrderApprovedInDolibarr=تم الموافقة على %s من الطلب
OrderRefusedInDolibarr=Order %s refused
OrderBackToDraftInDolibarr=الطلب %s للذهاب بها إلى حالة المسودة
OrderCanceledInDolibarr=تم إلغاء %s من الطلب
InterventionValidatedInDolibarr=تم توثيق %s من التدخل
@ -52,7 +53,7 @@ InvoiceSentByEMail=تم إرسال فاتروة العميل %s بواسطة ا
SupplierOrderSentByEMail=تم إرسال طلبية المزود %s بواسطة البريد الإلكتروني
SupplierInvoiceSentByEMail=تم إرسال فاتروة المزود%s بواسطة البريد الإلكتروني
ShippingSentByEMail=تم إرسال الشحنة %s بواسطة البريد الإلكتروني
# ShippingValidated= Shipping %s validated
ShippingValidated= Shipping %s validated
InterventionSentByEMail=تم إرسال التدخل %s بواسطة البريد الإلكتروني
NewCompanyToDolibarr= تم إنشاء طرف ثالث أو خارجي
DateActionPlannedStart= التاريخ المخطط للبدء

View File

@ -8,7 +8,6 @@ BillsCustomersUnpaid=غير المدفوعة للعملاء الفواتير
BillsCustomersUnpaidForCompany=غير المدفوعة للعملاء فواتير ق ٪
BillsSuppliersUnpaid=غير المدفوعة الموردين
BillsSuppliersUnpaidForCompany=مورد غير المسددة لفواتير %s
BillsUnpaid=غير المدفوعة
BillsLate=في وقت متأخر المدفوعات
BillsStatistics=العملاء والفواتير والإحصاءات
BillsStatisticsSuppliers=الموردين إحصاءات
@ -24,13 +23,13 @@ InvoiceProFormaAsk=Proforma الفاتورة
InvoiceProFormaDesc=<b>Proforma الفاتورة</b> هو صورة حقيقية فاتورة المحاسبة ولكن ليس له قيمة.
InvoiceReplacement=استبدال الفاتورة
InvoiceReplacementAsk=استبدال فاتورة الفاتورة
InvoiceReplacementDesc=<b>استبدال الفاتورة</b> يستخدم لالغاء واستبدال تماما مع فاتورة الدفع لا تلقى بالفعل. <br><br> ملاحظة : ليس فقط من فاتورة الدفع على أنه يمكن الاستعاضة عنها. إن لم تكن مغلقة ، سيكون تلقائيا مغلقة 'المهجورة.
InvoiceReplacementDesc=<b>Replacement invoice</b> is used to cancel and replace completely an invoice with no payment already received.<br><br>Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'.
InvoiceAvoir=علما الائتمان
InvoiceAvoirAsk=علما الائتمان لتصحيح الفاتورة
InvoiceAvoirDesc=<b>الفضل</b> في <b>المذكرة</b> سلبية الفاتورة تستخدم لحل كون فاتورة بمبلغ قد يختلف عن المبلغ المدفوع فعلا (لأنه دفع الكثير من العملاء عن طريق الخطأ ، أو لن تدفع بالكامل منذ عودته لبعض المنتجات على سبيل المثال).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=يستعاض عن فاتورة ٪ ق
ReplacementInvoice=استبدال الفاتورة
ReplacedByInvoice=بعبارة فاتورة ق ٪
@ -59,7 +58,7 @@ Payment=الدفع
PaymentBack=دفع العودة
Payments=المدفوعات
PaymentsBack=عودة المدفوعات
# PaidBack=Paid back
PaidBack=Paid back
DatePayment=تاريخ الدفع
DeletePayment=حذف الدفع
ConfirmDeletePayment=هل أنت متأكد من أنك تريد حذف هذا المبلغ؟
@ -67,28 +66,28 @@ ConfirmConvertToReduc=هل تريد تحويل هذه القروض إلى الو
SupplierPayments=الموردين والمدفوعات
ReceivedPayments=تلقت مدفوعات
ReceivedCustomersPayments=المدفوعات المقبوضة من الزبائن
# PayedSuppliersPayments=Payments payed to suppliers
PayedSuppliersPayments=Payments payed to suppliers
ReceivedCustomersPaymentsToValid=تلقى مدفوعات عملاء للمصادقة
PaymentsReportsForYear=تقارير المدفوعات للق ٪
PaymentsReports=تقارير المدفوعات
PaymentsAlreadyDone=المدفوعات قد فعلت
# PaymentsBackAlreadyDone=Payments back already done
PaymentsBackAlreadyDone=Payments back already done
PaymentRule=دفع الحكم
PaymentMode=نوع الدفع
PaymentConditions=مدة السداد
PaymentConditionsShort=مدة السداد
PaymentAmount=دفع مبلغ
# ValidatePayment=Validate payment
ValidatePayment=Validate payment
PaymentHigherThanReminderToPay=دفع أعلى من دفع تذكرة
HelpPaymentHigherThanReminderToPay=الاهتمام ، على دفع مبلغ واحد أو أكثر من فواتير أعلى من الراحة على الدفع. <br> تعديل الدخول ، تؤكد خلاف ذلك والتفكير في خلق الائتمان علما الزائدة وتلقى كل الفواتير الزائدة.
# HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay. <br> Edit your entry, otherwise confirm.
HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay. <br> Edit your entry, otherwise confirm.
ClassifyPaid=تصنيف 'مدفوع'
ClassifyPaidPartially=تصنيف 'مدفوع جزئيا'
ClassifyCanceled=تصنيف 'المهجورة'
ClassifyClosed=تصنيف 'مغلقة'
CreateBill=إنشاء الفاتورة
AddBill=تضيف المذكرة الائتمان أو فاتورة
# AddToDraftInvoices=Add to draft invoice
AddToDraftInvoices=Add to draft invoice
DeleteBill=شطب فاتورة
SearchACustomerInvoice=البحث عن زبون فاتورة
SearchASupplierInvoice=البحث عن مورد فاتورة
@ -171,7 +170,7 @@ ConfirmClassifyPaidPartiallyReasonOtherDesc=استخدام هذا الخيار
ConfirmClassifyAbandonReasonOther=أخرى
ConfirmClassifyAbandonReasonOtherDesc=هذا الخيار وسوف يستخدم في جميع الحالات الأخرى. على سبيل المثال لأنك من خطة لإقامة استبدال الفاتورة.
ConfirmCustomerPayment=هل تؤكد ذلك دفع مساهمات <b>٪</b> ٪ <b>ق</b> ق؟
# ConfirmSupplierPayment=Do you confirm this payment input for <b>%s</b> %s ?
ConfirmSupplierPayment=Do you confirm this payment input for <b>%s</b> %s ?
ConfirmValidatePayment=هل أنت متأكد أنك تريد التحقق من صحة هذا الدفع؟ لم يطرأ أي تغيير يمكن الدفع مرة واحدة على صحتها.
ValidateBill=التحقق من صحة الفواتير
UnvalidateBill=Unvalidate فاتورة
@ -188,13 +187,13 @@ ShowInvoiceDeposit=وتبين أن تودع الفاتورة
ShowPayment=وتظهر الدفع
File=ملف
AlreadyPaid=دفعت بالفعل
# AlreadyPaidBack=Already paid back
AlreadyPaidBack=Already paid back
AlreadyPaidNoCreditNotesNoDeposits=دفعت بالفعل (بدون تلاحظ الائتمان والودائع)
Abandoned=المهجورة
RemainderToPay=تبقى على الدفع
RemainderToTake=ما تبقى لاتخاذ
# RemainderToPayBack=Remainder to pay back
# Rest=Pending
RemainderToPayBack=Remainder to pay back
Rest=Pending
AmountExpected=المبلغ المطالب به
ExcessReceived=تلقى الزائدة
EscompteOffered=عرض الخصم (الدفع قبل الأجل)
@ -204,7 +203,7 @@ StandingOrders=أوامر دائمة
StandingOrder=من أجل الوقوف
NoDraftBills=أي مشروع الفواتير
NoOtherDraftBills=أي مشروع الفواتير
# NoDraftInvoices=No draft invoices
NoDraftInvoices=No draft invoices
RefBill=فاتورة المرجع
ToBill=على مشروع قانون
RemainderToBill=تبقى لمشروع قانون
@ -217,7 +216,6 @@ DateEcheance=الحد من الموعد المقرر
DateInvoice=تاريخ الفاتورة
NoInvoice=لا الفاتورة
ClassifyBill=تصنيف الفاتورة
NoSupplierBillsUnpaid=لا الفواتير غير المدفوعة للموردين
SupplierBillsToPay=دفع فواتير الموردين
CustomerBillsUnpaid=فواتير غير مدفوعة للعملاء
DispenseMontantLettres=ليه factures rédigées قدم المساواة طرائق mécanographiques sont l' arrêté dispensées دي én lettres
@ -246,12 +244,12 @@ Discount=الخصم
Discounts=خصومات
AddDiscount=إضافة الخصم
AddRelativeDiscount=خلق خصم قريب
# EditRelativeDiscount=Edit relative discount
EditRelativeDiscount=Edit relative discount
AddGlobalDiscount=إضافة الخصم
EditGlobalDiscounts=تعديل الخصومات مطلق
AddCreditNote=علما خلق الائتمان
ShowDiscount=وتظهر الخصم
# ShowReduc=Show the deduction
ShowReduc=Show the deduction
RelativeDiscount=الخصم النسبي
GlobalDiscount=خصم العالمية
CreditNote=علما الائتمان
@ -288,7 +286,7 @@ InvoiceNotChecked=لا فاتورة مختارة
CloneInvoice=استنساخ الفاتورة
ConfirmCloneInvoice=هل أنت متأكد من استنساخ هذه الفاتورة <b>٪ ق؟</b>
DisabledBecauseReplacedInvoice=العمل والمعوقين بسبب الفاتورة قد استبدل
DescTaxAndDividendsArea=هذا المجال يقدم موجزا لجميع المبالغ المدفوعة للضريبة أو المساهمات الاجتماعية. إلا سجلات الدفع خلال السنة ثابتة مدرجة هنا.
DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payment during the fixed year are included here.
NbOfPayments=ملاحظة : للمدفوعات
SplitDiscount=انقسام في الخصم
ConfirmSplitDiscount=هل أنت متأكد من أن هذا الانقسام خصم <b>٪ ق</b> ق ٪ الى 2 خصومات أقل؟
@ -311,12 +309,12 @@ PaymentConditionShort60DENDMONTH=60 يوما من نهاية الشهر
PaymentCondition60DENDMONTH=60 يوما من نهاية الشهر
PaymentConditionShortPT_DELIVERY=تسليم
PaymentConditionPT_DELIVERY=التسليم
# PaymentConditionShortPT_ORDER=On order
# PaymentConditionPT_ORDER=On order
# PaymentConditionShortPT_5050=50-50
# PaymentConditionPT_5050=50%% in advance, 50%% on delivery
# FixAmount=Fix amount
# VarAmount=Variable amount (%% tot.)
PaymentConditionShortPT_ORDER=On order
PaymentConditionPT_ORDER=On order
PaymentConditionShortPT_5050=50-50
PaymentConditionPT_5050=50%% in advance, 50%% on delivery
FixAmount=Fix amount
VarAmount=Variable amount (%% tot.)
# PaymentType
PaymentTypeVIR=الودائع المصرفية
@ -367,7 +365,7 @@ LawApplicationPart2=البضاعة تظل ملكا لل
LawApplicationPart3=البائع إلى حين استكمال صرف
LawApplicationPart4=ثمنها.
LimitedLiabilityCompanyCapital=SARL برأس مال
# UseLine=Apply
UseLine=Apply
UseDiscount=استخدام الخصم
UseCredit=استخدام القروض
UseCreditNoteInInvoicePayment=تخفيض المبلغ لدفع هذه القروض
@ -392,13 +390,18 @@ CantRemovePaymentWithOneInvoicePaid=تصنيف لا يمكن إزالة الدف
ExpectedToPay=من المتوقع الدفع
PayedByThisPayment=سيولي هذا الدفع
ClosePaidInvoicesAutomatically=تصنيف &quot;سيولي&quot; كل معيار أو الفواتير استبدال سيولي entirely.
# ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
AllCompletelyPayedInvoiceWillBeClosed=كل فاتورة مع عدم وجود لا تزال لدفع ستغلق تلقائيا إلى &quot;فياض&quot; الوضع.
# ToMakePayment=Pay
# ToMakePaymentBack=Pay back
# ListOfYourUnpaidInvoices=List of unpaid invoices
# NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative.
# RevenueStamp=Revenue stamp
ToMakePayment=Pay
ToMakePaymentBack=Pay back
ListOfYourUnpaidInvoices=List of unpaid invoices
NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative.
RevenueStamp=Revenue stamp
YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty
PDFCrabeDescription=نموذج فاتورة Crabe. نموذج الفاتورة كاملة (دعم الخيار الضريبة على القيمة المضافة ، والخصومات ، وشروط الدفع ، والشعار ، الخ..)
TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
TerreNumRefModelError=وهناك مشروع قانون بدءا من دولار ويوجد بالفعل syymm لا تتفق مع هذا النموذج من التسلسل. إزالة أو تغيير تسميتها لتصبح لتفعيل هذه الوحدة.
##### Types de contacts #####
TypeContact_facture_internal_SALESREPFOLL=ممثل العميل متابعة فاتورة
TypeContact_facture_external_BILLING=الزبون فاتورة الاتصال
@ -408,11 +411,3 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=ممثل المورد متا
TypeContact_invoice_supplier_external_BILLING=المورد فاتورة الاتصال
TypeContact_invoice_supplier_external_SHIPPING=المورد الشحن الاتصال
TypeContact_invoice_supplier_external_SERVICE=المورد خدمة الاتصال
# crabe PDF Model
PDFCrabeDescription=نموذج فاتورة Crabe. نموذج الفاتورة كاملة (دعم الخيار الضريبة على القيمة المضافة ، والخصومات ، وشروط الدفع ، والشعار ، الخ..)
# oursin PDF Model
PDFOursinDescription=نموذج فاتورة oursin
# NumRef Modules
# TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
# MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
TerreNumRefModelError=وهناك مشروع قانون بدءا من دولار ويوجد بالفعل syymm لا تتفق مع هذا النموذج من التسلسل. إزالة أو تغيير تسميتها لتصبح لتفعيل هذه الوحدة.

View File

@ -1,12 +1,11 @@
# Dolibarr language file - Source file is en_US - errors
# No errors
# NoErrorCommitIsDone=No error, we commit
NoErrorCommitIsDone=No error, we commit
# Errors
Error=خطأ
Errors=أخطاء
# ErrorButCommitIsDone=Errors found but we validate despite this
ErrorButCommitIsDone=Errors found but we validate despite this
ErrorBadEMail=بريد إلكتروني خاطئ %s
ErrorBadUrl=عنوان الموقع هو الخطأ %s
ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل.
@ -24,13 +23,13 @@ ErrorThisContactIsAlreadyDefinedAsThisType=هذا الاتصال هو اتصال
ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط.
ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة.
ErrorBadThirdPartyName=سوء قيمة اسم طرف ثالث
# ErrorProdIdIsMandatory=The %s is mandatory
ErrorProdIdIsMandatory=The %s is mandatory
ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة
# ErrorBadBarCodeSyntax=Bad syntax for bar code
ErrorBadBarCodeSyntax=Bad syntax for bar code
ErrorCustomerCodeRequired=رمز العميل المطلوبة
# ErrorBarCodeRequired=Bar code required
ErrorBarCodeRequired=Bar code required
ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء
# ErrorBarCodeAlreadyUsed=Bar code already used
ErrorBarCodeAlreadyUsed=Bar code already used
ErrorPrefixRequired=المطلوب ببادئة
ErrorUrlNotValid=موقع معالجة صحيحة
ErrorBadSupplierCodeSyntax=مورد سوء تركيب لمدونة
@ -40,7 +39,7 @@ ErrorBadParameters=بارامترات سيئة
ErrorBadValueForParameter=قيمة خاطئة &quot;%s 'ل' %s&quot; المعلمة غير صحيحة
ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد
ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ
# ErrorWrongDate=Date is not correct!
ErrorWrongDate=Date is not correct!
ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=العثور على بريد إلكتروني صحيح لتركيب خطوط ق ٪ في ملف (على سبيل المثال خط ٪ ق= ٪ مع البريد الإلكتروني)
ErrorUserCannotBeDelete=المستخدم لا يمكن حذفها. قد يكون ذلك مرتبطا Dolibarr على الكيانات.
@ -61,21 +60,21 @@ ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المسا
ErrorFileSizeTooLarge=حجم الملف كبير جدا.
ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم
ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم
# ErrorNoValueForSelectType=Please fill value for select list
# ErrorNoValueForCheckBoxType=Please fill value for checkbox list
# ErrorNoValueForRadioType=Please fill value for radio list
# ErrorBadFormatValueList=The list value cannot have more than one come : <u>%s</u>, but need at least one: llave,valores
ErrorNoValueForSelectType=Please fill value for select list
ErrorNoValueForCheckBoxType=Please fill value for checkbox list
ErrorNoValueForRadioType=Please fill value for radio list
ErrorBadFormatValueList=The list value cannot have more than one come : <u>%s</u>, but need at least one: llave,valores
ErrorFieldCanNotContainSpecialCharacters=ميدان <b>٪ ق</b> يجب ألا يحتوي على أحرف خاصة.
# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field <b>%s</b> must not contains special characters, nor upper case characters.
ErrorFieldCanNotContainSpecialNorUpperCharacters=Field <b>%s</b> must not contains special characters, nor upper case characters.
ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل
# ErrorExportDuplicateProfil=This profile name already exists for this export set.
ErrorExportDuplicateProfil=This profile name already exists for this export set.
ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا.
ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء.
ErrorCantSaveADoneUserWithZeroPercentage=لا يمكن انقاذ عمل مع "المركز الخاص لم تبدأ" اذا الميدان "الذي قام به" كما شغلها.
ErrorRefAlreadyExists=المرجع المستخدمة لإنشاء موجود بالفعل.
ErrorPleaseTypeBankTransactionReportName=الرجاء كتابة اسم البنك استلام المعاملات ويقال فيها (شكل YYYYMM أو YYYYMMDD)
ErrorRecordHasChildren=فشل حذف السجلات منذ نحو الطفل.
# ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into other object.
ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into other object.
ErrorModuleRequireJavascript=يجب عدم تعطيل جافا سكريبت لجعل هذا العمل الميزة. لتمكين / تعطيل جافا سكريبت ، انتقل إلى القائمة الرئيسية -> الإعداد -> العرض.
ErrorPasswordsMustMatch=ويجب على كلا كلمات المرور المكتوبة تطابق بعضها البعض
ErrorContactEMail=وقع خطأ فني. من فضلك، اتصل بمسؤول إلى البريد الإلكتروني بعد <b>%s</b> EN توفير <b>%s</b> رمز الخطأ في رسالتك، أو حتى أفضل من خلال إضافة نسخة شاشة من هذه الصفحة.
@ -117,27 +116,27 @@ ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة
ErrorBothFieldCantBeNegative=ويمكن لحقول %s و%s لا تكون سلبية
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
# ErrUnzipFails=Failed to unzip %s with ZipArchive
# ErrNoZipEngine=No engine to unzip %s file in this PHP
# ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package
# ErrorFileRequired=It takes a package Dolibarr file
# ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal
# ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base
# ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base
# ErrorNewValueCantMatchOldValue=New value can't be equal to old one
# ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process.
# ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server is running (in most cases, you can launch it from command line with 'sudo /etc/init.d/mysql start').
# ErrorFailedToAddContact=Failed to add contact
# ErrorDateMustBeBeforeToday=The date can not be greater than today
# ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode.
# ErrorPHPNeedModule=Error, your PHP must have module <b>%s</b> installed to use this feature.
# ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s
# ErrorWarehouseMustDiffers=Source and target warehouses must differs
# ErrorBadFormat=Bad format!
# ErrorPaymentDateLowerThanInvoiceDate=Payment date (%s) cant' be before invoice date (%s) for invoice %s.
ErrUnzipFails=Failed to unzip %s with ZipArchive
ErrNoZipEngine=No engine to unzip %s file in this PHP
ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package
ErrorFileRequired=It takes a package Dolibarr file
ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal
ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base
ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base
ErrorNewValueCantMatchOldValue=New value can't be equal to old one
ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process.
ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server is running (in most cases, you can launch it from command line with 'sudo /etc/init.d/mysql start').
ErrorFailedToAddContact=Failed to add contact
ErrorDateMustBeBeforeToday=The date can not be greater than today
ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode.
ErrorPHPNeedModule=Error, your PHP must have module <b>%s</b> installed to use this feature.
ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s
ErrorWarehouseMustDiffers=Source and target warehouses must differs
ErrorBadFormat=Bad format!
ErrorPaymentDateLowerThanInvoiceDate=Payment date (%s) cant' be before invoice date (%s) for invoice %s.
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any thirdparty. Link member to an existing third party or create a new thirdparty before creating subscription with invoice.
# Warnings
# WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
WarningSafeModeOnCheckExecDir=انذار ، فب <b>safe_mode</b> الخيار في ذلك تخزين الأمر يجب أن يكون داخل الدليل الذي أعلنته <b>safe_mode_exec_dir</b> المعلمة بي.
WarningAllowUrlFopenMustBeOn=<b>allow_url_fopen</b> المعلم يجب أن يوضع <b>على</b> المدون في <b>php.ini</b> لتعمل هذه الوحدة بشكل كامل. يجب عليك أن تعدل عن هذا الملف يدويا.
WarningBuildScriptNotRunned=السيناريو <b>٪ ق</b> لم يكن يتعارض مع بناء الرسومات ، أو عدم وجود بيانات تظهر.
@ -146,9 +145,9 @@ WarningPassIsEmpty=تحذير كلمة سر قاعدة بيانات فارغة.
WarningConfFileMustBeReadOnly=انذار ، ملف (التكوين <b>htdocs / أسيوط / conf.php)</b> الخاص يمكن أن تكون الكتابة بواسطة خادم الويب. هذه هي ثغرة أمنية خطيرة. أذونات تعديل على ملف ليكون في وضع القراءة فقط لمستخدم نظام التشغيل المستخدمة من قبل ملقم ويب. إذا كنت تستخدم ويندوز وشكل نسبة الدهون لمدة القرص الخاص بك ، فإنك يجب أن نعرف أن هذا النظام لا يسمح ملف لإضافة الأذونات على الملف ، بحيث لا تكون آمنة تماما.
WarningsOnXLines=تحذيرات عن مصدر خطوط <b>%s</b>
WarningNoDocumentModelActivated=لا يوجد نموذج لجيل وثيقة ، قد تم تنشيط. سيكون نموذج المختار افتراضيا حتى يمكنك التحقق من إعداد وحدة الخاص.
# WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable install/migrate tools by adding a file <b>install.lock</b> into directory <b>%s</b>. Missing this file is a security hole.
WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable install/migrate tools by adding a file <b>install.lock</b> into directory <b>%s</b>. Missing this file is a security hole.
WarningUntilDirRemoved=كل التحذيرات الأمنية (مرئية من قبل المستخدمين مشرف فقط) وسوف تبقى نشطة طالما أن الضعف الحالي (أو لم يضف هذا MAIN_REMOVE_INSTALL_WARNING مستمر في الإعداد&gt; الإعداد الأخرى).
# WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution.
# WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box.
# WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card).
# WarningNotRelevant=Irrelevant operation for this dataset
WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution.
WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box.
WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card).
WarningNotRelevant=Irrelevant operation for this dataset

View File

@ -2,10 +2,10 @@
Language_ar_AR=العربية
Language_ar_SA=العربية
# Language_bg_BG=Bulgarian
# Language_bs_BA=Bosnian
Language_bg_BG=Bulgarian
Language_bs_BA=Bosnian
Language_ca_ES=كاتالاني
# Language_cs_CZ=Czech
Language_cs_CZ=Czech
Language_da_DA=الدانمركية
Language_da_DK=دانماركي
Language_de_DE=اللغة الألمانية
@ -15,35 +15,36 @@ Language_en_AU=الإنكليزية (أستراليا)
Language_en_GB=الانجليزية (المملكة المتحدة)
Language_en_IN=الإنكليزية (الهند)
Language_en_NZ=الإنجليزية (نيوزيلندا)
# Language_en_SA=English (Saudi Arabia)
Language_en_SA=English (Saudi Arabia)
Language_en_US=الإنكليزية (الولايات المتحدة)
# Language_en_ZA=English (South Africa)
Language_en_ZA=English (South Africa)
Language_es_ES=الأسبانية
Language_es_AR=الأسبانية (الأرجنتين)
Language_es_CL=Spanish (Chile)
Language_es_HN=الأسبانية (هندوراس)
Language_es_MX=الإسبانية (المكسيك)
# Language_es_PY=Spanish (Paraguay)
# Language_es_PE=Spanish (Peru)
Language_es_PY=Spanish (Paraguay)
Language_es_PE=Spanish (Peru)
Language_es_PR=الأسبانية (بورتو ريكو)
# Language_et_EE=Estonian
# Language_eu_ES=Basque
Language_et_EE=Estonian
Language_eu_ES=Basque
Language_fa_IR=اللغة الفارسية
Language_fi_FI=زعانف
Language_fr_BE=الفرنسية (بلجيكا)
Language_fr_CA=الفرنسية (كندا)
Language_fr_CH=الفرنسية (سويسرا)
Language_fr_FR=الفرنسية
# Language_fr_NC=French (New Caledonia)
# Language_he_IL=Hebrew
# Language_hr_HR=Croatian
Language_fr_NC=French (New Caledonia)
Language_he_IL=Hebrew
Language_hr_HR=Croatian
Language_hu_HU=المجري
Language_is_IS=الآيسلندي
Language_it_IT=الإيطالي
Language_ja_JP=اليابانية
# Language_ko_KR=Korean
# Language_lt_LT=Lithuanian
# Language_lv_LV=Latvian
# Language_mk_MK=Macedonian
Language_ko_KR=Korean
Language_lt_LT=Lithuanian
Language_lv_LV=Latvian
Language_mk_MK=Macedonian
Language_nb_NO=النرويجية (بوكمال)
Language_nl_BE=الهولندية (بلجيكا)
Language_nl_NL=الهولندية (هولندا)
@ -57,10 +58,11 @@ Language_tr_TR=التركية
Language_sl_SI=السلوفينية
Language_sv_SV=السويدية
Language_sv_SE=السويدية
# Language_sk_SK=Slovakian
# Language_th_TH=Thai
# Language_uk_UA=Ukrainian
# Language_uz_UZ=Uzbek
# Language_vi_VN=Vietnamese
Language_sq_AL=Albanian
Language_sk_SK=Slovakian
Language_th_TH=Thai
Language_uk_UA=Ukrainian
Language_uz_UZ=Uzbek
Language_vi_VN=Vietnamese
Language_zh_CN=الصينية
# Language_zh_TW=Chinese (Traditional)
Language_zh_TW=Chinese (Traditional)

View File

@ -9,7 +9,7 @@ FONTSIZEFORPDF=9
SeparatorDecimal=.
SeparatorThousand=None
FormatDateShort=%d/%m/%Y
# FormatDateShortInput=%m/%d/%Y
FormatDateShortInput=%m/%d/%Y
FormatDateShortJava=dd/MM/yyyy
FormatDateShortJavaInput=dd/MM/yyyy
FormatDateShortJQuery=dd/mm/yy
@ -19,12 +19,12 @@ FormatHourShortDuration=%H:%M
FormatDateTextShort=%d %b %Y
FormatDateText=%d %B %Y
FormatDateHourShort=%d/%m/%Y %H:%M
# FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p
FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p
FormatDateHourTextShort=%d %b %Y %H:%M
FormatDateHourText=%d %B %Y %H:%M
DatabaseConnection=قاعدة بيانات الصدد
# NoTranslation=No translation
# NoRecordFound=No record found
NoTranslation=No translation
NoRecordFound=No record found
NoError=أي خطأ
Error=خطأ
ErrorFieldRequired=الميدان '٪ ق' مطلوب
@ -34,7 +34,7 @@ ErrorFailedToOpenFile=فشل في فتح الملف ٪ ق
ErrorCanNotCreateDir=لا يمكن إنشاء دير ق
ErrorCanNotReadDir=لا يمكن قراءة دير ق
ErrorConstantNotDefined=معلمة ٪s ق لم تحدد
# ErrorUnknown=Unknown error
ErrorUnknown=Unknown error
ErrorSQL=خطأ SQL
ErrorLogoFileNotFound=شعار ملف '٪ ق' لم يتم العثور على
ErrorGoToGlobalSetup=اذهب إلى 'شركة / مؤسسة' الإعداد لتثبيت هذا
@ -60,16 +60,16 @@ ErrorNoSocialContributionForSellerCountry=خطأ ، لا يوجد نوع الم
ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف.
ErrorOnlyPngJpgSupported=خطأ فقط. بابوا نيو غينيا ، وجيه. شكل صورة ملف الدعم.
ErrorImageFormatNotSupported=PHP الخاص بك لا يدعم وظائف لتحويل الصور من هذا الشكل.
# SetDate=Set date
# SelectDate=Select a date
# SeeAlso=See also %s
SetDate=Set date
SelectDate=Select a date
SeeAlso=See also %s
BackgroundColorByDefault=لون الخلفية الافتراضي
FileWasNotUploaded=يتم تحديد ملف مرفق لكنه لم يكن بعد تحميلها. انقر على "ملف إرفاق" لهذا الغرض.
NbOfEntries=ملاحظة : إدخالات
GoToWikiHelpPage=الانترنت تساعد على قراءة (على ضرورة الوصول إلى الإنترنت)
GoToHelpPage=قراءة مساعدة
RecordSaved=سجل المحفوظة
# RecordDeleted=Record deleted
RecordDeleted=Record deleted
LevelOfFeature=مستوى الملامح
NotDefined=غير معرف
DefinedAndHasThisValue=وحددت قيمة
@ -94,6 +94,7 @@ InformationLastAccessInError=آخر المعلومات عن الوصول إلى
DolibarrHasDetectedError=Dolibarr اكتشفت خطأ فني
InformationToHelpDiagnose=هذه هي المعلومات التي يمكن أن تساعد على تشخيص
MoreInformation=مزيد من المعلومات
TechnicalInformation=Technical information
NotePublic=علما (العامة)
NotePrivate=المذكرة (الخاصة)
PrecisionUnitIsLimitedToXDecimals=Dolibarr كان الإعداد بدقة للحد من أسعار الوحدات إلى <b>٪ ق</b> عشرية.
@ -119,7 +120,7 @@ Activated=تفعيل
Closed=مغلقة
Closed2=مغلقة
Enabled=مكن
# Deprecated=Deprecated
Deprecated=Deprecated
Disable=يعطل
Disabled=المعاقين
Add=إضافة
@ -146,8 +147,8 @@ ToClone=استنساخ
ConfirmClone=اختر البيانات التي تريد استنساخ :
NoCloneOptionsSpecified=لا توجد بيانات محددة للاستنساخ.
Of=من
# Go=Go
# Run=Run
Go=Go
Run=Run
CopyOf=نسخة من
Show=يظهر
ShowCardHere=وتظهر البطاقة
@ -157,7 +158,7 @@ Valid=صحيح
Approve=الموافقة
ReOpen=إعادة فتح
Upload=ارسال الملف
# ToLink=Link
ToLink=Link
Select=رتخا
Choose=يختار
ChooseLangage=من فضلك اختر اللغة
@ -259,13 +260,13 @@ Seconds=ثانية
Today=اليوم
Yesterday=أمس
Tomorrow=غدا
# Morning=Morning
# Afternoon=Afternoon
Morning=Morning
Afternoon=Afternoon
Quadri=قادري
MonthOfDay=خلال شهر من اليوم
HourShort=حاء
Rate=سعر
# UseLocalTax=Include tax
UseLocalTax=Include tax
Bytes=بايت
KiloBytes=كيلو بايت
MegaBytes=ميغا بايت
@ -297,8 +298,8 @@ AmountTTCShort=المبلغ (شركة الضريبية)
AmountHT=المبلغ (صافي الضرائب)
AmountTTC=المبلغ (شركة الضريبية)
AmountVAT=مبلغ الضريبة على القيمة المضافة
# AmountLT1=Amount tax 2
# AmountLT2=Amount tax 3
AmountLT1=Amount tax 2
AmountLT2=Amount tax 3
AmountLT1ES=كمية الطاقة المتجددة
AmountLT2ES=مبلغ IRPF
AmountTotal=المبلغ الإجمالي
@ -313,12 +314,12 @@ SubTotal=المجموع الفرعي
TotalHTShort=المجموع (الصافي)
TotalTTCShort=المجموع (شركة الضريبية)
TotalHT=المجموع (الصافي للضريبة)
# TotalHTforthispage=Total (net of tax) for this page
TotalHTforthispage=Total (net of tax) for this page
TotalTTC=المجموع (شركة الضريبية)
TotalTTCToYourCredit=المجموع (شركة الضريبية) الائتمان الخاصة بك
TotalVAT=مجموع الضريبة على القيمة المضافة
# TotalLT1=Total tax 2
# TotalLT2=Total tax 3
TotalLT1=Total tax 2
TotalLT2=Total tax 3
TotalLT1ES=مجموع الطاقة المتجددة
TotalLT2ES=مجموع IRPF
IncludedVAT=وتشمل الضريبة على القيمة المضافة
@ -338,7 +339,7 @@ FullList=القائمة الكاملة
Statistics=احصاءات
OtherStatistics=آخر الإحصاءات
Status=حالة
# ShortInfo=Info.
ShortInfo=Info.
Ref=المرجع.
RefSupplier=المرجع. المورد
RefPayment=المرجع. الدفع
@ -356,8 +357,8 @@ ActionRunningShort=بدأت
ActionDoneShort=انتهى
CompanyFoundation=الشركة / المؤسسة
ContactsForCompany=اتصالات لهذا الطرف الثالث
# ContactsAddressesForCompany=Contacts/addresses for this third party
# AddressesForCompany=Addresses for this third party
ContactsAddressesForCompany=Contacts/addresses for this third party
AddressesForCompany=Addresses for this third party
ActionsOnCompany=الأعمال حول هذا الطرف الثالث
ActionsOnMember=أحداث حول هذا العضو
NActions=ق ٪ الإجراءات
@ -393,7 +394,7 @@ OtherInformations=معلومات أخرى
Quantity=الكمية
Qty=الكمية
ChangedBy=تغيير
# ReCalculate=Recalculate
ReCalculate=Recalculate
ResultOk=النجاح
ResultKo=فشل
Reporting=الإبلاغ
@ -488,8 +489,8 @@ Report=تقرير
Keyword=الفحص السنوي clé
Legend=أسطورة
FillTownFromZip=شغل البلدة من الرمز البريدي
# Fill=Fill
# Reset=Reset
Fill=Fill
Reset=Reset
ShowLog=وتظهر الدخول
File=ملف
Files=ملفات
@ -504,8 +505,8 @@ NbOfThirdParties=عدد من الأطراف الثالثة
NbOfCustomers=عدد من العملاء
NbOfLines=عدد الخطوط
NbOfObjects=عدد الأجسام
# NbOfReferers=Number of referrers
# Referers=Consumption
NbOfReferers=Number of referrers
Referers=Consumption
TotalQuantity=الكمية الإجمالية
DateFromTo=ل٪ من ق ق ٪
DateFrom=من ق ٪
@ -558,7 +559,7 @@ GoBack=العودة
CanBeModifiedIfOk=يمكن تعديلها إذا كان صحيحا
CanBeModifiedIfKo=يمكن تعديلها إذا لم يكن صحيحا
RecordModifiedSuccessfully=سجل تعديل بنجاح
# RecordsModified=%s records modified
RecordsModified=%s records modified
AutomaticCode=مدونة الآلي
NotManaged=لم يفلح
FeatureDisabled=سمة المعوقين
@ -574,7 +575,7 @@ TotalWoman=المجموع
TotalMan=المجموع
NeverReceived=لم يتلق
Canceled=ألغى
# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary
YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary
Color=لون
Documents=ربط الملفات
DocumentsNb=ملفات مرتبطة (%s)
@ -589,7 +590,7 @@ ThisLimitIsDefinedInSetup=Dolibarr الحد (القائمة المنزل الإ
NoFileFound=لا الوثائق المحفوظة في هذا المجلد
CurrentUserLanguage=الصيغة الحالية
CurrentTheme=الموضوع الحالي
# CurrentMenuManager=Current menu manager
CurrentMenuManager=Current menu manager
DisabledModules=والمعوقين وحدات
For=لأجل
ForCustomer=الزبون
@ -608,7 +609,7 @@ CloneMainAttributes=استنساخ وجوه مع السمات الرئيسية
PDFMerge=دمج الشعبي
Merge=دمج
PrintContentArea=وتظهر الصفحة الرئيسية لطباعة ناحية المحتوى
# MenuManager=Menu manager
MenuManager=Menu manager
NoMenu=لا القائمة الفرعية
WarningYouAreInMaintenanceMode=انذار ، كنت في وضع الصيانة ، <b>%s</b> الدخول فقط بحيث يتم السماح لاستخدام التطبيق في الوقت الراهن.
CoreErrorTitle=نظام خطأ
@ -650,26 +651,26 @@ ByYear=بحلول العام
ByMonth=من قبل شهر
ByDay=بعد يوم
BySalesRepresentative=بواسطة مندوب مبيعات
# LinkedToSpecificUsers=Linked to a particular user contact
# DeleteAFile=Delete a file
# ConfirmDeleteAFile=Are you sure you want to delete file
# NoResults=No results
# ModulesSystemTools=Modules tools
# Test=Test
# Element=Element
# NoPhotoYet=No pictures available yet
# HomeDashboard=Home summary
# Deductible=Deductible
# from=from
# toward=toward
# Access=Access
# HelpCopyToClipboard=Use Ctrl+C to copy to clipboard
# SaveUploadedFileWithMask=Save file on server with name "<strong>%s</strong>" (otherwise "%s")
# OriginFileName=Original filename
# SetDemandReason=Set source
# ViewPrivateNote=View notes
# XMoreLines=%s line(s) hidden
# PublicUrl=Public URL
LinkedToSpecificUsers=Linked to a particular user contact
DeleteAFile=Delete a file
ConfirmDeleteAFile=Are you sure you want to delete file
NoResults=No results
ModulesSystemTools=Modules tools
Test=Test
Element=Element
NoPhotoYet=No pictures available yet
HomeDashboard=Home summary
Deductible=Deductible
from=from
toward=toward
Access=Access
HelpCopyToClipboard=Use Ctrl+C to copy to clipboard
SaveUploadedFileWithMask=Save file on server with name "<strong>%s</strong>" (otherwise "%s")
OriginFileName=Original filename
SetDemandReason=Set source
ViewPrivateNote=View notes
XMoreLines=%s line(s) hidden
PublicUrl=Public URL
# Week day
Monday=يوم الاثنين

View File

@ -1,51 +1,50 @@
# Dolibarr language file - Source file is en_US - marges
# Margin=Margin
# Margins=Margins
# TotalMargin=Total Margin
# MarginOnProducts=Margin / Products
# MarginOnServices=Margin / Services
# MarginRate=Margin rate
# MarkRate=Mark rate
# DisplayMarginRates=Display margin rates
# DisplayMarkRates=Display mark rates
# InputPrice=Input price
Margin=Margin
Margins=Margins
TotalMargin=Total Margin
MarginOnProducts=Margin / Products
MarginOnServices=Margin / Services
MarginRate=Margin rate
MarkRate=Mark rate
DisplayMarginRates=Display margin rates
DisplayMarkRates=Display mark rates
InputPrice=Input price
# margin=Profit margins management
# margesSetup=Profit margins management setup
margin=Profit margins management
margesSetup=Profit margins management setup
# MarginDetails=Margin details
MarginDetails=Margin details
# ProductMargins=Product margins
# CustomerMargins=Customer margins
# AgentMargins=Agent margins
ProductMargins=Product margins
CustomerMargins=Customer margins
SalesRepresentativeMargins=Sales representative margins
ProductService=المنتج أو الخدمة
# AllProducts=All products and services
# ChooseProduct/Service=Choose product or service
# CommercialAgent=Commercial agent
AllProducts=All products and services
ChooseProduct/Service=Choose product or service
StartDate=تاريخ البدء
EndDate=نهاية التاريخ
Launch=يبدأ
# ForceBuyingPriceIfNull=Force buying price if null
# ForceBuyingPriceIfNullDetails=if "ON", margin will be zero on line (buying price = selling price), otherwise ("OFF"), marge will be equal to selling price (buying price = 0)
# MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts
# UseDiscountAsProduct=As a product
# UseDiscountAsService=As a service
# UseDiscountOnTotal=On subtotal
# MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation.
ForceBuyingPriceIfNull=Force buying price if null
ForceBuyingPriceIfNullDetails=if "ON", margin will be zero on line (buying price = selling price), otherwise ("OFF"), marge will be equal to selling price (buying price = 0)
MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts
UseDiscountAsProduct=As a product
UseDiscountAsService=As a service
UseDiscountOnTotal=On subtotal
MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation.
# MARGIN_TYPE=Margin type
# MargeBrute=Raw margin
# MargeNette=Net margin
# MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price<br/>Net margin : Selling price - Cost price
MARGIN_TYPE=Margin type
MargeBrute=Raw margin
MargeNette=Net margin
MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price<br/>Net margin : Selling price - Cost price
# CostPrice=Cost price
# BuyingCost=Cost price
# UnitCharges=Unit charges
# Charges=Charges
CostPrice=Cost price
BuyingCost=Cost price
UnitCharges=Unit charges
Charges=Charges
# AgentContactType=Commercial agent contact type
# AgentContactTypeDetails=Défine what contact type (linked on invoices) will be used for margin report by commercial agents
AgentContactType=Commercial agent contact type
AgentContactTypeDetails=Défine what contact type (linked on invoices) will be used for margin report by commercial agents

View File

@ -10,21 +10,22 @@ DateToBirth=تاريخ الميلاد
BirthdayAlertOn= عيد ميلاد النشطة في حالة تأهب
BirthdayAlertOff= عيد الميلاد فى حالة تأهب الخاملة
Notify_FICHINTER_VALIDATE=تدخل المصادق
# Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail
Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail
Notify_BILL_VALIDATE=فاتورة مصادق
# Notify_BILL_UNVALIDATE=Customer invoice unvalidated
Notify_BILL_UNVALIDATE=Customer invoice unvalidated
Notify_ORDER_SUPPLIER_APPROVE=من أجل الموافقة على المورد
Notify_ORDER_SUPPLIER_REFUSE=من أجل رفض الموردين
Notify_ORDER_VALIDATE=التحقق من صحة النظام العميل
Notify_PROPAL_VALIDATE=التحقق من صحة اقتراح العملاء
Notify_PROPAL_CLOSE_SIGNED=Customer propal closed signed
Notify_PROPAL_CLOSE_REFUSED=Customer propal closed refused
Notify_WITHDRAW_TRANSMIT=انتقال انسحاب
Notify_WITHDRAW_CREDIT=انسحاب الائتمان
Notify_WITHDRAW_EMIT=Isue انسحاب
Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد
Notify_COMPANY_CREATE=طرف ثالث خلق
# Notify_COMPANY_COMPANY_SENTBYMAIL=Mails sent from third party card
Notify_COMPANY_SENTBYMAIL=Mails sent from third party card
Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد
Notify_ORDER_SENTBYMAIL=النظام العميل ترسل عن طريق البريد
Notify_BILL_PAYED=دفعت فاتورة العميل
Notify_BILL_CANCEL=فاتورة الزبون إلغاء
Notify_BILL_SENTBYMAIL=فاتورة الزبون إرسالها عن طريق البريد
@ -33,15 +34,17 @@ Notify_ORDER_SUPPLIER_SENTBYMAIL=النظام مزود ترسل عن طريق ا
Notify_BILL_SUPPLIER_VALIDATE=فاتورة المورد المصادق
Notify_BILL_SUPPLIER_PAYED=دفعت فاتورة المورد
Notify_BILL_SUPPLIER_SENTBYMAIL=فاتورة المورد ترسل عن طريق البريد
Notify_BILL_SUPPLIER_CANCELED=Supplier invoice cancelled
Notify_CONTRACT_VALIDATE=التحقق من صحة العقد
Notify_FICHEINTER_VALIDATE=التحقق من التدخل
Notify_SHIPPING_VALIDATE=التحقق من صحة الشحن
Notify_SHIPPING_SENTBYMAIL=الشحن ترسل عن طريق البريد
Notify_MEMBER_VALIDATE=عضو مصدق
Notify_MEMBER_MODIFY=Member modified
Notify_MEMBER_SUBSCRIPTION=عضو المكتتب
Notify_MEMBER_RESILIATE=عضو resiliated
Notify_MEMBER_DELETE=عضو حذف
# Notify_PROJECT_CREATE=Project creation
Notify_PROJECT_CREATE=Project creation
NbOfAttachedFiles=عدد الملفات المرفقة / وثائق
TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق
MaxSize=الحجم الأقصى
@ -51,15 +54,15 @@ Miscellaneous=متفرقات
NbOfActiveNotifications=عدد الإخطارات
PredefinedMailTest=هذا هو الاختبار الإلكتروني. تكون مفصولة \\ nThe سطرين من قبل حرف إرجاع.
PredefinedMailTestHtml=هذا هو البريد <b>الاختبار</b> (الاختبار يجب أن تكون في كلمة جريئة). <br> وتفصل بين الخطين من قبل حرف إرجاع.
# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__
PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__
DemoDesc=Dolibarr الاتفاق هو تخطيط موارد المؤسسات وإدارة علاقات العملاء وتتكون من عدة وحدات وظيفية. وقال ان العرض يشمل جميع وحدات لا يعني اي شيء يحدث هذا أبدا. بذلك ، عرض عدة ملامح المتاحة.
ChooseYourDemoProfil=اختيار عرض ملف المباراة التي أنشطتك...
DemoFundation=أعضاء في إدارة مؤسسة
@ -107,16 +110,16 @@ SurfaceUnitm2=m2
SurfaceUnitdm2=dm2
SurfaceUnitcm2=cm2
SurfaceUnitmm2=mm2
# SurfaceUnitfoot2=ft2
# SurfaceUnitinch2=in2
SurfaceUnitfoot2=ft2
SurfaceUnitinch2=in2
Volume=حجم
TotalVolume=الحجم الإجمالي
VolumeUnitm3=m3
VolumeUnitdm3=dm3
VolumeUnitcm3=cm3
VolumeUnitmm3=mm3
# VolumeUnitfoot3=ft3
# VolumeUnitinch3=in3
VolumeUnitfoot3=ft3
VolumeUnitinch3=in3
VolumeUnitounce=أوقية
VolumeUnitlitre=لتر
VolumeUnitgallon=غالون
@ -127,7 +130,7 @@ SizeUnitcm=سم
SizeUnitmm=مم
SizeUnitinch=بوصة
SizeUnitfoot=قدم
# SizeUnitpoint=point
SizeUnitpoint=point
BugTracker=علة تعقب
SendNewPasswordDesc=هذا الشكل يتيح لك طلب كلمة مرور جديدة. سيكون من إرسالها إلى عنوان البريد الإلكتروني الخاص بك. <br> التغيير لن تكون فعالة إلا بعد النقر على تأكيد الصلة داخل هذه الرسالة. <br> تحقق من بريدك الالكتروني القارئ البرمجيات.
BackToLoginPage=عودة إلى صفحة تسجيل الدخول
@ -141,12 +144,12 @@ StatsByNumberOfEntities=إحصاءات في عدد من الكيانات في ا
NumberOfProposals=عددا من المقترحات بشأن 12 الشهر الماضي
NumberOfCustomerOrders=عدد طلبات الزبائن على 12 في الشهر الماضي
NumberOfCustomerInvoices=عدد من العملاء والفواتير على 12 الشهر الماضي
# NumberOfSupplierOrders=Number of supplier orders on last 12 month
NumberOfSupplierOrders=Number of supplier orders on last 12 month
NumberOfSupplierInvoices=عدد من فواتير الموردين على 12 الشهر الماضي
NumberOfUnitsProposals=عدد من الوحدات على مقترحات بشأن 12 الشهر الماضي
NumberOfUnitsCustomerOrders=عدد من الوحدات على طلبات الزبائن على 12 في الشهر الماضي
NumberOfUnitsCustomerInvoices=عدد من الوحدات على فواتير العملاء على 12 الشهر الماضي
# NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month
NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month
NumberOfUnitsSupplierInvoices=عدد من الوحدات على فواتير الموردين على 12 الشهر الماضي
EMailTextInterventionValidated=التدخل ٪ ق المصادق
EMailTextInvoiceValidated=فاتورة ٪ ق المصادق
@ -156,7 +159,7 @@ EMailTextOrderApproved=من أجل الموافقة على ق ٪
EMailTextOrderApprovedBy=من أجل ٪ ق ق ٪ وافقت عليها
EMailTextOrderRefused=من أجل رفض ق ٪
EMailTextOrderRefusedBy=من أجل أن ترفض ٪ ق ق ٪
# EMailTextExpeditionValidated=The shipping %s has been validated.
EMailTextExpeditionValidated=The shipping %s has been validated.
ImportedWithSet=استيراد مجموعة البيانات
DolibarrNotification=إشعار تلقائي
ResizeDesc=أدخل عرض جديدة <b>أو</b> ارتفاع جديد. وستبقى نسبة خلال تغيير حجم...
@ -178,12 +181,12 @@ StartUpload=بدء التحميل
CancelUpload=إلغاء التحميل
FileIsTooBig=ملفات كبيرة جدا
PleaseBePatient=يرجى التحلي بالصبر...
# RequestToResetPasswordReceived=A request to change your Dolibarr password has been received
# NewKeyIs=This is your new keys to login
# NewKeyWillBe=Your new key to login to software will be
# ClickHereToGoTo=Click here to go to %s
# YouMustClickToChange=You must however first click on the following link to validate this password change
# ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe.
RequestToResetPasswordReceived=A request to change your Dolibarr password has been received
NewKeyIs=This is your new keys to login
NewKeyWillBe=Your new key to login to software will be
ClickHereToGoTo=Click here to go to %s
YouMustClickToChange=You must however first click on the following link to validate this password change
ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe.
##### Calendar common #####
AddCalendarEntry=إضافة الدخول في التقويم ق ٪
@ -205,7 +208,7 @@ MemberResiliatedInDolibarr=عضو في resiliated ٪ ق Dolibarr
MemberDeletedInDolibarr=عضو ٪ ق حذفها من Dolibarr
MemberSubscriptionAddedInDolibarr=الاكتتاب عضو ق ٪ وأضاف في Dolibarr
ShipmentValidatedInDolibarr=%s شحنة التحقق من صحتها في Dolibarr
# ShipmentDeletedInDolibarr=Shipment %s deleted from Dolibarr
ShipmentDeletedInDolibarr=Shipment %s deleted from Dolibarr
##### Export #####
Export=تصدير
ExportsArea=صادرات المنطقة

View File

@ -9,14 +9,17 @@ PAYPAL_API_USER=API المستخدم
PAYPAL_API_PASSWORD=API كلمة السر
PAYPAL_API_SIGNATURE=API توقيع
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=تقدم الدفع &quot;لا يتجزأ&quot; (بطاقة الائتمان + باي بال) أو &quot;باي بال&quot; فقط
# PaypalModeIntegral=Integral
# PaypalModeOnlyPaypal=PayPal only
PaypalModeIntegral=Integral
PaypalModeOnlyPaypal=PayPal only
PAYPAL_CSS_URL=Optionnal عنوان الموقع من ورقة أنماط CSS في صفحة الدفع
ThisIsTransactionId=هذا هو معرف من الصفقة: <b>%s</b>
PAYPAL_ADD_PAYMENT_URL=إضافة رابط الدفع باي بال عند إرسال مستند عبر البريد
PAYPAL_IPN_MAIL_ADDRESS=عنوان البريد الإلكتروني للإخطار لحظة الدفع (IPN)
# PredefinedMailContentLink=You can click on the secure link below to make your payment (PayPal) if it is not already done.\n\n%s\n\n
PredefinedMailContentLink=You can click on the secure link below to make your payment (PayPal) if it is not already done.\n\n%s\n\n
YouAreCurrentlyInSandboxMode=أنت حاليا في وضع &quot;رمل&quot;
# NewPaypalPaymentReceived=New Paypal payment received
# NewPaypalPaymentFailed=New Paypal payment tried but failed
# PAYPAL_PAYONLINE_SENDEMAIL=EMail to warn after a payment (success or not)
NewPaypalPaymentReceived=New Paypal payment received
NewPaypalPaymentFailed=New Paypal payment tried but failed
PAYPAL_PAYONLINE_SENDEMAIL=EMail to warn after a payment (success or not)
ReturnURLAfterPayment=Return URL after payment
ValidationOfPaypalPaymentFailed=Validation of Paypal payment failed
PaypalConfirmPaymentPageWasCalledButFailed=Payment confirmation page for Paypal was called by Paypal but confirmation failed

View File

@ -1,6 +1,8 @@
# Dolibarr language file - Source file is en_US - users
# Employee=Employee
# NewSalaryPayment=New salary payment
# SalaryPayment=Salary payment
# SalariesPayments=Salaries payments
# ShowSalaryPayment=Show salary payment
Salary=Salary
Salaries=Salaries
Employee=Employee
NewSalaryPayment=New salary payment
SalaryPayment=Salary payment
SalariesPayments=Salaries payments
ShowSalaryPayment=Show salary payment

View File

@ -18,8 +18,8 @@ RequestStandingOrderToTreat=طلب لأوامر دائمة لمعالجة
RequestStandingOrderTreated=طلب تعامل أوامر دائمة
CustomersStandingOrders=الزبون أوامر دائمة
CustomerStandingOrder=يقف النظام العميل
NbOfInvoiceToWithdraw=ملاحظة : للفاتورة مع طلب سحب
NbOfInvoiceToWithdrawWithInfo=ملحوظة من فاتورة مع سحب طلب للعملاء وبعد تحديد معلومات الحساب المصرفي
NbOfInvoiceToWithdraw=Nb. of invoice with withdraw request
NbOfInvoiceToWithdrawWithInfo=Nb. of invoice with withdraw request for customers having defined bank account information
InvoiceWaitingWithdraw=فاتورة انتظار الانسحاب
AmountToWithdraw=سحب المبلغ
WithdrawsRefused=ورفض سحب
@ -80,9 +80,9 @@ WithdrawalFileNotCapable=غير قادر على توليد سحب ملف است
ShowWithdraw=وتظهر سحب
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=ومع ذلك، إذا فاتورة واحدة على الأقل دفع انسحاب لا تتم معالجتها حتى الآن، فإنه لن يكون كما سيولي للسماح لإدارة الانسحاب قبل.
DoStandingOrdersBeforePayments=هذه علامات تسمح لك لطلب لاستصدار أمر دائم. مرة واحدة وسيتم الانتهاء من ذلك، يمكنك كتابة دفع لإغلاق الفاتورة.
# WithdrawalFile=Withdrawal file
# SetToStatusSent=Set to status "File Sent"
# ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid"
WithdrawalFile=Withdrawal file
SetToStatusSent=Set to status "File Sent"
ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid"
### Notifications
InfoCreditSubject=دفع %s النظام الدائمة من قبل البنك
@ -92,5 +92,5 @@ InfoTransMessage=وقد transmited في %s أجل الوقوف على البنك
InfoTransData=المبلغ: %s <br> Metode: %s <br> تاريخ: %s
InfoFoot=هذه رسالة تلقائية ترسل من قبل Dolibarr
InfoRejectSubject=ورفض النظام واقفا
# InfoRejectMessage=Hello,<br><br>the standing order of invoice %s related to the company %s, with an amount of %s has been refused by the bank.<br><br>--<br>%s
InfoRejectMessage=Hello,<br><br>the standing order of invoice %s related to the company %s, with an amount of %s has been refused by the bank.<br><br>--<br>%s
ModeWarning=لم يتم تعيين خيار الوضع الحقيقي، ونحن بعد توقف هذه المحاكاة

View File

@ -12,7 +12,7 @@ SessionId=ID на сесията
SessionSaveHandler=Handler за да запазите сесията
SessionSavePath=Място за съхранение на сесията
PurgeSessions=Изчистване на сесиите
# ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself).
ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself).
NoSessionListWithThisHandler=Запиши сесиен манипулатор конфигурирани във вашата PHP, не позволява да се изброят всички текущи сесии.
LockNewSessions=Заключване за нови свързвания
ConfirmLockNewSessions=Сигурен ли сте, че искате да ограничите всяка нова връзка Dolibarr за себе си. Само <b>%s</b> потребителят ще бъде в състояние да се свърже след това.
@ -43,15 +43,15 @@ SecuritySetup=Настройки на сигурността
ErrorModuleRequirePHPVersion=Грешка, този модул изисква PHP версия %s или по-висока
ErrorModuleRequireDolibarrVersion=Грешка, този модул изисква Dolibarr версия %s или по-висока
ErrorDecimalLargerThanAreForbidden=Грешка, с точност по-висока от <b>%s</b> не се поддържа.
# DictionarySetup=Dictionary setup
# Dictionary=Dictionaries
# ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record
# ErrorCodeCantContainZero=Code can't contain value 0
DictionarySetup=Dictionary setup
Dictionary=Dictionaries
ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record
ErrorCodeCantContainZero=Code can't contain value 0
DisableJavascript=Изключване на Java скрипт и Ajax функции
ConfirmAjax=Използвайте Аякс потвърждение изскачащи прозорци
# UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
ActivityStateToSelectCompany= Добавяне на филтър опция за показване / скриване на thirdparties, които в момента са в дейност или е престанала
# UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
SearchFilter=Опции на филтрите за търсене
NumberOfKeyToSearch=NBR от знаци, за да предизвика търсене: %s
ViewFullDateActions=Показване на пълните събития дати в третия лист
@ -64,15 +64,15 @@ PreviewNotAvailable=Preview не е наличен
ThemeCurrentlyActive=Тема активни в момента
CurrentTimeZone=TimeZone PHP (сървър)
Space=Пространство
# Table=Table
Table=Table
Fields=Полетата
# Index=Index
Index=Index
Mask=Маска
NextValue=Следваща стойност
NextValueForInvoices=Следваща стойност (фактури)
NextValueForCreditNotes=Следваща стойност (кредитни известия)
# NextValueForDeposit=Next value (deposit)
# NextValueForReplacements=Next value (replacements)
NextValueForDeposit=Next value (deposit)
NextValueForReplacements=Next value (replacements)
MustBeLowerThanPHPLimit=Забележка: PHP ограничава размера на всяко качване на файлове на %s <b>%s,</b> независимо от стойността на този параметър е
NoMaxSizeByPHPLimit=Забележка: Не срокът се определя в конфигурацията на вашия PHP
MaxSizeForUploadedFiles=Максимален размер за качените файлове (0 за да забраните качване)
@ -109,18 +109,18 @@ ParameterInDolibarr=Параметър %s
LanguageParameter=Езиков параметър %s
LanguageBrowserParameter=Параметър %s
LocalisationDolibarrParameters=Локализация параметри
# ClientTZ=Client Time Zone (user)
# ClientHour=Client time (user)
# OSTZ=Servre OS Time Zone
# PHPTZ=PHP server Time Zone
ClientTZ=Client Time Zone (user)
ClientHour=Client time (user)
OSTZ=Servre OS Time Zone
PHPTZ=PHP server Time Zone
PHPServerOffsetWithGreenwich=PHP сървъра компенсира широчина Гринуич (секунди)
ClientOffsetWithGreenwich=Клиент / Browser компенсира широчина Гринуич (секунди)
DaylingSavingTime=Лятното часово време
# CurrentHour=PHP Time (server)
# CompanyTZ=Company Time Zone (main company)
# CompanyHour=Company Time (main company)
CurrentHour=PHP Time (server)
CompanyTZ=Company Time Zone (main company)
CompanyHour=Company Time (main company)
CurrentSessionTimeOut=Продължителност на текущата сесия
# YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris"
YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris"
OSEnv=OS околната среда
Box=Кутия
Boxes=Кутии
@ -130,7 +130,7 @@ Position=Ред
MenusDesc=Менюта мениджърите определят съдържанието на две ленти с менюта (хоризонтална лента и вертикална лента).
MenusEditorDesc=Менюто редактор ви позволяват да определите персонализирани вписвания в менютата. Използвайте го внимателно, за да се избегне dolibarr нестабилна и записи в менюто постоянно недостижим. <br> Някои модули добавяне на записи в менютата (в менюто <b>Всички</b> в повечето случаи). Ако сте премахнали някои от тези записи по погрешка, можете да ги възстановите, като изключите и отново да активирате модула.
MenuForUsers=Меню за потребители
# LangFile=.lang file
LangFile=.lang file
System=Система
SystemInfo=Системна информация
SystemTools=Системни инструменти
@ -272,7 +272,7 @@ ModuleFamilyFinancial=Финансови Модули (Счетоводство
ModuleFamilyECM=Електронно Управление на Съдържанието (ECM)
MenuHandlers=Меню работещи
MenuAdmin=Menu Editor
# DoNotUseInProduction=Do not use in production
DoNotUseInProduction=Do not use in production
ThisIsProcessToFollow=Това е настройка на процеса:
StepNb=Стъпка %s
FindPackageFromWebSite=Намери пакет, който осигурява функция искате (например относно официалния уеб сайт %s).
@ -287,19 +287,19 @@ CurrentVersion=Текуща версия на Dolibarr
CallUpdatePage=Отидете на страницата, която се актуализира структурата на базата данни и презареждане на: %s.
LastStableVersion=Последна стабилна версия
GenericMaskCodes=Можете да въведете всяка маска за номериране. В тази маска, могат да се използват следните тагове: <br> <b>{000000}</b> съответства на номер, който се увеличава на всеки %s. Влез като много нули като желаната дължина на брояча. Броячът ще бъде завършен с нули от ляво, за да има колкото се може повече нули като маска. <br> <b>{000000 000}</b> същата като предишната, но компенсира, съответстваща на броя на правото на знака + се прилага започва на първи %s. <br> <b>{000000 @}</b> същата като предишната, но броячът се нулира, когато месеца Х е достигнал (Х между 1 и 12, или 0, за да използвате началото на месеца на фискалната година, определени в вашата конфигурация). Ако тази опция се използва и х е 2 или по-висока, тогава последователност {гг} {mm} или {гггг} {mm} също е задължително. <br> <b>{DD}</b> ден (01 до 31). <br> <b>{Mm}</b> месец (01 до 12). <br> <b>{Гг} {гггг}</b> или <b>{Y}</b> година над 2, 4 или 1 брой. <br>
# GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of company type on n characters (see dictionary-company types).<br>
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of company type on n characters (see dictionary-company types).<br>
GenericMaskCodes3=Всички други символи на маската ще останат непокътнати. <br> Интервалите не са разрешени. <br>
GenericMaskCodes4a=<u>Пример за използване на 99 %s на третата страна КОМПАНИЯТА извършва 2007-01-31:</u> <br>
GenericMaskCodes4b=<u>Пример за трета страна е създаден на 2007-03-01:</u> <br>
GenericMaskCodes4c=<u>Пример за продукт, създаден на 2007-03-01:</u> <br>
# GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericNumRefModelDesc=Върнете адаптивни номер според определен маска.
ServerAvailableOnIPOrPort=Сървър е достъпна на адрес <b>%s</b> на порт <b>%s</b>
ServerNotAvailableOnIPOrPort=Сървърът не е достъпен на адрес <b>%s</b> на порт <b>%s</b>
DoTestServerAvailability=Свързаност тестовия сървър
DoTestSend=Тестване изпращането
DoTestSendHTML=Тестване изпращането на HTML
# ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask.
ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask.
ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Грешка, не могат да използват @ опция, ако последователност {гг} {mm} или {гггг} {mm} не е маска.
UMask=Umask параметър за нови файлове в Unix / Linux / BSD файловата система.
UMaskExplanation=Този параметър ви позволи да се определят правата, определени по подразбиране на файлове, създадени от Dolibarr на сървъра (по време на качването например). <br> Тя трябва да бъде осмична стойност (например, 0666 средства четат и пишат за всеки). <br> Този параметър е безполезно на предприятието на сървъра на Windows.
@ -316,7 +316,7 @@ LanguageFilesCachedIntoShmopSharedMemory=Файлове. Lang заредени
ExamplesWithCurrentSetup=Примери с текущата настройка
ListOfDirectories=Списък на OpenDocument директории шаблони
ListOfDirectoriesForModelGenODT=Списък на директории, съдържащи шаблони файлове с OpenDocument формат. <br><br> Тук можете да въведете пълния път на директории. <br> Добави за връщане между указател ие. <br> За да добавите директория на GED модул, добавете тук на <b>DOL_DATA_ROOT / ECM / yourdirectoryname.</b> <br><br> Файлове в тези директории, трябва да завършва <b>с. ODT.</b>
# NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories
NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories
ExampleOfDirectoriesForModelGen=Примери на синтаксиса: <br> C: \\ mydir <br> / Начало / mydir <br> DOL_DATA_ROOT / ECM / ecmdir
FollowingSubstitutionKeysCanBeUsed=<br> За да разберете как да създадете свои ODT шаблони на документи, преди да ги съхранявате в тези указатели, прочетете уики документация:
FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template
@ -350,45 +350,44 @@ NewVATRates=Нов ставка на ДДС
PriceBaseTypeToChange=Промяна на цените с база референтна стойност, определена на
MassConvert=Стартиране маса конвертирате
String=Низ
# TextLong=Long text
# Int=Integer
# Float=Float
# DateAndTime=Date and hour
# Unique=Unique
# Boolean=Boolean (Checkbox)
TextLong=Long text
Int=Integer
Float=Float
DateAndTime=Date and hour
Unique=Unique
Boolean=Boolean (Checkbox)
ExtrafieldPhone = Телефон
ExtrafieldPrice = Цена
ExtrafieldMail = Имейл
# ExtrafieldSelect = Select list
# ExtrafieldSelectList = Select from table
# ExtrafieldSeparator=Separator
# ExtrafieldCheckBox=Checkbox
ExtrafieldSelect = Select list
ExtrafieldSelectList = Select from table
ExtrafieldSeparator=Separator
ExtrafieldCheckBox=Checkbox
ExtrafieldRadio=Радио бутон
# ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
# ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
# ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
# ExtrafieldParamHelpsellist=Parameters list have come from table<br><br> for exemple : <br>c_typent:libelle:id::filter<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter <br> filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)
# LibraryToBuildPDF=Library used to build PDF
# WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
# LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:<br>1 : local tax apply on products and services without vat (vat is not applied on local tax)<br>2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)<br>3 : local tax apply on products without vat (vat is not applied on local tax)<br>4 : local tax apply on products before vat (vat is calculated on amount + localtax)<br>5 : local tax apply on services without vat (vat is not applied on local tax)<br>6 : local tax apply on services before vat (vat is calculated on amount + localtax)
# SMS=SMS
# LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user <strong>%s</strong>
# RefreshPhoneLink=Refresh link
# LinkToTest=Clickable link generated for user <strong>%s</strong> (click phone number to test)
# KeepEmptyToUseDefault=Keep empty to use default value
# DefaultLink=Default link
# ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url)
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
ExtrafieldParamHelpsellist=Parameters list have come from table<br><br> for exemple : <br>c_typent:libelle:id::filter<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter <br> filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)
LibraryToBuildPDF=Library used to build PDF
WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:<br>1 : local tax apply on products and services without vat (vat is not applied on local tax)<br>2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)<br>3 : local tax apply on products without vat (vat is not applied on local tax)<br>4 : local tax apply on products before vat (vat is calculated on amount + localtax)<br>5 : local tax apply on services without vat (vat is not applied on local tax)<br>6 : local tax apply on services before vat (vat is calculated on amount + localtax)
SMS=SMS
LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user <strong>%s</strong>
RefreshPhoneLink=Refresh link
LinkToTest=Clickable link generated for user <strong>%s</strong> (click phone number to test)
KeepEmptyToUseDefault=Keep empty to use default value
DefaultLink=Default link
ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url)
ExternalModule=Външен модул - инсталиран в директория %s
# BarcodeInitForThirdparties=Mass barcode init for thirdparties
# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services
# CurrentlyNWithoutBarCode=Currently, you have <strong>%s</strong> records on <strong>%s</strong> %s without barcode defined.
# InitEmptyBarCode=Init value for next %s empty records
# EraseAllCurrentBarCode=Erase all current barcode values
# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ?
# AllBarcodeReset=All barcode values have been removed
# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup.
# NoRecordWithoutBarcodeDefined=No record with no barcode value defined.
BarcodeInitForThirdparties=Mass barcode init for thirdparties
BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services
CurrentlyNWithoutBarCode=Currently, you have <strong>%s</strong> records on <strong>%s</strong> %s without barcode defined.
InitEmptyBarCode=Init value for next %s empty records
EraseAllCurrentBarCode=Erase all current barcode values
ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ?
AllBarcodeReset=All barcode values have been removed
NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup.
NoRecordWithoutBarcodeDefined=No record with no barcode value defined.
# Modules
Module0Name=Потребители и групи
@ -465,8 +464,10 @@ Module400Name=Проекти
Module400Desc=Управление на проекти вътре в други модули
Module410Name=Webcalendar
Module410Desc=Webcalendar интеграция
Module500Name=Данъци, социални осигуровки и дивиденти
Module500Desc=Данъци и управление на осигурителната вноска
Module500Name=Special expenses (tax, social contributions, dividends)
Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries
Module510Name=Salaries
Module510Desc=Management of empoyees salaries and payments
Module600Name=Известия
Module600Desc=Изпращане известия по имейл за някои бизнес събития в Dolibarr към трети лица
Module700Name=Дарения
@ -483,8 +484,8 @@ Module1780Name=Категории
Module1780Desc=Управление на категории (продукти, доставчици и клиенти)
Module2000Name=WYSIWYG редактор
Module2000Desc=Оставя се да редактирате някакъв текст, чрез използване на усъвършенствана редактор
# Module2300Name=Cron
# Module2300Desc=Scheduled task management
Module2300Name=Cron
Module2300Desc=Scheduled task management
Module2400Name=Дневен ред
Module2400Desc=Събития/задачи и управление на дневен ред
Module2500Name=Електронно Управление на Съдържанието
@ -496,12 +497,12 @@ Module2700Desc= Използвайте онлайн Gravatar услуга (www.g
Module2800Desc=FTP Клиент
Module2900Name= GeoIPMaxmind
Module2900Desc= GeoIP MaxMind реализации възможности
# Module3100Name= Skype
# Module3100Desc= Add a Skype button into card of adherents / third parties / contacts
Module3100Name= Skype
Module3100Desc= Add a Skype button into card of adherents / third parties / contacts
Module5000Name=Няколко фирми
Module5000Desc=Позволява ви да управлявате няколко фирми
# Module6000Name=Workflow
# Module6000Desc=Workflow management
Module6000Name=Workflow
Module6000Desc=Workflow management
Module20000Name=Отпуски
Module20000Desc=Управление на отпуските на служителите
Module50000Name=Paybox
@ -510,16 +511,16 @@ Module50100Name=Точка на продажбите
Module50100Desc=Точка на продажбите модул
Module50200Name= Paypal
Module50200Desc= Модул предлага онлайн страница на плащане с кредитна карта с Paypal
# Module54000Name=PrintIPP
# Module54000Desc=Print via Cups IPP Printer.
# Module55000Name=Open Poll
# Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
Module54000Name=PrintIPP
Module54000Desc=Print via Cups IPP Printer.
Module55000Name=Open Poll
Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...)
Module59000Name=Полета
Module59000Desc=Модул за управление на маржовете
Module60000Name=Комисии
Module60000Desc=Модул за управление на комисии
# Module150010Name=Batch number, eat-by date and sell-by date
# Module150010Desc=batch number, eat-by date and sell-by date management for product
Module150010Name=Batch number, eat-by date and sell-by date
Module150010Desc=batch number, eat-by date and sell-by date management for product
Permission11=Клиентите фактури
Permission12=Създаване / промяна на фактури на клиентите
Permission13=Unvalidate клиентите фактури
@ -571,7 +572,7 @@ Permission98=Изпращането фактура линии счетоводн
Permission101=Прочети sendings
Permission102=Създаване / промяна sendings
Permission104=Проверка на sendings
# Permission106=Export sendings
Permission106=Export sendings
Permission109=Изтриване sendings
Permission111=Финансови сметки
Permission112=Създаване / редакция / изтриване и сравни сделки
@ -712,10 +713,10 @@ Permission1237=EXPORT доставчик поръчки и техните дет
Permission1251=Пусни масов внос на външни данни в базата данни (данни товара)
Permission1321=Износ на клиентите фактури, атрибути и плащания
Permission1421=Износ на клиентски поръчки и атрибути
# Permission23001 = Read Scheduled task
# Permission23002 = Create/update Scheduled task
# Permission23003 = Delete Scheduled task
# Permission23004 = Execute Scheduled task
Permission23001 = Read Scheduled task
Permission23002 = Create/update Scheduled task
Permission23003 = Delete Scheduled task
Permission23004 = Execute Scheduled task
Permission2401=Прочетете действия (събития или задачи), свързани с неговата сметка
Permission2402=Създаване/промяна действия (събития или задачи), свързани с неговата сметка
Permission2403=Изтрий действия (събития или задачи), свързани с неговата сметка
@ -731,39 +732,39 @@ Permission2802=Използвайте FTP клиент в режим на зап
Permission50101=Използвайте точка на продажбите
Permission50201=Прочети сделки
Permission50202=Сделки на внос
# Permission54001=Print
# Permission55001=Read polls
# Permission55002=Create/modify polls
# Permission59001=Read commercial margins
# Permission59002=Define commercial margins
# DictionaryCompanyType=Thirdparties type
# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties
# DictionaryProspectLevel=Prospect potential level
# DictionaryCanton=State/Cantons
# DictionaryRegion=Regions
# DictionaryCountry=Countries
# DictionaryCurrency=Currencies
# DictionaryCivility=Civility title
# DictionaryActions=Type of agenda events
# DictionarySocialContributions=Social contributions types
# DictionaryVAT=VAT Rates or Sales Tax Rates
# DictionaryRevenueStamp=Amount of revenue stamps
# DictionaryPaymentConditions=Payment terms
# DictionaryPaymentModes=Payment modes
# DictionaryTypeContact=Contact/Address types
# DictionaryEcotaxe=Ecotax (WEEE)
# DictionaryPaperFormat=Paper formats
# DictionaryFees=Type of fees
# DictionarySendingMethods=Shipping methods
# DictionaryStaff=Staff
# DictionaryAvailability=Delivery delay
# DictionaryOrderMethods=Ordering methods
# DictionarySource=Origin of proposals/orders
# DictionaryAccountancyplan=Chart of accounts
# DictionaryAccountancysystem=Models for chart of accounts
Permission54001=Print
Permission55001=Read polls
Permission55002=Create/modify polls
Permission59001=Read commercial margins
Permission59002=Define commercial margins
DictionaryCompanyType=Thirdparties type
DictionaryCompanyJuridicalType=Juridical kinds of thirdparties
DictionaryProspectLevel=Prospect potential level
DictionaryCanton=State/Cantons
DictionaryRegion=Regions
DictionaryCountry=Countries
DictionaryCurrency=Currencies
DictionaryCivility=Civility title
DictionaryActions=Type of agenda events
DictionarySocialContributions=Social contributions types
DictionaryVAT=VAT Rates or Sales Tax Rates
DictionaryRevenueStamp=Amount of revenue stamps
DictionaryPaymentConditions=Payment terms
DictionaryPaymentModes=Payment modes
DictionaryTypeContact=Contact/Address types
DictionaryEcotaxe=Ecotax (WEEE)
DictionaryPaperFormat=Paper formats
DictionaryFees=Type of fees
DictionarySendingMethods=Shipping methods
DictionaryStaff=Staff
DictionaryAvailability=Delivery delay
DictionaryOrderMethods=Ordering methods
DictionarySource=Origin of proposals/orders
DictionaryAccountancyplan=Chart of accounts
DictionaryAccountancysystem=Models for chart of accounts
SetupSaved=Setup спаси
BackToModuleList=Обратно към списъка с модули
# BackToDictionaryList=Back to dictionaries list
BackToDictionaryList=Back to dictionaries list
VATReceivedOnly=Специална цена не се начислява
VATManagement=Управление на ДДС
VATIsUsedDesc=Ставка на ДДС по подразбиране при създаването на перспективите, фактури, поръчки и т.н. следват активна стандартното правило: <br> Ако продавачът не се облагат с ДДС, а след това ДДС по подразбиране = 0. Край на правило. <br> Ако (продажба страната = закупуване на страната), а след това на ДДС по подразбиране = ДДС на продукта в продажба страната. Край на правило. <br> Ако продавача и купувача в Европейската общност и стоки са транспортни продукти (кола, кораб, самолет), по подразбиране ДДС = 0 (ДДС следва да бъде платена от купувача, в customoffice на страната си, а не на продавача). Край на правило. <br> Ако продавача и купувача в Европейската общност и купувача не е компания, тогава ДДС по подразбиране = ДДС на продаваните продукти. Край на правило. <br> Ако продавача и купувача в Европейската общност и купувача е фирма, тогава ДДС по подразбиране = 0. Край на правило. <br> Иначе предложената по подразбиране на ДДС = 0. Край на правило.
@ -771,18 +772,18 @@ VATIsNotUsedDesc=По подразбиране предложената ДДС
VATIsUsedExampleFR=Във Франция, това означава, фирми или организации, с реална фискална система (опростен реални или нормални реално). Система, в която ДДС е обявен.
VATIsNotUsedExampleFR=Във Франция, това означава, асоциации, които са извън декларирания ДДС или фирми, организации или свободните професии, които са избрали фискалната система на микропредприятие (с ДДС франчайз) и се изплаща франчайз ДДС без ДДС декларация. Този избор ще покаже позоваване на &quot;неприлаганите ДДС - арт-293B CGI&quot; във фактурите.
##### Local Taxes #####
# LocalTax1IsUsed=Use second tax
# LocalTax1IsNotUsed=Do not use second tax
# LocalTax1IsUsedDesc=Use a second type of tax (other than VAT)
# LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT)
# LocalTax1Management=Second type of tax
LocalTax1IsUsed=Use second tax
LocalTax1IsNotUsed=Do not use second tax
LocalTax1IsUsedDesc=Use a second type of tax (other than VAT)
LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT)
LocalTax1Management=Second type of tax
LocalTax1IsUsedExample=
LocalTax1IsNotUsedExample=
# LocalTax2IsUsed=Use third tax
# LocalTax2IsNotUsed=Do not use third tax
# LocalTax2IsUsedDesc=Use a third type of tax (other than VAT)
# LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT)
# LocalTax2Management=Third type of tax
LocalTax2IsUsed=Use third tax
LocalTax2IsNotUsed=Do not use third tax
LocalTax2IsUsedDesc=Use a third type of tax (other than VAT)
LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT)
LocalTax2Management=Third type of tax
LocalTax2IsUsedExample=
LocalTax2IsNotUsedExample=
LocalTax1ManagementES= RE Управление
@ -819,7 +820,7 @@ PhpConf=Conf
PhpWebLink=Web-Php връзка
Pear=Круша
PearPackages=Крушови пакети
# Browser=Browser
Browser=Browser
Server=Сървър
Database=База данни
DatabaseServer=Хост базата данни
@ -846,7 +847,7 @@ MenuCompanySetup=Фирма/Организация
MenuNewUser=Нов потребител
MenuTopManager=Горното меню мениджър
MenuLeftManager=Ляво меню мениджър
# MenuManager=Menu manager
MenuManager=Menu manager
MenuSmartphoneManager=Smartphone Menu Manager
DefaultMenuTopManager=Горното меню мениджър
DefaultMenuLeftManager=Ляво меню мениджър
@ -871,7 +872,7 @@ CompanyZip=П. код
CompanyTown=Град
CompanyCountry=Държава
CompanyCurrency=Основната валута
# Logo=Logo
Logo=Logo
DoNotShow=Не показвай
DoNotSuggestPaymentMode=Да не предполагат
NoActiveBankAccountDefined=Не е активна банкова сметка на определени
@ -910,7 +911,7 @@ InfoOS=Инфо за OS
InfoWebServer=Инфо за уеб сървъра
InfoDatabase=Инфо за базата данни
InfoPHP=Инфо за PHP
# InfoPerf=Infos performances
InfoPerf=Infos performances
ListEvents=Одит събития
ListOfSecurityEvents=Списък на събитията Dolibarr сигурност
SecurityEventsPurged=Събития по сигурността прочиства
@ -931,7 +932,7 @@ TriggerDisabledAsModuleDisabled=Тригерите в този файл са з
TriggerAlwaysActive=Тригерите в този файл са винаги активни,, каквото са активирани модули Dolibarr.
TriggerActiveAsModuleActive=Тригерите в този файл са активни, като модул <b>%s</b> е активирана.
GeneratedPasswordDesc=Определете тук правилото, което искате да използвате, за да генерира нова парола, ако поискате да има автоматично генерирана парола
# DictionaryDesc=Define here all reference datas. You can complete predefined value with yours.
DictionaryDesc=Define here all reference datas. You can complete predefined value with yours.
ConstDesc=Тази страница ви позволява да редактирате всички останали параметри не са налични в предишните страници. Те са запазени параметрите за напреднали разработчиците или за troubleshouting.
OnceSetupFinishedCreateUsers=Внимание, вие сте на потребителя администратор Dolibarr. Администратор потребители не се използват да настроите Dolibarr. За обичайна употреба на Dolibarr, се препоръчва да използвате не потребителски администратора, създаден от Потребители и групи менюто.
MiscellaneousDesc=Определете тук всички други параметри, свързани със сигурността.
@ -967,9 +968,9 @@ YourPHPDoesNotHaveSSLSupport=SSL функции не са налични във
DownloadMoreSkins=Изтегляне на повече теми
SimpleNumRefModelDesc=Върнете референтен номер с формат %syymm-NNNN, където YY е годината, mm е месец и NNNN е последователност без дупка и не нулиране
ShowProfIdInAddress=Покажи professionnal номер с адреси на документи
# ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents
ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents
TranslationUncomplete=Частичен превод
# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
MenuUseLayout=Направете вертикално меню hidable (опция JavaScript не трябва да бъде забранена)
MAIN_DISABLE_METEO=Изключване метео изглед
TestLoginToAPI=Тествайте влезете в API
@ -982,20 +983,20 @@ MAIN_PROXY_USER=Влез за да използвате прокси сървъ
MAIN_PROXY_PASS=Парола, за да използвате прокси сървър
DefineHereComplementaryAttributes=Определете тук всички atributes, не е налична по подразбиране, и че искате да се поддържа за %s.
ExtraFields=Допълнителни атрибути
# ExtraFieldsLines=Complementary attributes (lines)
# ExtraFieldsThirdParties=Complementary attributes (thirdparty)
# ExtraFieldsContacts=Complementary attributes (contact/address)
# ExtraFieldsMember=Complementary attributes (member)
# ExtraFieldsMemberType=Complementary attributes (member type)
# ExtraFieldsCustomerOrders=Complementary attributes (orders)
# ExtraFieldsCustomerInvoices=Complementary attributes (invoices)
# ExtraFieldsSupplierOrders=Complementary attributes (orders)
# ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
# ExtraFieldsProject=Complementary attributes (projects)
# ExtraFieldsProjectTask=Complementary attributes (tasks)
ExtraFieldsLines=Complementary attributes (lines)
ExtraFieldsThirdParties=Complementary attributes (thirdparty)
ExtraFieldsContacts=Complementary attributes (contact/address)
ExtraFieldsMember=Complementary attributes (member)
ExtraFieldsMemberType=Complementary attributes (member type)
ExtraFieldsCustomerOrders=Complementary attributes (orders)
ExtraFieldsCustomerInvoices=Complementary attributes (invoices)
ExtraFieldsSupplierOrders=Complementary attributes (orders)
ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
ExtraFieldsProject=Complementary attributes (projects)
ExtraFieldsProjectTask=Complementary attributes (tasks)
ExtraFieldHasWrongValue=Attribut %s има грешна стойност.
AlphaNumOnlyCharsAndNoSpace=само героите alphanumericals без пространство
# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space
AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space
SendingMailSetup=Настройка на изпращане по имейл
SendmailOptionNotComplete=Внимание, на някои системи Linux, за да изпратите имейл от електронната си поща, Sendmail изпълнение настройка трябва conatins опция-ба (параметър mail.force_extra_parameters във вашия php.ini файл). Ако някои получатели никога не получават имейли, опитайте се да редактирате тази PHP параметър с mail.force_extra_parameters = ба).
PathToDocuments=Път до документи
@ -1005,27 +1006,27 @@ TranslationSetup=Конфигурация на превода
TranslationDesc=Езика на интерфейса може да бъде променен:<br> * Глобално от менюто <strong>Начало - Настройки - Екран</strong> <br> * Само за потребителя от таба <strong>Изглед</strong> в картата на потребителя (кликнете върху потребителското име в горната част на екрана).
TotalNumberOfActivatedModules=Общия брой на активираните модули е: <b>%s</b>
YouMustEnableOneModule=Трябва да даде възможност на най-малко 1 модул
# ClassNotFoundIntoPathWarning=Class %s not found into PHP path
# YesInSummer=Yes in summer
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
YesInSummer=Yes in summer
OnlyFollowingModulesAreOpenedToExternalUsers=Имайте впредвид, че само следните модули са отворени за външни потребители (каквито и да са правата на тези потребители):
# SuhosinSessionEncrypt=Session storage encrypted by Suhosin
# ConditionIsCurrently=Condition is currently %s
# TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
# YouUseBestDriver=You use driver %s that is best driver available currently.
# YouDoNotUseBestDriver=You use drive %s but driver %s is recommanded.
# NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
# SearchOptim=Search optimization
# YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
# BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
# BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
# XDebugInstalled=XDebug est chargé.
# XCacheInstalled=XCache is loaded.
# AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
# FieldEdition=Edition of field %s
# FixTZ=TimeZone fix
# FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced)
# GetBarCode=Get barcode
# EmptyNumRefModelDesc=The code is free. This code can be modified at any time.
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
ConditionIsCurrently=Condition is currently %s
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
YouUseBestDriver=You use driver %s that is best driver available currently.
YouDoNotUseBestDriver=You use drive %s but driver %s is recommanded.
NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
SearchOptim=Search optimization
YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
XDebugInstalled=XDebug est chargé.
XCacheInstalled=XCache is loaded.
AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
FieldEdition=Edition of field %s
FixTZ=TimeZone fix
FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced)
GetBarCode=Get barcode
EmptyNumRefModelDesc=The code is free. This code can be modified at any time.
##### Module password generation
PasswordGenerationStandard=Върнете парола, генерирана в съответствие с вътрешен алгоритъм Dolibarr: 8 символа, съдържащи общи цифри и символи с малки.
PasswordGenerationNone=Не предлагаме някакви генерирана парола. Паролата трябва да въведете ръчно.
@ -1048,12 +1049,12 @@ ModuleCompanyCodeDigitaria=Счетоводството код зависи от
UseNotifications=Използвайте уведомления
NotificationsDesc=Функцията за уведомления по имейл позволява тихо изпращане на автоматичен мейл, за някои събития в Dolibarr, на трети лица (клиенти и доставчици), които са конфигурирани. Избор на активно уведомяване и цели контакти е направен на една трета страна в момента.
ModelModules=Документи шаблони
# DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...)
DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...)
WatermarkOnDraft=Воден знак върху проект на документ
CompanyIdProfChecker=Професионална Id уникален
MustBeUnique=Трябва да е уникален?
# MustBeMandatory=Mandatory to create third parties ?
# MustBeInvoiceMandatory=Mandatory to validate invoices ?
MustBeMandatory=Mandatory to create third parties ?
MustBeInvoiceMandatory=Mandatory to validate invoices ?
Miscellaneous=Разни
##### Webcal setup #####
WebCalSetup=Настройка webcalendar връзка
@ -1095,7 +1096,7 @@ EnableEditDeleteValidInvoice=Разрешаване на възможностт
SuggestPaymentByRIBOnAccount=Предложи плащане от оттеглят по сметка
SuggestPaymentByChequeToAddress=Предложи плащане с чек до
FreeLegalTextOnInvoices=Свободен текст на фактури
# WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty)
WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty)
##### Proposals #####
PropalSetup=Модул за настройка на търговски предложения
CreateForm=Създаване на формуляри
@ -1108,7 +1109,7 @@ AddShippingDateAbility=Добавяне на способността дата
AddDeliveryAddressAbility=Добавяне на способността дата на доставка
UseOptionLineIfNoQuantity=Линия на продукт / услуга с нулева сума се разглежда като вариант
FreeLegalTextOnProposal=Свободен текст на търговски предложения
# WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty)
WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty)
##### Orders #####
OrdersSetup=Настройки за управление на поръчки
OrdersNumberingModules=Поръчки номериране модули
@ -1116,7 +1117,7 @@ OrdersModelModule=Поръчка документи модели
HideTreadedOrders=Скриване на третираните или отказани поръчки в списъка
ValidOrderAfterPropalClosed=Да се ​​потвърди ред след предложението близо, това прави възможно да не се увеличат с временния ред
FreeLegalTextOnOrders=Свободен текст на поръчки
# WatermarkOnDraftOrders=Watermark on draft orders (none if empty)
WatermarkOnDraftOrders=Watermark on draft orders (none if empty)
##### Clicktodial #####
ClickToDialSetup=Кликнете, за да наберете настройка модул
ClickToDialUrlDesc=Адреса нарича, когато се извършва едно кликване на телефона пиктограма. URL, можете да използвате маркери <br> <b>__PHONETO__,</b> Които ще бъдат заменени с телефонния номер на лицето, да се обадите <br> <b>__PHONEFROM__,</b> Че ще бъде заменен с телефонния номер на повикващата лице (твое) <br> <b>__LOGIN__,</b> Които ще бъдат заменени с clicktodial вход (определено на вашето потребителско карта) <br> <b>__PASS__,</b> Които ще бъдат заменени с clicktodial вашата парола (определено на вашето потребителско карта).
@ -1127,13 +1128,13 @@ InterventionsSetup=Интервенциите модул за настройка
FreeLegalTextOnInterventions=Свободен текст на интервенционни документи
FicheinterNumberingModules=Модули за намеса номериране
TemplatePDFInterventions=Намеса карти документи модели
# WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty)
WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty)
##### Contracts #####
ContractsSetup=Договори модул за настройка
ContractsNumberingModules=Договори за номериране модули
# TemplatePDFContracts=Contracts documents models
# FreeLegalTextOnContracts=Free text on contracts
# WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty)
TemplatePDFContracts=Contracts documents models
FreeLegalTextOnContracts=Free text on contracts
WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty)
##### Members #####
MembersSetup=Потребители модул за настройка
MemberMainOptions=Основни параметри
@ -1202,7 +1203,7 @@ LDAPTestSynchroContact=Тест за синхронизация на конта
LDAPTestSynchroUser=Синхронизация тест на потребителя
LDAPTestSynchroGroup=Синхронизация Test група
LDAPTestSynchroMember=Член на синхронизация Test
# LDAPTestSearch= Test a LDAP search
LDAPTestSearch= Test a LDAP search
LDAPSynchroOK=Синхронизация тест успешно
LDAPSynchroKO=Неуспешно синхронизиране тест
LDAPSynchroKOMayBePermissions=Неуспешно синхронизиране тест. Уверете се, че свързването със сървъра е конфигуриран правилно и позволява LDAP udpates
@ -1266,7 +1267,7 @@ LDAPFieldSid=SID
LDAPFieldSidExample=Пример: objectsid
LDAPFieldEndLastSubscription=Дата на абонамент края
LDAPFieldTitle=Мнение / Функция
# LDAPFieldTitleExample=Example: title
LDAPFieldTitleExample=Example: title
LDAPParametersAreStillHardCoded=LDAP параметри все още кодиран (в контакт клас)
LDAPSetupNotComplete=LDAP настройка не е пълна (отидете на други раздели)
LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Не администратор или парола. LDAP достъп ще бъдат анонимни и в режим само за четене.
@ -1276,22 +1277,22 @@ LDAPDescGroups=Тази страница ви позволява да дефин
LDAPDescMembers=Тази страница ви позволява да дефинирате LDAP атрибути име в LDAP дърво за всеки намерени данни на Dolibarr членове модул.
LDAPDescValues=Примерни стойности са предназначени за <b>OpenLDAP</b> със следните заредени схеми: <b>core.schema, cosine.schema, inetorgperson.schema).</b> Ако използвате thoose ценности и OpenLDAP, променете LDAP <b>slapd.conf</b> конфигурационен файл, за да има всички thoose схеми натоварени.
ForANonAnonymousAccess=За заверено достъп (достъп за писане например)
# PerfDolibarr=Performance setup/optimizing report
# YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance.
# NotInstalled=Not installed, so your server is not slow down by this.
# ApplicativeCache=Applicative cache
# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.<br>More information here <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Note that a lot of web hosting provider does not provide such cache server.
# OPCodeCache=OPCode cache
# NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad).
# HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript)
# FilesOfTypeCached=Files of type %s are cached by HTTP server
# FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
# FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
# FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
# CacheByServer=Cache by server
# CacheByClient=Cache by browser
# CompressionOfResources=Compression of HTTP responses
# TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
PerfDolibarr=Performance setup/optimizing report
YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance.
NotInstalled=Not installed, so your server is not slow down by this.
ApplicativeCache=Applicative cache
MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.<br>More information here <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Note that a lot of web hosting provider does not provide such cache server.
OPCodeCache=OPCode cache
NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad).
HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript)
FilesOfTypeCached=Files of type %s are cached by HTTP server
FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
CacheByServer=Cache by server
CacheByClient=Cache by browser
CompressionOfResources=Compression of HTTP responses
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
##### Products #####
ProductSetup=Продукти модул за настройка
ServiceSetup=Услуги модул за настройка
@ -1336,8 +1337,8 @@ BarcodeDescISBN=Баркод от тип ISBN
BarcodeDescC39=Баркод от типа С39
BarcodeDescC128=Баркод от тип C128
GenbarcodeLocation=Бар код поколение инструмент за командния ред (използва се от двигател с вътрешно за някои видове баркод)
# BarcodeInternalEngine=Internal engine
# BarCodeNumberManager=Manager to auto define barcode numbers
BarcodeInternalEngine=Internal engine
BarCodeNumberManager=Manager to auto define barcode numbers
##### Prelevements #####
WithdrawalsSetup=Настройка Оттегляне модул
##### ExternalRSS #####
@ -1372,8 +1373,8 @@ FCKeditorForCompany=WYSIWIG създаване / редактиране на е
FCKeditorForProduct=WYSIWIG създаване / редактиране на продукти / услуги описание и бележка
FCKeditorForProductDetails=WYSIWIG създаване / редактиране на линии продукти подробности за всички предприятия (предложения, поръчки, фактури и др.) <font class="warning">Внимание: Използването на тази опция за този случай сериозно не се recommanded, тъй като това може да създаде проблеми със специални символи и оформление на страница при изграждането на PDF файлове.</font>
FCKeditorForMailing= WYSIWIG създаване / редактиране на писма
# FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
# FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing)
FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing)
##### OSCommerce 1 #####
OSCommerceErrorConnectOkButWrongDatabase=Връзка успял, но базата данни не изглежда да бъде една база данни на OSCommerce (Ключови %s не е намерен в таблицата %s).
OSCommerceTestOk=Връзка към &quot;%s&quot; сървър на &quot;%s&quot; база данни с успешен потребителски %s.
@ -1431,13 +1432,13 @@ Sell=Продажба
InvoiceDateUsed=Дата на фактура използва
YourCompanyDoesNotUseVAT=Вашата фирма е настроена да не се използва ДДС (Начало - Настройки - Фирма/Организация), така че е без опции за настройка на ДДС.
AccountancyCode=Счетоводен код
# AccountancyCodeSell=Sale account. code
# AccountancyCodeBuy=Purchase account. code
AccountancyCodeSell=Sale account. code
AccountancyCodeBuy=Purchase account. code
##### Agenda #####
AgendaSetup=Събития и натъкмяване на дневен ред модул
PasswordTogetVCalExport=, За да разреши износ връзка
PastDelayVCalExport=Не изнася случай по-стари от
# AGENDA_USE_EVENT_TYPE=Use events types (managed into Configuration->Dictionary->llx_c_actioncomm)
AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionnary -> Type of agenda events)
##### ClickToDial #####
ClickToDialDesc=Този модул позволява да добавите икона след телефонни номера. Кликнете върху тази икона ще призове сървър с определен URL адрес можете да зададете по-долу. Това може да се използва, за да се обадя на кол център система от Dolibarr, че да се обаждат на телефонен номер на SIP система, например.
##### Point Of Sales (CashDesk) #####
@ -1471,10 +1472,10 @@ MultiCompanySetup=Multi-модул за настройка компания
SuppliersSetup=Настройка доставчик модул
SuppliersCommandModel=Пълна шаблон на доставчика за (logo. ..)
SuppliersInvoiceModel=Пълна образец на фактура на доставчика (logo. ..)
# SuppliersInvoiceNumberingModel=Supplier invoices numbering models
SuppliersInvoiceNumberingModel=Supplier invoices numbering models
##### GeoIPMaxmind #####
GeoIPMaxmindSetup=GeoIP MaxMind модул за настройка
# PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.<br>Examples:<br>/usr/local/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoIP.dat
PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.<br>Examples:<br>/usr/local/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoIP.dat
NoteOnPathLocation=Имайте предвид, че ИП в страната файла с данни трябва да е в директория PHP ви да прочетете (Проверете PHP open_basedir настройка и разрешения файловата система).
YouCanDownloadFreeDatFileTo=Можете да изтеглите <b>безплатна демо версия</b> на файла GeoIP MaxMind страната в %s.
YouCanDownloadAdvancedDatFileTo=Можете също да изтеглите <b>по-пълна версия, с актуализации</b> на файла GeoIP MaxMind страната в %s.
@ -1483,8 +1484,8 @@ TestGeoIPResult=Тест на преобразуване IP -> страната
ProjectsNumberingModules=Проекти номериране модул
ProjectsSetup=Инсталационния проект модул
ProjectsModelModule=Проект доклади документ модел
# TasksNumberingModules=Tasks numbering module
# TaskModelModule=Tasks reports document model
TasksNumberingModules=Tasks numbering module
TaskModelModule=Tasks reports document model
##### ECM (GED) #####
# ECMSetup = GED Setup
# ECMAutoTree = Automatic tree folder and document
ECMSetup = GED Setup
ECMAutoTree = Automatic tree folder and document

View File

@ -37,12 +37,13 @@ AgendaAutoActionDesc= Определете тук събития, за коит
AgendaSetupOtherDesc= Тази страница предоставя възможности да се допусне износ на вашите събития Dolibarr в външен календар (Thunderbird, Google Calendar, ...)
AgendaExtSitesDesc=Тази страница позволява да се обяви външните източници на календари, за да видят своите събития в дневния ред Dolibarr.
ActionsEvents= Събития, за които Dolibarr ще създаде действие в дневния ред автоматично
# PropalValidatedInDolibarr= Proposal %s validated
PropalValidatedInDolibarr= Proposal %s validated
InvoiceValidatedInDolibarr= Фактура %s валидирани
InvoiceBackToDraftInDolibarr=Фактура %s се върнете в състояние на чернова
# InvoiceDeleteDolibarr=Invoice %s deleted
InvoiceDeleteDolibarr=Invoice %s deleted
OrderValidatedInDolibarr= Поръчка %s валидирани
OrderApprovedInDolibarr=Поръчка %s одобрен
OrderRefusedInDolibarr=Order %s refused
OrderBackToDraftInDolibarr=Поръчка %s се върне в състояние на чернова
OrderCanceledInDolibarr=Поръчка %s отменен
InterventionValidatedInDolibarr=Намеса %s валидирани
@ -52,7 +53,7 @@ InvoiceSentByEMail=, Изпратени по електронната поща %
SupplierOrderSentByEMail=%s доставчик реда, изпратени по електронната поща
SupplierInvoiceSentByEMail=, Изпратени по електронната поща %s доставчик фактура
ShippingSentByEMail=Доставка %s изпращат по електронна поща
# ShippingValidated= Shipping %s validated
ShippingValidated= Shipping %s validated
InterventionSentByEMail=Намеса %s изпращат по електронна поща
NewCompanyToDolibarr= Създадено от трета страна
DateActionPlannedStart= Планирана начална дата
@ -69,7 +70,7 @@ AgendaUrlOptions5=<b>logind = %s</b> да се ограничи производ
AgendaShowBirthdayEvents=Показване на контактите, които имат рожден ден
AgendaHideBirthdayEvents=Скриване на контактите, които имат рожден ден
Busy=Зает
# ExportDataset_event1=List of agenda events
ExportDataset_event1=List of agenda events
# External Sites ical
ExportCal=Изнасяне на календар

View File

@ -8,7 +8,6 @@ BillsCustomersUnpaid=Неплатен клиента фактури
BillsCustomersUnpaidForCompany=Неплатен клиента фактури за %s
BillsSuppliersUnpaid=Неплатен доставчика фактури
BillsSuppliersUnpaidForCompany=Неплатен доставчика фактури за %s
BillsUnpaid=Неплатен
BillsLate=Забавянето на плащанията
BillsStatistics=Клиента фактури статистика
BillsStatisticsSuppliers=Доставчик фактури статистика
@ -24,13 +23,13 @@ InvoiceProFormaAsk=Проформа фактура
InvoiceProFormaDesc=<b>Проформа фактура</b> е образ на една истинска фактура, но не е счетоводна стойност.
InvoiceReplacement=Подмяна фактура
InvoiceReplacementAsk=Резервна фактура за фактура
InvoiceReplacementDesc=<b>Подмяна фактура</b> се използва, за да се отмени и замени напълно фактура без заплащане вече е получил. <br><br> Забележка: Само фактура без заплащане върху него може да бъде заменен. Ако не е затворен, той автоматично ще бъде затворен за &quot;изоставена&quot;.
InvoiceReplacementDesc=<b>Replacement invoice</b> is used to cancel and replace completely an invoice with no payment already received.<br><br>Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'.
InvoiceAvoir=Кредитно известие
InvoiceAvoirAsk=Кредитно известие за коригиране на фактура
InvoiceAvoirDesc=<b>Кредитно известие</b> е отрицателна фактура, използвани за решаване на факта, че фактурата е сумата, която се различава от сумата, наистина са платени (защото платил твърде много от грешка, или няма да се изплаща напълно, тъй като той се върна някои продукти, например).
# invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
# invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
# invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=Сменете фактура %s
ReplacementInvoice=Подмяна фактура
ReplacedByInvoice=Заменен с фактура %s
@ -59,7 +58,7 @@ Payment=Плащане
PaymentBack=Плащане гърба
Payments=Плащания
PaymentsBack=Плащания назад
# PaidBack=Paid back
PaidBack=Paid back
DatePayment=Дата на плащане
DeletePayment=Изтриване на плащане
ConfirmDeletePayment=Сигурен ли сте, че искате да изтриете това плащане?
@ -67,12 +66,12 @@ ConfirmConvertToReduc=Ли искате да конвертирате това
SupplierPayments=Доставчици плащания
ReceivedPayments=Получени плащания
ReceivedCustomersPayments=Плащания, получени от клиенти
# PayedSuppliersPayments=Payments payed to suppliers
PayedSuppliersPayments=Payments payed to suppliers
ReceivedCustomersPaymentsToValid=Получени плащания на клиентите за валидация
PaymentsReportsForYear=Плащания доклади за %s
PaymentsReports=Плащания доклади
PaymentsAlreadyDone=Плащания направили
# PaymentsBackAlreadyDone=Payments back already done
PaymentsBackAlreadyDone=Payments back already done
PaymentRule=Плащане правило
PaymentMode=Начин на плащане
PaymentConditions=Начин на плащане
@ -81,14 +80,14 @@ PaymentAmount=Сума за плащане
ValidatePayment=Проверка на плащане
PaymentHigherThanReminderToPay=Плащането по-висока от напомняне за плащане
HelpPaymentHigherThanReminderToPay=Внимание, сумата на плащането на една или повече сметки е по-висока, отколкото останалата част да плащат. <br> Редактиране на влизането си, в противен случай потвърдят и да се мисли за създаване на кредитно известие от превишението получени за всеки надвнесени фактури.
# HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay. <br> Edit your entry, otherwise confirm.
HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay. <br> Edit your entry, otherwise confirm.
ClassifyPaid=Класифициране 'Платено'
ClassifyPaidPartially=Класифициране 'Платено частично'
ClassifyCanceled=Класифициране 'Изоставено'
ClassifyClosed=Класифициране 'Затворено'
CreateBill=Създаване на фактура
AddBill=Добави фактура или кредитно известие
# AddToDraftInvoices=Add to draft invoice
AddToDraftInvoices=Add to draft invoice
DeleteBill=Изтриване на фактура
SearchACustomerInvoice=Търсене за клиент фактура
SearchASupplierInvoice=Търсене за доставчик фактура
@ -171,7 +170,7 @@ ConfirmClassifyPaidPartiallyReasonOtherDesc=Използвайте този из
ConfirmClassifyAbandonReasonOther=Друг
ConfirmClassifyAbandonReasonOtherDesc=Този избор ще бъде използван във всички останали случаи. За пример, защото имате намерение да се създаде замяна на фактура.
ConfirmCustomerPayment=Потвърждавате ли това плащане вход за %s <b>%s?</b>
# ConfirmSupplierPayment=Do you confirm this payment input for <b>%s</b> %s ?
ConfirmSupplierPayment=Do you confirm this payment input for <b>%s</b> %s ?
ConfirmValidatePayment=Сигурен ли сте, че искате да проверите това плащане? Без промяна може да се направи, след като плащането е утвърден.
ValidateBill=Проверка на фактура
UnvalidateBill=Unvalidate фактура
@ -188,13 +187,13 @@ ShowInvoiceDeposit=Покажи фактура депозит
ShowPayment=Покажи плащане
File=Досие
AlreadyPaid=Вече е платена
# AlreadyPaidBack=Already paid back
AlreadyPaidBack=Already paid back
AlreadyPaidNoCreditNotesNoDeposits=Вече е платена (без кредитни известия и депозити)
Abandoned=Изоставен
RemainderToPay=Остатък за плащане
RemainderToTake=Остатък да предприеме
# RemainderToPayBack=Remainder to pay back
# Rest=Pending
RemainderToPayBack=Remainder to pay back
Rest=Pending
AmountExpected=Претендираната сума
ExcessReceived=Превишение получи
EscompteOffered=Отстъпка предложи (плащане преди термина)
@ -204,7 +203,7 @@ StandingOrders=Постоянните поръчки
StandingOrder=Постоянния цел
NoDraftBills=Няма тяга фактури
NoOtherDraftBills=Никакви други фактури проекти
# NoDraftInvoices=No draft invoices
NoDraftInvoices=No draft invoices
RefBill=Фактура код
ToBill=На Бил
RemainderToBill=Остатък за законопроект
@ -217,7 +216,6 @@ DateEcheance=Due date limit
DateInvoice=Дата на фактура
NoInvoice=Липса на фактура
ClassifyBill=Класифициране на фактурата
NoSupplierBillsUnpaid=Не, доставчици фактури неплатени
SupplierBillsToPay=Доставчици фактури за плащане
CustomerBillsUnpaid=Неплатени фактури на клиентите
DispenseMontantLettres=Законопроектът, изготвен от механографски са освободени от реда, в писма
@ -288,7 +286,7 @@ InvoiceNotChecked=Не е избран фактура
CloneInvoice=Clone фактура
ConfirmCloneInvoice=Сигурен ли сте, че искате да клонирате тази фактура <b>%s?</b>
DisabledBecauseReplacedInvoice=Действие инвалиди, тъй като фактурата е била заменена
DescTaxAndDividendsArea=Тук се представя обобщение на всички плащания, направени за данъци или социални осигуровки. Включват се само записи с плащане в рамките на зададената година.
DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payment during the fixed year are included here.
NbOfPayments=Nb на плащанията
SplitDiscount=Сплит отстъпка в две
ConfirmSplitDiscount=Сигурен ли сте, че искате да разделите тази отстъпка на <b>%s</b> %s в две по-ниски отстъпки?
@ -315,8 +313,8 @@ PaymentConditionShortPT_ORDER=По поръчка
PaymentConditionPT_ORDER=По поръчка
PaymentConditionShortPT_5050=50-50
PaymentConditionPT_5050=50% авансово, 50% при доставка
# FixAmount=Fix amount
# VarAmount=Variable amount (%% tot.)
FixAmount=Fix amount
VarAmount=Variable amount (%% tot.)
# PaymentType
PaymentTypeVIR=На влоговете в банките
@ -392,13 +390,18 @@ CantRemovePaymentWithOneInvoicePaid=Не може да се премахне п
ExpectedToPay=Очаквано плащане
PayedByThisPayment=Плаща от това плащане
ClosePaidInvoicesAutomatically=Класифицира &quot;ЗАПЛАЩАТ&quot; стандартно или заместващи фактури entirely ЗАПЛАЩАТ.
# ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
AllCompletelyPayedInvoiceWillBeClosed=Всички фактура не остават да плати, ще бъде затворено автоматично статус &quot;Платени&quot;.
# ToMakePayment=Pay
# ToMakePaymentBack=Pay back
# ListOfYourUnpaidInvoices=List of unpaid invoices
# NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative.
# RevenueStamp=Revenue stamp
ToMakePayment=Pay
ToMakePaymentBack=Pay back
ListOfYourUnpaidInvoices=List of unpaid invoices
NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative.
RevenueStamp=Revenue stamp
YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty
PDFCrabeDescription=Фактура PDF Crabe шаблон. Пълна шаблон фактура (Шаблон recommanded)
TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
TerreNumRefModelError=Законопроект, който започва с $ syymm вече съществува и не е съвместим с този модел на последователност. Извадете го или го преименувайте да се активира този модул.
##### Types de contacts #####
TypeContact_facture_internal_SALESREPFOLL=Представител проследяване клиент фактура
TypeContact_facture_external_BILLING=Контакта с клиентите фактура
@ -408,11 +411,3 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Представител пр
TypeContact_invoice_supplier_external_BILLING=Свържи се с доставчика фактура
TypeContact_invoice_supplier_external_SHIPPING=Свържи се с доставчика корабоплаване
TypeContact_invoice_supplier_external_SERVICE=Свържи се с доставчика на услуги
# crabe PDF Model
PDFCrabeDescription=Фактура PDF Crabe шаблон. Пълна шаблон фактура (Шаблон recommanded)
# oursin PDF Model
PDFOursinDescription=Фактура PDF Oursin шаблон. Пълна шаблон фактура (Шаблон алтернатива)
# NumRef Modules
# TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
# MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0
TerreNumRefModelError=Законопроект, който започва с $ syymm вече съществува и не е съвместим с този модел на последователност. Извадете го или го преименувайте да се активира този модул.

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