Merge branch 'upstream/develop'
This commit is contained in:
commit
bae2fe0921
64
ChangeLog
64
ChangeLog
@ -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).
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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`;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
34
dev/deduplicatefilelinesrecursively.sh
Executable file
34
dev/deduplicatefilelinesrecursively.sh
Executable 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
21
dev/detectduplicatelangkey.sh
Executable 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
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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.'&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.'&action=create_thirdparty">';
|
||||
print $langs->trans("CreateDolibarrThirdParty");
|
||||
print '</a>)';
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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>";
|
||||
|
||||
@ -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"];
|
||||
|
||||
@ -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>';
|
||||
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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";
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 . ")";
|
||||
|
||||
@ -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> '.$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>';
|
||||
|
||||
@ -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&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>';
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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>';
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@ -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>';
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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"];
|
||||
|
||||
@ -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">';
|
||||
|
||||
@ -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 ' <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> <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"),
|
||||
|
||||
@ -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)
|
||||
{
|
||||
|
||||
@ -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">';
|
||||
|
||||
@ -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>';
|
||||
}
|
||||
|
||||
@ -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>';
|
||||
|
||||
@ -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
|
||||
*
|
||||
|
||||
@ -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');
|
||||
}
|
||||
|
||||
|
||||
@ -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>';
|
||||
|
||||
@ -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';
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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='';
|
||||
|
||||
@ -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')
|
||||
|
||||
@ -791,6 +791,7 @@ class ExtraFields
|
||||
$labeltoshow=dol_trunc($obj->$field_toshow,18).' ';
|
||||
}
|
||||
}
|
||||
$out.='<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -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"':'').'> </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'):' ').'</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'):' ').'</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))
|
||||
{
|
||||
|
||||
@ -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"> </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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
@ -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)
|
||||
{
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
*
|
||||
|
||||
@ -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 = "";
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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=>)
|
||||
|
||||
@ -1283,7 +1283,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
{
|
||||
for ($j=0; $j < $tabul; $j++)
|
||||
{
|
||||
$tabstring.=' ';
|
||||
$tabstring.=' ';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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"> ';
|
||||
$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>';
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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"> ';
|
||||
$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>';
|
||||
|
||||
|
||||
@ -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"> ';
|
||||
$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>';
|
||||
|
||||
|
||||
@ -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.")",
|
||||
|
||||
@ -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"> ';
|
||||
$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>';
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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"> ';
|
||||
$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)
|
||||
|
||||
@ -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"> ';
|
||||
$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>';
|
||||
|
||||
|
||||
@ -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>';
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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>";
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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';
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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>';
|
||||
|
||||
@ -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"> </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++;
|
||||
|
||||
Binary file not shown.
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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=وميزة لإرسال رسائل باستخدام طريقة "البريد PHP المباشرة" إنشاء رسالة البريد الإلكتروني التي قد لا تحليل بشكل صحيح من قبل بعض ملقمات البريد المتلقي. النتيجة هي أنه لا يمكن أن بعض الرسائل يمكن قراءتها من قبل الناس التي تستضيفها منصات thoose تنصتت. انها الحال بالنسبة لبعض مقدمي خدمات الإنترنت (مثال: البرتقال في فرنسا). هذه ليست مشكلة في Dolibarr ولا في PHP ولكن على استقبال خادم البريد. يمكنك إضافة MAIN_FIX_FOR_BUGGED_MTA لكن الخيار إلى 1 في الإعداد - أخرى لتعديل Dolibarr لتجنب هذا. ومع ذلك، قد تواجه مشكلة مع ملقمات أخرى أن الاحترام الصارم لمعيار SMTP. الحل الآخر (ريكومانديد) هو لاستخدام أسلوب "SMTP مأخذ مكتبة" التي لا يوجد لديه عيوب.
|
||||
# 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
|
||||
|
||||
@ -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= التاريخ المخطط للبدء
|
||||
|
||||
@ -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=تصنيف "سيولي" كل معيار أو الفواتير استبدال سيولي entirely.
|
||||
# ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
|
||||
ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=كل فاتورة مع عدم وجود لا تزال لدفع ستغلق تلقائيا إلى "فياض" الوضع.
|
||||
# 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 لا تتفق مع هذا النموذج من التسلسل. إزالة أو تغيير تسميتها لتصبح لتفعيل هذه الوحدة.
|
||||
|
||||
@ -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=قيمة خاطئة "%s 'ل' %s" المعلمة غير صحيحة
|
||||
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 مستمر في الإعداد> الإعداد الأخرى).
|
||||
# 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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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=يوم الاثنين
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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=صادرات المنطقة
|
||||
|
||||
@ -9,14 +9,17 @@ PAYPAL_API_USER=API المستخدم
|
||||
PAYPAL_API_PASSWORD=API كلمة السر
|
||||
PAYPAL_API_SIGNATURE=API توقيع
|
||||
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=تقدم الدفع "لا يتجزأ" (بطاقة الائتمان + باي بال) أو "باي بال" فقط
|
||||
# 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=أنت حاليا في وضع "رمل"
|
||||
# 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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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=لم يتم تعيين خيار الوضع الحقيقي، ونحن بعد توقف هذه المحاكاة
|
||||
|
||||
@ -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=Във Франция, това означава, асоциации, които са извън декларирания ДДС или фирми, организации или свободните професии, които са избрали фискалната система на микропредприятие (с ДДС франчайз) и се изплаща франчайз ДДС без ДДС декларация. Този избор ще покаже позоваване на "неприлаганите ДДС - арт-293B CGI" във фактурите.
|
||||
##### 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=Връзка към "%s" сървър на "%s" база данни с успешен потребителски %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
|
||||
|
||||
@ -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=Изнасяне на календар
|
||||
|
||||
@ -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> Забележка: Само фактура без заплащане върху него може да бъде заменен. Ако не е затворен, той автоматично ще бъде затворен за "изоставена".
|
||||
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=Класифицира "ЗАПЛАЩАТ" стандартно или заместващи фактури entirely ЗАПЛАЩАТ.
|
||||
# ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
|
||||
ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Всички фактура не остават да плати, ще бъде затворено автоматично статус "Платени".
|
||||
# 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
Loading…
Reference in New Issue
Block a user