Merge remote-tracking branch 'Upstream/develop' into 5.0-p34
This commit is contained in:
commit
6e5ab06a3d
26
ChangeLog
26
ChangeLog
@ -38,8 +38,34 @@ Dolibarr better:
|
||||
- Trigger name SUPPLIER_PROPOSAL_CREATE has been renamed into PROPOSAL_SUPPLIER_CREATE
|
||||
- A new paramater sqlfilters was introduced to allow filter on any fields int the REST API. Few old parameters
|
||||
no more required were also removed. Use this new one if you ware using one of them.
|
||||
- Method commande->deleteline($lindeid) has been replaced with commande->deleteline($user, $lineid).
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 4.0.2 compared to 4.0.1 *****
|
||||
FIX: #5340
|
||||
FIX: #5779
|
||||
FIX: #5849
|
||||
FIX: #5866
|
||||
FIX: #5907
|
||||
FIX: Addline if $txlocaltax1 is empty
|
||||
FIX: Avoid error 500 if phpexcel is disabled
|
||||
FIX: Avoid errors on debian
|
||||
FIX: Can edit the customer ref even if order is not draft.
|
||||
FIX: Documents not moved in new directory if we change reference of the task.
|
||||
FIX: Error when CATEGORIE_RECURSIV_ADD is enabled and new category is child of an already linked to object
|
||||
FIX: Extra fields of task not copied on project cloning
|
||||
FIX: Hidden option PRODUCT_MAX_VISIBLE_PHOTO
|
||||
FIX: Link on supplier invoice in widget was not clickable
|
||||
FIX: margin tab on customer card must filter on current entity invoices
|
||||
FIX: missing column into SQL on thirdparty list
|
||||
FIX: Nber of attached files were not reported in event report of email sent
|
||||
FIX: only show projects of related third if external user
|
||||
FIX: Search provider by price
|
||||
FIX: Solve backup when using mysqldump that return warning
|
||||
FIX: Sql error in widget of product for stock alerts
|
||||
FIX: updateligne if $txlocaltax1 is null
|
||||
|
||||
***** ChangeLog for 4.0.1 compared to 4.0.0 *****
|
||||
FIX: #2853
|
||||
FIX: #2991
|
||||
|
||||
@ -147,7 +147,7 @@ These are features that Dolibarr does **not** yet fully support:
|
||||
|
||||
## DOCUMENTATION
|
||||
|
||||
Administrator, user, developer and translator's documentations are available along with other community resources on the [Wiki](http://wiki.dolibarr.org).
|
||||
Administrator, user, developer and translator's documentations are available along with other community resources on the [Wiki](https://wiki.dolibarr.org).
|
||||
|
||||
## CONTRIBUTING
|
||||
|
||||
|
||||
@ -333,7 +333,7 @@ To update dolibarr debian package when only files into debian has changed:
|
||||
To update dolibarr debian package when only files not into debian has changed:
|
||||
|
||||
* Manually, add patches into debian/patches and update file debian/series, or do the 2 steps with "quilt import filepatch.patch"
|
||||
* You can test patching of serie with "quilt push" (autant de fois que de patch). Avec "quilt pop -a", on revien a l'état du upstream sans les patch.
|
||||
* You can test patching of serie with "quilt push" (autant de fois que de patch). Avec "quilt pop -a", on revient a l'état du upstream sans les patch.
|
||||
|
||||
Once files has been prepared, it's time to test:
|
||||
|
||||
@ -350,7 +350,7 @@ Note: Package is built into directory ../build-area
|
||||
Note: To compare 2 packages: debdiff package1.dsc package2.dsc
|
||||
|
||||
* Test package (see dedicated chapter to test it with debian unstable env)
|
||||
> cp ../build-area/* /srv/chroot/unstable/tmp
|
||||
> sudo rm /srv/chroot/unstable/tmp/* >/dev/null 2>&1; cp ../build-area/* /srv/chroot/unstable/tmp
|
||||
See rest of process into dedicated chapter "To test a package" to test it with debian unstable env
|
||||
|
||||
* If package .deb is ok:
|
||||
|
||||
@ -73,6 +73,8 @@ If you want to build/test package locally:
|
||||
bzr commit -m "Upstream version x.y"
|
||||
bzr push
|
||||
|
||||
|
||||
|
||||
# Init debian dir repository into launchpad (when repository for sources does not exist)
|
||||
#----------------------------------
|
||||
- Create debian directory and upload it onto bzr branch lp:~yourlogin/+junk/debian-[dev|stable]
|
||||
@ -104,12 +106,13 @@ If you want to build/test package locally:
|
||||
bzr push lp:~yourlogin/+junk/debian-[dev|stable]
|
||||
|
||||
|
||||
|
||||
# Define a recipe into launchpad (a rule to build packages into a PPA)
|
||||
#----------------------------------
|
||||
- Create a file dolibarr.recipe with content
|
||||
- Create a file dolibarr-[beta|stable].recipe with content
|
||||
cd bzr
|
||||
vi dolibarr.recipe
|
||||
For dev:
|
||||
vi dolibarr-[beta|stable].recipe
|
||||
For beta/dev:
|
||||
# bzr-builder format 0.3 deb-version {debupstream}-0~{revno}
|
||||
lp:dolibarr
|
||||
merge packaging lp:~yourlogin/+junk/debian-dev
|
||||
@ -119,7 +122,7 @@ If you want to build/test package locally:
|
||||
merge packaging lp:~yourlogin/+junk/debian-stable
|
||||
- Run command
|
||||
cd bzr
|
||||
bzr dailydeb dolibarr.recipe working-dir
|
||||
bzr dailydeb dolibarr-[beta|stable].recipe working-dir
|
||||
This will create a directory "working-dir" with dolibarr sources and will add sources from ~yourlogin/+junk/debian-[dev|stable]
|
||||
- Test package sources
|
||||
sudo pbuilder build <working-dir>/<project>_<version>.dsc
|
||||
|
||||
@ -159,6 +159,7 @@ $REL1 = $newbuild; $REL1 =~ s/-.*$//gi;
|
||||
if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; }
|
||||
$FILENAMETGZ2="$PROJECT-$MAJOR.$MINOR.$REL1";
|
||||
$FILENAMERPM=$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm";
|
||||
$FILENAMERPMSRC=$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm";
|
||||
# For Deb
|
||||
$newbuild = $BUILD;
|
||||
$newbuild =~ s/(dev|alpha)/1/gi; # dev
|
||||
@ -733,8 +734,8 @@ if ($nboftargetok) {
|
||||
|
||||
print "Remove target ".$FILENAMERPM."...\n";
|
||||
unlink("$NEWDESTI/".$FILENAMERPM);
|
||||
print "Remove target ".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm...\n";
|
||||
unlink("$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm");
|
||||
print "Remove target ".$FILENAMERPMSRC."...\n";
|
||||
unlink("$NEWDESTI/".$FILENAMERPMSRC);
|
||||
|
||||
print "Create directory $BUILDROOT/$FILENAMETGZ2\n";
|
||||
$ret=`rm -fr $BUILDROOT/$FILENAMETGZ2`;
|
||||
@ -1140,10 +1141,11 @@ if ($nboftargetok) {
|
||||
|
||||
print "\nList of files to publish (BUILD=$BUILD)\n";
|
||||
%filestoscansf=(
|
||||
"$DESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml"=>'signatures',
|
||||
"$DESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml"=>'none', # none means it won't be published on SF
|
||||
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)',
|
||||
"$DESTI/package_rpm_generic/$FILENAMERPMSRC"=>'none', # none means it won't be published on SF
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'none',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'none', # none means it won't be published on SF
|
||||
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)',
|
||||
"$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM',
|
||||
"$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM'
|
||||
@ -1151,6 +1153,7 @@ if ($nboftargetok) {
|
||||
%filestoscanstableasso=(
|
||||
"$DESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml"=>'signatures',
|
||||
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'package_rpm_generic',
|
||||
"$DESTI/package_rpm_generic/$FILENAMERPMSRC"=>'package_rpm_generic',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'package_debian-ubuntu',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'package_debian-ubuntu',
|
||||
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'package_windows',
|
||||
@ -1212,9 +1215,10 @@ if ($nboftargetok) {
|
||||
my $filesize = -s $file;
|
||||
if (! $filesize) { next; }
|
||||
|
||||
print "\n";
|
||||
|
||||
if ($target eq 'SF' && $filestoscan{$file} ne 'none') {
|
||||
if ($target eq 'SF') {
|
||||
if ($filestoscan{$file} eq 'none') {
|
||||
next;
|
||||
}
|
||||
$destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD;
|
||||
}
|
||||
elsif ($target eq 'ASSO' and $NEWPUBLISH =~ /stable/) {
|
||||
@ -1231,6 +1235,8 @@ if ($nboftargetok) {
|
||||
$filenameonly =~ s/.*\/[^\/]+\/([^\/])+$/$1/;
|
||||
$destFolder="$NEWPUBLISH/$dirnameonly";
|
||||
}
|
||||
|
||||
print "\n";
|
||||
print "Publish file ".$file." to ".$destFolder."\n";
|
||||
|
||||
# mkdir
|
||||
|
||||
@ -36,7 +36,7 @@ Go into project you want to update. It mught be:
|
||||
|
||||
Once logged, click on "Add file" in section "Source Files", then select mode "Upload From: Remote URL"
|
||||
Keep empty for "Filename", choose "Remote URL" and enter into last field, URL that should looks like this:
|
||||
http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-0.3.src.rpm
|
||||
http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-0.4.src.rpm
|
||||
|
||||
Then add into Advanded - Attributes
|
||||
OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png
|
||||
|
||||
@ -34,7 +34,7 @@ AutoReqProv: no
|
||||
|
||||
|
||||
%description
|
||||
An easy to use CRM & ERP open source/free software for small
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
|
||||
@ -75,7 +75,7 @@ AutoReqProv: no
|
||||
|
||||
|
||||
%description
|
||||
An easy to use CRM & ERP open source/free software for small
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
|
||||
@ -33,7 +33,7 @@ AutoReqProv: no
|
||||
|
||||
|
||||
%description
|
||||
An easy to use CRM & ERP open source/free software for small
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
|
||||
@ -36,7 +36,7 @@ AutoReqProv: no
|
||||
|
||||
|
||||
%description
|
||||
An easy to use CRM & ERP open source/free software for small
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
<exclude-pattern type="relative">htdocs/includes</exclude-pattern>
|
||||
<exclude-pattern type="relative">htdocs/conf.php</exclude-pattern>
|
||||
<exclude-pattern type="relative">*/nltechno*</exclude-pattern>
|
||||
<exclude-pattern type="relative">*/htdocs/includes</exclude-pattern>
|
||||
|
||||
<!-- List of all tests -->
|
||||
|
||||
|
||||
@ -1786,12 +1786,14 @@ function fieldList($fieldlist, $obj='', $tabname='', $context='')
|
||||
print '<td>';
|
||||
if (! empty($conf->accounting->enabled))
|
||||
{
|
||||
$accountancy_account = (! empty($obj->$fieldlist[$field]) ? $obj->$fieldlist[$field] : 0);
|
||||
$fieldname = $fieldlist[$field];
|
||||
$accountancy_account = (! empty($obj->$fieldname) ? $obj->$fieldname : 0);
|
||||
print $formaccountancy->select_account($accountancy_account, $fieldlist[$field], 1, '', 1, 1, 'maxwidth200 maxwidthonsmartphone');
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<input type="text" size="10" class="flat" value="'.(isset($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'" name="'.$fieldlist[$field].'">';
|
||||
$fieldname = $fieldlist[$field];
|
||||
print '<input type="text" size="10" class="flat" value="'.(isset($obj->$fieldname)?$obj->$fieldname:'').'" name="'.$fieldlist[$field].'">';
|
||||
}
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
@ -204,7 +204,7 @@ if ($mode == 'overwrite')
|
||||
print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("NewTranslationStringToShow"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder);
|
||||
if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder);
|
||||
//if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder);
|
||||
print '<td align="center"></td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@ -371,7 +371,7 @@ if ($mode == 'searchkey')
|
||||
print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder).'</td>';
|
||||
print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("CurrentTranslationString"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder);
|
||||
if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder);
|
||||
//if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder);
|
||||
print '<td align="center"></td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@ -399,7 +399,7 @@ if ($mode == 'searchkey')
|
||||
//}
|
||||
print '</td>';
|
||||
// Action column
|
||||
print '<td class="liste_titre" align="middle">';
|
||||
print '<td class="liste_titre nowrap" align="right">';
|
||||
$searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
|
||||
print $searchpitco;
|
||||
print '</td>';
|
||||
@ -427,10 +427,10 @@ if ($mode == 'searchkey')
|
||||
$htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]);
|
||||
print $form->textwithpicto('', $htmltext, 1, 'warning');
|
||||
}
|
||||
if (! empty($conf->multicompany->enabled) && !$user->entity)
|
||||
/*if (! empty($conf->multicompany->enabled) && !$user->entity)
|
||||
{
|
||||
print $val;
|
||||
}
|
||||
}*/
|
||||
print '</td></tr>'."\n";
|
||||
}
|
||||
|
||||
|
||||
@ -535,7 +535,8 @@ if ($id)
|
||||
{
|
||||
$showfield=1;
|
||||
$align="left";
|
||||
$valuetoshow=$obj->$fieldlist[$field];
|
||||
$fieldname=$fieldlist[$field];
|
||||
$valuetoshow=$obj->$fieldname;
|
||||
|
||||
// Show value for field
|
||||
if ($showfield) print '<td align="'.$align.'">'.$valuetoshow.'</td>';
|
||||
@ -613,14 +614,15 @@ function fieldListWebsites($fieldlist, $obj='', $tabname='', $context='')
|
||||
|
||||
foreach ($fieldlist as $field => $value)
|
||||
{
|
||||
$fieldname = $fieldlist[$field];
|
||||
if ($fieldlist[$field] == 'lang')
|
||||
{
|
||||
print '<td>';
|
||||
print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT,'lang');
|
||||
print '</td>';
|
||||
}
|
||||
elseif ($fieldlist[$field] == 'code' && isset($obj->$fieldlist[$field])) {
|
||||
print '<td><input type="text" class="flat" value="'.(! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'" size="10" name="'.$fieldlist[$field].'"></td>';
|
||||
elseif ($fieldlist[$field] == 'code' && isset($obj->$fieldname)) {
|
||||
print '<td><input type="text" class="flat" value="'.(! empty($obj->$fieldname)?$obj->$fieldname:'').'" size="10" name="'.$fieldlist[$field].'"></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -631,7 +633,7 @@ function fieldListWebsites($fieldlist, $obj='', $tabname='', $context='')
|
||||
if ($fieldlist[$field]=='libelle') $size='size="32" ';
|
||||
if ($fieldlist[$field]=='tracking') $size='size="92" ';
|
||||
if ($fieldlist[$field]=='sortorder') $size='size="2" ';
|
||||
print '<input type="text" '.$size.' class="flat" value="'.(isset($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'" name="'.$fieldlist[$field].'">';
|
||||
print '<input type="text" '.$size.' class="flat" value="'.(isset($obj->$fieldname)?$obj->$fieldname:'').'" name="'.$fieldlist[$field].'">';
|
||||
print '</td>';
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -73,8 +73,10 @@ print '<table class="noborder" width="100%">'."\n";
|
||||
clearstatcache();
|
||||
|
||||
$workflowcodes=array(
|
||||
'WORKFLOW_PROPAL_AUTOCREATE_ORDER'=>array('family'=>'create', 'position'=>10, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'order'),
|
||||
// Automatic creation
|
||||
'WORKFLOW_PROPAL_AUTOCREATE_ORDER'=>array('family'=>'create', 'position'=>10, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'order'),
|
||||
'WORKFLOW_ORDER_AUTOCREATE_INVOICE'=>array('family'=>'create', 'position'=>20, 'enabled'=>'! empty($conf->commande->enabled) && ! empty($conf->facture->enabled)', 'picto'=>'bill'),
|
||||
// Automatic classification
|
||||
'WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL'=>array('family'=>'classify', 'position'=>30, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'order','warning'=>'WarningCloseAlways'),
|
||||
'WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL'=>array('family'=>'classify', 'position'=>30, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->facture->enabled)', 'picto'=>'order','warning'=>'WarningCloseAlways'),
|
||||
// For the following 2 options, if module invoice is disabled, they does not exists, so "Classify billed" for order must be done manually from order card.
|
||||
@ -108,7 +110,11 @@ foreach($workflowcodes as $key => $params)
|
||||
if ($oldfamily != $family)
|
||||
{
|
||||
print '<tr class="liste_titre">'."\n";
|
||||
print ' <td>'.$langs->trans("Description").'</td>';
|
||||
print ' <td>';
|
||||
if ($family == 'create') print $langs->trans("AutomaticCreation");
|
||||
elseif ($family == 'classify') print $langs->trans("AutomaticClassification");
|
||||
else print $langs->trans("Description");
|
||||
print '</td>';
|
||||
print ' <td align="center">'.$langs->trans("Status").'</td>';
|
||||
print "</tr>\n";
|
||||
$oldfamily = $family;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
||||
|
||||
@ -514,7 +514,7 @@ class ActionComm extends CommonObject
|
||||
$sql.= " a.fk_contact, a.percent as percentage,";
|
||||
$sql.= " a.fk_element, a.elementtype,";
|
||||
$sql.= " a.priority, a.fulldayevent, a.location, a.punctual, a.transparency,";
|
||||
$sql.= " c.id as type_id, c.code as type_code, c.libelle, c.color as type_color,";
|
||||
$sql.= " c.id as type_id, c.code as type_code, c.libelle as type_label, c.color as type_color, c.picto as type_picto,";
|
||||
$sql.= " s.nom as socname,";
|
||||
$sql.= " u.firstname, u.lastname as lastname";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a ";
|
||||
@ -535,17 +535,18 @@ class ActionComm extends CommonObject
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
$this->id = $obj->id;
|
||||
$this->ref = $obj->ref;
|
||||
$this->ref_ext = $obj->ref_ext;
|
||||
$this->id = $obj->id;
|
||||
$this->ref = $obj->ref;
|
||||
$this->ref_ext = $obj->ref_ext;
|
||||
|
||||
// Properties of parent table llx_c_actioncomm (will be deprecated in future)
|
||||
$this->type_id = $obj->type_id;
|
||||
$this->type_code = $obj->type_code;
|
||||
// Properties of parent table llx_c_actioncomm
|
||||
$this->type_id = $obj->type_id;
|
||||
$this->type_code = $obj->type_code;
|
||||
$this->type_color = $obj->type_color;
|
||||
$this->type_picto = $obj->type_picto;
|
||||
$transcode=$langs->trans("Action".$obj->type_code);
|
||||
$type_libelle=($transcode!="Action".$obj->type_code?$transcode:$obj->libelle);
|
||||
$this->type = $type_libelle;
|
||||
$type_label=($transcode!="Action".$obj->type_code?$transcode:$obj->type_label);
|
||||
$this->type = $type_label;
|
||||
|
||||
$this->code = $obj->code;
|
||||
$this->label = $obj->label;
|
||||
@ -1018,7 +1019,7 @@ class ActionComm extends CommonObject
|
||||
*/
|
||||
function getLibStatut($mode,$hidenastatus=0)
|
||||
{
|
||||
return $this->LibStatut($this->percentage,$mode,$hidenastatus);
|
||||
return $this->LibStatut($this->percentage,$mode,$hidenastatus,$this->datep);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1027,9 +1028,10 @@ class ActionComm extends CommonObject
|
||||
* @param int $percent Percent
|
||||
* @param int $mode 0=Long label, 1=Short label, 2=Picto+Short label, 3=Picto, 4=Picto+Short label, 5=Short label+Picto, 6=Picto+Long label, 7=Very short label+Picto
|
||||
* @param int $hidenastatus 1=Show nothing if status is "Not applicable"
|
||||
* @param int $datestart Date start of event
|
||||
* @return string Label
|
||||
*/
|
||||
function LibStatut($percent,$mode,$hidenastatus=0)
|
||||
function LibStatut($percent,$mode,$hidenastatus=0,$datestart='')
|
||||
{
|
||||
global $langs;
|
||||
|
||||
|
||||
@ -35,9 +35,11 @@ class CActionComm
|
||||
|
||||
var $code;
|
||||
var $type;
|
||||
var $libelle;
|
||||
var $libelle; // deprecated
|
||||
var $label;
|
||||
var $active;
|
||||
var $color;
|
||||
var $picto;
|
||||
|
||||
var $type_actions=array();
|
||||
|
||||
@ -60,7 +62,7 @@ class CActionComm
|
||||
*/
|
||||
function fetch($id)
|
||||
{
|
||||
$sql = "SELECT id, code, type, libelle, color, active";
|
||||
$sql = "SELECT id, code, type, libelle as label, color, active, picto";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm";
|
||||
if (is_numeric($id)) $sql.= " WHERE id=".$id;
|
||||
else $sql.= " WHERE code='".$id."'";
|
||||
@ -76,7 +78,8 @@ class CActionComm
|
||||
$this->id = $obj->id;
|
||||
$this->code = $obj->code;
|
||||
$this->type = $obj->type;
|
||||
$this->libelle = $obj->libelle;
|
||||
$this->libelle = $obj->label; // deprecated
|
||||
$this->label = $obj->label;
|
||||
$this->active = $obj->active;
|
||||
$this->color = $obj->color;
|
||||
|
||||
@ -114,7 +117,7 @@ class CActionComm
|
||||
$repid = array();
|
||||
$repcode = array();
|
||||
|
||||
$sql = "SELECT id, code, libelle, module, type, color";
|
||||
$sql = "SELECT id, code, libelle as label, module, type, color, picto";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm";
|
||||
$sql.= " WHERE 1=1";
|
||||
if ($active != '') $sql.=" AND active=".$active;
|
||||
@ -155,8 +158,8 @@ class CActionComm
|
||||
if ($onlyautoornot && $code == 'AC_OTH') $code='AC_MANUAL';
|
||||
if ($onlyautoornot && $code == 'AC_OTH_AUTO') $code='AC_AUTO';
|
||||
$transcode=$langs->trans("Action".$code);
|
||||
$repid[$obj->id] = ($transcode!="Action".$code?$transcode:$langs->trans($obj->libelle));
|
||||
$repcode[$obj->code] = ($transcode!="Action".$code?$transcode:$langs->trans($obj->libelle));
|
||||
$repid[$obj->id] = ($transcode!="Action".$code?$transcode:$langs->trans($obj->label));
|
||||
$repcode[$obj->code] = ($transcode!="Action".$code?$transcode:$langs->trans($obj->label));
|
||||
if ($onlyautoornot && preg_match('/^module/',$obj->type) && $obj->module) $repcode[$obj->code].=' ('.$langs->trans("Module").': '.$obj->module.')';
|
||||
}
|
||||
$i++;
|
||||
|
||||
@ -318,7 +318,8 @@ if ($resql)
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"a.id",$param,"","",$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Title"),$_SERVER["PHP_SELF"],"a.label",$param,"","",$sortfield,$sortorder);
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle",$param,"","",$sortfield,$sortorder);
|
||||
//if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle",$param,"","",$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DateStart"),$_SERVER["PHP_SELF"],"a.datep",$param,'','align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DateEnd"),$_SERVER["PHP_SELF"],"a.datep2",$param,'','align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",$param,"","",$sortfield,$sortorder);
|
||||
@ -331,11 +332,11 @@ if ($resql)
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td class="liste_titre"></td>';
|
||||
print '<td class="liste_titre"><input type="text" name="search_title" value="'.$search_title.'"></td>';
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
//if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
//{
|
||||
print '<td class="liste_titre"></td>';
|
||||
//print '<td class="liste_titre"><input type="text" name="search_type" value="'.$search_type.'"></td>';
|
||||
}
|
||||
//}
|
||||
print '<td class="liste_titre" align="center">';
|
||||
print $form->select_date($datestart, 'datestart', 0, 0, 1, '', 1, 0, 1);
|
||||
print '</td>';
|
||||
@ -380,6 +381,7 @@ if ($resql)
|
||||
$actionstatic->ref=$obj->id;
|
||||
$actionstatic->type_code=$obj->type_code;
|
||||
$actionstatic->type_label=$obj->type_label;
|
||||
$actionstatic->type_picto=$obj->type_picto;
|
||||
$actionstatic->label=$obj->label;
|
||||
|
||||
print "<tr ".$bc[$var].">";
|
||||
@ -394,12 +396,22 @@ if ($resql)
|
||||
print $actionstatic->label;
|
||||
print '</td>';
|
||||
|
||||
// Type
|
||||
print '<td>';
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
$labeltype=$obj->type_code;
|
||||
if (! empty($arraylist[$labeltype])) $labeltype=$arraylist[$labeltype];
|
||||
print '<td>'.dol_trunc($labeltype,28).'</td>';
|
||||
if ($actionstatic->type_picto) print img_picto('', $actionstatic->type_picto);
|
||||
else {
|
||||
if ($actionstatic->type_code == 'AC_TEL') print img_picto('', 'object_phoning').' ';
|
||||
if ($actionstatic->type_code == 'AC_FAX') print img_picto('', 'object_phoning_fax').' ';
|
||||
if ($actionstatic->type_code == 'AC_EMAIL') print img_picto('', 'object_email').' ';
|
||||
}
|
||||
}
|
||||
$labeltype=$obj->type_code;
|
||||
if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && empty($arraylist[$labeltype])) $labeltype='AC_OTH';
|
||||
if (! empty($arraylist[$labeltype])) $labeltype=$arraylist[$labeltype];
|
||||
print dol_trunc($labeltype,28);
|
||||
print '</td>';
|
||||
|
||||
// Start date
|
||||
print '<td align="center" class="nowrap">';
|
||||
@ -455,7 +467,8 @@ if ($resql)
|
||||
print '</td>';
|
||||
|
||||
// Status/Percent
|
||||
print '<td align="center" class="nowrap">'.$actionstatic->LibStatut($obj->percent,3).'</td>';
|
||||
$datep=$db->jdate($obj->datep);
|
||||
print '<td align="center" class="nowrap">'.$actionstatic->LibStatut($obj->percent,3,1,$datep).'</td>';
|
||||
|
||||
print '<td></td>';
|
||||
|
||||
|
||||
@ -9,7 +9,6 @@
|
||||
* Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
@ -89,7 +88,7 @@ $hookmanager->initHooks(array('commcard','globalcard'));
|
||||
* Actions
|
||||
*/
|
||||
|
||||
$parameters = array('socid' => $id);
|
||||
$parameters = array('id' => $id, 'socid' => $id);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some
|
||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
||||
@ -440,7 +439,8 @@ if ($id > 0)
|
||||
{
|
||||
$langs->load("members");
|
||||
$langs->load("users");
|
||||
print '<tr><td>'.$langs->trans("LinkedToDolibarrMember").'</td>';
|
||||
|
||||
print '<tr><td class="titlefield">'.$langs->trans("LinkedToDolibarrMember").'</td>';
|
||||
print '<td>';
|
||||
$adh=new Adherent($db);
|
||||
$result=$adh->fetch('','',$object->id);
|
||||
@ -459,13 +459,13 @@ if ($id > 0)
|
||||
|
||||
print "</table>";
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
if ($object->client == 2 || $object->client == 3)
|
||||
{
|
||||
print '<br>';
|
||||
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Level of prospect
|
||||
print '<tr><td class="titlefield nowrap">';
|
||||
print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
|
||||
@ -484,7 +484,8 @@ if ($id > 0)
|
||||
// Status
|
||||
$object->loadCacheOfProspStatus();
|
||||
print '<tr><td>'.$langs->trans("StatusProsp").'</td><td colspan="3">'.$object->getLibProspCommStatut(4, $object->cacheprospectstatus[$object->stcomm_id]['label']);
|
||||
print ' <div class="floatright">';
|
||||
print ' ';
|
||||
print '<div class="floatright">';
|
||||
foreach($object->cacheprospectstatus as $key => $val)
|
||||
{
|
||||
$titlealt='default';
|
||||
@ -492,8 +493,8 @@ if ($id > 0)
|
||||
if ($object->stcomm_id != $val['id']) print '<a class="pictosubstatus" href="'.$_SERVER["PHP_SELF"].'?socid='.$object->id.'&stcomm='.$val['code'].'&action=setstcomm">'.img_action($titlealt,$val['code']).'</a>';
|
||||
}
|
||||
print '</div></td></tr>';
|
||||
print "</table>";
|
||||
}
|
||||
print "</table>";
|
||||
|
||||
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
||||
|
||||
|
||||
@ -389,8 +389,8 @@ class Propal extends CommonObject
|
||||
* @param int $date_end End date of the line
|
||||
* @param array $array_options extrafields array
|
||||
* @param string $fk_unit Code of the unit to use. Null to use the default one
|
||||
* @param string $origin 'order', ...
|
||||
* @param int $origin_id Id of origin object
|
||||
* @param string $origin 'order', ...
|
||||
* @param int $origin_id Id of origin object
|
||||
* @return int >0 if OK, <0 if KO
|
||||
*
|
||||
* @see add_product
|
||||
@ -454,7 +454,14 @@ class Propal extends CommonObject
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty,$mysoc);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $txtva, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $product_type, $mysoc, $localtaxes_type, 100, $this->multicurrency_tx);
|
||||
|
||||
@ -496,6 +503,8 @@ class Propal extends CommonObject
|
||||
$this->line->label=$label;
|
||||
$this->line->desc=$desc;
|
||||
$this->line->qty=$qty;
|
||||
|
||||
$this->line->vat_src_code=$vat_src_code;
|
||||
$this->line->tva_tx=$txtva;
|
||||
$this->line->localtax1_tx=$txlocaltax1;
|
||||
$this->line->localtax2_tx=$txlocaltax2;
|
||||
@ -629,7 +638,14 @@ class Propal extends CommonObject
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty,$mysoc);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $txtva, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type, 100, $this->multicurrency_tx);
|
||||
$total_ht = $tabprice[0];
|
||||
@ -681,6 +697,8 @@ class Propal extends CommonObject
|
||||
$this->line->remise_percent = $remise_percent;
|
||||
$this->line->subprice = $pu;
|
||||
$this->line->info_bits = $info_bits;
|
||||
|
||||
$this->line->vat_src_code = $vat_src_code;
|
||||
$this->line->total_ht = $total_ht;
|
||||
$this->line->total_tva = $total_tva;
|
||||
$this->line->total_localtax1 = $total_localtax1;
|
||||
@ -3288,14 +3306,14 @@ class Propal extends CommonObject
|
||||
// For other object, here we call fetch_lines. But fetch_lines does not exists on proposal
|
||||
|
||||
$sql = 'SELECT pt.rowid, pt.label as custom_label, pt.description, pt.fk_product, pt.fk_remise_except,';
|
||||
$sql.= ' pt.qty, pt.tva_tx, pt.remise_percent, pt.subprice, pt.info_bits,';
|
||||
$sql.= ' pt.qty, pt.vat_src_code, pt.tva_tx, pt.remise_percent, pt.subprice, pt.info_bits,';
|
||||
$sql.= ' pt.total_ht, pt.total_tva, pt.total_ttc, pt.fk_product_fournisseur_price as fk_fournprice, pt.buy_price_ht as pa_ht, pt.special_code, pt.localtax1_tx, pt.localtax2_tx,';
|
||||
$sql.= ' pt.date_start, pt.date_end, pt.product_type, pt.rang, pt.fk_parent_line,';
|
||||
$sql.= ' pt.fk_unit,';
|
||||
$sql.= ' p.label as product_label, p.ref, p.fk_product_type, p.rowid as prodid,';
|
||||
$sql.= ' p.description as product_desc,';
|
||||
$sql.= ' p.entity';
|
||||
$sql.= ' ,pt.fk_multicurrency, pt.multicurrency_code, pt.multicurrency_subprice, pt.multicurrency_total_ht, pt.multicurrency_total_tva, pt.multicurrency_total_ttc';
|
||||
$sql.= ' p.entity,';
|
||||
$sql.= ' pt.fk_multicurrency, pt.multicurrency_code, pt.multicurrency_subprice, pt.multicurrency_total_ht, pt.multicurrency_total_tva, pt.multicurrency_total_ttc';
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'propaldet as pt';
|
||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON pt.fk_product=p.rowid';
|
||||
$sql.= ' WHERE pt.fk_propal = '.$this->id;
|
||||
@ -3330,6 +3348,8 @@ class Propal extends CommonObject
|
||||
$this->lines[$i]->subprice = $obj->subprice;
|
||||
$this->lines[$i]->fk_remise_except = $obj->fk_remise_except;
|
||||
$this->lines[$i]->remise_percent = $obj->remise_percent;
|
||||
|
||||
$this->lines[$i]->vat_src_code = $obj->vat_src_code;
|
||||
$this->lines[$i]->tva_tx = $obj->tva_tx;
|
||||
$this->lines[$i]->info_bits = $obj->info_bits;
|
||||
$this->lines[$i]->total_ht = $obj->total_ht;
|
||||
@ -3685,7 +3705,7 @@ class PropaleLigne extends CommonObjectLine
|
||||
// Insert line into database
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'propaldet';
|
||||
$sql.= ' (fk_propal, fk_parent_line, label, description, fk_product, product_type,';
|
||||
$sql.= ' fk_remise_except, qty, tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,';
|
||||
$sql.= ' fk_remise_except, qty, vat_src_code, tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,';
|
||||
$sql.= ' subprice, remise_percent, ';
|
||||
$sql.= ' info_bits, ';
|
||||
$sql.= ' total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, fk_product_fournisseur_price, buy_price_ht, special_code, rang,';
|
||||
@ -3700,6 +3720,7 @@ class PropaleLigne extends CommonObjectLine
|
||||
$sql.= " '".$this->product_type."',";
|
||||
$sql.= " ".($this->fk_remise_except?"'".$this->fk_remise_except."'":"null").",";
|
||||
$sql.= " ".price2num($this->qty).",";
|
||||
$sql.= " ".(empty($this->vat_src_code)?"''":"'".$this->vat_src_code."'").",";
|
||||
$sql.= " ".price2num($this->tva_tx).",";
|
||||
$sql.= " ".price2num($this->localtax1_tx).",";
|
||||
$sql.= " ".price2num($this->localtax2_tx).",";
|
||||
@ -3873,41 +3894,42 @@ class PropaleLigne extends CommonObjectLine
|
||||
// Mise a jour ligne en base
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."propaldet SET";
|
||||
$sql.= " description='".$this->db->escape($this->desc)."'";
|
||||
$sql.= " , label=".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null");
|
||||
$sql.= " , product_type=".$this->product_type;
|
||||
$sql.= " , tva_tx='".price2num($this->tva_tx)."'";
|
||||
$sql.= " , localtax1_tx=".price2num($this->localtax1_tx);
|
||||
$sql.= " , localtax2_tx=".price2num($this->localtax2_tx);
|
||||
$sql.= " , localtax1_type='".$this->localtax1_type."'";
|
||||
$sql.= " , localtax2_type='".$this->localtax2_type."'";
|
||||
$sql.= " , qty='".price2num($this->qty)."'";
|
||||
$sql.= " , subprice=".price2num($this->subprice)."";
|
||||
$sql.= " , remise_percent=".price2num($this->remise_percent)."";
|
||||
$sql.= " , price=".price2num($this->price).""; // TODO A virer
|
||||
$sql.= " , remise=".price2num($this->remise).""; // TODO A virer
|
||||
$sql.= " , info_bits='".$this->info_bits."'";
|
||||
$sql.= ", label=".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null");
|
||||
$sql.= ", product_type=".$this->product_type;
|
||||
$sql.= ", vat_src_code = '".(empty($this->vat_src_code)?'':$this->vat_src_code)."'";
|
||||
$sql.= ", tva_tx='".price2num($this->tva_tx)."'";
|
||||
$sql.= ", localtax1_tx=".price2num($this->localtax1_tx);
|
||||
$sql.= ", localtax2_tx=".price2num($this->localtax2_tx);
|
||||
$sql.= ", localtax1_type='".$this->localtax1_type."'";
|
||||
$sql.= ", localtax2_type='".$this->localtax2_type."'";
|
||||
$sql.= ", qty='".price2num($this->qty)."'";
|
||||
$sql.= ", subprice=".price2num($this->subprice)."";
|
||||
$sql.= ", remise_percent=".price2num($this->remise_percent)."";
|
||||
$sql.= ", price=".price2num($this->price).""; // TODO A virer
|
||||
$sql.= ", remise=".price2num($this->remise).""; // TODO A virer
|
||||
$sql.= ", info_bits='".$this->info_bits."'";
|
||||
if (empty($this->skip_update_total))
|
||||
{
|
||||
$sql.= " , total_ht=".price2num($this->total_ht)."";
|
||||
$sql.= " , total_tva=".price2num($this->total_tva)."";
|
||||
$sql.= " , total_ttc=".price2num($this->total_ttc)."";
|
||||
$sql.= " , total_localtax1=".price2num($this->total_localtax1)."";
|
||||
$sql.= " , total_localtax2=".price2num($this->total_localtax2)."";
|
||||
$sql.= ", total_ht=".price2num($this->total_ht)."";
|
||||
$sql.= ", total_tva=".price2num($this->total_tva)."";
|
||||
$sql.= ", total_ttc=".price2num($this->total_ttc)."";
|
||||
$sql.= ", total_localtax1=".price2num($this->total_localtax1)."";
|
||||
$sql.= ", total_localtax2=".price2num($this->total_localtax2)."";
|
||||
}
|
||||
$sql.= " , fk_product_fournisseur_price=".(! empty($this->fk_fournprice)?"'".$this->fk_fournprice."'":"null");
|
||||
$sql.= " , buy_price_ht=".price2num($this->pa_ht);
|
||||
if (strlen($this->special_code)) $sql.= " , special_code=".$this->special_code;
|
||||
$sql.= " , fk_parent_line=".($this->fk_parent_line>0?$this->fk_parent_line:"null");
|
||||
$sql.= ", fk_product_fournisseur_price=".(! empty($this->fk_fournprice)?"'".$this->fk_fournprice."'":"null");
|
||||
$sql.= ", buy_price_ht=".price2num($this->pa_ht);
|
||||
if (strlen($this->special_code)) $sql.= ", special_code=".$this->special_code;
|
||||
$sql.= ", fk_parent_line=".($this->fk_parent_line>0?$this->fk_parent_line:"null");
|
||||
if (! empty($this->rang)) $sql.= ", rang=".$this->rang;
|
||||
$sql.= " , date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null");
|
||||
$sql.= " , date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null");
|
||||
$sql.= " , fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit);
|
||||
$sql.= ", date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null");
|
||||
$sql.= ", date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null");
|
||||
$sql.= ", fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit);
|
||||
|
||||
// Multicurrency
|
||||
$sql.= " , multicurrency_subprice=".price2num($this->multicurrency_subprice)."";
|
||||
$sql.= " , multicurrency_total_ht=".price2num($this->multicurrency_total_ht)."";
|
||||
$sql.= " , multicurrency_total_tva=".price2num($this->multicurrency_total_tva)."";
|
||||
$sql.= " , multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc)."";
|
||||
$sql.= ", multicurrency_subprice=".price2num($this->multicurrency_subprice)."";
|
||||
$sql.= ", multicurrency_total_ht=".price2num($this->multicurrency_total_ht)."";
|
||||
$sql.= ", multicurrency_total_tva=".price2num($this->multicurrency_total_tva)."";
|
||||
$sql.= ", multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc)."";
|
||||
|
||||
$sql.= " WHERE rowid = ".$this->rowid;
|
||||
|
||||
|
||||
@ -279,11 +279,13 @@ if ($socid > 0)
|
||||
print '<br>';
|
||||
|
||||
print load_fiche_titre($langs->trans("NewGlobalDiscount"),'','');
|
||||
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr><td width="38%" class="fieldrequired">'.$langs->trans("AmountHT").'</td>';
|
||||
print '<tr><td class="titlefield fieldrequired">'.$langs->trans("AmountHT").'</td>';
|
||||
print '<td><input type="text" size="5" name="amount_ht" value="'.$_POST["amount_ht"].'">';
|
||||
print '<span class="hideonsmartphone"> '.$langs->trans("Currency".$conf->currency).'</span></td></tr>';
|
||||
print '<tr><td width="38%">'.$langs->trans("VAT").'</td>';
|
||||
print '<tr><td>'.$langs->trans("VAT").'</td>';
|
||||
print '<td>';
|
||||
print $form->load_tva('tva_tx',GETPOST('tva_tx'),$mysoc,$object);
|
||||
print '</td></tr>';
|
||||
|
||||
@ -1285,7 +1285,14 @@ class Commande extends CommonOrder
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty,$mysoc);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $txtva, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $product_type, $mysoc, $localtaxes_type, 100, $this->multicurrency_tx);
|
||||
|
||||
@ -1327,6 +1334,8 @@ class Commande extends CommonOrder
|
||||
$this->line->label=$label;
|
||||
$this->line->desc=$desc;
|
||||
$this->line->qty=$qty;
|
||||
|
||||
$this->line->vat_src_code=$vat_src_code;
|
||||
$this->line->tva_tx=$txtva;
|
||||
$this->line->localtax1_tx=$txlocaltax1;
|
||||
$this->line->localtax2_tx=$txlocaltax2;
|
||||
@ -1727,7 +1736,7 @@ class Commande extends CommonOrder
|
||||
{
|
||||
$this->lines=array();
|
||||
|
||||
$sql = 'SELECT l.rowid, l.fk_product, l.fk_parent_line, l.product_type, l.fk_commande, l.label as custom_label, l.description, l.price, l.qty, l.tva_tx,';
|
||||
$sql = 'SELECT l.rowid, l.fk_product, l.fk_parent_line, l.product_type, l.fk_commande, l.label as custom_label, l.description, l.price, l.qty, l.vat_src_code, l.tva_tx,';
|
||||
$sql.= ' l.localtax1_tx, l.localtax2_tx, l.fk_remise_except, l.remise_percent, l.subprice, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht, l.rang, l.info_bits, l.special_code,';
|
||||
$sql.= ' l.total_ht, l.total_ttc, l.total_tva, l.total_localtax1, l.total_localtax2, l.date_start, l.date_end,';
|
||||
$sql.= ' l.fk_unit,';
|
||||
@ -1762,6 +1771,8 @@ class Commande extends CommonOrder
|
||||
$line->description = $objp->description; // Description line
|
||||
$line->product_type = $objp->product_type;
|
||||
$line->qty = $objp->qty;
|
||||
|
||||
$line->vat_src_code = $objp->vat_src_code;
|
||||
$line->tva_tx = $objp->tva_tx;
|
||||
$line->localtax1_tx = $objp->localtax1_tx;
|
||||
$line->localtax2_tx = $objp->localtax2_tx;
|
||||
@ -2774,7 +2785,14 @@ class Commande extends CommonOrder
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty, $mysoc);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $txtva, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type, 100, $this->multicurrency_tx);
|
||||
|
||||
@ -2848,26 +2866,28 @@ class Commande extends CommonOrder
|
||||
$this->line->label=$label;
|
||||
$this->line->desc=$desc;
|
||||
$this->line->qty=$qty;
|
||||
$this->line->tva_tx=$txtva;
|
||||
$this->line->localtax1_tx=$txlocaltax1;
|
||||
$this->line->localtax2_tx=$txlocaltax2;
|
||||
|
||||
$this->line->vat_src_code = $vat_src_code;
|
||||
$this->line->tva_tx = $txtva;
|
||||
$this->line->localtax1_tx = $txlocaltax1;
|
||||
$this->line->localtax2_tx = $txlocaltax2;
|
||||
$this->line->localtax1_type = $localtaxes_type[0];
|
||||
$this->line->localtax2_type = $localtaxes_type[2];
|
||||
$this->line->remise_percent=$remise_percent;
|
||||
$this->line->subprice=$subprice;
|
||||
$this->line->info_bits=$info_bits;
|
||||
$this->line->special_code=$special_code;
|
||||
$this->line->total_ht=$total_ht;
|
||||
$this->line->total_tva=$total_tva;
|
||||
$this->line->total_localtax1=$total_localtax1;
|
||||
$this->line->total_localtax2=$total_localtax2;
|
||||
$this->line->total_ttc=$total_ttc;
|
||||
$this->line->date_start=$date_start;
|
||||
$this->line->date_end=$date_end;
|
||||
$this->line->product_type=$type;
|
||||
$this->line->fk_parent_line=$fk_parent_line;
|
||||
$this->line->remise_percent = $remise_percent;
|
||||
$this->line->subprice = $subprice;
|
||||
$this->line->info_bits = $info_bits;
|
||||
$this->line->special_code = $special_code;
|
||||
$this->line->total_ht = $total_ht;
|
||||
$this->line->total_tva = $total_tva;
|
||||
$this->line->total_localtax1= $total_localtax1;
|
||||
$this->line->total_localtax2= $total_localtax2;
|
||||
$this->line->total_ttc = $total_ttc;
|
||||
$this->line->date_start = $date_start;
|
||||
$this->line->date_end = $date_end;
|
||||
$this->line->product_type = $type;
|
||||
$this->line->fk_parent_line = $fk_parent_line;
|
||||
$this->line->skip_update_total=$skip_update_total;
|
||||
$this->line->fk_unit=$fk_unit;
|
||||
$this->line->fk_unit = $fk_unit;
|
||||
|
||||
$this->line->fk_fournprice = $fk_fournprice;
|
||||
$this->line->pa_ht = $pa_ht;
|
||||
@ -3325,7 +3345,7 @@ class Commande extends CommonOrder
|
||||
* @param int $withpicto Add picto into link
|
||||
* @param int $option Where point the link (0=> main card, 1,2 => shipment)
|
||||
* @param int $max Max length to show
|
||||
* @param int $short Use short labels
|
||||
* @param int $short ???
|
||||
* @param int $notooltip 1=Disable tooltip
|
||||
* @return string String with URL
|
||||
*/
|
||||
@ -3931,7 +3951,7 @@ class OrderLine extends CommonOrderLine
|
||||
// Insertion dans base de la ligne
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'commandedet';
|
||||
$sql.= ' (fk_commande, fk_parent_line, label, description, qty, ';
|
||||
$sql.= ' tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,';
|
||||
$sql.= ' vat_src_code, tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,';
|
||||
$sql.= ' fk_product, product_type, remise_percent, subprice, price, remise, fk_remise_except,';
|
||||
$sql.= ' special_code, rang, fk_product_fournisseur_price, buy_price_ht,';
|
||||
$sql.= ' info_bits, total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, date_start, date_end,';
|
||||
@ -3943,6 +3963,7 @@ class OrderLine extends CommonOrderLine
|
||||
$sql.= " ".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null").",";
|
||||
$sql.= " '".$this->db->escape($this->desc)."',";
|
||||
$sql.= " '".price2num($this->qty)."',";
|
||||
$sql.= " ".(empty($this->vat_src_code)?"''":"'".$this->vat_src_code."'").",";
|
||||
$sql.= " '".price2num($this->tva_tx)."',";
|
||||
$sql.= " '".price2num($this->localtax1_tx)."',";
|
||||
$sql.= " '".price2num($this->localtax2_tx)."',";
|
||||
|
||||
@ -906,9 +906,9 @@ if ($resql)
|
||||
print '</td>';
|
||||
}
|
||||
// Town
|
||||
if (! empty($arrayfields['s.town']['checked'])) print '<td class="liste_titre"><input class="flat" type="text" size="6" name="search_town" value="'.$search_town.'"></td>';
|
||||
if (! empty($arrayfields['s.town']['checked'])) print '<td class="liste_titre"><input class="flat" type="text" size="4" name="search_town" value="'.$search_town.'"></td>';
|
||||
// Zip
|
||||
if (! empty($arrayfields['s.zip']['checked'])) print '<td class="liste_titre"><input class="flat" type="text" size="6" name="search_zip" value="'.$search_zip.'"></td>';
|
||||
if (! empty($arrayfields['s.zip']['checked'])) print '<td class="liste_titre"><input class="flat" type="text" size="4" name="search_zip" value="'.$search_zip.'"></td>';
|
||||
// State
|
||||
if (! empty($arrayfields['state.nom']['checked']))
|
||||
{
|
||||
@ -951,14 +951,14 @@ if ($resql)
|
||||
{
|
||||
// Amount
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<input class="flat" type="text" size="5" name="search_total_ht" value="'.$search_total_ht.'">';
|
||||
print '<input class="flat" type="text" size="4" name="search_total_ht" value="'.$search_total_ht.'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['c.total_vat']['checked']))
|
||||
{
|
||||
// Amount
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<input class="flat" type="text" size="5" name="search_total_vat" value="'.$search_total_vat.'">';
|
||||
print '<input class="flat" type="text" size="4" name="search_total_vat" value="'.$search_total_vat.'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['c.total_ttc']['checked']))
|
||||
|
||||
@ -429,7 +429,7 @@ if ($id > 0 || ! empty($ref))
|
||||
if ($object->canBeConciliated() > 0) {
|
||||
// If not cash account and can be reconciliate
|
||||
if ($user->rights->banque->consolidate) {
|
||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?action=reconcile&id='.$object->id.$param.'">'.$langs->trans("Conciliate").'</a>';
|
||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?action=reconcile'.$param.'">'.$langs->trans("Conciliate").'</a>';
|
||||
} else {
|
||||
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
||||
}
|
||||
@ -511,7 +511,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
||||
$nbtotalofpages = ceil($nbtotalofrecords/$limit);
|
||||
}
|
||||
|
||||
if (($id > 0 || ! empty($ref)) && GETPOST("page",'int') === '')
|
||||
if (($id > 0 || ! empty($ref)) && ((string) $page == ''))
|
||||
{
|
||||
// We open a list of transaction of a dedicated account and no page was set by defaut
|
||||
// We force on last page.
|
||||
@ -519,6 +519,13 @@ if (($id > 0 || ! empty($ref)) && GETPOST("page",'int') === '')
|
||||
$offset = $limit * $page;
|
||||
if ($page < 0) $page = 0;
|
||||
}
|
||||
if ($page >= $nbtotalofpages)
|
||||
{
|
||||
// If we made a search and result has low page than the page number we were on
|
||||
$page = ($nbtotalofpages -1);
|
||||
$offset = $limit * $page;
|
||||
if ($page < 0) $page = 0;
|
||||
}
|
||||
|
||||
if (! empty($search_ref)) $mode_balance_ok=false;
|
||||
if (! empty($req_nb)) $mode_balance_ok=false;
|
||||
|
||||
@ -65,16 +65,29 @@ if ($user->rights->banque->consolidate && $action == 'dvprev' && ! empty($dvid))
|
||||
}
|
||||
|
||||
|
||||
$sortfield = GETPOST('sortfield', 'alpha');
|
||||
$sortorder = GETPOST('sortorder', 'alpha');
|
||||
$page = GETPOST('page', 'int');
|
||||
$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit;
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$page = GETPOST("page",'int');
|
||||
$pageplusone = GETPOST("pageplusone",'int');
|
||||
if ($pageplusone) $page = $pageplusone - 1;
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortorder) $sortorder="ASC";
|
||||
if (! $sortfield) $sortfield="s.nom";
|
||||
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
$object = new Account($db);
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$result=$object->fetch($id, $ref);
|
||||
$account = $object->id; // Force the search field on id of account
|
||||
}
|
||||
|
||||
|
||||
// Initialize technical object to manage context to save list fields
|
||||
$contextpage='banktransactionlist'.(empty($object->ref)?'':'-'.$object->id);
|
||||
|
||||
|
||||
/*
|
||||
@ -96,12 +109,12 @@ $bankstatic=new Account($db);
|
||||
$banklinestatic=new AccountLine($db);
|
||||
$remisestatic = new RemiseCheque($db);
|
||||
|
||||
// Load account
|
||||
$object = new Account($db);
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$object->fetch($id, $ref);
|
||||
}
|
||||
// Must be before button action
|
||||
$param='';
|
||||
if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
|
||||
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
|
||||
if ($id > 0) $param.='&id='.urlencode($id);
|
||||
|
||||
|
||||
if (empty($num))
|
||||
{
|
||||
@ -138,7 +151,7 @@ if (empty($num))
|
||||
if ($object->canBeConciliated() > 0) {
|
||||
// If not cash account and can be reconciliate
|
||||
if ($user->rights->banque->consolidate) {
|
||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?id='.$object->id.'">'.$langs->trans("Conciliate").'</a>';
|
||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?action=reconcile'.$param.'">'.$langs->trans("Conciliate").'</a>';
|
||||
} else {
|
||||
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
||||
}
|
||||
@ -216,7 +229,7 @@ if (empty($num))
|
||||
else
|
||||
{
|
||||
/**
|
||||
* Affiche liste ecritures d'un releve
|
||||
* Show list of bank statements
|
||||
*/
|
||||
$ve=$_GET["ve"];
|
||||
|
||||
|
||||
@ -2626,7 +2626,14 @@ class Facture extends CommonInvoice
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty, $mysoc);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $txtva, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type, $situation_percent, $this->multicurrency_tx);
|
||||
|
||||
@ -2690,7 +2697,7 @@ class Facture extends CommonInvoice
|
||||
$this->line->desc = $desc;
|
||||
$this->line->qty = ($this->type==self::TYPE_CREDIT_NOTE?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative
|
||||
|
||||
$this->line->vat_src_code=$vat_src_code;
|
||||
$this->line->vat_src_code = $vat_src_code;
|
||||
$this->line->tva_tx = $txtva;
|
||||
$this->line->localtax1_tx = $txlocaltax1;
|
||||
$this->line->localtax2_tx = $txlocaltax2;
|
||||
@ -4543,43 +4550,43 @@ class FactureLigne extends CommonInvoiceLine
|
||||
// Mise a jour ligne en base
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet SET";
|
||||
$sql.= " description='".$this->db->escape($this->desc)."'";
|
||||
$sql.= ",label=".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null");
|
||||
$sql.= ",subprice=".price2num($this->subprice)."";
|
||||
$sql.= ",remise_percent=".price2num($this->remise_percent)."";
|
||||
if ($this->fk_remise_except) $sql.= ",fk_remise_except=".$this->fk_remise_except;
|
||||
else $sql.= ",fk_remise_except=null";
|
||||
$sql.= ",vat_src_code = '".(empty($this->vat_src_code)?'':$this->vat_src_code)."'";
|
||||
$sql.= ",tva_tx=".price2num($this->tva_tx)."";
|
||||
$sql.= ",localtax1_tx=".price2num($this->localtax1_tx)."";
|
||||
$sql.= ",localtax2_tx=".price2num($this->localtax2_tx)."";
|
||||
$sql.= ",localtax1_type='".$this->localtax1_type."'";
|
||||
$sql.= ",localtax2_type='".$this->localtax2_type."'";
|
||||
$sql.= ",qty=".price2num($this->qty)."";
|
||||
$sql.= ",date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null");
|
||||
$sql.= ",date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null");
|
||||
$sql.= ",product_type=".$this->product_type;
|
||||
$sql.= ",info_bits='".$this->info_bits."'";
|
||||
$sql.= ",special_code='".$this->special_code."'";
|
||||
$sql.= ", label=".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null");
|
||||
$sql.= ", subprice=".price2num($this->subprice)."";
|
||||
$sql.= ", remise_percent=".price2num($this->remise_percent)."";
|
||||
if ($this->fk_remise_except) $sql.= ", fk_remise_except=".$this->fk_remise_except;
|
||||
else $sql.= ", fk_remise_except=null";
|
||||
$sql.= ", vat_src_code = '".(empty($this->vat_src_code)?'':$this->vat_src_code)."'";
|
||||
$sql.= ", tva_tx=".price2num($this->tva_tx)."";
|
||||
$sql.= ", localtax1_tx=".price2num($this->localtax1_tx)."";
|
||||
$sql.= ", localtax2_tx=".price2num($this->localtax2_tx)."";
|
||||
$sql.= ", localtax1_type='".$this->localtax1_type."'";
|
||||
$sql.= ", localtax2_type='".$this->localtax2_type."'";
|
||||
$sql.= ", qty=".price2num($this->qty)."";
|
||||
$sql.= ", date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null");
|
||||
$sql.= ", date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null");
|
||||
$sql.= ", product_type=".$this->product_type;
|
||||
$sql.= ", info_bits='".$this->info_bits."'";
|
||||
$sql.= ", special_code='".$this->special_code."'";
|
||||
if (empty($this->skip_update_total))
|
||||
{
|
||||
$sql.= ",total_ht=".price2num($this->total_ht)."";
|
||||
$sql.= ",total_tva=".price2num($this->total_tva)."";
|
||||
$sql.= ",total_ttc=".price2num($this->total_ttc)."";
|
||||
$sql.= ",total_localtax1=".price2num($this->total_localtax1)."";
|
||||
$sql.= ",total_localtax2=".price2num($this->total_localtax2)."";
|
||||
$sql.= ", total_ht=".price2num($this->total_ht)."";
|
||||
$sql.= ", total_tva=".price2num($this->total_tva)."";
|
||||
$sql.= ", total_ttc=".price2num($this->total_ttc)."";
|
||||
$sql.= ", total_localtax1=".price2num($this->total_localtax1)."";
|
||||
$sql.= ", total_localtax2=".price2num($this->total_localtax2)."";
|
||||
}
|
||||
$sql.= " , fk_product_fournisseur_price=".(! empty($this->fk_fournprice)?"'".$this->db->escape($this->fk_fournprice)."'":"null");
|
||||
$sql.= " , buy_price_ht='".price2num($this->pa_ht)."'";
|
||||
$sql.= ",fk_parent_line=".($this->fk_parent_line>0?$this->fk_parent_line:"null");
|
||||
$sql.= ", fk_product_fournisseur_price=".(! empty($this->fk_fournprice)?"'".$this->db->escape($this->fk_fournprice)."'":"null");
|
||||
$sql.= ", buy_price_ht='".price2num($this->pa_ht)."'";
|
||||
$sql.= ", fk_parent_line=".($this->fk_parent_line>0?$this->fk_parent_line:"null");
|
||||
if (! empty($this->rang)) $sql.= ", rang=".$this->rang;
|
||||
$sql .= ", situation_percent=" . $this->situation_percent;
|
||||
$sql .= ", fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit);
|
||||
$sql.= ", situation_percent=" . $this->situation_percent;
|
||||
$sql.= ", fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit);
|
||||
|
||||
// Multicurrency
|
||||
$sql.= " , multicurrency_subprice=".price2num($this->multicurrency_subprice)."";
|
||||
$sql.= " , multicurrency_total_ht=".price2num($this->multicurrency_total_ht)."";
|
||||
$sql.= " , multicurrency_total_tva=".price2num($this->multicurrency_total_tva)."";
|
||||
$sql.= " , multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc)."";
|
||||
$sql.= ", multicurrency_subprice=".price2num($this->multicurrency_subprice)."";
|
||||
$sql.= ", multicurrency_total_ht=".price2num($this->multicurrency_total_ht)."";
|
||||
$sql.= ", multicurrency_total_tva=".price2num($this->multicurrency_total_tva)."";
|
||||
$sql.= ", multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc)."";
|
||||
|
||||
$sql.= " WHERE rowid = ".$this->rowid;
|
||||
|
||||
|
||||
@ -49,7 +49,10 @@ if (! $error && count($toselect) > $maxformassaction)
|
||||
$error++;
|
||||
}
|
||||
|
||||
|
||||
if (! $error && $massaction == 'confirm_presend' && GETPOST('modelselected')) // If we change the template, we must not send email, but keep on send email form
|
||||
{
|
||||
$massaction='presend';
|
||||
}
|
||||
if (! $error && $massaction == 'confirm_presend')
|
||||
{
|
||||
$resaction = '';
|
||||
|
||||
@ -59,6 +59,8 @@ abstract class CommonDocGenerator
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$logotouse=$conf->user->dir_output.'/'.get_exdir($user->id, 2, 0, 1, $user, 'user').'/'.$user->photo;
|
||||
|
||||
return array(
|
||||
'myuser_lastname'=>$user->lastname,
|
||||
'myuser_firstname'=>$user->firstname,
|
||||
@ -75,7 +77,7 @@ abstract class CommonDocGenerator
|
||||
'myuser_fax'=>$user->office_fax,
|
||||
'myuser_mobile'=>$user->user_mobile,
|
||||
'myuser_email'=>$user->email,
|
||||
'myuser_logo'=>$user->photo,
|
||||
'myuser_logo'=>$logotouse,
|
||||
'myuser_job'=>$user->job,
|
||||
'myuser_web'=>'' // url not exist in $user object
|
||||
);
|
||||
|
||||
@ -1148,7 +1148,6 @@ abstract class CommonObject
|
||||
*/
|
||||
function fetch_origin()
|
||||
{
|
||||
// TODO uniformise code
|
||||
if ($this->origin == 'shipping') $this->origin = 'expedition';
|
||||
if ($this->origin == 'delivery') $this->origin = 'livraison';
|
||||
|
||||
@ -2799,7 +2798,11 @@ abstract class CommonObject
|
||||
if (! $error)
|
||||
{
|
||||
$this->db->commit();
|
||||
$this->statut = $status;
|
||||
if (empty($elementId)) // If the element we update was $this (so $elementId is null)
|
||||
{
|
||||
$this->statut = $status;
|
||||
$this->status = $status;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
||||
@ -1618,9 +1618,11 @@ class Form
|
||||
* @param int $socid Thirdparty Id (to get also price dedicated to this customer)
|
||||
* @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text.
|
||||
* @param int $forcecombo Force to use combo box
|
||||
* @param string $morecss Add more css on select
|
||||
* @param int $hidepriceinlabel 1=Hide prices in label
|
||||
* @return void
|
||||
*/
|
||||
function select_produits($selected='', $htmlname='productid', $filtertype='', $limit=20, $price_level=0, $status=1, $finished=2, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0)
|
||||
function select_produits($selected='', $htmlname='productid', $filtertype='', $limit=20, $price_level=0, $status=1, $finished=2, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0, $morecss='', $hidepriceinlabel=0)
|
||||
{
|
||||
global $langs,$conf;
|
||||
|
||||
@ -1660,28 +1662,30 @@ class Form
|
||||
}
|
||||
else
|
||||
{
|
||||
print $this->select_produits_list($selected,$htmlname,$filtertype,$limit,$price_level,'',$status,$finished,0,$socid,$showempty,$forcecombo);
|
||||
print $this->select_produits_list($selected,$htmlname,$filtertype,$limit,$price_level,'',$status,$finished,0,$socid,$showempty,$forcecombo,$morecss,$hidepriceinlabel);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return list of products for a customer
|
||||
*
|
||||
* @param int $selected Preselected product
|
||||
* @param string $htmlname Name of select html
|
||||
* @param string $filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
||||
* @param int $limit Limit on number of returned lines
|
||||
* @param int $price_level Level of price to show
|
||||
* @param string $filterkey Filter on product
|
||||
* @param int $status -1=Return all products, 0=Products not on sell, 1=Products on sell
|
||||
* @param int $finished Filter on finished field: 2=No filter
|
||||
* @param int $outputmode 0=HTML select string, 1=Array
|
||||
* @param int $socid Thirdparty Id (to get also price dedicated to this customer)
|
||||
* @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text.
|
||||
* @param int $forcecombo Force to use combo box
|
||||
* @return array Array of keys for json
|
||||
* @param int $selected Preselected product
|
||||
* @param string $htmlname Name of select html
|
||||
* @param string $filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
||||
* @param int $limit Limit on number of returned lines
|
||||
* @param int $price_level Level of price to show
|
||||
* @param string $filterkey Filter on product
|
||||
* @param int $status -1=Return all products, 0=Products not on sell, 1=Products on sell
|
||||
* @param int $finished Filter on finished field: 2=No filter
|
||||
* @param int $outputmode 0=HTML select string, 1=Array
|
||||
* @param int $socid Thirdparty Id (to get also price dedicated to this customer)
|
||||
* @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text.
|
||||
* @param int $forcecombo Force to use combo box
|
||||
* @param string $morecss Add more css on select
|
||||
* @param int $hidepriceinlabel 1=Hide prices in label
|
||||
* @return array Array of keys for json
|
||||
*/
|
||||
function select_produits_list($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$filterkey='',$status=1,$finished=2,$outputmode=0,$socid=0,$showempty='1',$forcecombo=0)
|
||||
function select_produits_list($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$filterkey='',$status=1,$finished=2,$outputmode=0,$socid=0,$showempty='1',$forcecombo=0,$morecss='',$hidepriceinlabel=0)
|
||||
{
|
||||
global $langs,$conf,$user,$db;
|
||||
|
||||
@ -1782,7 +1786,7 @@ class Form
|
||||
$nodatarole=($comboenhancement?' data-role="none"':'');
|
||||
}
|
||||
|
||||
$out.='<select class="flat" name="'.$htmlname.'" id="'.$htmlname.'"'.$nodatarole.'>';
|
||||
$out.='<select class="flat'.($morecss?' '.$morecss:'').'" name="'.$htmlname.'" id="'.$htmlname.'"'.$nodatarole.'>';
|
||||
|
||||
$textifempty='';
|
||||
// Do not use textifempty = ' ' or ' ' here, or search on key will search on ' key'.
|
||||
@ -1824,7 +1828,7 @@ class Form
|
||||
$objp->remise = $objp2->remise;
|
||||
$objp->price_by_qty_rowid = $objp2->rowid;
|
||||
|
||||
$this->constructProductListOption($objp, $opt, $optJson, 0, $selected);
|
||||
$this->constructProductListOption($objp, $opt, $optJson, 0, $selected, $hidepriceinlabel);
|
||||
|
||||
$j++;
|
||||
|
||||
@ -1851,7 +1855,7 @@ class Form
|
||||
$objp->price_ttc = price2num($objp->price_ttc,'MU');
|
||||
}
|
||||
}
|
||||
$this->constructProductListOption($objp, $opt, $optJson, $price_level, $selected);
|
||||
$this->constructProductListOption($objp, $opt, $optJson, $price_level, $selected, $hidepriceinlabel);
|
||||
// Add new entry
|
||||
// "key" value of json key array is used by jQuery automatically as selected value
|
||||
// "label" value of json key array is used by jQuery automatically as text for combo box
|
||||
@ -1931,13 +1935,13 @@ class Form
|
||||
$opt.= '>';
|
||||
$opt.= $objp->ref;
|
||||
if ($outbarcode) $opt.=' ('.$outbarcode.')';
|
||||
$opt.=' - '.dol_trunc($label,$maxlengtharticle).' - ';
|
||||
$opt.=' - '.dol_trunc($label,$maxlengtharticle);
|
||||
|
||||
$objRef = $objp->ref;
|
||||
if (! empty($filterkey) && $filterkey != '') $objRef=preg_replace('/('.preg_quote($filterkey).')/i','<strong>$1</strong>',$objRef,1);
|
||||
$outval.=$objRef;
|
||||
if ($outbarcode) $outval.=' ('.$outbarcode.')';
|
||||
$outval.=' - '.dol_trunc($label,$maxlengtharticle).' - ';
|
||||
$outval.=' - '.dol_trunc($label,$maxlengtharticle);
|
||||
|
||||
$found=0;
|
||||
|
||||
@ -1962,13 +1966,13 @@ class Form
|
||||
$found=1;
|
||||
if ($objp2->price_base_type == 'HT')
|
||||
{
|
||||
$opt.= price($objp2->price,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("HT");
|
||||
$outval.= price($objp2->price,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("HT");
|
||||
$opt.= ' - '.price($objp2->price,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("HT");
|
||||
$outval.= ' - '.price($objp2->price,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("HT");
|
||||
}
|
||||
else
|
||||
{
|
||||
$opt.= price($objp2->price_ttc,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("TTC");
|
||||
$outval.= price($objp2->price_ttc,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("TTC");
|
||||
$opt.= ' - '.price($objp2->price_ttc,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("TTC");
|
||||
$outval.= ' - '.price($objp2->price_ttc,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("TTC");
|
||||
}
|
||||
$outprice_ht=price($objp2->price);
|
||||
$outprice_ttc=price($objp2->price_ttc);
|
||||
@ -1990,15 +1994,15 @@ class Form
|
||||
$outdiscount=$objp->remise_percent;
|
||||
if ($objp->quantity == 1)
|
||||
{
|
||||
$opt.= price($objp->unitprice,1,$langs,0,0,-1,$conf->currency)."/";
|
||||
$outval.= price($objp->unitprice,0,$langs,0,0,-1,$conf->currency)."/";
|
||||
$opt.= ' - '.price($objp->unitprice,1,$langs,0,0,-1,$conf->currency)."/";
|
||||
$outval.= ' - '.price($objp->unitprice,0,$langs,0,0,-1,$conf->currency)."/";
|
||||
$opt.= $langs->trans("Unit"); // Do not use strtolower because it breaks utf8 encoding
|
||||
$outval.=$langs->transnoentities("Unit");
|
||||
}
|
||||
else
|
||||
{
|
||||
$opt.= price($objp->price,1,$langs,0,0,-1,$conf->currency)."/".$objp->quantity;
|
||||
$outval.= price($objp->price,0,$langs,0,0,-1,$conf->currency)."/".$objp->quantity;
|
||||
$opt.= ' - '.price($objp->price,1,$langs,0,0,-1,$conf->currency)."/".$objp->quantity;
|
||||
$outval.= ' - '.price($objp->price,0,$langs,0,0,-1,$conf->currency)."/".$objp->quantity;
|
||||
$opt.= $langs->trans("Units"); // Do not use strtolower because it breaks utf8 encoding
|
||||
$outval.=$langs->transnoentities("Units");
|
||||
}
|
||||
@ -2028,13 +2032,13 @@ class Form
|
||||
|
||||
if ($objp->custprice_base_type == '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");
|
||||
$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,$langs,0,0,-1,$conf->currency).' '.$langs->trans("TTC");
|
||||
$outval.= price($objp->custprice_ttc,0,$langs,0,0,-1,$conf->currency).' '.$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);
|
||||
@ -2049,13 +2053,13 @@ class Form
|
||||
{
|
||||
if ($objp->price_base_type == 'HT')
|
||||
{
|
||||
$opt.= price($objp->price,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("HT");
|
||||
$outval.= price($objp->price,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("HT");
|
||||
$opt.= ' - '.price($objp->price,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("HT");
|
||||
$outval.= ' - '.price($objp->price,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("HT");
|
||||
}
|
||||
else
|
||||
{
|
||||
$opt.= price($objp->price_ttc,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("TTC");
|
||||
$outval.= price($objp->price_ttc,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("TTC");
|
||||
$opt.= ' - '.price($objp->price_ttc,1,$langs,0,0,-1,$conf->currency).' '.$langs->trans("TTC");
|
||||
$outval.= ' - '.price($objp->price_ttc,0,$langs,0,0,-1,$conf->currency).' '.$langs->transnoentities("TTC");
|
||||
}
|
||||
$outprice_ht=price($objp->price);
|
||||
$outprice_ttc=price($objp->price_ttc);
|
||||
@ -4210,21 +4214,21 @@ class Form
|
||||
* Output an HTML select vat rate.
|
||||
* The name of this function should be selectVat. We keep bad name for compatibility purpose.
|
||||
*
|
||||
* @param string $htmlname Name of HTML select field
|
||||
* @param float|string $selectedrate Force preselected vat rate. Can be '8.5' or '8.5 (NOO)' for example. Use '' for no forcing.
|
||||
* @param Societe $societe_vendeuse Thirdparty seller
|
||||
* @param Societe $societe_acheteuse Thirdparty buyer
|
||||
* @param int $idprod Id product
|
||||
* @param int $info_bits Miscellaneous information on line (1 for NPR)
|
||||
* @param int $type ''=Unknown, 0=Product, 1=Service (Used if idprod not defined)
|
||||
* Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle.
|
||||
* Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
|
||||
* Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
|
||||
* Si vendeur et acheteur dans Communauté européenne et acheteur= particulier alors TVA par défaut=TVA du produit vendu. Fin de règle.
|
||||
* Si vendeur et acheteur dans Communauté européenne et acheteur= entreprise alors TVA par défaut=0. Fin de règle.
|
||||
* Sinon la TVA proposee par defaut=0. Fin de regle.
|
||||
* @param bool $options_only Return HTML options lines only (for ajax treatment)
|
||||
* @param int $addcode Add code into key in select list
|
||||
* @param string $htmlname Name of HTML select field
|
||||
* @param float|string $selectedrate Force preselected vat rate. Can be '8.5' or '8.5 (NOO)' for example. Use '' for no forcing.
|
||||
* @param Societe $societe_vendeuse Thirdparty seller
|
||||
* @param Societe $societe_acheteuse Thirdparty buyer
|
||||
* @param int $idprod Id product
|
||||
* @param int $info_bits Miscellaneous information on line (1 for NPR)
|
||||
* @param int $type ''=Unknown, 0=Product, 1=Service (Used if idprod not defined)
|
||||
* Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle.
|
||||
* Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
|
||||
* Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
|
||||
* Si vendeur et acheteur dans Communauté européenne et acheteur= particulier alors TVA par défaut=TVA du produit vendu. Fin de règle.
|
||||
* Si vendeur et acheteur dans Communauté européenne et acheteur= entreprise alors TVA par défaut=0. Fin de règle.
|
||||
* Sinon la TVA proposee par defaut=0. Fin de regle.
|
||||
* @param bool $options_only Return HTML options lines only (for ajax treatment)
|
||||
* @param int $addcode Add code into key in select list
|
||||
* @return string
|
||||
*/
|
||||
function load_tva($htmlname='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $idprod=0, $info_bits=0, $type='', $options_only=false, $addcode=0)
|
||||
@ -4238,7 +4242,7 @@ class Form
|
||||
$defaultnpr=(preg_match('/\*/',$selectedrate) ? 1 : $defaultnpr);
|
||||
$defaulttx=str_replace('*','',$selectedrate);
|
||||
$defaultcode='';
|
||||
if (preg_match('/\s*\((.*)\)/', $defaulttx, $reg))
|
||||
if (preg_match('/\((.*)\)/', $defaulttx, $reg))
|
||||
{
|
||||
$defaultcode=$reg[1];
|
||||
$defaulttx=preg_replace('/\s*\(.*\)/','',$defaulttx);
|
||||
@ -4333,6 +4337,7 @@ class Form
|
||||
|
||||
if (! $options_only) $return.= '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"'.($disabled?' disabled':'').$title.'>';
|
||||
|
||||
$selectedfound=false;
|
||||
foreach ($this->cache_vatrates as $rate)
|
||||
{
|
||||
// Keep only 0 if seller is not subject to VAT
|
||||
@ -4342,13 +4347,21 @@ class Form
|
||||
$return.= $rate['nprtva'] ? '*': '';
|
||||
if ($addcode && $rate['code']) $return.=' ('.$rate['code'].')';
|
||||
$return.= '"';
|
||||
if ($defaultcode) // If defaultcode is defined, we used it in priority to select combo option instead of using rate+npr flag
|
||||
if (! $selectedfound)
|
||||
{
|
||||
if ($defaultcode == $rate['code']) $return.= ' selected';
|
||||
}
|
||||
elseif ($rate['txtva'] == $defaulttx && $rate['nprtva'] == $defaultnpr)
|
||||
{
|
||||
$return.= ' selected';
|
||||
if ($defaultcode) // If defaultcode is defined, we used it in priority to select combo option instead of using rate+npr flag
|
||||
{
|
||||
if ($defaultcode == $rate['code'])
|
||||
{
|
||||
$return.= ' selected';
|
||||
$selectedfound=true;
|
||||
}
|
||||
}
|
||||
elseif ($rate['txtva'] == $defaulttx && $rate['nprtva'] == $defaultnpr)
|
||||
{
|
||||
$return.= ' selected';
|
||||
$selectedfound=true;
|
||||
}
|
||||
}
|
||||
$return.= '>'.vatrate($rate['libtva']);
|
||||
//$return.=($rate['code']?' '.$rate['code']:'');
|
||||
|
||||
@ -62,7 +62,7 @@ class FormActions
|
||||
|
||||
$listofstatus = array(
|
||||
'-1' => $langs->trans("ActionNotApplicable"),
|
||||
'0' => $langs->trans("ActionRunningNotStarted"),
|
||||
'0' => $langs->trans("ActionsToDoShort"),
|
||||
'50' => $langs->trans("ActionRunningShort"),
|
||||
'100' => $langs->trans("ActionDoneShort")
|
||||
);
|
||||
@ -100,7 +100,7 @@ class FormActions
|
||||
}
|
||||
else if (defaultvalue == 0) {
|
||||
percentage.val(0);
|
||||
percentage.prop('disabled', true);
|
||||
percentage.removeAttr('disabled'); /* Not disabled, we want to change it to higher value */
|
||||
$('.hideifna').show();
|
||||
}
|
||||
else if (defaultvalue == 100) {
|
||||
|
||||
@ -947,7 +947,7 @@ function show_actions_todo($conf,$langs,$db,$filterobj,$objcon='',$noprint=0,$ac
|
||||
}
|
||||
|
||||
/**
|
||||
* Show html area with actions done
|
||||
* Show html area with actions (done or not, ignore the name of function)
|
||||
*
|
||||
* @param Conf $conf Object conf
|
||||
* @param Translate $langs Object langs
|
||||
@ -958,14 +958,18 @@ function show_actions_todo($conf,$langs,$db,$filterobj,$objcon='',$noprint=0,$ac
|
||||
* @param string $actioncode Filter on actioncode
|
||||
* @param string $donetodo Filter on event 'done' or 'todo' or ''=nofilter.
|
||||
* @param array $filters Filter on other fields
|
||||
* @param string $sortfield Sort field
|
||||
* @param string $sortorder Sort order
|
||||
* @return mixed Return html part or void if noprint is 1
|
||||
* TODO change function to be able to list event linked to an object.
|
||||
*/
|
||||
function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=0, $actioncode='', $donetodo='done', $filters=array())
|
||||
function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=0, $actioncode='', $donetodo='done', $filters=array(), $sortfield='a.datep, a.id', $sortorder='DESC')
|
||||
{
|
||||
global $bc,$user,$conf;
|
||||
global $form;
|
||||
|
||||
global $param;
|
||||
|
||||
// Check parameters
|
||||
if (! is_object($filterobj)) dol_print_error('','BadParameter');
|
||||
|
||||
@ -983,7 +987,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
$sql.= " a.note, a.percent,";
|
||||
$sql.= " a.fk_element, a.elementtype,";
|
||||
$sql.= " a.fk_user_author, a.fk_contact,";
|
||||
$sql.= " c.code as acode, c.libelle,";
|
||||
$sql.= " c.code as acode, c.libelle as alabel, c.picto as apicto,";
|
||||
$sql.= " u.login, u.rowid as user_id";
|
||||
if (get_class($filterobj) == 'Societe') $sql.= ", sp.lastname, sp.firstname";
|
||||
if (get_class($filterobj) == 'Adherent') $sql.= ", m.lastname, m.firstname";
|
||||
@ -1002,7 +1006,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
if ($donetodo == 'todo') $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))";
|
||||
if ($donetodo == 'done') $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep <= '".$db->idate($now)."'))";
|
||||
if (is_array($filters) && $filters['search_agenda_label']) $sql.= natural_search('a.label', $filters['search_agenda_label']);
|
||||
$sql.= " ORDER BY a.datep DESC, a.id DESC";
|
||||
$sql.= $db->order($sortfield, $sortorder);
|
||||
|
||||
dol_syslog("company.lib::show_actions_done", LOG_DEBUG);
|
||||
$resql=$db->query($sql);
|
||||
@ -1028,15 +1032,18 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
'dateend'=>$db->jdate($obj->dp2),
|
||||
'note'=>$obj->label,
|
||||
'percent'=>$obj->percent,
|
||||
'acode'=>$obj->acode,
|
||||
'libelle'=>$obj->libelle,
|
||||
'userid'=>$obj->user_id,
|
||||
'userid'=>$obj->user_id,
|
||||
'login'=>$obj->login,
|
||||
'contact_id'=>$obj->fk_contact,
|
||||
'lastname'=>$obj->lastname,
|
||||
'firstname'=>$obj->firstname,
|
||||
'fk_element'=>$obj->fk_element,
|
||||
'elementtype'=>$obj->elementtype
|
||||
'elementtype'=>$obj->elementtype,
|
||||
// Type of event
|
||||
'acode'=>$obj->acode,
|
||||
'alabel'=>$obj->alabel,
|
||||
'libelle'=>$obj->alabel, // deprecated
|
||||
'apicto'=>$obj->apicto
|
||||
);
|
||||
|
||||
$numaction++;
|
||||
@ -1049,11 +1056,11 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
}
|
||||
}
|
||||
|
||||
// Add also event from emailings. FIXME This should be replaced by an automatic event
|
||||
if (! empty($conf->mailing->enabled) && ! empty($objcon->email))
|
||||
{
|
||||
$langs->load("mails");
|
||||
|
||||
// Add also event from emailings. TODO This should be replaced by an automatic event
|
||||
$sql = "SELECT m.rowid as id, mc.date_envoi as da, m.titre as note, '100' as percentage,";
|
||||
$sql.= " 'AC_EMAILING' as acode,";
|
||||
$sql.= " u.rowid as user_id, u.login"; // User that valid action
|
||||
@ -1104,7 +1111,11 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||
$actionstatic=new ActionComm($db);
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php';
|
||||
|
||||
$formactions=new FormActions($db);
|
||||
|
||||
$actionstatic=new ActionComm($db);
|
||||
$userstatic=new User($db);
|
||||
$contactstatic = new Contact($db);
|
||||
|
||||
@ -1128,14 +1139,14 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
if (get_class($filterobj) == 'Societe') $out.='</a>';
|
||||
$out.='</td>';
|
||||
}
|
||||
$out.='<td>'.$langs->trans("Ref").'</td>';
|
||||
$out.=getTitleFieldOfList($langs->trans("Ref"), 0, $_SERVER["PHP_SELF"], 'a.id', '', $param, '', $sortfield, $sortorder);
|
||||
$out.='<td>'.$langs->trans("Label").'</td>';
|
||||
$out.='<td>'.$langs->trans("Date").'</td>';
|
||||
$out.=getTitleFieldOfList($langs->trans("Date"), 0, $_SERVER["PHP_SELF"], 'a.datep, a.id', '', $param, '', $sortfield, $sortorder);
|
||||
$out.='<td>'.$langs->trans("Type").'</td>';
|
||||
$out.='<td></td>';
|
||||
$out.='<td></td>';
|
||||
$out.='<td>'.$langs->trans("By").'</td>';
|
||||
$out.='<td align="center">'.$langs->trans("Status").'</td>';
|
||||
$out.='<td>'.$langs->trans("Owner").'</td>';
|
||||
$out.=getTitleFieldOfList($langs->trans("Status"), 0, $_SERVER["PHP_SELF"], 'a.percent', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
$out.='<td align="center"></td>';
|
||||
$out.='</tr>';
|
||||
|
||||
@ -1149,11 +1160,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
$out.='<td><input type="text" name="search_agenda_label" value="'.$filters['search_agenda_label'].'"></td>';
|
||||
$out.='<td></td>';
|
||||
$out.='<td>';
|
||||
if (!empty($conf->global->AGENDA_USE_EVENT_TYPE)) {
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php';
|
||||
$formactions=new FormActions($db);
|
||||
$out.=$formactions->select_type_actions($actioncode, "actioncode", '', 0, 0, 0, 1);
|
||||
}
|
||||
$out.=$formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:0, 0, 0, 1);
|
||||
$out.='</td>';
|
||||
$out.='<td></td>';
|
||||
$out.='<td></td>';
|
||||
@ -1169,11 +1176,11 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
foreach ($histo as $key=>$value)
|
||||
{
|
||||
$var=!$var;
|
||||
$actionstatic->fetch($histo[$key]['id']);
|
||||
$actionstatic->fetch($histo[$key]['id']); // TODO Do we need this, we already have a lot of data of line into $histo
|
||||
|
||||
$out.="<tr ".$bc[$var].">";
|
||||
|
||||
// done or todo
|
||||
// Done or todo
|
||||
if ($donetodo)
|
||||
{
|
||||
$out.='<td class="nowrap">';
|
||||
@ -1191,7 +1198,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
{
|
||||
$actionstatic->type_code=$histo[$key]['acode'];
|
||||
$transcode=$langs->trans("Action".$histo[$key]['acode']);
|
||||
$libelle=($transcode!="Action".$histo[$key]['acode']?$transcode:$histo[$key]['libelle']);
|
||||
$libelle=($transcode!="Action".$histo[$key]['acode']?$transcode:$histo[$key]['alabel']);
|
||||
//$actionstatic->libelle=$libelle;
|
||||
$libelle=$histo[$key]['note'];
|
||||
$actionstatic->id=$histo[$key]['id'];
|
||||
@ -1218,7 +1225,17 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
}
|
||||
$out.="</td>\n";
|
||||
|
||||
// Type
|
||||
$out.='<td>';
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
if ($histo[$key]['apicto']) $out.=img_picto('', $histo[$key]['apicto']);
|
||||
else {
|
||||
if ($histo[$key]['acode'] == 'AC_TEL') $out.=img_picto('', 'object_phoning').' ';
|
||||
if ($histo[$key]['acode'] == 'AC_FAX') $out.=img_picto('', 'object_phoning_fax').' ';
|
||||
if ($histo[$key]['acode'] == 'AC_EMAIL') $out.=img_picto('', 'object_email').' ';
|
||||
}
|
||||
}
|
||||
$out.=$actionstatic->type;
|
||||
$out.='</td>';
|
||||
|
||||
@ -1292,7 +1309,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
||||
$out.='</td>';
|
||||
|
||||
// Statut
|
||||
$out.='<td class="nowrap" align="center">'.$actionstatic->LibStatut($histo[$key]['percent'],3).'</td>';
|
||||
$out.='<td class="nowrap" align="center">'.$actionstatic->LibStatut($histo[$key]['percent'],3,1,$histo[$key]['datestart']).'</td>';
|
||||
|
||||
// Actions
|
||||
$out.='<td></td>';
|
||||
|
||||
@ -390,7 +390,21 @@ function dol_buildpath($path, $type=0)
|
||||
|
||||
foreach ($conf->file->dol_document_root as $key => $dirroot) // ex: array(["main"]=>"/home/main/htdocs", ["alt0"]=>"/home/dirmod/htdocs", ...)
|
||||
{
|
||||
if ($key == 'main') continue;
|
||||
if ($key == 'main')
|
||||
{
|
||||
if ($type == 3)
|
||||
{
|
||||
global $dolibarr_main_url_root;
|
||||
|
||||
// Define $urlwithroot
|
||||
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root));
|
||||
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
|
||||
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
||||
|
||||
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).'/'.$path; // Test on start with http is for old conf syntax
|
||||
}
|
||||
continue;
|
||||
}
|
||||
preg_match('/^([^\?]+(\.css\.php|\.css|\.js\.php|\.js|\.png|\.jpg|\.php)?)/i',$path,$regs); // Take part before '?'
|
||||
if (! empty($regs[1]))
|
||||
{
|
||||
@ -414,7 +428,7 @@ function dol_buildpath($path, $type=0)
|
||||
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
|
||||
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
||||
|
||||
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path;
|
||||
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path; // Test on start with http is for old conf syntax
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -3327,13 +3341,13 @@ function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betwee
|
||||
* Return a string with VAT rate label formated for view output
|
||||
* Used into pdf and HTML pages
|
||||
*
|
||||
* @param float $rate Rate value to format (19.6 19,6 19.6% 19,6%,...)
|
||||
* @param string $rate Rate value to format ('19.6', '19,6', '19.6%', '19,6%', '19.6 (CODEX)', ...)
|
||||
* @param boolean $addpercent Add a percent % sign in output
|
||||
* @param int $info_bits Miscellaneous information on vat (0=Default, 1=French NPR vat)
|
||||
* @param int $usestarfornpr 1=Use '*' for NPR vat rate intead of MAIN_LABEL_MENTION_NPR
|
||||
* @return string String with formated amounts (19,6 or 19,6% or 8.5% NPR or 8.5% *)
|
||||
* @return string String with formated amounts ('19,6' or '19,6%' or '8.5% (NPR)' or '8.5% *' or '19,6 (CODEX)')
|
||||
*/
|
||||
function vatrate($rate,$addpercent=false,$info_bits=0,$usestarfornpr=0)
|
||||
function vatrate($rate, $addpercent=false, $info_bits=0, $usestarfornpr=0)
|
||||
{
|
||||
$morelabel='';
|
||||
|
||||
@ -3345,7 +3359,7 @@ function vatrate($rate,$addpercent=false,$info_bits=0,$usestarfornpr=0)
|
||||
if (preg_match('/\((.*)\)/',$rate,$reg))
|
||||
{
|
||||
$morelabel=' ('.$reg[1].')';
|
||||
$rate=preg_replace('/'.preg_quote($morelabel,'/').'/','',$rate);
|
||||
$rate=preg_replace('/\s*'.preg_quote($morelabel,'/').'/','',$rate);
|
||||
}
|
||||
if (preg_match('/\*/',$rate) || preg_match('/'.constant('MAIN_LABEL_MENTION_NPR').'/i',$rate))
|
||||
{
|
||||
|
||||
@ -1232,7 +1232,12 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl
|
||||
|
||||
if (empty($hideref))
|
||||
{
|
||||
if ($issupplierline) $ref_prodserv = $prodser->ref.($ref_supplier ? ' ('.$outputlangs->transnoentitiesnoconv("SupplierRef").' '.$ref_supplier.')' : ''); // Show local ref and supplier ref
|
||||
if ($issupplierline)
|
||||
{
|
||||
//$ref_prodserv = $prodser->ref.($ref_supplier ? ' ('.$outputlangs->transnoentitiesnoconv("SupplierRef").' '.$ref_supplier.')' : ''); // Show local ref and supplier ref
|
||||
if (! empty($conf->global->PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES)) $ref_prodserv =$ref_supplier;
|
||||
else $ref_prodserv = $prodser->ref.($ref_supplier ? ' ('.$outputlangs->transnoentitiesnoconv("SupplierRef").' '.$ref_supplier.')' : ''); // Show local ref and supplier ref
|
||||
}
|
||||
else $ref_prodserv = $prodser->ref; // Show local ref only
|
||||
|
||||
if (! empty($libelleproduitservice)) $ref_prodserv .= " - ";
|
||||
|
||||
@ -81,7 +81,7 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocalt
|
||||
if (empty($txtva)) $txtva=0;
|
||||
if (empty($seller) || ! is_object($seller))
|
||||
{
|
||||
dol_syslog("calcul_price_total Warning: function is called with parameter seller that is missing", LOG_WARNING);
|
||||
dol_syslog("Price.lib::calcul_price_total Warning: function is called with parameter seller that is missing", LOG_WARNING);
|
||||
if (! is_object($mysoc)) // mysoc may be not defined (during migration process)
|
||||
{
|
||||
$mysoc=new Societe($db);
|
||||
@ -92,7 +92,7 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocalt
|
||||
}
|
||||
if (empty($localtaxes_array) || ! is_array($localtaxes_array))
|
||||
{
|
||||
dol_syslog("calcul_price_total Warning: function is called with parameter localtaxes_array that is missing", LOG_WARNING);
|
||||
dol_syslog("Price.lib::calcul_price_total Warning: function is called with parameter localtaxes_array that is missing", LOG_WARNING);
|
||||
}
|
||||
// Too verbose. Enable for debug only
|
||||
//dol_syslog("Price.lib::calcul_price_total qty=".$qty." pu=".$pu." remiserpercent_ligne=".$remise_percent_ligne." txtva=".$txtva." uselocaltax1_rate=".$uselocaltax1_rate." uselocaltax2_rate=".$uselocaltax2_rate.' remise_percent_global='.$remise_percent_global.' price_base_type='.$ice_base_type.' type='.$type.' progress='.$progress);
|
||||
@ -124,7 +124,7 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocalt
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_tva as cv";
|
||||
$sql.= " WHERE cv.taux = ".$txtva;
|
||||
$sql.= " AND cv.fk_pays = ".$countryid;
|
||||
dol_syslog("calcul_price_total search vat information using old deprecated method", LOG_WARNING);
|
||||
dol_syslog("Price.lib::calcul_price_total search vat information using old deprecated method", LOG_WARNING);
|
||||
$resql = $db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
|
||||
@ -21,8 +21,9 @@
|
||||
* \ingroup expedition
|
||||
* \brief Library for expedition module
|
||||
*/
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php';
|
||||
|
||||
|
||||
/**
|
||||
@ -169,9 +170,10 @@ function show_list_sending_receive($origin,$origin_id,$filter='')
|
||||
|
||||
$product_static=new Product($db);
|
||||
$expedition=new Expedition($db);
|
||||
|
||||
$warehousestatic=new Entrepot($db);
|
||||
|
||||
$sql = "SELECT obj.rowid, obj.fk_product, obj.label, obj.description, obj.product_type as fk_product_type, obj.qty as qty_asked, obj.date_start, obj.date_end";
|
||||
$sql.= ", ed.qty as qty_shipped, ed.fk_expedition as expedition_id, ed.fk_origin_line";
|
||||
$sql.= ", ed.qty as qty_shipped, ed.fk_expedition as expedition_id, ed.fk_origin_line, ed.fk_entrepot as warehouse_id";
|
||||
$sql.= ", e.rowid as sendingid, e.ref as exp_ref, e.date_creation, e.date_delivery, e.date_expedition,";
|
||||
//if ($conf->livraison_bon->enabled) $sql .= " l.rowid as livraison_id, l.ref as livraison_ref, l.date_delivery, ld.qty as qty_received,";
|
||||
$sql.= ' p.label as product_label, p.ref, p.fk_product_type, p.rowid as prodid,';
|
||||
@ -209,7 +211,11 @@ function show_list_sending_receive($origin,$origin_id,$filter='')
|
||||
print '<td align="center">'.$langs->trans("DateCreation").'</td>';
|
||||
print '<td align="center">'.$langs->trans("DateDeliveryPlanned").'</td>';
|
||||
print '<td align="center">'.$langs->trans("QtyShipped").'</td>';
|
||||
if ($conf->livraison_bon->enabled)
|
||||
if (! empty($conf->stock->enabled))
|
||||
{
|
||||
print '<td>'.$langs->trans("Warehouse").'</td>';
|
||||
}
|
||||
if (! empty($conf->livraison_bon->enabled))
|
||||
{
|
||||
print '<td>'.$langs->trans("DeliveryOrder").'</td>';
|
||||
//print '<td align="center">'.$langs->trans("QtyReceived").'</td>';
|
||||
@ -309,6 +315,18 @@ function show_list_sending_receive($origin,$origin_id,$filter='')
|
||||
// Qty shipped
|
||||
print '<td align="center">'.$objp->qty_shipped.'</td>';
|
||||
|
||||
// Warehouse
|
||||
if (! empty($conf->stock->enabled))
|
||||
{
|
||||
print '<td>';
|
||||
if ($objp->warehouse_id > 0)
|
||||
{
|
||||
$warehousestatic->fetch($objp->warehouse_id);
|
||||
print $warehousestatic->getNomUrl(1);
|
||||
}
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
// Informations on receipt
|
||||
if (! empty($conf->livraison_bon->enabled))
|
||||
{
|
||||
|
||||
@ -265,8 +265,14 @@ class modMultiCurrency extends DolibarrModules
|
||||
$sql = array();
|
||||
|
||||
//$this->_load_tables('/multicurrency/sql/');
|
||||
|
||||
return $this->_init($sql, $options);
|
||||
$res = $this->_init($sql, $options);
|
||||
|
||||
if ($res)
|
||||
{
|
||||
$this->createFirstCurrency();
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -284,5 +290,27 @@ class modMultiCurrency extends DolibarrModules
|
||||
return $this->_remove($sql, $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function called when module is enabled
|
||||
* Create the currency from general setting
|
||||
*
|
||||
* @return int 1 if OK, 0 if KO
|
||||
*/
|
||||
private function createFirstCurrency()
|
||||
{
|
||||
global $conf,$user,$langs;
|
||||
|
||||
if (!MultiCurrency::checkCodeAlreadyExists($conf->currency))
|
||||
{
|
||||
$langs->loadCacheCurrencies('');
|
||||
|
||||
$multicurrency = new MultiCurrency($this->db);
|
||||
$multicurrency->code = $conf->currency;
|
||||
$multicurrency->name = $langs->cache_currencies[$conf->currency]['label'].' ('.$langs->getCurrencySymbol($conf->currency).')';
|
||||
$r = $multicurrency->create($user);
|
||||
|
||||
if ($r > 0) $multicurrency->addRate(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -211,7 +211,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$hookmanager->initHooks(array('pdfgeneration'));
|
||||
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
global $action;
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
$reshook=$hookmanager->executeHooks('beforePDFCreation',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
|
||||
@ -111,7 +111,7 @@ $coldisplay=-1; // We remove first td
|
||||
<?php
|
||||
$coldisplay++;
|
||||
if ($this->situation_counter == 1 || !$this->situation_cycle_ref) {
|
||||
print '<td align="right">' . $form->load_tva('tva_tx', $line->tva_tx, $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1) . '</td>';
|
||||
print '<td align="right">' . $form->load_tva('tva_tx', $line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1) . '</td>';
|
||||
} else {
|
||||
print '<td align="right"><input size="1" type="text" class="flat" name="tva_tx" value="' . price($line->tva_tx) . '" readonly />%</td>';
|
||||
}
|
||||
|
||||
@ -129,8 +129,10 @@ if (empty($usemargins)) $usemargins=0;
|
||||
</td>
|
||||
<?php if ($object->element == 'supplier_proposal') { ?>
|
||||
<td class="linecolrefsupplier" align="right"><?php echo $line->ref_fourn; ?></td>
|
||||
<?php } ?>
|
||||
<td align="right" class="linecolvat nowrap"><?php $coldisplay++; ?><?php echo vatrate($line->tva_tx,'%',$line->info_bits); ?></td>
|
||||
<?php }
|
||||
// VAT Rate
|
||||
?>
|
||||
<td align="right" class="linecolvat nowrap"><?php $coldisplay++; ?><?php echo vatrate($line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''),'%',$line->info_bits); ?></td>
|
||||
|
||||
<td align="right" class="linecoluht nowrap"><?php $coldisplay++; ?><?php echo price($line->subprice); ?></td>
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
* Copyright (C) 2014-2015 Francis Appels <francis.appels@yahoo.com>
|
||||
* Copyright (C) 2015 Claudio Aschieri <c.aschieri@19.coop>
|
||||
* Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2016 Yasser Carreón <yacasia@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -40,10 +41,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/sendings.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/expedition/modules_expedition.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php';
|
||||
if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||
if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
|
||||
if (! empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
|
||||
if (! empty($conf->stock->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php';
|
||||
if (! empty($conf->productbatch->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php';
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||
@ -75,6 +76,7 @@ $result=restrictedArea($user, $origin, $origin_id);
|
||||
|
||||
$action = GETPOST('action','alpha');
|
||||
$confirm = GETPOST('confirm','alpha');
|
||||
$cancel = GETPOST('cancel','alpha');
|
||||
|
||||
//PDF
|
||||
$hidedetails = (GETPOST('hidedetails','int') ? GETPOST('hidedetails','int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS) ? 1 : 0));
|
||||
@ -112,6 +114,8 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
|
||||
|
||||
if (empty($reshook))
|
||||
{
|
||||
if ($cancel) { $action = ''; }
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once
|
||||
|
||||
// Set incoterm
|
||||
@ -127,6 +131,23 @@ if (empty($reshook))
|
||||
$result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha'));
|
||||
}
|
||||
|
||||
if ($action == 'setref_customer')
|
||||
{
|
||||
$result = $object->fetch($id);
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
|
||||
$result = $object->setValueFrom('ref_customer', GETPOST('ref_customer','alpha'), '', null, 'text', '', $user, 'SHIPMENT_MODIFY');
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$action = 'editref_customer';
|
||||
} else {
|
||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'update_extras')
|
||||
{
|
||||
// Fill array 'array_options' with data from update form
|
||||
@ -181,9 +202,9 @@ if (empty($reshook))
|
||||
$objectsrc->fetch($object->origin_id);
|
||||
|
||||
$object->socid = $objectsrc->socid;
|
||||
$object->ref_customer = $objectsrc->ref_client;
|
||||
$object->ref_customer = ''; // We don't use $objectsrc->ref_client, this is ref or order not shipment
|
||||
$object->model_pdf = GETPOST('model');
|
||||
$object->date_delivery = $date_delivery; // Date delivery planed
|
||||
$object->date_delivery = $date_delivery; // Date delivery planed
|
||||
$object->fk_delivery_address = $objectsrc->fk_delivery_address;
|
||||
$object->shipping_method_id = GETPOST('shipping_method_id','int');
|
||||
$object->tracking_number = GETPOST('tracking_number','alpha');
|
||||
@ -392,9 +413,9 @@ if (empty($reshook))
|
||||
)
|
||||
{
|
||||
$object->fetch_thirdparty();
|
||||
|
||||
|
||||
$result = $object->valid($user);
|
||||
|
||||
|
||||
if ($result < 0)
|
||||
{
|
||||
$langs->load("errors");
|
||||
@ -534,13 +555,21 @@ if (empty($reshook))
|
||||
elseif ($action == 'classifybilled')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->set_billed();
|
||||
$result = $object->set_billed();
|
||||
if($result >= 0) {
|
||||
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
elseif ($action == 'classifyclosed')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setClosed();
|
||||
$result = $object->setClosed();
|
||||
if($result >= 0) {
|
||||
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php';
|
||||
@ -566,9 +595,12 @@ llxHeader('',$langs->trans('Shipment'),'Expedition');
|
||||
$form = new Form($db);
|
||||
$formfile = new FormFile($db);
|
||||
$formproduct = new FormProduct($db);
|
||||
$product_static = new Product($db);
|
||||
if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); }
|
||||
|
||||
$product_static = new Product($db);
|
||||
$shipment_static = new Expedition($db);
|
||||
$warehousestatic = new Entrepot($db);
|
||||
|
||||
if ($action == 'create2')
|
||||
{
|
||||
print load_fiche_titre($langs->trans("CreateASending")).'<br>';
|
||||
@ -1215,11 +1247,12 @@ else if ($id || $ref)
|
||||
|
||||
if ($object->id > 0)
|
||||
{
|
||||
if (!empty($object->origin))
|
||||
if (!empty($object->origin) && $object->origin_id > 0)
|
||||
{
|
||||
$typeobject = $object->origin;
|
||||
$origin = $object->origin;
|
||||
$object->fetch_origin();
|
||||
$origin_id = $object->origin_id;
|
||||
$object->fetch_origin(); // Load property $object->commande, $object->propal, ...
|
||||
}
|
||||
|
||||
$soc = new Societe($db);
|
||||
@ -1232,17 +1265,13 @@ else if ($id || $ref)
|
||||
|
||||
$formconfirm='';
|
||||
|
||||
/*
|
||||
* Confirmation de la suppression
|
||||
*/
|
||||
// Confirm deleteion
|
||||
if ($action == 'delete')
|
||||
{
|
||||
$formconfirm=$form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('DeleteSending'),$langs->trans("ConfirmDeleteSending",$object->ref),'confirm_delete','',0,1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Confirmation de la validation
|
||||
*/
|
||||
// Confirmation validation
|
||||
if ($action == 'valid')
|
||||
{
|
||||
$objectref = substr($object->ref, 1, 4);
|
||||
@ -1268,9 +1297,7 @@ else if ($id || $ref)
|
||||
$formconfirm=$form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('ValidateSending'),$text,'confirm_valid','',0,1);
|
||||
|
||||
}
|
||||
/*
|
||||
* Confirmation de l'annulation
|
||||
*/
|
||||
// Confirm cancelation
|
||||
if ($action == 'annuler')
|
||||
{
|
||||
$formconfirm=$form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('CancelSending'),$langs->trans("ConfirmCancelSending",$object->ref),'confirm_cancel','',0,1);
|
||||
@ -1295,21 +1322,30 @@ else if ($id || $ref)
|
||||
$totalVolume=$tmparray['volume'];
|
||||
|
||||
|
||||
if ($typeobject == 'commande' && $object->$typeobject->id && ! empty($conf->commande->enabled))
|
||||
{
|
||||
$objectsrc=new Commande($db);
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
}
|
||||
if ($typeobject == 'propal' && $object->$typeobject->id && ! empty($conf->propal->enabled))
|
||||
{
|
||||
$objectsrc=new Propal($db);
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
}
|
||||
|
||||
// Shipment card
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
|
||||
$morehtmlref='<div class="refidno">';
|
||||
// Ref customer shipment
|
||||
$morehtmlref.=$form->editfieldkey("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', 0, 1);
|
||||
$morehtmlref.=$form->editfieldval("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', null, null, '', 1);
|
||||
$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', 0, 1);
|
||||
$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', null, null, '', 1);
|
||||
// Thirdparty
|
||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
||||
// Project
|
||||
/*
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
$langs->load("projects");
|
||||
$morehtmlref .= '<br>' . $langs->trans('Project') . ' ';
|
||||
if ($user->rights->supplier_proposal->creer) {
|
||||
if (0) { // Do not change on shipment
|
||||
if ($action != 'classify') {
|
||||
$morehtmlref .= '<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||
}
|
||||
@ -1325,20 +1361,23 @@ else if ($id || $ref)
|
||||
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||
}
|
||||
} else {
|
||||
if (! empty($object->fk_project)) {
|
||||
// We don't have project on shipment, so we will use the project or source object instead
|
||||
// TODO Add project on shipment
|
||||
$morehtmlref .= ' : ';
|
||||
if (! empty($objectsrc->fk_project)) {
|
||||
$proj = new Project($db);
|
||||
$proj->fetch($object->fk_project);
|
||||
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $object->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||
$proj->fetch($objectsrc->fk_project);
|
||||
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $objectsrc->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||
$morehtmlref .= $proj->ref;
|
||||
$morehtmlref .= '</a>';
|
||||
} else {
|
||||
$morehtmlref .= '';
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
$morehtmlref.='</div>';
|
||||
|
||||
|
||||
|
||||
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
|
||||
|
||||
|
||||
@ -1352,8 +1391,6 @@ else if ($id || $ref)
|
||||
if ($typeobject == 'commande' && $object->$typeobject->id && ! empty($conf->commande->enabled))
|
||||
{
|
||||
print '<tr><td>';
|
||||
$objectsrc=new Commande($db);
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
print $langs->trans("RefOrder").'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $objectsrc->getNomUrl(1,'commande');
|
||||
@ -1363,8 +1400,6 @@ else if ($id || $ref)
|
||||
if ($typeobject == 'propal' && $object->$typeobject->id && ! empty($conf->propal->enabled))
|
||||
{
|
||||
print '<tr><td>';
|
||||
$objectsrc=new Propal($db);
|
||||
$objectsrc->fetch($object->$typeobject->id);
|
||||
print $langs->trans("RefProposal").'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $objectsrc->getNomUrl(1,'expedition');
|
||||
@ -1374,7 +1409,7 @@ else if ($id || $ref)
|
||||
|
||||
// Date creation
|
||||
print '<tr><td class="titlefield">'.$langs->trans("DateCreation").'</td>';
|
||||
print '<td colspan="3">'.dol_print_date($object->date_creation,"day")."</td>\n";
|
||||
print '<td colspan="3">'.dol_print_date($object->date_creation,"dayhour")."</td>\n";
|
||||
print '</tr>';
|
||||
|
||||
// Delivery date planned
|
||||
@ -1505,11 +1540,6 @@ else if ($id || $ref)
|
||||
print "</td>\n";
|
||||
print '</tr>';
|
||||
|
||||
// Status
|
||||
/*print '<tr><td>'.$langs->trans("Status").'</td>';
|
||||
print '<td colspan="3">'.$object->getLibStatut(4)."</td>\n";
|
||||
print '</tr>';*/
|
||||
|
||||
// Other attributes
|
||||
$cols = 2;
|
||||
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
|
||||
@ -1612,6 +1642,11 @@ else if ($id || $ref)
|
||||
print '<td align="center">'.$langs->trans("QtyShipped").'</td>';
|
||||
}
|
||||
|
||||
if ($origin && $origin_id > 0)
|
||||
{
|
||||
print '<td align="center">'.$langs->trans("QtyInOtherShipments").'</td>';
|
||||
}
|
||||
|
||||
print '<td align="center">'.$langs->trans("CalculatedWeight").'</td>';
|
||||
print '<td align="center">'.$langs->trans("CalculatedVolume").'</td>';
|
||||
//print '<td align="center">'.$langs->trans("Size").'</td>';
|
||||
@ -1644,6 +1679,50 @@ else if ($id || $ref)
|
||||
}
|
||||
}
|
||||
|
||||
// Get list of products already sent for same source object
|
||||
$alreadysent = array();
|
||||
if ($origin && $origin_id > 0)
|
||||
{
|
||||
$sql = "SELECT obj.rowid, obj.fk_product, obj.label, obj.description, obj.product_type as fk_product_type, obj.qty as qty_asked, obj.date_start, obj.date_end";
|
||||
$sql.= ", ed.rowid as shipmentline_id, ed.qty as qty_shipped, ed.fk_expedition as expedition_id, ed.fk_origin_line, ed.fk_entrepot";
|
||||
$sql.= ", e.rowid as shipment_id, e.ref as shipment_ref, e.date_creation, e.date_valid, e.date_delivery, e.date_expedition,";
|
||||
//if ($conf->livraison_bon->enabled) $sql .= " l.rowid as livraison_id, l.ref as livraison_ref, l.date_delivery, ld.qty as qty_received,";
|
||||
$sql.= ' p.label as product_label, p.ref, p.fk_product_type, p.rowid as prodid,';
|
||||
$sql.= ' p.description as product_desc';
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."expeditiondet as ed";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."expedition as e";
|
||||
$sql.= ", ".MAIN_DB_PREFIX.$origin."det as obj";
|
||||
//if ($conf->livraison_bon->enabled) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."livraison as l ON l.fk_expedition = e.rowid LEFT JOIN ".MAIN_DB_PREFIX."livraisondet as ld ON ld.fk_livraison = l.rowid AND obj.rowid = ld.fk_origin_line";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON obj.fk_product = p.rowid";
|
||||
$sql.= " WHERE e.entity IN (".getEntity('expedition', 1).")";
|
||||
$sql.= " AND obj.fk_".$origin." = ".$origin_id;
|
||||
$sql.= " AND obj.rowid = ed.fk_origin_line";
|
||||
$sql.= " AND ed.fk_expedition = e.rowid";
|
||||
//if ($filter) $sql.= $filter;
|
||||
$sql.= " ORDER BY obj.fk_product";
|
||||
|
||||
dol_syslog("show_list_sending_receive", LOG_DEBUG);
|
||||
$resql = $db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
|
||||
while($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
if ($obj)
|
||||
{
|
||||
// $obj->rowid is rowid in $origin."det" table
|
||||
$alreadysent[$obj->rowid][$obj->shipmentline_id]=array('shipment_ref'=>$obj->shipment_ref, 'shipment_id'=>$obj->shipment_id, 'warehouse'=>$obj->fk_entrepot, 'qty_shipped'=>$obj->qty_shipped, 'date_valid'=>$obj->date_valid, 'date_delivery'=>$obj->date_delivery);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
//var_dump($alreadysent);
|
||||
}
|
||||
|
||||
// Loop on each product to send/sent
|
||||
for ($i = 0 ; $i < $num_prod ; $i++)
|
||||
{
|
||||
print "<tr ".$bc[$var].">";
|
||||
@ -1700,12 +1779,43 @@ else if ($id || $ref)
|
||||
print "</td>\n";
|
||||
}
|
||||
|
||||
// Qte commande
|
||||
// Qty ordered
|
||||
print '<td align="center">'.$lines[$i]->qty_asked.'</td>';
|
||||
|
||||
// Qte a expedier ou expedier
|
||||
// Qty to ship or shipped
|
||||
print '<td align="center">'.$lines[$i]->qty_shipped.'</td>';
|
||||
|
||||
// Qty in other shipments (with shipment and warehouse used)
|
||||
if ($origin && $origin_id > 0)
|
||||
{
|
||||
print '<td align="center" class="nowrap">';
|
||||
foreach ($alreadysent as $key => $val)
|
||||
{
|
||||
if ($lines[$i]->fk_origin_line == $key)
|
||||
{
|
||||
$j = 0;
|
||||
foreach($val as $shipmentline_id=> $shipmentline_var)
|
||||
{
|
||||
if ($shipmentline_id == $lines[$i]->rowid) continue; // We want to show only "other shipments"
|
||||
|
||||
$j++;
|
||||
if ($j > 1) print '<br>';
|
||||
$shipment_static->fetch($shipmentline_var['shipment_id']);
|
||||
print $shipment_static->getNomUrl(1);
|
||||
print ' - '.$shipmentline_var['qty_shipped'];
|
||||
$htmltext=$langs->trans("DateValidation").' : '.dol_print_date($shipmentline_var['date_valid'], 'dayhour');
|
||||
if (! empty($conf->stock->enabled) && $shipmentline_var['warehouse'] > 0)
|
||||
{
|
||||
$warehousestatic->fetch($shipmentline_var['warehouse']);
|
||||
$htmltext .= '<br>'.$langs->trans("From").' : '.$warehousestatic->getNomUrl(1);
|
||||
}
|
||||
print ' '.$form->textwithpicto('', $htmltext, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
// Weight
|
||||
print '<td align="center">';
|
||||
if ($lines[$i]->fk_product_type == 0) print $lines[$i]->weight*$lines[$i]->qty_shipped.' '.measuring_units_string($lines[$i]->weight_units,"weight");
|
||||
@ -1721,7 +1831,7 @@ else if ($id || $ref)
|
||||
// Size
|
||||
//print '<td align="center">'.$lines[$i]->volume*$lines[$i]->qty_shipped.' '.measuring_units_string($lines[$i]->volume_units,"volume").'</td>';
|
||||
|
||||
// Entrepot source
|
||||
// Warehouse source
|
||||
if (! empty($conf->stock->enabled))
|
||||
{
|
||||
print '<td align="left">';
|
||||
@ -1774,7 +1884,7 @@ else if ($id || $ref)
|
||||
}
|
||||
print "</tr>";
|
||||
|
||||
//Display lines extrafields
|
||||
// Display lines extrafields
|
||||
if (is_array($extralabelslines) && count($extralabelslines)>0) {
|
||||
$colspan= empty($conf->productbatch->enabled) ? 5 : 6;
|
||||
$line = new ExpeditionLigne($db);
|
||||
@ -1787,6 +1897,10 @@ else if ($id || $ref)
|
||||
$var=!$var;
|
||||
}
|
||||
|
||||
// TODO Show also lines ordered but not delivered
|
||||
|
||||
|
||||
|
||||
print "</table>\n";
|
||||
}
|
||||
|
||||
@ -1796,6 +1910,7 @@ else if ($id || $ref)
|
||||
|
||||
$object->fetchObjectLinked($object->id,$object->element);
|
||||
|
||||
|
||||
/*
|
||||
* Boutons actions
|
||||
*/
|
||||
@ -1885,6 +2000,7 @@ else if ($id || $ref)
|
||||
/*
|
||||
* Documents generated
|
||||
*/
|
||||
|
||||
if ($action != 'presend')
|
||||
{
|
||||
print '<div class="fichecenter"><div class="fichehalfleft">';
|
||||
@ -1915,9 +2031,11 @@ else if ($id || $ref)
|
||||
print '</div></div></div>';
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Action presend
|
||||
*/
|
||||
|
||||
//Select mail models is same action as presend
|
||||
if (GETPOST('modelselected')) {
|
||||
$action = 'presend';
|
||||
@ -2049,13 +2167,6 @@ else if ($id || $ref)
|
||||
|
||||
dol_fiche_end();
|
||||
}
|
||||
|
||||
if ($action != 'presend' && ! empty($origin) && $object->$origin->id)
|
||||
{
|
||||
print '<br>';
|
||||
//show_list_sending_receive($object->origin,$object->origin_id," AND e.rowid <> ".$object->id);
|
||||
show_list_sending_receive($object->origin,$object->origin_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -742,7 +742,8 @@ class Expedition extends CommonObject
|
||||
|
||||
// Change status of order to "shipment in process"
|
||||
$ret = $this->setStatut(Commande::STATUS_SHIPMENTONPROCESS, $this->origin_id, $this->origin);
|
||||
if (! $ret)
|
||||
|
||||
if (! $ret)
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
|
||||
@ -29,6 +29,10 @@ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/sendings.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
|
||||
}
|
||||
|
||||
$langs->load("orders");
|
||||
$langs->load("sendings");
|
||||
@ -165,11 +169,10 @@ if ($id > 0 || ! empty($ref))
|
||||
// Thirdparty
|
||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
||||
// Project
|
||||
/*
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
$langs->load("projects");
|
||||
$morehtmlref .= '<br>' . $langs->trans('Project') . ' ';
|
||||
if ($user->rights->supplier_proposal->creer) {
|
||||
if (0) { // Do not change on shipment
|
||||
if ($action != 'classify') {
|
||||
$morehtmlref .= '<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||
}
|
||||
@ -185,17 +188,20 @@ if ($id > 0 || ! empty($ref))
|
||||
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||
}
|
||||
} else {
|
||||
if (! empty($object->fk_project)) {
|
||||
// We don't have project on shipment, so we will use the project or source object instead
|
||||
// TODO Add project on shipment
|
||||
$morehtmlref .= ' : ';
|
||||
if (! empty($objectsrc->fk_project)) {
|
||||
$proj = new Project($db);
|
||||
$proj->fetch($object->fk_project);
|
||||
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $object->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||
$proj->fetch($objectsrc->fk_project);
|
||||
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $objectsrc->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||
$morehtmlref .= $proj->ref;
|
||||
$morehtmlref .= '</a>';
|
||||
} else {
|
||||
$morehtmlref .= '';
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
$morehtmlref.='</div>';
|
||||
|
||||
|
||||
|
||||
@ -174,7 +174,7 @@ $formcompany=new FormCompany($db);
|
||||
$helpurl='EN:Module_Shipments|FR:Module_Expéditions|ES:Módulo_Expediciones';
|
||||
llxHeader('',$langs->trans('ListOfSendings'),$helpurl);
|
||||
|
||||
$sql = "SELECT e.rowid, e.ref, e.date_expedition as date_expedition, e.date_delivery as date_livraison, l.date_delivery as date_reception, e.fk_statut,";
|
||||
$sql = "SELECT e.rowid, e.ref, e.ref_customer, e.date_expedition as date_expedition, e.date_delivery as date_livraison, l.date_delivery as date_reception, e.fk_statut,";
|
||||
$sql.= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, ';
|
||||
$sql.= " typent.code as typent_code,";
|
||||
$sql.= " state.code_departement as state_code, state.nom as state_name,";
|
||||
@ -310,6 +310,7 @@ if ($resql)
|
||||
print '<tr class="liste_titre">';
|
||||
|
||||
if (! empty($arrayfields['e.ref']['checked'])) print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"],"e.ref","",$param,'',$sortfield,$sortorder);
|
||||
if (! empty($arrayfields['e.ref_customer']['checked'])) print_liste_field_titre($arrayfields['e.ref_customer']['label'], $_SERVER["PHP_SELF"],"e.ref_customer","",$param,'',$sortfield,$sortorder);
|
||||
if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"],"s.nom", "", $param,'align="left"',$sortfield,$sortorder);
|
||||
if (! empty($arrayfields['s.town']['checked'])) print_liste_field_titre($arrayfields['s.town']['label'],$_SERVER["PHP_SELF"],'s.town','',$param,'',$sortfield,$sortorder);
|
||||
if (! empty($arrayfields['s.zip']['checked'])) print_liste_field_titre($arrayfields['s.zip']['label'],$_SERVER["PHP_SELF"],'s.zip','',$param,'',$sortfield,$sortorder);
|
||||
@ -348,14 +349,21 @@ if ($resql)
|
||||
if (! empty($arrayfields['e.ref']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="10" type="text" name="search_ref_exp" value="'.$search_ref_exp.'">';
|
||||
print '<input class="flat" size="6" type="text" name="search_ref_exp" value="'.$search_ref_exp.'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Ref customer
|
||||
if (! empty($arrayfields['e.ref_customer']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="6" type="text" name="search_ref_customer" value="'.$search_ref_customer.'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Thirdparty
|
||||
if (! empty($arrayfields['s.nom']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<input class="flat" type="text" size="10" name="search_company" value="'.dol_escape_htmltag($search_company).'">';
|
||||
print '<input class="flat" type="text" size="8" name="search_company" value="'.dol_escape_htmltag($search_company).'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Town
|
||||
@ -460,13 +468,17 @@ if ($resql)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
||||
$var=!$var;
|
||||
|
||||
print "<tr ".$bc[$var].">";
|
||||
|
||||
$shipment->id=$obj->rowid;
|
||||
$shipment->ref=$obj->ref;
|
||||
|
||||
$companystatic->id=$obj->socid;
|
||||
$companystatic->ref=$obj->name;
|
||||
$companystatic->name=$obj->name;
|
||||
|
||||
$var=!$var;
|
||||
|
||||
print "<tr ".$bc[$var].">";
|
||||
|
||||
// Ref
|
||||
if (! empty($arrayfields['e.ref']['checked']))
|
||||
{
|
||||
@ -476,9 +488,14 @@ if ($resql)
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
|
||||
$companystatic->id=$obj->socid;
|
||||
$companystatic->ref=$obj->name;
|
||||
$companystatic->name=$obj->name;
|
||||
// Ref customer
|
||||
if (! empty($arrayfields['e.ref_customer']['checked']))
|
||||
{
|
||||
print "<td>";
|
||||
print $obj->ref_customer;
|
||||
print "</td>\n";
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
|
||||
// Third party
|
||||
if (! empty($arrayfields['s.nom']['checked']))
|
||||
|
||||
@ -27,6 +27,10 @@
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/sendings.lib.php';
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
|
||||
}
|
||||
|
||||
$langs->load("sendings");
|
||||
$langs->load("companies");
|
||||
@ -110,37 +114,39 @@ if ($id > 0 || ! empty($ref))
|
||||
// Thirdparty
|
||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
||||
// Project
|
||||
/*
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
$langs->load("projects");
|
||||
$morehtmlref .= '<br>' . $langs->trans('Project') . ' ';
|
||||
if ($user->rights->supplier_proposal->creer) {
|
||||
if ($action != 'classify') {
|
||||
$morehtmlref .= '<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||
}
|
||||
if ($action == 'classify') {
|
||||
// $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
|
||||
$morehtmlref .= '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '">';
|
||||
$morehtmlref .= '<input type="hidden" name="action" value="classin">';
|
||||
$morehtmlref .= '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||
$morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
||||
$morehtmlref .= '<input type="submit" class="button" value="' . $langs->trans("Modify") . '">';
|
||||
$morehtmlref .= '</form>';
|
||||
} else {
|
||||
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||
}
|
||||
} else {
|
||||
if (! empty($object->fk_project)) {
|
||||
$proj = new Project($db);
|
||||
$proj->fetch($object->fk_project);
|
||||
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $object->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||
$morehtmlref .= $proj->ref;
|
||||
$morehtmlref .= '</a>';
|
||||
} else {
|
||||
$morehtmlref .= '';
|
||||
}
|
||||
}
|
||||
}*/
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
$langs->load("projects");
|
||||
$morehtmlref .= '<br>' . $langs->trans('Project') . ' ';
|
||||
if (0) { // Do not change on shipment
|
||||
if ($action != 'classify') {
|
||||
$morehtmlref .= '<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||
}
|
||||
if ($action == 'classify') {
|
||||
// $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
|
||||
$morehtmlref .= '<form method="post" action="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '">';
|
||||
$morehtmlref .= '<input type="hidden" name="action" value="classin">';
|
||||
$morehtmlref .= '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||
$morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
||||
$morehtmlref .= '<input type="submit" class="button" value="' . $langs->trans("Modify") . '">';
|
||||
$morehtmlref .= '</form>';
|
||||
} else {
|
||||
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||
}
|
||||
} else {
|
||||
// We don't have project on shipment, so we will use the project or source object instead
|
||||
// TODO Add project on shipment
|
||||
$morehtmlref .= ' : ';
|
||||
if (! empty($objectsrc->fk_project)) {
|
||||
$proj = new Project($db);
|
||||
$proj->fetch($objectsrc->fk_project);
|
||||
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $objectsrc->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||
$morehtmlref .= $proj->ref;
|
||||
$morehtmlref .= '</a>';
|
||||
} else {
|
||||
$morehtmlref .= '';
|
||||
}
|
||||
}
|
||||
}
|
||||
$morehtmlref.='</div>';
|
||||
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
/**
|
||||
* \file htdocs/expedition/shipment.php
|
||||
* \ingroup expedition
|
||||
* \brief Tab shipments/delivery receipts on the order
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
@ -457,8 +458,8 @@ if ($id > 0 || ! empty($ref))
|
||||
|
||||
|
||||
/**
|
||||
* Lignes de commandes avec quantite livrees et reste a livrer
|
||||
* Les quantites livrees sont stockees dans $commande->expeditions[fk_product]
|
||||
* Lines or orders with quantity shipped and remain to ship
|
||||
* Note: Qty shipped are already available into $commande->expeditions[fk_product]
|
||||
*/
|
||||
print '<table class="noborder noshadow" width="100%">';
|
||||
|
||||
|
||||
@ -263,7 +263,7 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre" height="24">';
|
||||
print '<td align="center">'.$langs->trans("Year").'</td>';
|
||||
print '<td align="center">'.$langs->trans("NbOfSendings").'</td>';
|
||||
print '<td align="right">'.$langs->trans("NbOfSendings").'</td>';
|
||||
/*print '<td align="center">'.$langs->trans("AmountTotal").'</td>';
|
||||
print '<td align="center">'.$langs->trans("AmountAverage").'</td>';*/
|
||||
print '</tr>';
|
||||
@ -289,7 +289,10 @@ foreach ($data as $val)
|
||||
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].' height="24">';
|
||||
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&mode='.$mode.'">'.$year.'</a></td>';
|
||||
print '<td align="center">';
|
||||
if ($year) print '<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&mode='.$mode.'">'.$year.'</a>';
|
||||
else print $langs->trans("ValidationDateNotDefinedEvenIfShipmentValidated");
|
||||
print '</td>';
|
||||
print '<td align="right">'.$val['nb'].'</td>';
|
||||
/*print '<td align="right">'.price(price2num($val['total'],'MT'),1).'</td>';
|
||||
print '<td align="right">'.price(price2num($val['avg'],'MT'),1).'</td>';*/
|
||||
|
||||
@ -275,9 +275,8 @@ class CommandeFournisseur extends CommonOrder
|
||||
|
||||
$this->lines=array();
|
||||
|
||||
$sql = "SELECT l.rowid, l.ref as ref_supplier, l.fk_product, l.product_type, l.label, l.description,";
|
||||
$sql.= " l.qty,";
|
||||
$sql.= " l.tva_tx, l.remise_percent, l.subprice,";
|
||||
$sql = "SELECT l.rowid, l.ref as ref_supplier, l.fk_product, l.product_type, l.label, l.description, l.qty,";
|
||||
$sql.= " l.vat_src_code, l.tva_tx, l.remise_percent, l.subprice,";
|
||||
$sql.= " l.localtax1_tx, l. localtax2_tx, l.total_localtax1, l.total_localtax2,";
|
||||
$sql.= " l.total_ht, l.total_tva, l.total_ttc, l.special_code, l.fk_parent_line, l.rang,";
|
||||
$sql.= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.description as product_desc,";
|
||||
@ -313,6 +312,8 @@ class CommandeFournisseur extends CommonOrder
|
||||
$line->subprice = $objp->subprice;
|
||||
$line->pu_ht = $objp->subprice;
|
||||
$line->remise_percent = $objp->remise_percent;
|
||||
|
||||
$line->vat_src_code = $objp->vat_src_code;
|
||||
$line->total_ht = $objp->total_ht;
|
||||
$line->total_tva = $objp->total_tva;
|
||||
$line->total_localtax1 = $objp->total_localtax1;
|
||||
@ -1012,7 +1013,7 @@ class CommandeFournisseur extends CommonOrder
|
||||
{
|
||||
$this->statut = 3;
|
||||
$this->methode_commande_id = $methode;
|
||||
$this->date_commande = $this->db->idate($date);
|
||||
$this->date_commande = $date;
|
||||
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('ORDER_SUPPLIER_SUBMIT',$user);
|
||||
@ -1040,7 +1041,7 @@ class CommandeFournisseur extends CommonOrder
|
||||
$error++;
|
||||
$this->error = $langs->trans('NotAuthorized');
|
||||
$this->errors[] = $langs->trans('NotAuthorized');
|
||||
dol_syslog(get_class($this)."::commande User not Authorized", LOG_ERR);
|
||||
dol_syslog(get_class($this)."::commande User not Authorized", LOG_WARNING);
|
||||
}
|
||||
|
||||
return ($error ? -1 : 1);
|
||||
@ -1416,8 +1417,15 @@ class CommandeFournisseur extends CommonOrder
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc,$this->thirdparty);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $txtva, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $product_type, $this->thirdparty, $localtaxes_type, 100, $this->multicurrency_tx);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
@ -1457,6 +1465,8 @@ class CommandeFournisseur extends CommonOrder
|
||||
$this->line->subprice=$pu_ht;
|
||||
$this->line->rang=$this->rang;
|
||||
$this->line->info_bits=$info_bits;
|
||||
|
||||
$this->line->vat_src_code=$vat_src_code;
|
||||
$this->line->total_ht=$total_ht;
|
||||
$this->line->total_tva=$total_tva;
|
||||
$this->line->total_localtax1=$total_localtax1;
|
||||
@ -2260,8 +2270,15 @@ class CommandeFournisseur extends CommonOrder
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc, $this->thirdparty);
|
||||
$txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate.
|
||||
|
||||
// Clean vat code
|
||||
$vat_src_code='';
|
||||
if (preg_match('/\((.*)\)/', $vatrate, $reg))
|
||||
{
|
||||
$vat_src_code = $reg[1];
|
||||
$vatrate = preg_replace('/\s*\(.*\)/', '', $vatrate); // Remove code into vatrate.
|
||||
}
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $this->thirdparty, $localtaxes_type, 100, $this->multicurrency_tx);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
@ -2288,28 +2305,29 @@ class CommandeFournisseur extends CommonOrder
|
||||
//$this->line->label=$label;
|
||||
$this->line->desc=$desc;
|
||||
$this->line->qty=$qty;
|
||||
$this->line->tva_tx=$txtva;
|
||||
$this->line->localtax1_tx=$txlocaltax1;
|
||||
$this->line->localtax2_tx=$txlocaltax2;
|
||||
|
||||
$this->line->vat_src_code = $vat_src_code;
|
||||
$this->line->tva_tx = $txtva;
|
||||
$this->line->localtax1_tx = $txlocaltax1;
|
||||
$this->line->localtax2_tx = $txlocaltax2;
|
||||
$this->line->localtax1_type = $localtaxes_type[0];
|
||||
$this->line->localtax2_type = $localtaxes_type[2];
|
||||
$this->line->remise_percent=$remise_percent;
|
||||
$this->line->subprice=$pu;
|
||||
$this->line->rang=$this->rang;
|
||||
$this->line->info_bits=$info_bits;
|
||||
$this->line->total_ht=$total_ht;
|
||||
$this->line->total_tva=$total_tva;
|
||||
$this->line->total_localtax1=$total_localtax1;
|
||||
$this->line->total_localtax2=$total_localtax2;
|
||||
$this->line->total_ttc=$total_ttc;
|
||||
$this->line->product_type=$type;
|
||||
$this->line->special_code=$this->special_code;
|
||||
$this->line->origin=$this->origin;
|
||||
$this->line->fk_unit=$fk_unit;
|
||||
|
||||
$this->line->date_start=$date_start;
|
||||
$this->line->date_end=$date_end;
|
||||
$this->line->remise_percent = $remise_percent;
|
||||
$this->line->subprice = $pu;
|
||||
$this->line->rang = $this->rang;
|
||||
$this->line->info_bits = $info_bits;
|
||||
$this->line->total_ht = $total_ht;
|
||||
$this->line->total_tva = $total_tva;
|
||||
$this->line->total_localtax1= $total_localtax1;
|
||||
$this->line->total_localtax2= $total_localtax2;
|
||||
$this->line->total_ttc = $total_ttc;
|
||||
$this->line->product_type = $type;
|
||||
$this->line->special_code = $this->special_code;
|
||||
$this->line->origin = $this->origin;
|
||||
$this->line->fk_unit = $fk_unit;
|
||||
|
||||
$this->line->date_start = $date_start;
|
||||
$this->line->date_end = $date_end;
|
||||
|
||||
// Multicurrency
|
||||
$this->line->fk_multicurrency = $this->fk_multicurrency;
|
||||
@ -2995,8 +3013,8 @@ class CommandeFournisseurLigne extends CommonOrderLine
|
||||
if (empty($this->tva_tx)) $this->tva_tx=0;
|
||||
if (empty($this->localtax1_tx)) $this->localtax1_tx=0;
|
||||
if (empty($this->localtax2_tx)) $this->localtax2_tx=0;
|
||||
if (empty($this->localtax1_type)) $this->localtax1_type=0;
|
||||
if (empty($this->localtax2_type)) $this->localtax2_type=0;
|
||||
if (empty($this->localtax1_type)) $this->localtax1_type='0';
|
||||
if (empty($this->localtax2_type)) $this->localtax2_type='0';
|
||||
if (empty($this->total_localtax1)) $this->total_localtax1=0;
|
||||
if (empty($this->total_localtax2)) $this->total_localtax2=0;
|
||||
if (empty($this->rang)) $this->rang=0;
|
||||
@ -3025,7 +3043,7 @@ class CommandeFournisseurLigne extends CommonOrderLine
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.$this->table_element;
|
||||
$sql.= " (fk_commande, label, description, date_start, date_end,";
|
||||
$sql.= " fk_product, product_type,";
|
||||
$sql.= " qty, tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, remise_percent, subprice, ref,";
|
||||
$sql.= " qty, vat_src_code, tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, remise_percent, subprice, ref,";
|
||||
$sql.= " total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, fk_unit,";
|
||||
$sql.= " fk_multicurrency, multicurrency_code, multicurrency_subprice, multicurrency_total_ht, multicurrency_total_tva, multicurrency_total_ttc";
|
||||
$sql.= ")";
|
||||
@ -3035,17 +3053,20 @@ class CommandeFournisseurLigne extends CommonOrderLine
|
||||
if ($this->fk_product) { $sql.= $this->fk_product.","; }
|
||||
else { $sql.= "null,"; }
|
||||
$sql.= "'".$this->product_type."',";
|
||||
$sql.= "'".$this->qty."', ".$this->tva_tx.", ".$this->localtax1_tx.", ".$this->localtax2_tx;
|
||||
$sql.= "'".$this->qty."', ";
|
||||
|
||||
$sql.= ", '".$this->localtax1_type."',";
|
||||
$sql.= " '".$this->localtax2_type."'";
|
||||
|
||||
$sql.= ", ".$this->remise_percent.",'".price2num($this->subprice,'MU')."','".$this->ref_supplier."',";
|
||||
$sql.= "'".price2num($this->total_ht)."',";
|
||||
$sql.= "'".price2num($this->total_tva)."',";
|
||||
$sql.= "'".price2num($this->total_localtax1)."',";
|
||||
$sql.= "'".price2num($this->total_localtax2)."',";
|
||||
$sql.= "'".price2num($this->total_ttc)."',";
|
||||
$sql.= " ".(empty($this->vat_src_code)?"''":"'".$this->vat_src_code."'").",";
|
||||
$sql.= " ".$this->tva_tx.", ";
|
||||
$sql.= " ".$this->localtax1_tx.",";
|
||||
$sql.= " ".$this->localtax2_tx.",";
|
||||
$sql.= " '".$this->localtax1_type."',";
|
||||
$sql.= " '".$this->localtax2_type."',";
|
||||
$sql.= " ".$this->remise_percent.", ".price2num($this->subprice,'MU').", '".$this->db->escape($this->ref_supplier)."',";
|
||||
$sql.= " ".price2num($this->total_ht).",";
|
||||
$sql.= " ".price2num($this->total_tva).",";
|
||||
$sql.= " ".price2num($this->total_localtax1).",";
|
||||
$sql.= " ".price2num($this->total_localtax2).",";
|
||||
$sql.= " ".price2num($this->total_ttc).",";
|
||||
$sql.= ($this->fk_unit ? "'".$this->db->escape($this->fk_unit)."'":"null");
|
||||
$sql.= ", ".($this->fk_multicurrency ? $this->fk_multicurrency : "null");
|
||||
$sql.= ", '".$this->db->escape($this->multicurrency_code)."'";
|
||||
@ -3114,32 +3135,34 @@ class CommandeFournisseurLigne extends CommonOrderLine
|
||||
|
||||
// Mise a jour ligne en base
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET";
|
||||
$sql.= " description='".$this->db->escape($this->desc)."'";
|
||||
$sql.= ",subprice='".price2num($this->subprice)."'";
|
||||
$sql.= " description='".$this->db->escape($this->desc)."'";
|
||||
$sql.= ", subprice='".price2num($this->subprice)."'";
|
||||
//$sql.= ",remise='".price2num($remise)."'";
|
||||
$sql.= ",remise_percent='".price2num($this->remise_percent)."'";
|
||||
$sql.= ",tva_tx='".price2num($this->tva_tx)."'";
|
||||
$sql.= ",localtax1_tx='".price2num($this->total_localtax1)."'";
|
||||
$sql.= ",localtax2_tx='".price2num($this->total_localtax2)."'";
|
||||
$sql.= ",localtax1_type='".$this->localtax1_type."'";
|
||||
$sql.= ",localtax2_type='".$this->localtax2_type."'";
|
||||
$sql.= ",qty='".price2num($this->qty)."'";
|
||||
$sql.= ",date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null");
|
||||
$sql.= ",date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null");
|
||||
$sql.= ",info_bits='".$this->info_bits."'";
|
||||
$sql.= ",total_ht='".price2num($this->total_ht)."'";
|
||||
$sql.= ",total_tva='".price2num($this->total_tva)."'";
|
||||
$sql.= ",total_localtax1='".price2num($this->total_localtax1)."'";
|
||||
$sql.= ",total_localtax2='".price2num($this->total_localtax2)."'";
|
||||
$sql.= ",total_ttc='".price2num($this->total_ttc)."'";
|
||||
$sql.= ",product_type=".$this->product_type;
|
||||
$sql.= ($this->fk_unit ? ",fk_unit='".$this->db->escape($this->fk_unit)."'":", fk_unit=null");
|
||||
$sql.= ", remise_percent='".price2num($this->remise_percent)."'";
|
||||
|
||||
$sql.= ", vat_src_code = '".(empty($this->vat_src_code)?'':$this->vat_src_code)."'";
|
||||
$sql.= ", tva_tx='".price2num($this->tva_tx)."'";
|
||||
$sql.= ", localtax1_tx='".price2num($this->total_localtax1)."'";
|
||||
$sql.= ", localtax2_tx='".price2num($this->total_localtax2)."'";
|
||||
$sql.= ", localtax1_type='".$this->localtax1_type."'";
|
||||
$sql.= ", localtax2_type='".$this->localtax2_type."'";
|
||||
$sql.= ", qty='".price2num($this->qty)."'";
|
||||
$sql.= ", date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null");
|
||||
$sql.= ", date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null");
|
||||
$sql.= ", info_bits='".$this->info_bits."'";
|
||||
$sql.= ", total_ht='".price2num($this->total_ht)."'";
|
||||
$sql.= ", total_tva='".price2num($this->total_tva)."'";
|
||||
$sql.= ", total_localtax1='".price2num($this->total_localtax1)."'";
|
||||
$sql.= ", total_localtax2='".price2num($this->total_localtax2)."'";
|
||||
$sql.= ", total_ttc='".price2num($this->total_ttc)."'";
|
||||
$sql.= ", product_type=".$this->product_type;
|
||||
$sql.= ($this->fk_unit ? ", fk_unit='".$this->db->escape($this->fk_unit)."'":", fk_unit=null");
|
||||
|
||||
// Multicurrency
|
||||
$sql.= " , multicurrency_subprice=".price2num($this->subprice * $this->multicurrency_tx)."";
|
||||
$sql.= " , multicurrency_total_ht=".price2num($this->multicurrency_total_ht)."";
|
||||
$sql.= " , multicurrency_total_tva=".price2num($this->multicurrency_total_tva)."";
|
||||
$sql.= " , multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc)."";
|
||||
$sql.= ", multicurrency_subprice=".price2num($this->subprice * $this->multicurrency_tx)."";
|
||||
$sql.= ", multicurrency_total_ht=".price2num($this->multicurrency_total_ht)."";
|
||||
$sql.= ", multicurrency_total_tva=".price2num($this->multicurrency_total_tva)."";
|
||||
$sql.= ", multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc)."";
|
||||
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
|
||||
|
||||
@ -2552,8 +2552,8 @@ class SupplierInvoiceLine extends CommonObjectLine
|
||||
if (empty($this->tva_tx)) $this->tva_tx=0;
|
||||
if (empty($this->localtax1_tx)) $this->localtax1_tx=0;
|
||||
if (empty($this->localtax2_tx)) $this->localtax2_tx=0;
|
||||
if (empty($this->localtax1_type)) $this->localtax1_type=0;
|
||||
if (empty($this->localtax2_type)) $this->localtax2_type=0;
|
||||
if (empty($this->localtax1_type)) $this->localtax1_type='0';
|
||||
if (empty($this->localtax2_type)) $this->localtax2_type='0';
|
||||
if (empty($this->total_localtax1)) $this->total_localtax1=0;
|
||||
if (empty($this->total_localtax2)) $this->total_localtax2=0;
|
||||
if (empty($this->rang)) $this->rang=0;
|
||||
@ -2604,6 +2604,7 @@ class SupplierInvoiceLine extends CommonObjectLine
|
||||
$sql.= " ".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null").",";
|
||||
$sql.= " '".$this->db->escape($this->desc)."',";
|
||||
$sql.= " ".price2num($this->qty).",";
|
||||
|
||||
$sql.= " ".(empty($this->vat_src_code)?"''":"'".$this->vat_src_code."'").",";
|
||||
$sql.= " ".price2num($this->tva_tx).",";
|
||||
$sql.= " ".price2num($this->localtax1_tx).",";
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
ALTER TABLE llx_product_lot MODIFY COLUMN entity integer DEFAULT 1;
|
||||
UPDATE llx_product_lot SET entity = 1 WHERE entity IS NULL;
|
||||
|
||||
ALTER TABLE llx_c_actioncomm ADD COLUMN picto varchar(48);
|
||||
|
||||
ALTER TABLE llx_facturedet ADD INDEX idx_facturedet_fk_code_ventilation (fk_code_ventilation);
|
||||
ALTER TABLE llx_facture_fourn_det ADD INDEX idx_facture_fourn_det_fk_code_ventilation (fk_code_ventilation);
|
||||
@ -36,6 +37,7 @@ ALTER TABLE llx_facture_fourn_det ADD INDEX idx_facture_fourn_det_fk_code_ventil
|
||||
ALTER TABLE llx_facture_fourn_det ADD INDEX idx_facture_fourn_det_fk_product (fk_product);
|
||||
|
||||
ALTER TABLE llx_facture_rec ADD COLUMN fk_user_modif integer;
|
||||
ALTER TABLE llx_expedition ADD COLUMN fk_user_modif integer;
|
||||
|
||||
ALTER TABLE llx_adherent ADD COLUMN model_pdf varchar(255);
|
||||
|
||||
@ -173,5 +175,5 @@ ALTER TABLE llx_bank_account ADD COLUMN note_public text;
|
||||
ALTER TABLE llx_bank_account ADD COLUMN model_pdf varchar(255);
|
||||
ALTER TABLE llx_bank_account ADD COLUMN import_key varchar(14);
|
||||
|
||||
ALTER TABLE llx_overwrite_trans ADD COLUMN integer DEFAULT 1 NOT NULL;
|
||||
ALTER TABLE llx_overwrite_trans ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER rowid;
|
||||
|
||||
|
||||
@ -263,6 +263,7 @@ delete from llx_commande_fournisseur_dispatch where fk_commandefourndet = 0 or f
|
||||
|
||||
delete from llx_menu where menu_handler = 'smartphone';
|
||||
|
||||
update llx_expedition set date_valid = date_creation where fk_statut = 1 and date_valid IS NULL;
|
||||
|
||||
-- Detect bad consistency between duraction_effective of a task and sum of time of tasks
|
||||
-- select pt.rowid, pt.duration_effective, SUM(ptt.task_duration) as y from llx_projet_task as pt, llx_projet_task_time as ptt where ptt.fk_task = pt.rowid group by pt.rowid, pt.duration_effective having pt.duration_effective <> y;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
-- ========================================================================
|
||||
-- Copyright (C) 2001-2002,2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
-- Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2012 Florian Henry <florian.henry@open-concept.pro>
|
||||
-- Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2012 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
|
||||
@ -26,7 +26,8 @@ create table llx_c_actioncomm
|
||||
libelle varchar(48) NOT NULL,
|
||||
module varchar(16) DEFAULT NULL,
|
||||
active tinyint DEFAULT 1 NOT NULL,
|
||||
todo tinyint,
|
||||
todo tinyint, -- deprecated
|
||||
color varchar(9),
|
||||
picto varchar(48),
|
||||
position integer NOT NULL DEFAULT 0
|
||||
)ENGINE=innodb;
|
||||
|
||||
@ -32,11 +32,12 @@ create table llx_expedition
|
||||
ref_customer varchar(30), -- customer number
|
||||
|
||||
date_creation datetime, -- date de creation
|
||||
fk_user_author integer, -- createur
|
||||
fk_user_author integer, -- author of creation
|
||||
fk_user_modif integer, -- author of last change
|
||||
date_valid datetime, -- date de validation
|
||||
fk_user_valid integer, -- valideur
|
||||
date_expedition datetime, -- shipping date
|
||||
date_delivery datetime DEFAULT NULL, -- delivery date
|
||||
date_delivery datetime DEFAULT NULL, -- date planned of delivery
|
||||
date_expedition datetime, -- not used (deprecated)
|
||||
fk_address integer DEFAULT NULL, -- delivery address (deprecated)
|
||||
fk_shipping_method integer,
|
||||
tracking_number varchar(50),
|
||||
|
||||
@ -1017,7 +1017,7 @@ SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where
|
||||
ShowProfIdInAddress=Show professionnal id with addresses on documents
|
||||
ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents
|
||||
TranslationUncomplete=Partial translation
|
||||
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="https://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
|
||||
MAIN_DISABLE_METEO=Disable meteo view
|
||||
TestLoginToAPI=Test login to API
|
||||
ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it.
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
# Dolibarr language file - Source file is en_US - deliveries
|
||||
Delivery=Delivery
|
||||
DeliveryRef=Ref Delivery
|
||||
DeliveryCard=Delivery card
|
||||
DeliveryCard=Receipt card
|
||||
DeliveryOrder=Delivery order
|
||||
DeliveryDate=Delivery date
|
||||
CreateDeliveryOrder=Generate delivery order
|
||||
CreateDeliveryOrder=Generate delivery receipt
|
||||
DeliveryStateSaved=Delivery state saved
|
||||
SetDeliveryDate=Set shipping date
|
||||
ValidateDeliveryReceipt=Validate delivery receipt
|
||||
|
||||
@ -379,7 +379,7 @@ ActionsToDoShort=To do
|
||||
ActionsDoneShort=Done
|
||||
ActionNotApplicable=Not applicable
|
||||
ActionRunningNotStarted=To start
|
||||
ActionRunningShort=Started
|
||||
ActionRunningShort=In progress
|
||||
ActionDoneShort=Finished
|
||||
ActionUncomplete=Uncomplete
|
||||
CompanyFoundation=Company/Foundation
|
||||
@ -570,6 +570,7 @@ TextUsedInTheMessageBody=Email body
|
||||
SendAcknowledgementByMail=Send confirmation email
|
||||
EMail=E-mail
|
||||
NoEMail=No email
|
||||
Email=Email
|
||||
NoMobilePhone=No mobile phone
|
||||
Owner=Owner
|
||||
FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value.
|
||||
|
||||
@ -20,6 +20,7 @@ CreateASending=Create a shipment
|
||||
QtyShipped=Qty shipped
|
||||
QtyToShip=Qty to ship
|
||||
QtyReceived=Qty received
|
||||
QtyInOtherShipments=Qty in other shipments
|
||||
KeepToShip=Remain to ship
|
||||
OtherSendingsForSameOrder=Other shipments for this order
|
||||
SendingsAndReceivingForSameOrder=Shipments and receivings for this order
|
||||
@ -40,6 +41,8 @@ DocumentModelMerou=Merou A5 model
|
||||
WarningNoQtyLeftToSend=Warning, no products waiting to be shipped.
|
||||
StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known).
|
||||
DateDeliveryPlanned=Planned date of delivery
|
||||
RefDeliveryReceipt=Ref delivery receipt
|
||||
StatusReceipt=Status delivery receipt
|
||||
DateReceived=Date delivery received
|
||||
SendShippingByEMail=Send shipment by EMail
|
||||
SendShippingRef=Submission of shipment %s
|
||||
|
||||
@ -10,4 +10,6 @@ descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to bil
|
||||
descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid
|
||||
descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated
|
||||
descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer invoice is validated
|
||||
descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify shipped linked source order on shipping validate if quantity shipped is the same as in order
|
||||
descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source order to shipped when a shipment is validated and quantity shipped is the same as in order
|
||||
AutomaticCreation=Automatic creation
|
||||
AutomaticClassification=Automatic classification
|
||||
@ -9,74 +9,81 @@ ACCOUNTING_EXPORT_DEVISE=Exportar divisa
|
||||
Selectformat=Seleccione el formato del archivo
|
||||
ACCOUNTING_EXPORT_PREFIX_SPEC=Especifique el prefijo del nombre de archivo
|
||||
|
||||
AccountancySetupDoneFromAccountancyMenu=La mayor parte de la configuración de la contabilidad se realiza desde el menú %s
|
||||
ConfigAccountingExpert=Configuración del módulo contable
|
||||
Journalization=Procesar diarios
|
||||
Journaux=Diarios
|
||||
JournalFinancial=Diarios financieros
|
||||
BackToChartofaccounts=Volver al plan contable
|
||||
Chartofaccounts=Plan contable
|
||||
|
||||
AccountancyArea=Accountancy area
|
||||
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step:
|
||||
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year...
|
||||
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies...
|
||||
AccountancyAreaDescChart=STEP %s: Create or check your chart of account from menu %s
|
||||
AccountancyAreaDescProd=STEP %s: Check the binding between products/services and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on your invoice lines.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescBank=STEP %s: Check the binding between bank accounts and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on your payment lines.<br>For this, go on the card of each financial account. You can start from page %s.
|
||||
AccountancyAreaDescVat=STEP %s: Check the binding between vat payment and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to VAT payments.<br>You can set accounting accounts to use for each VAT from page %s.
|
||||
AccountancyAreaDescSal=STEP %s: Check the binding between salaries payment and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to payment of salaries.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescContrib=STEP %s: Check the binding between special expences (social or fiscal contributions) and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to payments of social contributions.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescDonation=STEP %s: Check the binding between donation and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to payments of donation.<br>You can set the account dedicated for that from the menu entry %s.
|
||||
AccountancyArea=Área contabilidad
|
||||
AccountancyAreaDescIntro=El uso del módulo de contabilidad se realiza en varios pasos:
|
||||
AccountancyAreaDescActionOnce=Las siguientes acciones se ejecutan normalmente una sola vez, o una vez al año...
|
||||
AccountancyAreaDescActionFreq=Las siguientes acciones se ejecutan normalmente cada mes, semana o día en empresas muy grandes...
|
||||
AccountancyAreaDescChartModel=PASO %s: Crear un modelo de plan general contable desde el menú %s
|
||||
AccountancyAreaDescChart=PASO %s: Crear o comprobar el contenido de su plan general contable desde el menú %s
|
||||
AccountancyAreaDescBank=PASO %s: Verificar la unión entre cuentas bancarias y sus cuentas contables. Completar las consolidaciones que faltan. Esto le ahorrará tiempo en el futuro en los próximos pasos en los que sugiere la cuenta contable predeterminada correcta en sus líneas de pago.<br>Para ello, vaya a la ficha de cada cuenta financiera. Puede empezar en la página %s.
|
||||
AccountancyAreaDescVat=PASO %s: Verificar la unión entre los IVAs y sus cuentas contables. Completar las consolidaciones que faltan. Esto le ahorrará tiempo en el futuro en los próximos pasos en los que sugiere la cuenta contable predeterminada correcta en los registros relacionados con el pago del IVA.<br>Puede configurar las cuentas contables a usar en cada IVA en la página %s.
|
||||
AccountancyAreaDescSal=PASO %s: Verificar la unión entre los salarios y sus cuentas contables. Completar las consolidaciones que faltan. Esto le ahorrará tiempo en el futuro en los próximos pasos en los que sugiere la cuenta contable predeterminada correcta en los registros relacionados con el pago de salarios.<br>Para ello se puede utilizar el menú %s.
|
||||
AccountancyAreaDescContrib=PASO %s: Verificar la unión entre los gastos especiales (impuestos varios) y sus cuentas contables. Completar las consolidaciones que faltan. Esto le ahorrará tiempo en el futuro en los próximos pasos por los que sugiere la cuenta contable predeterminada correcta en los registros relacionados con los pagos de impuestos. <br> Para ello puede utilizar el menú %s.
|
||||
AccountancyAreaDescDonation=PASO %s: Verificar la unión entre donaciones y sus cuentas contables. Completar las consolidaciones que faltan. Esto le ahorrará tiempo en el futuro en los próximos pasos en los que sugiere la cuenta contable predeterminada correcta en los registros relacionados con los pagos de donaciones.<br>Puede configurar las cuentas desde el menú %s.
|
||||
AccountancyAreaDescMisc=PASO %s: Compruebe la unión entre las líneas de las diversas transacciones y sus cuentas contables. Completar las consolidaciones que faltan.<br>Para ello puede utilizar el menú %s.
|
||||
AccountancyAreaDescProd=PASO %s: Verificar la unión entre los productos/servicios y sus cuentas contables. Completar las consolidaciones que falten. Esto le ahorrará tiempo en el futuro en los próximos pasos en los que sugiere la cuenta contable predeterminada correcta en sus líneas de factura.<br>Para ello puede utilizar el menú %s.
|
||||
|
||||
AccountancyAreaDescCustomer=STEP %s: Check the binding between existing customer invoice lines and accounting account is done. Complete missing bindings. Once binding is complete, application will be able to record transactions in General Ledger in one click.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescSupplier=STEP %s: Check the binding between existing supplier invoice lines and accounting account is done. Complete missing bindings. Once binding is complete, application will be able to record transactions in General Ledger in one click.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the General Ledger. Add or edit existing transactions and generate reports
|
||||
AccountancyAreaDescCustomer=PASO %s: Verificar la unión entre líneas de facturas a clientes y sus cuentas contables. Completar las consolidaciones que faltan. Una vez que la unión es completada, la aplicación será capaz de generar las transacciones del diario en el Libro Mayor en un solo clic. <br> Para ello puede utilizar el menú %s.
|
||||
AccountancyAreaDescSupplier=PASO %s: Verificar la unión entre líneas de facturas de proveedores y sus cuentas contables. Completar las consolidaciones que faltan. Una vez que la unión es completada, la aplicación será capaz de generar las transacciones del diario en el Libro Mayor en un solo clic. <br> Para ello puede utilizar el menú %s.
|
||||
AccountancyAreaDescWriteRecords=PASO %s: Escribir las transacciones en el Libro Mayor. Para ello, entre en cada diario, y haga clic en el botón de "Generar transacciones en el Libro Mayor".
|
||||
AccountancyAreaDescAnalyze=PASO %s: Añadir o editar transacciones existentes, generar informes y exportaciones.
|
||||
|
||||
Selectchartofaccounts=Seleccione un plan contable
|
||||
AccountancyAreaDescClosePeriod=PASO %s: Cerrar periodo, por lo que no podrá hacer modificaciones en un futuro.
|
||||
|
||||
MenuAccountancy=Contabilidad
|
||||
Selectchartofaccounts=Seleccione un plan contable activo
|
||||
ChangeAndLoad=Cambiar y cargar
|
||||
Addanaccount=Añadir una cuenta contable
|
||||
AccountAccounting=Cuenta contable
|
||||
AccountAccountingShort=Cuenta
|
||||
AccountAccountingSuggest=Accounting account suggest
|
||||
Ventilation=Binding to accounts
|
||||
ProductsBinding=Products bindings
|
||||
|
||||
MenuAccountancy=Contabilidad
|
||||
CustomersVentilation=Customer invoice binding
|
||||
SuppliersVentilation=Supplier invoice binding
|
||||
Reports=Informes
|
||||
NewAccount=Nueva cuenta contable
|
||||
Create=Crear
|
||||
CreateMvts=Create new transaction
|
||||
UpdateMvts=Modification of a transaction
|
||||
WriteBookKeeping=Record operations in General Ledger
|
||||
MenuDefaultAccounts=Cuentas contables por defecto
|
||||
MenuProductsAccounts=Cuentas contables de productos
|
||||
ProductsBinding=Cuentas de productos
|
||||
Ventilation=Contabilizar
|
||||
CustomersVentilation=Contabilizar facturas a clientes
|
||||
SuppliersVentilation=Contabilizar facturas de proveedores
|
||||
CreateMvts=Crear nuevo movimiento
|
||||
UpdateMvts=Modificar transacción
|
||||
WriteBookKeeping=Registrar movimientos en el Libro Mayor
|
||||
Bookkeeping=Libro Mayor
|
||||
AccountBalance=Saldo de la cuenta
|
||||
|
||||
CAHTF=Total purchase supplier before tax
|
||||
InvoiceLines=Lines of invoices to bind
|
||||
InvoiceLinesDone=Bound lines of invoices
|
||||
IntoAccount=Bind line with the accounting account
|
||||
|
||||
Ventilate=Bind
|
||||
InvoiceLines=Líneas de facturas a contabilizar
|
||||
InvoiceLinesDone=Líneas de facturas contabilizadas
|
||||
IntoAccount=Contabilizar línea con la cuenta contable
|
||||
|
||||
Ventilate=Contabilizar
|
||||
LineId=Id línea
|
||||
Processing=Tratamiento
|
||||
EndProcessing=Final del tratamiento
|
||||
AnyLineVentilate=Any lines to bind
|
||||
EndProcessing=Proceso terminado.
|
||||
SelectedLines=Líneas seleccionadas
|
||||
Lineofinvoice=Línea de la factura
|
||||
VentilatedinAccount=Binded successfully to the accounting account
|
||||
NotVentilatedinAccount=Not bound to the accounting account
|
||||
XLineSuccessfullyBinded=%s products/services successfuly bound to an accounting account
|
||||
XLineFailedToBeBinded=%s products/services were not bound to any accounting account
|
||||
NoAccountSelected=No se ha seleccionado cuenta contable
|
||||
VentilatedinAccount=Contabilizada con éxito en la cuenta contable
|
||||
NotVentilatedinAccount=Cuenta sin contabilización en la contabilidad
|
||||
XLineSuccessfullyBinded=%s productos/servicios unidos a una cuenta contable.
|
||||
XLineFailedToBeBinded=%s productos/servicios sin cuenta contable
|
||||
|
||||
ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to bind shown by page (maximum recommended : 50)
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements
|
||||
ACCOUNTING_LIMIT_LIST_VENTILATION=Número de elementos a contabilizar que se muestran por página (máximo recomendado: 50)
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Ordenar las páginas de contabilización "A contabilizar" por los elementos más recientes
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Ordenar las páginas de contabilización "Contabilizadas" por los elementos más recientes
|
||||
|
||||
ACCOUNTING_LENGTH_DESCRIPTION=Longitud para la visualización de productos y servicios en los listados (Ideal = 50)
|
||||
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Longitud para la visualización de la descripción de productos y servicios en los listados (Ideal = 50)
|
||||
ACCOUNTING_LENGTH_DESCRIPTION=Longitud para la visualización de la descripción de productos y servicios en los listados (Ideal = 50)
|
||||
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Longitud para la visualización de la descripción de la cuenta de productos y servicios en los listados (Ideal = 50)
|
||||
ACCOUNTING_LENGTH_GACCOUNT=Longitud de las cuentas generales
|
||||
ACCOUNTING_LENGTH_AACCOUNT=Longitud de las subcuentas
|
||||
ACCOUNTING_MANAGE_ZERO=Administrar el cero al final de una cuenta contable. Necesaria por algunos países. Desactivada por defecto. Tener cuidado con la función "longitud de las cuentas".
|
||||
BANK_DISABLE_DIRECT_INPUT=Desactivar entrada libre de transacciones bancarias (Activadas por defecto con este módulo)
|
||||
ACCOUNTING_MANAGE_ZERO=Gestiona el cero al final de una cuenta contable. Necesario en algunos países. Desactivada por defecto. Si está activada, también debe establecer los siguientes dos parámetros (o será ignorada)
|
||||
BANK_DISABLE_DIRECT_INPUT=Desactivar transacciones directas en cuenta bancaria
|
||||
|
||||
ACCOUNTING_SELL_JOURNAL=Diario de ventas
|
||||
ACCOUNTING_PURCHASE_JOURNAL=Diario de compras
|
||||
@ -101,62 +108,60 @@ Labelcompte=Descripción
|
||||
Sens=Sentido
|
||||
Codejournal=Diario
|
||||
NumPiece=Apunte
|
||||
TransactionNumShort=Núm. transacción
|
||||
AccountingCategory=Categoría contable
|
||||
GroupByAccountAccounting=Agrupar por cuenta contable
|
||||
NotMatch=No establecido
|
||||
DeleteMvt=Eliminar líneas del Libro Mayor
|
||||
DelYear=Año a eliminar
|
||||
DelJournal=Diario a eliminar
|
||||
ConfirmDeleteMvt=Esto borrará todas las líneas del libro de mayor del año y/o de los diarios específicos
|
||||
ConfirmDeleteMvt=Esto eliminará todas las lineas del Libro Mayor del año y/o de un diario específico. Se requiere al menos un criterio.
|
||||
ConfirmDeleteMvtPartial=Esto borrará todas las líneas seleccionadas del libro de mayor
|
||||
DelBookKeeping=Eliminar los registros del Diario Mayor
|
||||
DescSellsJournal=Diario de ventas
|
||||
DescPurchasesJournal=Diario de compras
|
||||
FinanceJournal=Diario financiero
|
||||
DescFinanceJournal=El diario financiero incluye todos los tipos de pagos por cuenta bancaria
|
||||
DescJournalOnlyBindedVisible=This is a view of records that are bound to products/services accountancy account and can be recorded into the General Ledger.
|
||||
VATAccountNotDefined=Account for VAT not defined
|
||||
ThirdpartyAccountNotDefined=Account for third party not defined
|
||||
ProductAccountNotDefined=Account for product not defined
|
||||
BankAccountNotDefined=Account for bank not defined
|
||||
DescJournalOnlyBindedVisible=Esta es una vista de registros que están vinculados a una cuenta contable de productos/servicios y pueden ser registrados en el Libro Mayor.
|
||||
VATAccountNotDefined=Cuenta contable para IVA no definida
|
||||
ThirdpartyAccountNotDefined=Cuenta contable de tercero no definida
|
||||
ProductAccountNotDefined=Cuenta contable de producto no definida
|
||||
BankAccountNotDefined=Cuenta contable bancaria no definida
|
||||
CustomerInvoicePayment=Cobro de factura a cliente
|
||||
ThirdPartyAccount=Cuenta de tercero
|
||||
NewAccountingMvt=New transaction
|
||||
NumMvts=Numero of transaction
|
||||
ListeMvts=List of movements
|
||||
NewAccountingMvt=Nuevo movimiento
|
||||
NumMvts=Número de movimiento
|
||||
ListeMvts=Listado de movimientos
|
||||
ErrorDebitCredit=Debe y Haber no pueden contener un valor al mismo tiempo
|
||||
|
||||
ReportThirdParty=List third party account
|
||||
DescThirdPartyReport=Consult here the list of the third party customers and suppliers and their accounting accounts
|
||||
|
||||
ReportThirdParty=Listado de cuentas de terceros
|
||||
DescThirdPartyReport=Consulte aquí el listado de clientes y proveedores y sus códigos contables
|
||||
ListAccounts=Listado de cuentas contables
|
||||
|
||||
Pcgtype=Tipo del plan
|
||||
Pcgsubtype=Subcuenta
|
||||
Accountparent=Padre de la cuenta
|
||||
|
||||
TotalVente=Total facturación antes de impuestos
|
||||
TotalMarge=Total margen ventas
|
||||
|
||||
DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account
|
||||
DescVentilMore=In most cases, if you use predefined products or services and you set the account number on the product/service card, the application will be able to make all the binding between your invoice lines and the accounting account of your chart of accounts, just in one click with the button <strong>"%s"</strong>. If account was not set on product/service cards or if you still has some lines not bound to any account, you will have to make a manual binding from the menu "<strong>%s</strong>".
|
||||
DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account
|
||||
DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account
|
||||
ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account:
|
||||
DescVentilCustomer=Consulte aquí la lista de líneas de facturas a clientes enlazadas (o no) a una cuenta contable de producto
|
||||
DescVentilMore=En la mayoría de los casos, si utiliza productos o servicios predefinidos y establece la cuenta contable en la ficha del producto/servicio, la aplicación será capaz de hacer toda la contabilización entre las líneas de la factura y la cuenta contable de su plan general contable, con un clic en el botón <strong>"%s"</strong>, Si no se ha establecido la cuenta contable en la ficha del producto/servicio o si todavía tiene algunas líneas no contabilizadas a alguna cuenta, tendrá que hacer una contabilización manual desde el menú "<strong>%s</strong>".
|
||||
DescVentilDoneCustomer=Consulte aquí las líneas de facturas a clientes y las cuentas contables de sus productos
|
||||
DescVentilTodoCustomer=Contabilizar líneas de factura aún no contabilizadas con una cuenta contable de producto
|
||||
ChangeAccount=Cambie la cuenta del producto/servicio para las líneas seleccionadas a la cuenta:
|
||||
Vide=-
|
||||
DescVentilSupplier=Consult here the list of supplier invoice lines bound or not yet bound to a product accounting account
|
||||
DescVentilDoneSupplier=Consult here the list of the lines of invoices supplier and their accounting account
|
||||
DescVentilSupplier=Consulte aquí la lista de líneas de facturas de proveedores enlazadas (o no) a una cuenta contable de producto
|
||||
DescVentilDoneSupplier=Consulte aquí la lista de facturas de proveedores y sus cuentas contables
|
||||
|
||||
ValidateHistory=Vincular automáticamente
|
||||
AutomaticBindingDone=Vinculación automática finalizada
|
||||
|
||||
ErrorAccountancyCodeIsAlreadyUse=Error, no puede eliminar esta cuenta ya que está siendo usada
|
||||
MvtNotCorrectlyBalanced=Movimiento descuadrado. Debe = %s. Haber = %s
|
||||
FicheVentilation=Binding card
|
||||
GeneralLedgerIsWritten=Operations are written in the general ledger
|
||||
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be recorded.
|
||||
NoNewRecordSaved=No new record saved
|
||||
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account
|
||||
ChangeBinding=Change the binding
|
||||
FicheVentilation=Ficha contable
|
||||
GeneralLedgerIsWritten=Transacciones escritas en el libro mayor
|
||||
GeneralLedgerSomeRecordWasNotRecorded=Algunas de las operaciones que no podrán registrarse.
|
||||
NoNewRecordSaved=No se guardaron nuevos registros
|
||||
ListOfProductsWithoutAccountingAccount=Listado de productos sin cuentas contables
|
||||
ChangeBinding=Cambiar la unión
|
||||
|
||||
## Admin
|
||||
ApplyMassCategories=Aplicar categorías en masa
|
||||
@ -178,7 +183,8 @@ Modelcsv_cogilog=Eportar a Cogilog
|
||||
|
||||
## Tools - Init accounting account on product / service
|
||||
InitAccountancy=Iniciar contabilidad
|
||||
InitAccountancyDesc=This page can be used to initialize an accounting account on products and services that does not have accountancy account defined for sales and purchases. Check before that setup of chart of accounts is complete.
|
||||
InitAccountancyDesc=Puede usar esta página para inicializar el código contable en productos y servicios que no tienen código contable definido para ventas y compras
|
||||
DefaultBindingDesc=Esta página puede usarse para establecer una cuenta predeterminada que se utilizará para enlazar registros de salarios, donaciones, impuestos e IVA cuando no tengan establecida una cuenta contable.
|
||||
Options=Opciones
|
||||
OptionModeProductSell=Modo ventas
|
||||
OptionModeProductBuy=Modo compras
|
||||
@ -193,12 +199,11 @@ Calculated=Calculado
|
||||
Formula=Fórmula
|
||||
|
||||
## Error
|
||||
ErrorNoAccountingCategoryForThisCountry=Sin categorías contables para este país
|
||||
ErrorNoAccountingCategoryForThisCountry=Sin categorías contables para %s (Vea Inicio - Configuración - Diccionarios)
|
||||
ExportNotSupported=El formato de exportación configurado no es soportado en esta página
|
||||
BookeppingLineAlreayExists=Lineas ya existentes en la contabilidad
|
||||
|
||||
Binded=Lines bound
|
||||
ToBind=Lines to bind
|
||||
|
||||
WarningReportNotReliable=Warning, this report is not based on the General Ledger, so is not reliable yet. It will be replaced by a correct report in a next version.
|
||||
Binded=Líneas contabilizadas
|
||||
ToBind=Líneas a contabilizar
|
||||
|
||||
WarningReportNotReliable=Advertencia, este informe no se basa en el libro mayor, por lo que no es fiable aún. Se sustituirá por un informe correcto en una próxima versión.
|
||||
|
||||
@ -22,7 +22,7 @@ SessionId=ID sesión
|
||||
SessionSaveHandler=Modalidad de salvaguardado de sesiones
|
||||
SessionSavePath=Localización salvaguardado de sesiones
|
||||
PurgeSessions=Purga de sesiones
|
||||
ConfirmPurgeSessions=¿Está seguro de querer purgar todas las sesiones? Desconectará a todos los usuarios (excepto a si mismo)
|
||||
ConfirmPurgeSessions=¿Realmente desea purgar todas las sesiones? Esto desconectará todos los usuarios (excepto a si mismo).
|
||||
NoSessionListWithThisHandler=El gestor de período de sesiones configurado en su PHP no enumera las sesiones en curso
|
||||
LockNewSessions=Bloquear nuevas conexiones
|
||||
ConfirmLockNewSessions=¿Está seguro de querer restringir el acceso a Dolibarr a su usuario? Solamente el login <b>%s</b> podrá conectarse si confirma.
|
||||
@ -53,8 +53,6 @@ ErrorModuleRequireDolibarrVersion=Error, este módulo requiere una versión %s o
|
||||
ErrorDecimalLargerThanAreForbidden=Error, las precisiones superiores a <b>%s</b> no están soportadas.
|
||||
DictionarySetup=Diccionarios
|
||||
Dictionary=Diccionarios
|
||||
Chartofaccounts=Plan contable
|
||||
Fiscalyear=Año fiscal
|
||||
ErrorReservedTypeSystemSystemAuto=El uso del tipo 'system' y 'systemauto' está reservado. Puede utilizar 'user' como valor para añadir su propio registro
|
||||
ErrorCodeCantContainZero=El código no puede contener el valor 0
|
||||
DisableJavascript=Deshabilitar Javascript y funciones Ajax (Recomendado para personas ciegas o navegadores de texto)
|
||||
@ -64,7 +62,7 @@ DelaiedFullListToSelectCompany=Esperar a que presione una tecla antes de cargar
|
||||
DelaiedFullListToSelectContact=Esperar a que presione una tecla antes de cargar el contenido de la lista combinada de contactos (Esto puede incrementar el rendimiento si tiene un gran número de contactos)
|
||||
NumberOfKeyToSearch=Nº de caracteres para desencadenar la búsqueda: %s
|
||||
NotAvailableWhenAjaxDisabled=No disponible cuando Ajax esté desactivado
|
||||
AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party
|
||||
AllowToSelectProjectFromOtherCompany=En un documento de un tercero, puede elegir un proyecto vinculado a otro tercero
|
||||
JavascriptDisabled=Javascript desactivado
|
||||
UsePreviewTabs=Ver fichas "vista previa"
|
||||
ShowPreview=Ver vista previa
|
||||
@ -143,7 +141,7 @@ PurgeRunNow=Purgar
|
||||
PurgeNothingToDelete=Sin directorios o archivos a eliminar.
|
||||
PurgeNDirectoriesDeleted=<b>%s</b> archivos o directorios eliminados
|
||||
PurgeAuditEvents=Purgar los eventos de seguridad
|
||||
ConfirmPurgeAuditEvents=¿Está seguro de querer purgar la lista de los eventos de auditoría de seguridad (Se borrará toda la lista, pero esto no afecta a sus datos)?
|
||||
ConfirmPurgeAuditEvents=¿Está seguro de que desea purgar todos los eventos de seguridad? Se eliminarán todos los registros de seguridad, no se eliminarán datos.
|
||||
GenerateBackup=Generar copia de seguridad
|
||||
Backup=Copia de seguridad
|
||||
Restore=Restauración
|
||||
@ -178,10 +176,10 @@ ExtendedInsert=Instrucciones INSERT extendidas
|
||||
NoLockBeforeInsert=Sin instrucción LOCK antes del INSERT
|
||||
DelayedInsert=Inserciones con retraso
|
||||
EncodeBinariesInHexa=Codificar los campos binarios en hexadecimal
|
||||
IgnoreDuplicateRecords=Ignorar los errores de duplicación (INSERT IGNORE)
|
||||
IgnoreDuplicateRecords=Ignorar los errores por registro duplicado (INSERT IGNORE)
|
||||
AutoDetectLang=Autodetección (navegador)
|
||||
FeatureDisabledInDemo=Opción deshabilitada en demo
|
||||
FeatureAvailableOnlyOnStable=Feature only available on official stable versions
|
||||
FeatureAvailableOnlyOnStable=Funcionaliad disponible únicamente en versiones oficiales estables
|
||||
Rights=Permisos
|
||||
BoxesDesc=Los paneles son componentes que muestran algunos datos que pueden añadirse para personalizar algunas páginas. Puede elegir entre mostrar o no el panel mediante la selección de la página de destino y haciendo clic en 'Activar', o haciendo clic en la papelera para desactivarlo.
|
||||
OnlyActiveElementsAreShown=Sólo los elementos de <a href="%s">módulos activados</a> son mostrados.
|
||||
@ -244,6 +242,9 @@ MAIN_MAIL_EMAIL_STARTTLS= Uso de encriptación TLS (STARTTLS)
|
||||
MAIN_DISABLE_ALL_SMS=Desactivar globalmente todo envío de SMS (para modo de pruebas o demo)
|
||||
MAIN_SMS_SENDMODE=Método de envío de SMS
|
||||
MAIN_MAIL_SMS_FROM=Número de teléfono por defecto para los envíos SMS
|
||||
MAIN_MAIL_DEFAULT_FROMTYPE=Remitente de e-mails para envíos manuales (e-mail del usuario o e-mail de la empresa)
|
||||
UserEmail=e-mail de usuario
|
||||
CompanyEmail=e-mail de empresa
|
||||
FeatureNotAvailableOnLinux=Funcionalidad no disponible en sistemas Unix. Pruebe su sendmail localmente.
|
||||
SubmitTranslation=Si la traducción de este idioma no está completa o si encuentra errores, puede corregir esto editando los archivos en el directorio <b>langs/%s</b> y enviar su cambio a www.transifex.com/dolibarr-association/dolibarr/
|
||||
SubmitTranslationENUS=Si la traducción de este idioma es incompleta o si encuentra errores, puede corregirlos mediante la edición de los archivos en el directorio <b>langs/%s</b> y el envío los cambios al foro www.dolibarr.es o a los desarrolladores en github.com/Dolibarr/dolibarr.
|
||||
@ -282,7 +283,7 @@ LastStableVersion=Última versión estable
|
||||
LastActivationDate=Última fecha de activación
|
||||
UpdateServerOffline=Actualizar servidor offline
|
||||
GenericMaskCodes=Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:<br><b>{000000} </b> corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara. <br> <b> {000000+000}</ b> Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s. <br> <b> {000000@x}</b> igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia {yy}{mm} o {yyyy}{mm} también es necesaria. <br> <b> {dd} </b> días (01 a 31). <br><b> {mm}</b> mes (01 a 12). <br><b>{yy}</b>, <b>{yyyy}</b> ou <b>{y}</b> año en 2, 4 ó 1 cifra.<br>
|
||||
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
|
||||
GenericMaskCodes2=<b>{cccc}</b> código de cliente con n caracteres<br><b>{cccc000}</b> código de cliente con n caracteres es seguido por un contador dedicado a clientes. Este contador dedicado a clientes se reseteará al mismo tiempo que el contador global.<br><b>{tttt}</b> El código del tipo de empresa con n caracteres (vea diccionarios->tipos de empresa).<br>
|
||||
GenericMaskCodes3=Cualquier otro carácter en la máscara se quedará sin cambios. <br>No se permiten espacios <br>
|
||||
GenericMaskCodes4a=<u>Ejemplo en la 99 ª %s del tercero La Empresa realizada el 31/03/2007: </u><br>
|
||||
GenericMaskCodes4b=<u>Ejemplo sobre un tercero creado el 31/03/2007:</u><br>
|
||||
@ -397,7 +398,7 @@ EnableAndSetupModuleCron=Si desea tener esta factura recurrente para generarla a
|
||||
ModuleCompanyCodeAquarium=Devuelve un código contable compuesto de<br>%s seguido del código tercero de proveedor para el código contable de proveedor,<br>%s seguido del código tercero de cliente para el código contable de cliente.
|
||||
ModuleCompanyCodePanicum=Devuelve un código contable vacío.
|
||||
ModuleCompanyCodeDigitaria=Devuelve un código contable compuesto siguiendo el código de tercero. El código está formado por carácter ' C ' en primera posición seguido de los 5 primeros caracteres del código tercero.
|
||||
Use3StepsApproval=Por defecto los pedidos a proveedor necesitan crearse y aprobarse por dos usuarios diferentes (un paso/usuario para crear y un usuario/paso para aprobar. Si un usuario dispone de permisos para crear y aprobar, un paso/usuario podría ser suficiente). Puede consultar esta opción un tercer paso/usuario de aprobación si el importe es mayor a un valor dedicado (entonces serán necesarios 3 pasos: 1=validación, 2=primera aprobación, 3=segunda aprobación si el importe es mayor)<br>Dejar vacío si una aprobación (2 pasos) es suficiente, indicar un valor bajo (0.1) si siempre es necesaria una segunda aprobación
|
||||
Use3StepsApproval=De forma predeterminada, los pedidos a proveedor deben ser creados y aprobados por 2 usuarios diferentes (un paso/usuario para crear y un paso/usuario para aprobar. Tenga en cuenta que si el usuario tiene tanto el permiso para crear y aprobar, un paso usuario será suficiente) . Puede pedir con esta opción introducir una tercera etapa de aprobación/usuario, si la cantidad es superior a un valor específico (por lo que serán necesarios 3 pasos: 1 validación, 2=primera aprobación y 3=segunda aprobación si la cantidad es suficiente).<br>Deje vacío si una aprobación (2 pasos) es suficiente, si se establece en un valor muy bajo (0,1) se requiere siempre una segunda aprobación.
|
||||
UseDoubleApproval=Usar 3 pasos de aprobación si el importe (sin IVA) es mayor que...
|
||||
|
||||
# Modules
|
||||
@ -482,7 +483,7 @@ Module510Desc=Gestión de contratos de empleados, salarios y pagos
|
||||
Module520Name=Crédito
|
||||
Module520Desc=Gestión de créditos
|
||||
Module600Name=Notificaciones
|
||||
Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each third party) or fixed emails
|
||||
Module600Desc=Enviar notificaciones por e-mail (desencadenados por algunos eventos) a los usuarios (configuración definida para cada usuario), los contactos de terceros (configuración definida en cada tercero) o e-mails fijos
|
||||
Module700Name=Donaciones
|
||||
Module700Desc=Gestión de donaciones
|
||||
Module770Name=Informes de gastos
|
||||
@ -758,7 +759,7 @@ Permission1236=Exportar facturas de proveedores, atributos y pagos
|
||||
Permission1237=Exportar pedidos de proveedores junto con sus detalles
|
||||
Permission1251=Lanzar las importaciones en masa a la base de datos (carga de datos)
|
||||
Permission1321=Exportar facturas a clientes, atributos y cobros
|
||||
Permission1322=Reopen a paid bill
|
||||
Permission1322=Reabrir una factura pagada
|
||||
Permission1421=Exportar pedidos de clientes y atributos
|
||||
Permission20001=Leer peticiones días retribuidos (suyos y subordinados)
|
||||
Permission20002=Cear/modificar sus días retribuidos
|
||||
@ -869,7 +870,7 @@ LabelUsedByDefault=Etiqueta que se utilizará si no se encuentra traducción par
|
||||
LabelOnDocuments=Etiqueta sobre documentos
|
||||
NbOfDays=Nº de días
|
||||
AtEndOfMonth=A fin de mes
|
||||
CurrentNext=Current/Next
|
||||
CurrentNext=Actual/Siguiente
|
||||
Offset=Decálogo
|
||||
AlwaysActive=Siempre activo
|
||||
Upgrade=Actualización
|
||||
@ -1107,7 +1108,6 @@ CompanyIdProfChecker=Reglas sobre los ID profesionales
|
||||
MustBeUnique=¿Debe ser único?
|
||||
MustBeMandatory=¿Obligatorio para crear terceros?
|
||||
MustBeInvoiceMandatory=¿Obligatorio para validar facturas?
|
||||
Miscellaneous=Miscelánea
|
||||
##### Webcal setup #####
|
||||
WebCalUrlForVCalExport=Un vínculo de exportación del calendario en formato <b>%s</b> estará disponible en la url: %s
|
||||
##### Invoices #####
|
||||
@ -1318,7 +1318,7 @@ ProductServiceSetup=Configuración de los módulos Productos y Servicios
|
||||
NumberOfProductShowInSelect=Nº de productos máx. en las listas (0=sin límite)
|
||||
ViewProductDescInFormAbility=Visualización de las descripciones de los productos en los formularios
|
||||
MergePropalProductCard=Activar en el producto/servicio la pestaña Documentos una opción para fusionar documentos PDF de productos al presupuesto PDF azur si el producto/servicio se encuentra en el presupuesto
|
||||
ViewProductDescInThirdpartyLanguageAbility=Visualization of products descriptions in the third party language
|
||||
ViewProductDescInThirdpartyLanguageAbility=Visualización de las descripciones de productos en el idioma del tercero
|
||||
UseSearchToSelectProductTooltip=También si usted tiene una gran cantidad de producto (> 100 000), puede aumentar la velocidad mediante el establecimiento PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 en Configuración-> Otros. La búsqueda será limitada a la creación de cadena.
|
||||
UseSearchToSelectProduct=Utilice un formulario de búsqueda para elegir un producto (en lugar de una lista desplegable).
|
||||
SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por defecto para los productos
|
||||
@ -1427,7 +1427,7 @@ DetailTarget=Comportamiento del enlace (_blank para abrir una nueva ventana)
|
||||
DetailLevel=Nivel (-1:menú superior, 0:principal, >0 menú y submenú)
|
||||
ModifMenu=Modificación del menú
|
||||
DeleteMenu=Eliminar entrada de menú
|
||||
ConfirmDeleteMenu=Está seguro de querer eliminar la entrada de menú <b>%s</b> ?
|
||||
ConfirmDeleteMenu=¿Está seguro de querer eliminar la entrada de menú <b>%s</b>?
|
||||
FailedToInitializeMenu=Error al inicialiar el menú
|
||||
##### Tax #####
|
||||
TaxSetup=Configuración del módulo impuestos sociales o fiscales
|
||||
@ -1524,14 +1524,14 @@ TaskModelModule=Módulo de documentos informes de tareas
|
||||
UseSearchToSelectProject=Utilice los campos de autocompletar para seleccionar proyectos (en lugar de utilizar un cuadro de lista).
|
||||
##### ECM (GED) #####
|
||||
##### Fiscal Year #####
|
||||
FiscalYears=Años fiscales
|
||||
FiscalYearCard=Ficha Año fiscal
|
||||
AccountingPeriods=Periodos contables
|
||||
AccountingPeriodCard=Periodo contable
|
||||
NewFiscalYear=Nuevo año fiscal
|
||||
OpenFiscalYear=Abrir año fiscal
|
||||
CloseFiscalYear=Cerrar año fiscal
|
||||
DeleteFiscalYear=Eliminar año fiscal
|
||||
ConfirmDeleteFiscalYear=¿Está seguro de querer eliminar este año fiscal?
|
||||
ShowFiscalYear=Mostrar año fiscal
|
||||
ShowFiscalYear=Ver periodo contable
|
||||
AlwaysEditable=Puede editarse siempre
|
||||
MAIN_APPLICATION_TITLE=Forzar visibilidad del nombre de aplicación (advertencia: indicar su propio nombre aquí puede romper la característica de relleno automático de inicio de sesión al utilizar la aplicación móvil DoliDroid)
|
||||
NbMajMin=Número mínimo de caracteres en mayúsculas
|
||||
@ -1552,7 +1552,7 @@ ListOfNotificationsPerUser=Listado de notificaciones por usuario*
|
||||
ListOfNotificationsPerUserOrContact=Listado de notificaciones por usuario* o por contacto**
|
||||
ListOfFixedNotifications=Listado de notificaciones fijas
|
||||
GoOntoUserCardToAddMore=Vaya a la pestaña "Notificaciones" de un usuario para añadir o elliminar notificaciones a usuarios
|
||||
GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses
|
||||
GoOntoContactCardToAddMore=Vaya a la pestaña "Notificaciones" de un contacto de tercero para añadir o eliminar notificaciones para contactos/direcciones
|
||||
Threshold=Valor mínimo/umbral
|
||||
BackupDumpWizard=Asistente para crear una copia de seguridad de la base de datos
|
||||
SomethingMakeInstallFromWebNotPossible=No es posible la instalación de módulos externos desde la interfaz web por la siguiente razón:
|
||||
@ -1596,7 +1596,7 @@ MailToSendIntervention=Para enviar intervención
|
||||
MailToSendSupplierRequestForQuotation=Para enviar solicitud de presupuesto de proveedor
|
||||
MailToSendSupplierOrder=Para enviar pedido a proveedor
|
||||
MailToSendSupplierInvoice=Para enviar factura de proveedor
|
||||
MailToThirdparty=To send email from third party page
|
||||
MailToThirdparty=Para enviar e-mail desde la página del tercero
|
||||
ByDefaultInList=Mostrar por defecto en modo lista
|
||||
YouUseLastStableVersion=Debe usar la última versión estable
|
||||
TitleExampleForMajorRelease=Ejemplo de mensaje que puede usar para anunciar esta release mayor (no dude en usarlo en sus sitios web)
|
||||
@ -1628,7 +1628,7 @@ ListOfAvailableAPIs=Listado de APIs disponibles
|
||||
activateModuleDependNotSatisfied=El módulo "%s" depende del módulo "%s" que falta, por lo que el módulo "%1$s" puede no funcionar correctamente. Instale el módulo "%2$s" o desactive el módulo "%1$s" si no quiere sorpresas
|
||||
CommandIsNotInsideAllowedCommands=El comando que intenta ejecutar no se encuentra en el listado de comandos permitidos en el parámetro<strong> $dolibarr_main_restrict_os_commands</strong> en el archivo <strong>conf.php</strong>.
|
||||
LandingPage=Landing page
|
||||
SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choice "Single price", price will be also the same for all companies if products are shared between environments
|
||||
SamePriceAlsoForSharedCompanies=Si se utiliza un módulo multi-empresa, con la opción "precio único", el precio será el mismo para todas las empresas si los productos son compartidos entre ellas
|
||||
ModuleEnabledAdminMustCheckRights=El módulo ha sido activado. Los permisos para los módulos activados se dan solamente a los usuarios administradores. Deberá otorgar permisos manualmente a otros usuarios si es necesario.
|
||||
UserHasNoPermissions=Este usuario no tiene permisos definidos
|
||||
TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")<br>Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)<br>Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days")
|
||||
TypeCdr=Use "Ninguno" si la fecha del plazo de pago es la fecha de factura más un delta en días (delta es el campo "Nº de días")<br>Use "A final de mes", si, después del delta, la fecha debe aumentarse para llegar al final del mes (+ opcional "Offset" en días)<br>Use "Actual/Siguiente" para tener la fecha del plazo de pago sea el primer N de cada mes (N se almacena en el campo "Nº de días")
|
||||
|
||||
@ -3,7 +3,6 @@ IdAgenda=ID de evento
|
||||
Actions=Eventos
|
||||
Agenda=Agenda
|
||||
Agendas=Agendas
|
||||
Calendar=Calendario
|
||||
LocalAgenda=Calendario interno
|
||||
ActionsOwnedBy=Acontecimiento asignado a
|
||||
ActionsOwnedByShort=Propietario
|
||||
@ -34,11 +33,27 @@ AgendaAutoActionDesc= Defina aquí los eventos que desea que Dolibarr cree autom
|
||||
AgendaSetupOtherDesc= Esta página le permite configurar algunas opciones que permiten exportar una vista de su agenda Dolibar a un calendario externo (thunderbird, google calendar, ...)
|
||||
AgendaExtSitesDesc=Esta página le permite configurar calendarios externos para su visualización en la agenda de Dolibarr.
|
||||
ActionsEvents=Eventos para que Dolibarr cree un evento en la agenda de forma automática
|
||||
##### Agenda event labels #####
|
||||
NewCompanyToDolibarr=Tercero %s creado
|
||||
ContractValidatedInDolibarr=Contrato %s validado
|
||||
PropalClosedSignedInDolibarr=Presupuesto %s firmado
|
||||
PropalClosedRefusedInDolibarr=Presupuesto %s rechazado
|
||||
PropalValidatedInDolibarr=Presupuesto %s validado
|
||||
PropalClassifiedBilledInDolibarr=Presupuesto %s clasificado facturado
|
||||
InvoiceValidatedInDolibarr=Factura %s validada
|
||||
InvoiceValidatedInDolibarrFromPos=Factura %s validada desde TPV
|
||||
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
|
||||
InvoiceDeleteDolibarr=Factura %s eliminada
|
||||
InvoicePaidInDolibarr=Factura %s pasada a pagada
|
||||
InvoiceCanceledInDolibarr=Factura %s cancelada
|
||||
MemberValidatedInDolibarr=Miembro %s validado
|
||||
MemberResiliatedInDolibarr=Miembro %s terminado
|
||||
MemberDeletedInDolibarr=Miembro %s eliminado
|
||||
MemberSubscriptionAddedInDolibarr=Subscripción del miembro %s añadida
|
||||
ShipmentValidatedInDolibarr=Expedición %s validada
|
||||
ShipmentClassifyClosedInDolibarr=Expedición %s clasificada como facturada
|
||||
ShipmentUnClassifyCloseddInDolibarr=Expedición %s clasificada como reabierta
|
||||
ShipmentDeletedInDolibarr=Expedición %s eliminada
|
||||
OrderValidatedInDolibarr=Pedido %s validado
|
||||
OrderDeliveredInDolibarr=Pedido %s clasificado como enviado
|
||||
OrderCanceledInDolibarr=Pedido %s anulado
|
||||
@ -57,9 +72,9 @@ InterventionSentByEMail=Intervención %s enviada por e-mail
|
||||
ProposalDeleted=Presupuesto eliminado
|
||||
OrderDeleted=Pedido eliminado
|
||||
InvoiceDeleted=Factura eliminada
|
||||
NewCompanyToDolibarr= Tercero creado
|
||||
DateActionStart= Fecha de inicio
|
||||
DateActionEnd= Fecha finalización
|
||||
##### End agenda events #####
|
||||
DateActionStart=Fecha de inicio
|
||||
DateActionEnd=Fecha finalización
|
||||
AgendaUrlOptions1=Puede también añadir estos parámetros al filtro de salida:
|
||||
AgendaUrlOptions2=<b>login=%s</b> para restringir inserciones a acciones creadas o asignadas al usuario <b>%s</b>.
|
||||
AgendaUrlOptions3=<b>logina=%s</b> para restringir inserciones a acciones creadas por el usuario <b>%s</b>.
|
||||
@ -86,7 +101,7 @@ MyAvailability=Mi disponibilidad
|
||||
ActionType=Tipo de evento
|
||||
DateActionBegin=Fecha de inicio del evento
|
||||
CloneAction=Clonar evento
|
||||
ConfirmCloneEvent=¿Está seguro de querer clonar el evento <b>%s</b> ?
|
||||
ConfirmCloneEvent=¿Esta seguro de querer clonar el evento <b>%s</b>?
|
||||
RepeatEvent=Repetir evento
|
||||
EveryWeek=Cada semana
|
||||
EveryMonth=Cada mes
|
||||
|
||||
@ -41,7 +41,7 @@ BankAccountOwner=Nombre del titular de la cuenta
|
||||
BankAccountOwnerAddress=Dirección del titular de la cuenta
|
||||
RIBControlError=El dígito de control indica que la información de esta cuenta bancaria es incompleta o incorrecta.
|
||||
CreateAccount=Crear cuenta
|
||||
NewAccount=Nueva cuenta
|
||||
NewBankAccount=Nueva cuenta
|
||||
NewFinancialAccount=Nueva cuenta financiera
|
||||
MenuNewFinancialAccount=Nueva cuenta
|
||||
EditFinancialAccount=Edición cuenta
|
||||
@ -84,8 +84,8 @@ AddBankRecordLong=Realizar un registro manual fuera de una factura
|
||||
ConciliatedBy=Conciliado por
|
||||
DateConciliating=Fecha conciliación
|
||||
BankLineConciliated=Registro conciliado
|
||||
Reconciled=Reconciled
|
||||
NotReconciled=Not reconciled
|
||||
Reconciled=Reconciliado
|
||||
NotReconciled=No reconciliado
|
||||
CustomerInvoicePayment=Cobro a cliente
|
||||
SupplierInvoicePayment=Pago a proveedor
|
||||
SubscriptionPayment=Pago cuota
|
||||
@ -94,7 +94,7 @@ SocialContributionPayment=Pago impuesto social/fiscal
|
||||
BankTransfer=Transferencia bancaria
|
||||
BankTransfers=Transferencias bancarias
|
||||
MenuBankInternalTransfer=Transferencia interna
|
||||
TransferDesc=Transferir de una cuenta a otra, Dolibarr escribirá dos registros (uno de débito en la cuenta de origen y uno de crédito en la cuenta destino con el mismo importe, etiqueta y fecha para dicha transancción)
|
||||
TransferDesc=Al crear una transferencia de una de sus cuentas bancarias hacia otra, Dolibarr crea dos registros contables (uno de débito en una cuenta y otro de crédito, del mismo importe, en la otra cuenta. Se utiliza para los dos registros la misma etiqueta de transferencia y la misma fecha)
|
||||
TransferFrom=De
|
||||
TransferTo=Hacia
|
||||
TransferFromToDone=La transferencia de <b>%s</b> hacia <b>%s</b> de <b>%s</b> %s se ha creado.
|
||||
@ -129,7 +129,7 @@ FutureTransaction=Transacción futura. No es posible conciliar.
|
||||
SelectChequeTransactionAndGenerate=Seleccione/filtre los cheques a incluir en la remesa y haga clic en "Crear".
|
||||
InputReceiptNumber=Indique el extracto bancario relacionado con la conciliación. Utilice un valor numérico ordenable: YYYYMM o YYYYMMDD
|
||||
EventualyAddCategory=Eventualmente, indique una categoría en la que clasificar los registros
|
||||
ToConciliate=To reconcile ?
|
||||
ToConciliate=¿A conciliar?
|
||||
ThenCheckLinesAndConciliate=A continuación, compruebe las líneas presentes en el extracto bancario y haga clic
|
||||
DefaultRIB=Cuenta bancaria por defecto
|
||||
AllRIB=Todas las cuentas bancarias
|
||||
@ -144,4 +144,4 @@ CheckRejected=Cheque devuelto
|
||||
CheckRejectedAndInvoicesReopened=Cheque devuelto y facturas reabiertas
|
||||
BankAccountModelModule=Modelos de documentos para cuentas bancarias
|
||||
DocumentModelSepaMandate=Plantilla de mandato SEPA, usable únicamente para paises miembros de la UEE
|
||||
DocumentModelBan=Template to print a page with BAN information.
|
||||
DocumentModelBan=Plantilla para imprimir una página con la información IBAN.
|
||||
|
||||
@ -157,13 +157,13 @@ CustomersDraftInvoices=Facturas a clientes borrador
|
||||
SuppliersDraftInvoices=Facturas de proveedores borrador
|
||||
Unpaid=Pendientes
|
||||
ConfirmDeleteBill=¿Está seguro de querer eliminar esta factura?
|
||||
ConfirmValidateBill=¿Está seguro de querer validar esta factura con la referencia <b>%s</b> ?
|
||||
ConfirmUnvalidateBill=¿Está seguro de querer devolver la factura <b>%s</b> al estado borrador?
|
||||
ConfirmClassifyPaidBill=¿Esta seguro de querer clasificar la factura <b>%s</b> como pagada?
|
||||
ConfirmCancelBill=¿Está seguro de querer anular la factura <b>%s</b> ?
|
||||
ConfirmCancelBillQuestion=¿Por qué razón quiere abandonar la factura?
|
||||
ConfirmClassifyPaidPartially=¿Está seguro de querer clasificar la factura <b>%s</b> como pagada?
|
||||
ConfirmClassifyPaidPartiallyQuestion=Esta factura no ha sido totalmente pagada. ¿Por qué quiere clasificarla como pagada?
|
||||
ConfirmValidateBill=¿Está seguro de querer validar esta factura con referencia <b>%s</b>?
|
||||
ConfirmUnvalidateBill=¿Está seguro de querer cambiar el estado de la factura <b>%s</b> a borrador?
|
||||
ConfirmClassifyPaidBill=¿Está seguro de querer cambiar el estado de la factura <b>%s</b> a pagado?
|
||||
ConfirmCancelBill=¿Está seguro de querer anular la factura <b>%s</b>?
|
||||
ConfirmCancelBillQuestion=¿Porqué quiere clasificar esta factura como 'abandonada'?
|
||||
ConfirmClassifyPaidPartially=¿Está seguro de querer cambiar el estado de la factura <b>%s</b> a pagado?
|
||||
ConfirmClassifyPaidPartiallyQuestion=Esta factura no ha sido pagado completamente. ¿Cual es la razón para cerrar esta factura?
|
||||
ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar <b>(%s %s)</b> es un descuento otorgado por pronto pago. Regularizaré el IVA con un abono.
|
||||
ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar <b>(%s %s)</b> es un descuento otorgado por pronto pago. Acepto perder el IVA en este descuento.
|
||||
ConfirmClassifyPaidPartiallyReasonDiscountVat=El resto a pagar <b>(%s %s)</b> es un descuento otorgado por pronto pago. Recuperaré el IVA sin usar un abono.
|
||||
@ -178,9 +178,9 @@ ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Esta elección es posible
|
||||
ConfirmClassifyPaidPartiallyReasonOtherDesc=Esta elección será posible, por ejemplo, en los casos siguiente:<br>-pago parcial ya que una partida de productos se ha devuleto.<br>- reclamado por no entregar productos de la factura <br>En todos los casos, la reclamación debe regularizarse mediante un abono
|
||||
ConfirmClassifyAbandonReasonOther=Otro
|
||||
ConfirmClassifyAbandonReasonOtherDesc=Esta elección será para cualquier otro caso. Por ejemplo a raíz de la intención de crear una factura rectificativa.
|
||||
ConfirmCustomerPayment=¿Confirma el proceso de este pago de <b>%s</b> %s ?
|
||||
ConfirmSupplierPayment=¿Confirma el proceso de este pago de <b>%s</b> %s ?
|
||||
ConfirmValidatePayment=¿Está seguro de querer validar este pago (ninguna modificación es posible una vez el pago esté validado)?
|
||||
ConfirmCustomerPayment=¿Confirma el proceso de este pago de <b>%s</b> %s?
|
||||
ConfirmSupplierPayment=¿Confirma el proceso de este pago de <b>%s</b> %s?
|
||||
ConfirmValidatePayment=¿Está seguro de querer validar este pago? No se permiten cambios después de validar el pago.
|
||||
ValidateBill=Validar factura
|
||||
UnvalidateBill=Devolver factura a borrador
|
||||
NumberOfBills=Nº de facturas
|
||||
@ -269,7 +269,7 @@ Deposits=Anticipos
|
||||
DiscountFromCreditNote=Descuento resultante del abono %s
|
||||
DiscountFromDeposit=Pagos de la factura de anticipo %s
|
||||
AbsoluteDiscountUse=Este tipo de descuento no puede ser utilizado en una factura antes de su validación
|
||||
CreditNoteDepositUse=La factura debe de estar validada para poder utilizar este tipo de créditos
|
||||
CreditNoteDepositUse=La factura debe ser validada para usar este tipo de crédito.
|
||||
NewGlobalDiscount=Nuevo descuento fijo
|
||||
NewRelativeDiscount=Nuevo descuento
|
||||
NoteReason=Nota/Motivo
|
||||
@ -295,15 +295,15 @@ RemoveDiscount=Eliminar descuento
|
||||
WatermarkOnDraftBill=Marca de agua en facturas borrador (nada si está vacía)
|
||||
InvoiceNotChecked=Ninguna factura está seleccionada
|
||||
CloneInvoice=Clonar factura
|
||||
ConfirmCloneInvoice=¿Está seguro de querer clonar esta factura?
|
||||
ConfirmCloneInvoice=¿Está seguro de querer clonar esta factura <b>%s</b>?
|
||||
DisabledBecauseReplacedInvoice=Acción desactivada porque es una factura reemplazada
|
||||
DescTaxAndDividendsArea=Este área muestra un resumen de todos los pagos realizados en gastos especiales. Solamente se incluyen los registros del año seleccionado.
|
||||
NbOfPayments=Nº de pagos
|
||||
SplitDiscount=Dividir el dto. en dos
|
||||
ConfirmSplitDiscount=¿Está seguro de querer dividir el descuento de <b>%s</b> %s en 2 descuentos más pequeños?
|
||||
ConfirmSplitDiscount=¿Está seguro de querer dividir este descuento de <b>%s</b> %s en 2 descuentos menores?
|
||||
TypeAmountOfEachNewDiscount=Indique el importe para cada parte:
|
||||
TotalOfTwoDiscountMustEqualsOriginal=La suma del importe de los 2 nuevos descuentos debe de ser la misma que el importa del descuento a dividir.
|
||||
ConfirmRemoveDiscount=¿Está seguro de querer eliminar este descuento?
|
||||
ConfirmRemoveDiscount=¿Está seguro de querer borrar este descuento?
|
||||
RelatedBill=Factura asociada
|
||||
RelatedBills=Facturas asociadas
|
||||
RelatedCustomerInvoices=Facturas a clientes asociadas
|
||||
@ -381,7 +381,7 @@ ExtraInfos=Informaciones complementarias
|
||||
RegulatedOn=Pagar el
|
||||
ChequeNumber=Cheque nº
|
||||
ChequeOrTransferNumber=Cheque/Transferencia nº
|
||||
ChequeBordereau=Comprobar
|
||||
ChequeBordereau=Comprobar agenda
|
||||
ChequeMaker=Transmisor Cheque/Transferencia
|
||||
ChequeBank=Banco del cheque
|
||||
CheckBank=Verificar
|
||||
@ -437,8 +437,8 @@ ToMakePaymentBack=Reembolsar
|
||||
ListOfYourUnpaidInvoices=Listado de facturas impagadas
|
||||
NoteListOfYourUnpaidInvoices=Nota: Este listado incluye solamente los terceros de los que usted es comercial.
|
||||
RevenueStamp=Timbre fiscal
|
||||
YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of third party
|
||||
YouMustCreateInvoiceFromSupplierThird=This option is only available when creating invoice from tab "supplier" of third party
|
||||
YouMustCreateInvoiceFromThird=Esta opción solo está disponible al crear una factura desde la pestaña 'cliente' en terceros
|
||||
YouMustCreateInvoiceFromSupplierThird=Esta opción solo está disponible al crear una factura desde la pestaña 'proveedor' en terceros
|
||||
YouMustCreateStandardInvoiceFirstDesc=Tiene que crear una factura estandar antes de convertirla a "plantilla" para crear una nueva plantilla de factura
|
||||
PDFCrabeDescription=Modelo de factura completo (modelo recomendado por defecto)
|
||||
PDFCrevetteDescription=Modelo PDF de factura Crevette. Un completo modelo de facturas de situación
|
||||
@ -481,5 +481,5 @@ ToCreateARecurringInvoice=Para crear una factura recurrente para este contrato,
|
||||
ToCreateARecurringInvoiceGene=Para generar las facturas futuras regularmente y manualmente, vaya al menú <strong>%s - %s - %s</strong>.
|
||||
ToCreateARecurringInvoiceGeneAuto=Si necesita generar facturas automáticamente, dígale a su administrador que active y configure el módulo <strong>%s</strong>. Tenga en cuenta que los dos métodos (manual y automático) pueden usarse conjuntamente sin ningún riesgo de duplicación.
|
||||
DeleteRepeatableInvoice=Eliminar plantilla de factura
|
||||
ConfirmDeleteRepeatableInvoice=¿Está seguro de querer eliminar esta plantilla de factura?
|
||||
ConfirmDeleteRepeatableInvoice=¿Está seguro de querer borrar la plantilla para facturas?
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ BoxTitleLastSupplierBills=Últimas %s facturas de proveedores
|
||||
BoxTitleLastModifiedProspects=Últimos %s presupuestos modificados
|
||||
BoxTitleLastModifiedMembers=Últimos %s miembros
|
||||
BoxTitleLastFicheInter=Últimas %s intervenciones modificadas
|
||||
BoxTitleOldestUnpaidCustomerBills=Las %s facturas a clientes más antiguras pendientes de cobro
|
||||
BoxTitleOldestUnpaidCustomerBills=Las %s facturas a clientes más antiguas pendientes de cobro
|
||||
BoxTitleOldestUnpaidSupplierBills=Las %s facturas de proveedores más antiguas pendientes de pago
|
||||
BoxTitleCurrentAccounts=Balance de cuentas abiertas
|
||||
BoxTitleLastModifiedContacts=Últimos %s contactos/direcciones modificados
|
||||
|
||||
@ -34,7 +34,7 @@ CompanyIsInSuppliersCategories=Este tercero se encuentra en las siguientes etiqu
|
||||
MemberIsInCategories=Este miembro se encuentra en las siguientes etiquetas/categorías
|
||||
ContactIsInCategories=Este contacto se encuentra en las siguientes etiquetas/categorías de contactos
|
||||
ProductHasNoCategory=Este producto/servicio no se encuentra en ninguna etiqueta/categoría en particular
|
||||
CompanyHasNoCategory=This third party is not in any tags/categories
|
||||
CompanyHasNoCategory=Este tercero no se encuentra en ninguna etiqueta/categoría
|
||||
MemberHasNoCategory=Este miembro no se encuentra en ninguna etiqueta/categoría en particular
|
||||
ContactHasNoCategory=Este contacto no se encuentra en ninguna etiqueta/categoría
|
||||
ProjectHasNoCategory=Este proyecto no se encuentra en ninguna etiqueta/categoría
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
ErrorCompanyNameAlreadyExists=El nombre de la empresa %s ya existe. Indique otro.
|
||||
ErrorSetACountryFirst=Defina en primer lugar el país
|
||||
SelectThirdParty=Seleccionar un tercero
|
||||
ConfirmDeleteCompany=¿Está seguro de querer eliminar esta empresa y toda la información dependiente?
|
||||
ConfirmDeleteCompany=¿Está seguro de querer eliminar esta empresa y toda su información inherente?
|
||||
DeleteContact=Eliminar un contacto
|
||||
ConfirmDeleteContact=¿Está seguro de querer eliminar este contacto y toda su información inherente?
|
||||
ConfirmDeleteContact=¿Está seguro de querer eliminar este contacto y toda la información dependiente?
|
||||
MenuNewThirdParty=Nuevo tercero
|
||||
MenuNewCustomer=Nuevo cliente
|
||||
MenuNewProspect=Nuevo cliente potencial
|
||||
@ -14,7 +14,7 @@ NewCompany=Nueva empresa (cliente potencial, cliente, proveedor)
|
||||
NewThirdParty=Nuevo tercero (cliente potencial, cliente, proveedor)
|
||||
CreateDolibarrThirdPartySupplier=Crear un tercero (proveedor)
|
||||
CreateThirdPartyOnly=Crear tercero
|
||||
CreateThirdPartyAndContact=Create a third party + a child contact
|
||||
CreateThirdPartyAndContact=Crear un tercero + un contacto
|
||||
ProspectionArea=Área de prospección
|
||||
IdThirdParty=ID tercero
|
||||
IdCompany=Id empresa
|
||||
@ -40,7 +40,7 @@ ThirdPartySuppliers=Proveedores
|
||||
ThirdPartyType=Tipo de tercero
|
||||
Company/Fundation=Empresa/asociación
|
||||
Individual=Particular
|
||||
ToCreateContactWithSameName=Will create automatically a contact/address with same information than third party under the third party. In most cases, even if your third party is a physical people, creating a third party alone is enough.
|
||||
ToCreateContactWithSameName=Creará automáticamente un contacto físico con la misma información. en la mayoría de casos. En la mayoría de los casos, incluso si el tercero es una persona física, la creación de un tercero por sí solo es suficiente.
|
||||
ParentCompany=Sede central
|
||||
Subsidiaries=Filiales
|
||||
ReportByCustomers=Informe por cliente
|
||||
@ -75,7 +75,7 @@ Poste= Puesto
|
||||
DefaultLang=Idioma por defecto
|
||||
VATIsUsed=Sujeto a IVA
|
||||
VATIsNotUsed=No sujeto a IVA
|
||||
CopyAddressFromSoc=Fill address with third party address
|
||||
CopyAddressFromSoc=Copiar dirección de la empresa
|
||||
ThirdpartyNotCustomerNotSupplierSoNoRef=Tercero que no es cliente ni proveedor, sin objetos referenciados
|
||||
##### Local Taxes #####
|
||||
LocalTax1IsUsed=Usar segunda tasa
|
||||
@ -287,7 +287,7 @@ CompanyDeleted=La empresa "%s" ha sido eliminada
|
||||
ListOfContacts=Listado de contactos
|
||||
ListOfContactsAddresses=Listado de contactos/direcciones
|
||||
ListOfThirdParties=Listado de terceros
|
||||
ShowCompany=Show third party
|
||||
ShowCompany=Mostrar tercero
|
||||
ShowContact=Mostrar contacto
|
||||
ContactsAllShort=Todos (sin filtro)
|
||||
ContactType=Tipo de contacto
|
||||
@ -398,4 +398,4 @@ SaleRepresentativeLogin=Inicio de sesión del comercial
|
||||
SaleRepresentativeFirstname=Nombre del comercial
|
||||
SaleRepresentativeLastname=Apellidos del comercial
|
||||
ErrorThirdpartiesMerge=Se produjo un error al eliminar los terceros. Por favor, compruebe el log. Los cambios han sido anulados.
|
||||
NewCustomerSupplierCodeProposed=New customer or supplier code suggested on duplicate code
|
||||
NewCustomerSupplierCodeProposed=El código de cliente o proveedor sugerido se encuentra duplicado
|
||||
|
||||
@ -91,7 +91,7 @@ SupplierAccountancyCode=Código contable proveedor
|
||||
CustomerAccountancyCodeShort=Cód. cuenta cliente
|
||||
SupplierAccountancyCodeShort=Cód. cuenta proveedor
|
||||
AccountNumber=Número de cuenta
|
||||
NewAccount=Nueva cuenta
|
||||
NewAccountingAccount=Nueva cuenta
|
||||
SalesTurnover=Volumen de ventas
|
||||
SalesTurnoverMinimum=Volumen de ventas mínimo
|
||||
ByExpenseIncome=Por gastos e ingresos
|
||||
@ -169,7 +169,7 @@ InvoiceRef=Ref. factura
|
||||
CodeNotDef=No definido
|
||||
WarningDepositsNotIncluded=Las facturas de anticipo aún no están incluidas en esta versión en el módulo de contabilidad.
|
||||
DatePaymentTermCantBeLowerThanObjectDate=La fecha límite de pago no puede ser inferior a la fecha del objeto
|
||||
Pcg_version=Versión del plan
|
||||
Pcg_version=Modelos de planes contables
|
||||
Pcg_type=Tipo de cuenta
|
||||
Pcg_subtype=Subtipo de cuenta
|
||||
InvoiceLinesToDispatch=Líneas de facturas a contabilizar
|
||||
@ -186,7 +186,7 @@ CalculationMode=Modo de cálculo
|
||||
AccountancyJournal=Código contable diario
|
||||
ACCOUNTING_VAT_SOLD_ACCOUNT=Código contable por defecto para el IVA repercutido (IVA de ventas)
|
||||
ACCOUNTING_VAT_BUY_ACCOUNT=Código contable por defecto para el IVA soportado (IVA de compras)
|
||||
ACCOUNTING_VAT_PAY_ACCOUNT=Código contable por defecto para el IVA soportado
|
||||
ACCOUNTING_VAT_PAY_ACCOUNT=Código contable por defecto para el pago de IVA
|
||||
ACCOUNTING_ACCOUNT_CUSTOMER=Cuenta contable por defecto para clientes
|
||||
ACCOUNTING_ACCOUNT_SUPPLIER=Cuenta contable por defecto para proveedores
|
||||
CloneTax=Clonar una tasa social/fiscal
|
||||
@ -202,3 +202,4 @@ LinkedFichinter=Enlazar a una intervención
|
||||
ImportDataset_tax_contrib=Importe impuestos sociales/fiscales
|
||||
ImportDataset_tax_vat=Importe pagos IVA
|
||||
ErrorBankAccountNotFound=Error: No se encuentra la cuenta bancaria
|
||||
FiscalPeriod=Periodo contable
|
||||
|
||||
@ -33,12 +33,12 @@ AddContract=Crear contrato
|
||||
DeleteAContract=Eliminar un contrato
|
||||
CloseAContract=Cerrar un contrato
|
||||
ConfirmDeleteAContract=¿Está seguro de querer eliminar este contrato?
|
||||
ConfirmValidateContract=¿Está seguro de querer validar este contrato bajo la referencia <b>%s</b> ?
|
||||
ConfirmCloseContract=¿Está seguro de querer cerrar este contrato?
|
||||
ConfirmCloseService=¿Está seguro de querer cerrar este servicio?
|
||||
ConfirmValidateContract=¿Está seguro de querer validar este contrato bajo la referencia <b>%s</b>?
|
||||
ConfirmCloseContract=Esto cerrará todos los servicios (activos o no) ¿Está seguro de querer cerrar este contrato?
|
||||
ConfirmCloseService=¿Está seguro de querer cerrar este servicio en fecha <b>%s</b>?
|
||||
ValidateAContract=Validar un contrato
|
||||
ActivateService=Activar el servicio
|
||||
ConfirmActivateService=¿Está seguro de querer activar este servicio en fecha %s?
|
||||
ConfirmActivateService=¿Está seguro de querer activar este servicio en fecha <b>%s</b>?
|
||||
RefContract=Ref. contrato
|
||||
DateContract=Fecha contrato
|
||||
DateServiceActivate=Fecha activación del servicio
|
||||
|
||||
@ -10,7 +10,7 @@ SetDeliveryDate=Indicar la fecha de entrega
|
||||
ValidateDeliveryReceipt=Validar la nota de entrega
|
||||
ValidateDeliveryReceiptConfirm=¿Está seguro de que desea validar esta entrega?
|
||||
DeleteDeliveryReceipt=Eliminar la nota de entrega
|
||||
DeleteDeliveryReceiptConfirm=¿Está seguro de querer eliminar esta nota de entrega?
|
||||
DeleteDeliveryReceiptConfirm=¿Está seguro de querer eliminar la nota de entrega <b>%s</b>?
|
||||
DeliveryMethod=Método de envío
|
||||
TrackingNumber=Nº de seguimiento
|
||||
DeliveryNotValidated=Nota de recepción no validada
|
||||
|
||||
@ -6,7 +6,7 @@ Donor=Donante
|
||||
AddDonation=Crear una donación
|
||||
NewDonation=Nueva donación
|
||||
DeleteADonation=Eliminar una donación
|
||||
ConfirmDeleteADonation=¿Está seguro de querer eliminar esta donación?
|
||||
ConfirmDeleteADonation=¿Esta seguro de querer eliminar esta donación?
|
||||
ShowDonation=Mostrar donación
|
||||
PublicDonation=Donación pública
|
||||
DonationsArea=Área de donaciones
|
||||
|
||||
@ -41,4 +41,3 @@ CannotRemoveDirectoryContainsFiles=No se puede eliminar porque contiene archivos
|
||||
ECMFileManager=Explorador de archivos
|
||||
ECMSelectASection=Seleccione un directorio en el árbol de la izquierda
|
||||
DirNotSynchronizedSyncFirst=Este directorio fue creado o modificado fuera del módulo GED. Haga clic en el botón "Actualizar" para resincronizar la información del disco y la base de datos para ver el contenido de ese directorio.
|
||||
|
||||
|
||||
@ -129,7 +129,7 @@ ErrorPHPNeedModule=Error, su PHP debe tener instalado el módulo <b>%s</b> para
|
||||
ErrorOpenIDSetupNotComplete=Ha configurado Dolibarr para aceptar la autentificación OpenID, pero la URL del servicio OpenID no se encuentra definida en la constante %s
|
||||
ErrorWarehouseMustDiffers=El almacén de origen y destino deben de ser diferentes
|
||||
ErrorBadFormat=¡El formato es erróneo!
|
||||
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice.
|
||||
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, este miembro aún no está enlazado a un tercero. Enlace el miembro a un tercero existente o cree un tercero nuevo antes de crear la suscripción con la factura.
|
||||
ErrorThereIsSomeDeliveries=Error, hay entregas vinculadas a este envío. No se puede eliminar.
|
||||
ErrorCantDeletePaymentReconciliated=No se puede eliminar un pago que ha generado una transacción bancaria que se encuentra conciliada
|
||||
ErrorCantDeletePaymentSharedWithPayedInvoice=No se puede eliminar un pago de varias factura con alguna factura con estado Pagada
|
||||
@ -176,6 +176,7 @@ ErrorStockIsNotEnoughToAddProductOnShipment=No hay stock suficiente del producto
|
||||
ErrorStockIsNotEnoughToAddProductOnProposal=No hay stock suficiente del producto %s para añadirlo a un nuevo presupuesto.
|
||||
ErrorFailedToLoadLoginFileForMode=No se puede obtener el archivo de login para el modo '%s'.
|
||||
ErrorModuleNotFound=No se ha encontrado el archivo del módulo.
|
||||
ErrorFieldAccountNotDefinedForBankLine=Valor para la cuenta contable no definida para la línea bancaria origen %s
|
||||
|
||||
# Warnings
|
||||
WarningPasswordSetWithNoAccount=Se fijó una contraseña para este miembro. Sin embargo, no se ha creado ninguna cuenta de usuario. Así que esta contraseña no se puede utilizar para acceder a Dolibarr. Puede ser utilizada por un módulo/interfaz externo, pero si no necesitar definir accesos de un miembro, puede desactivar la opción "Administrar un inicio de sesión para cada miembro" en la configuración del módulo miembros. Si necesita administrar un inicio de sesión, pero no necesita ninguna contraseña, puede dejar este campo vacío para evitar esta advertencia. Nota: También puede usarse el correo electrónico como inicio de sesión si el miembro está vinculada a un usuario.
|
||||
|
||||
@ -26,8 +26,6 @@ FieldTitle=Título campo
|
||||
NowClickToGenerateToBuildExportFile=Ahora, seleccione el formato de exportación de la lista desplegable y haga clic en "Generar" para generar el archivo exportación...
|
||||
AvailableFormats=Formatos disponibles
|
||||
LibraryShort=Librería
|
||||
LibraryUsed=Librería utilizada
|
||||
LibraryVersion=Versión
|
||||
Step=Paso
|
||||
FormatedImport=Asistente de importación
|
||||
FormatedImportDesc1=Esta área permite realizar importaciones personalizadas de datos mediante un ayudante que evita tener conocimientos técnicos de Dolibarr.
|
||||
|
||||
@ -11,7 +11,7 @@ TypeOfSupport=Tipo de soporte
|
||||
TypeSupportCommunauty=Comunitario (gratuito)
|
||||
TypeSupportCommercial=Comercial
|
||||
TypeOfHelp=Tipo
|
||||
NeedHelpCenter=¿Necesita soporte o ayuda?
|
||||
NeedHelpCenter=¿Necesita ayuda o soporte?
|
||||
Efficiency=Eficacia
|
||||
TypeHelpOnly=Sólamente ayuda
|
||||
TypeHelpDev=Ayuda+Desarrollo
|
||||
|
||||
@ -100,4 +100,4 @@ HolidaysCanceled=Días libres retribuidos cancelados
|
||||
HolidaysCanceledBody=Su solicitud de días libres retribuidos desde el %s al %s ha sido cancelada.
|
||||
FollowedByACounter=1: Este tipo de día retribuido necesita ser seguido por un contador. El contador se incrementa de forma manual o automáticamente y cuando se valida una solicitud, el contador disminuye.<br> 0: No es seguido por un contador.
|
||||
NoLeaveWithCounterDefined=No hay ningún tipo de peticiones definidas que deben ser seguidas por un contador
|
||||
GoIntoDictionaryHolidayTypes=Vaya a <strong>Inicoi - Configuración - Diccionarios - Tipos de vacaciones </strong> para configurar los diferentes tipos.
|
||||
GoIntoDictionaryHolidayTypes=Vaya a <strong>Inicio - Configuración - Diccionarios - Tipos de vacaciones </strong> para configurar los diferentes tipos.
|
||||
|
||||
@ -62,7 +62,6 @@ KeepEmptyIfNoPassword=Deje vacío si el usuario no tiene contraseña
|
||||
SaveConfigurationFile=Grabación del archivo de configuración
|
||||
ServerConnection=Conexión al servidor
|
||||
DatabaseCreation=Creación de la base de datos
|
||||
UserCreation=Creación del usuario
|
||||
CreateDatabaseObjects=Creación de los objetos de la base de datos
|
||||
ReferenceDataLoading=Carga de los datos de referencia
|
||||
TablesAndPrimaryKeysCreation=Creación de las tablas y los índices
|
||||
@ -133,7 +132,7 @@ MigrationFinished=Actualización terminada
|
||||
LastStepDesc=<strong>Último paso</strong>: Indique aquí la cuenta y la contraseña del primer usuario que usted utilizará para conectarse a la aplicación. No pierda estos identificadores, es la cuenta que permite administrar el resto.
|
||||
ActivateModule=Activación del módulo %s
|
||||
ShowEditTechnicalParameters=Pulse aquí para ver/editar los parámetros técnicos (modo experto)
|
||||
WarningUpgrade=Advertencia: \n¿Ha realizado una copia de seguridad de su base de datos antes? \nEsto es altamente recomendado: por ejemplo, debido a algunos errores en los sistemas de bases de datos (por ejemplo MySQL versión 5.5.40/41/42/43), algunos datos o tablas pueden perderse durante este proceso, por lo que es altamente recomendado tener un volcado completo de la base de datos antes de iniciar la actualización.\n\nHaga clic en Aceptar para iniciar el proceso de actualización...
|
||||
WarningUpgrade=Advertencia: \\n¿Ha realizado una copia de seguridad de su base de datos antes? \\nEsto es altamente recomendado: por ejemplo, debido a algunos errores en los sistemas de bases de datos (por ejemplo MySQL versión 5.5.40/41/42/43), algunos datos o tablas pueden perderse durante este proceso, por lo que es altamente recomendado tener un volcado completo de la base de datos antes de iniciar la actualización.\\n\\nHaga clic en Aceptar para iniciar el proceso de actualización...
|
||||
ErrorDatabaseVersionForbiddenForMigration=Su versión de base de datos es la %s. Tiene un error crítico que hace que pierda los datos si cambia la estructura de la base de datos, como esto es necesario para el proceso de actualización, este no se va a realizar hasta que actualice su base de datos a una versión mayor con el error subsanado (listado de versiones conocidas con este error: %s)
|
||||
KeepDefaultValuesWamp=Está utilizando el asistente de instalación DoliWamp, los valores propuestos aquí están optimizados. Cambielos solamente si está seguro de ello.
|
||||
KeepDefaultValuesDeb=Está utilizando el asistente de instalación Dolibarr de un paquete Linux (Ubuntu, Debian, Fedora...), los valores propuestos aquí están optimizados. Sólo será necesaria la contraseña del propietario de la base de datos a crear. Cambie la otra información sólamente si está seguro de ello.
|
||||
|
||||
@ -18,8 +18,8 @@ CloneIntervention=Cerrar intervención
|
||||
ConfirmDeleteIntervention=¿Está seguro de querer eliminar esta intervención?
|
||||
ConfirmValidateIntervention=¿Está seguro de querer validar esta intervención bajo la referencia <b>%s</b>?
|
||||
ConfirmModifyIntervention=¿Está seguro de querer modificar esta intervención?
|
||||
ConfirmDeleteInterventionLine=¿Está seguro de querer eliminar esta linea?
|
||||
ConfirmCloneIntervention=¿Está seguro de querer cerrar esta intervención?
|
||||
ConfirmDeleteInterventionLine==¿Está seguro de querer eliminar esta linea?
|
||||
ConfirmCloneIntervention=¿Está seguro de querer clonar esta intervención?
|
||||
NameAndSignatureOfInternalContact=Nombre y firma del participante:
|
||||
NameAndSignatureOfExternalContact=Nombre y firma del cliente:
|
||||
DocumentModelStandard=Documento modelo estándar para intervenciones
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - languages
|
||||
LinkANewFile=Vincular un nuevo archivo/documento
|
||||
LinkedFiles=Archivos y documentos vinculados
|
||||
NoLinkFound=Sin enlaces registrados
|
||||
|
||||
@ -90,7 +90,7 @@ SendMailing=Enviar E-Mailing
|
||||
SendMail=Enviar e-mail
|
||||
MailingNeedCommand=Por razones de seguridad, el envío de un E-Mailing en masa debe realizarse en línea de comandos. Pida a su administrador que lance el comando siguiente para para enviar la correspondencia a a todos los destinatarios:
|
||||
MailingNeedCommand2=Puede enviar en línea añadiendo el parámetro MAILING_LIMIT_SENDBYWEB con un valor numérico que indica el máximo nº de e-mails a enviar por sesión. Para ello vaya a Inicio - Configuración - Varios.
|
||||
ConfirmSendingEmailing=¿Confirma el envío del e-mailing?
|
||||
ConfirmSendingEmailing=Si no puede o prefiere enviarlos con su navegador, por favor confirme que está seguro de que desea enviar emailing desde su navegador
|
||||
LimitSendingEmailing=Nota: El envío de e-mailings desde la interfaz web se realiza en tandas por razones de seguridad y timeouts, se enviarán a <b>%s</b> destinatarios por tanda.
|
||||
TargetsReset=Vaciar lista
|
||||
ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón
|
||||
@ -128,7 +128,7 @@ AdvTgtMaxVal=Valor máxio
|
||||
AdvTgtSearchDtHelp=Use un intervalo para seleccionar una fecha
|
||||
AdvTgtStartDt=Fecha inicio
|
||||
AdvTgtEndDt=Fecha fin
|
||||
AdvTgtTypeOfIncudeHelp=Target Email of third party and email of contact of the third party, or just third party email or just contact email
|
||||
AdvTgtTypeOfIncudeHelp=Destinatario el e-mail del tercero y el e-mail del contacto del tercero, o solamente el e-mail del tercero o el e-mail del contacto
|
||||
AdvTgtTypeOfIncude=Tipo de e-mail destinatario
|
||||
AdvTgtContactHelp=Usar solamente si ha escogido contacto en "Tipo de e-mail destinatario"
|
||||
AddAll=Añadir todo
|
||||
|
||||
@ -28,6 +28,7 @@ NoTemplateDefined=Sin plantilla definida para este tipo de e-mail
|
||||
AvailableVariables=Variables de substitución disponibles
|
||||
NoTranslation=Sin traducción
|
||||
NoRecordFound=No se han encontrado registros
|
||||
NoRecordDeleted=No se ha eliminado el registro
|
||||
NotEnoughDataYet=No hay suficientes datos
|
||||
NoError=Ningún error
|
||||
Error=Error
|
||||
@ -69,6 +70,7 @@ SeeHere=Vea aquí
|
||||
BackgroundColorByDefault=Color de fondo
|
||||
FileRenamed=El archivo ha sido renombrado correctamente
|
||||
FileUploaded=El archivo se ha subido correctamente
|
||||
FileGenerated=el archivo ha sido generado correctamente
|
||||
FileWasNotUploaded=Un archivo ha sido seleccionado para adjuntarlo, pero aún no se ha subido. Haga clic en "Adjuntar este archivo" para ello.
|
||||
NbOfEntries=Nº de entradas
|
||||
GoToWikiHelpPage=Leer la ayuda en línea (es necesario acceso a Internet )
|
||||
@ -228,7 +230,7 @@ DateReference=Fecha de referencia
|
||||
DateStart=Fecha de inicio
|
||||
DateEnd=Fecha de fin
|
||||
DateCreation=Fecha de creación
|
||||
DateCreationShort=Crear fecha
|
||||
DateCreationShort=Fecha creación
|
||||
DateModification=Fecha de modificación
|
||||
DateModificationShort=Fecha modif.
|
||||
DateLastModification=Fecha última modificación
|
||||
@ -572,8 +574,9 @@ BackToList=Volver al listado
|
||||
GoBack=Volver atrás
|
||||
CanBeModifiedIfOk=Puede modificarse si es valido
|
||||
CanBeModifiedIfKo=Puede modificarse si no es valido
|
||||
ValueIsValid=Value is valid
|
||||
ValueIsNotValid=Value is not valid
|
||||
ValueIsValid=Valor válido
|
||||
ValueIsNotValid=Valor no válido
|
||||
RecordCreatedSuccessfully=Registro creado correctamente
|
||||
RecordModifiedSuccessfully=Registro modificado con éxito
|
||||
RecordsModified=%s registros modificados
|
||||
RecordsDeleted=%s registros eliminados
|
||||
@ -716,6 +719,7 @@ DeleteLine=Eliminación de línea
|
||||
ConfirmDeleteLine=¿Está seguro de querer eliminar esta línea?
|
||||
NoPDFAvailableForDocGenAmongChecked=Sin PDF disponibles para la generación de documentos entre los registros seleccionados
|
||||
TooManyRecordForMassAction=Demasiados registros seleccionardos para la acción masiva. La acción está restringida a un listado de %s registros.
|
||||
NoRecordSelected=No se han seleccionado registros
|
||||
MassFilesArea=Área de archivos generados por acciones masivas
|
||||
ShowTempMassFilesArea=Mostrar área de archivos generados por acciones masivas
|
||||
RelatedObjects=Objetos relacionados
|
||||
@ -725,6 +729,14 @@ ClickHere=Haga clic aquí
|
||||
FrontOffice=Front office
|
||||
BackOffice=Back office
|
||||
View=Ver
|
||||
Export=Exportar
|
||||
Exports=Exportaciones
|
||||
ExportFilteredList=Listado filtrado de exportación
|
||||
ExportList=Listado de exportación
|
||||
Miscellaneous=Miscelánea
|
||||
Calendar=Calendario
|
||||
GroupBy=Agrupado por...
|
||||
ViewFlatList=Ver lista plana
|
||||
# Week day
|
||||
Monday=Lunes
|
||||
Tuesday=Martes
|
||||
@ -756,7 +768,7 @@ ShortSaturday=S
|
||||
ShortSunday=D
|
||||
SelectMailModel=Seleccione una plantilla de e-mail
|
||||
SetRef=Establecer ref
|
||||
Select2ResultFoundUseArrows=
|
||||
Select2ResultFoundUseArrows=Varios resultados encontrados. Use las flechas para seleccionar.
|
||||
Select2NotFound=No se han encontrado registros
|
||||
Select2Enter=Introducir
|
||||
Select2MoreCharacter=o más caracteres
|
||||
|
||||
@ -29,7 +29,7 @@ MenuMembersToValidate=Miembros borrador
|
||||
MenuMembersValidated=Miembros validados
|
||||
MenuMembersUpToDate=Miembros al día
|
||||
MenuMembersNotUpToDate=Miembros no al día
|
||||
MenuMembersResiliated=Miembros dados de baja
|
||||
MenuMembersResiliated=Miembros de baja
|
||||
MembersWithSubscriptionToReceive=Miembros a la espera de recibir afiliación
|
||||
DateSubscription=Fecha afiliación
|
||||
DateEndSubscription=Fecha fin afiliación
|
||||
@ -49,10 +49,10 @@ MemberStatusActiveLate=Afiliación no al día
|
||||
MemberStatusActiveLateShort=No al día
|
||||
MemberStatusPaid=Afiliación al día
|
||||
MemberStatusPaidShort=Al día
|
||||
MemberStatusResiliated=Miembro dado de baja
|
||||
MemberStatusResiliated=Miembro de baja
|
||||
MemberStatusResiliatedShort=De baja
|
||||
MembersStatusToValid=Miembros borrador
|
||||
MembersStatusResiliated=Miembros dados de baja
|
||||
MembersStatusResiliated=Miembros de baja
|
||||
NewCotisation=Nueva afiliación
|
||||
PaymentSubscription=Pago de cuotas
|
||||
SubscriptionEndDate=Fecha fin afiliación
|
||||
@ -152,7 +152,6 @@ MenuMembersStats=Estadísticas
|
||||
LastMemberDate=Fecha último miembro
|
||||
Nature=Naturaleza
|
||||
Public=Información pública
|
||||
Exports=Exportaciones
|
||||
NewMemberbyWeb=Nuevo miembro añadido. En espera de validación
|
||||
NewMemberForm=Formulario de inscripción
|
||||
SubscriptionsStatistics=Estadísticas de cotizaciones
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Dolibarr language file - Source file is en_US - oauth
|
||||
ConfigOAuth=Configuración Oauth
|
||||
OAuthServices=OAuth services
|
||||
ManualTokenGeneration=Manual token generation
|
||||
OAuthServices=Servicios OAuth
|
||||
ManualTokenGeneration=Generación manual de token
|
||||
NoAccessToken=No hay token de acceso guardado en la base de datos local
|
||||
HasAccessToken=Se ha generado y guardado en la base de datos local un token
|
||||
NewTokenStored=Token recibido y guardado
|
||||
@ -11,16 +11,15 @@ RequestAccess=Haga clic aquí para consultar/renovar acceso y recibir un nuevo t
|
||||
DeleteAccess=Haga clic aquí para eliminar el token
|
||||
UseTheFollowingUrlAsRedirectURI=Utilice la siguiente dirección URL como redireccionamiento URI al crear su credencial de su proveedor OAuth:
|
||||
ListOfSupportedOauthProviders=Indique aquí la credencial proporcionada por su proveedor de OAuth2. Sólo son mostrados los proveedores OAuth2 soportados. Esta configuración puede ser usada por otros módulos que requieren autenticación OAuth2.
|
||||
TOKEN_ACCESS=
|
||||
TOKEN_REFRESH=Token Refresh Present
|
||||
TOKEN_EXPIRED=Token expired
|
||||
TOKEN_EXPIRE_AT=Token expire at
|
||||
TOKEN_DELETE=Delete saved token
|
||||
OAUTH_GOOGLE_NAME=Oauth Google service
|
||||
OAUTH_GOOGLE_ID=Oauth Google Id
|
||||
TOKEN_REFRESH=Refresco del token actual
|
||||
TOKEN_EXPIRED=Token expirado
|
||||
TOKEN_EXPIRE_AT=Token expira el
|
||||
TOKEN_DELETE=Eliminar token guardado
|
||||
OAUTH_GOOGLE_NAME=Servicio Oauth Google
|
||||
OAUTH_GOOGLE_ID=Id Oauth Google
|
||||
OAUTH_GOOGLE_SECRET=Oauth Google Secret
|
||||
OAUTH_GOOGLE_DESC=Go on <a class="notasortlink" href="https://console.developers.google.com/" target="_blank">this page</a> then "Credentials" to create Oauth credentials
|
||||
OAUTH_GITHUB_NAME=Oauth GitHub service
|
||||
OAUTH_GITHUB_ID=Oauth GitHub Id
|
||||
OAUTH_GOOGLE_DESC=Vaya a <a class="notasortlink" href="https://console.developers.google.com/" target="_blank">esta página</a> y a "Credenciales" para crear credenciales Oauth
|
||||
OAUTH_GITHUB_NAME=Servicio Oauth GitHub
|
||||
OAUTH_GITHUB_ID=Id Oauth Github
|
||||
OAUTH_GITHUB_SECRET=Oauth GitHub Secret
|
||||
OAUTH_GITHUB_DESC=Go on <a class="notasortlink" href="https://github.com/settings/developers" target="_blank">this page</a> then "Register a new application" to create Oauth credentials
|
||||
OAUTH_GITHUB_DESC=Vaya a <a class="notasortlink" href="https://github.com/settings/developers" target="_blank">esta página</a> y a "Register a new application" para crear crecenciales Oauth
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
# Dolibarr language file - Source file is en_US - other
|
||||
SecurityCode=Código seguridad
|
||||
Calendar=Calendario
|
||||
NumberingShort=Nº
|
||||
Tools=Utilidades
|
||||
ToolsDesc=Todas las utilidades que no están incluidas en otras entradas del menú se encuentran aquí.<br /><br />Están disponibes en el menú de la izquierda.
|
||||
@ -43,7 +42,7 @@ Notify_SHIPPING_SENTBYMAIL=Envío expedición por e-mail
|
||||
Notify_MEMBER_VALIDATE=Validación miembro
|
||||
Notify_MEMBER_MODIFY=Miembro modificado
|
||||
Notify_MEMBER_SUBSCRIPTION=Afiliación miembro
|
||||
Notify_MEMBER_RESILIATE=Baja miembro
|
||||
Notify_MEMBER_RESILIATE=Miembro de baja
|
||||
Notify_MEMBER_DELETE=Eliminación miembro
|
||||
Notify_PROJECT_CREATE=Creación de proyecto
|
||||
Notify_TASK_CREATE=Tarea creada
|
||||
@ -55,7 +54,6 @@ TotalSizeOfAttachedFiles=Tamaño total de los archivos/documentos adjuntos
|
||||
MaxSize=Tamaño máximo
|
||||
AttachANewFile=Adjuntar nuevo archivo/documento
|
||||
LinkedObject=Objeto adjuntado
|
||||
Miscellaneous=Miscelánea
|
||||
NbOfActiveNotifications=Número de notificaciones (nº de destinatarios)
|
||||
PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas están separadas por un retorno de carro a la línea.
|
||||
PredefinedMailTestHtml=Esto es un e-mail de <b>prueba</b>(la palabra prueba debe de estar en negrita).<br>Las 2 líneas están separadas por un retorno de carro en la línea
|
||||
@ -201,33 +199,13 @@ IfAmountHigherThan=si el importe es mayor que <strong>%s</strong>
|
||||
SourcesRepository=Repositorio de los fuentes
|
||||
Chart=Gráfico
|
||||
|
||||
##### Calendar common #####
|
||||
NewCompanyToDolibarr=Empresa %s añadida
|
||||
ContractValidatedInDolibarr=Contrato %s validado
|
||||
PropalClosedSignedInDolibarr=Presupuesto %s firmado
|
||||
PropalClosedRefusedInDolibarr=Presupuesto %s rechazado
|
||||
PropalValidatedInDolibarr=Presupuesto %s validado
|
||||
PropalClassifiedBilledInDolibarr=Presupuesto %s clasificado facturado
|
||||
InvoiceValidatedInDolibarr=Factura %s validada
|
||||
InvoicePaidInDolibarr=Factura %s pasada a pagada
|
||||
InvoiceCanceledInDolibarr=Factura %s cancelada
|
||||
MemberValidatedInDolibarr=Miembro %s validado
|
||||
MemberResiliatedInDolibarr=Miembro %s dado de baja
|
||||
MemberDeletedInDolibarr=Miembro %s eliminado
|
||||
MemberSubscriptionAddedInDolibarr=Subscripción del miembro %s añadida
|
||||
ShipmentValidatedInDolibarr=Expedición %s validada
|
||||
ShipmentClassifyClosedInDolibarr=Expedición %s clasificada como facturada
|
||||
ShipmentUnClassifyCloseddInDolibarr=Expedición %s clasificada como reabierta
|
||||
ShipmentDeletedInDolibarr=Expedición %s eliminada
|
||||
##### Export #####
|
||||
Export=Exportación
|
||||
ExportsArea=Área de exportaciones
|
||||
AvailableFormats=Formatos disponibles
|
||||
LibraryUsed=Librería utilizada
|
||||
LibraryVersion=Versión
|
||||
LibraryVersion=Versión librería
|
||||
ExportableDatas=Datos exportables
|
||||
NoExportableData=No hay datos exportables (sin módulos con datos exportables cargados, o carecen de permisos)
|
||||
NewExport=Nueva exportación
|
||||
##### External sites #####
|
||||
WebsiteSetup=Configuración del módulo website
|
||||
WEBSITE_PAGEURL=URL de la página
|
||||
|
||||
@ -20,5 +20,5 @@ AddDispatchBatchLine=Añada una línea para despacho por caducidad
|
||||
WhenProductBatchModuleOnOptionAreForced=Si el módulo de Lotes/Series está activado, el incremento/decremento de stock es forzado a lo último escogido y no puede editarse. Otras opciones pueden definirse si se necesita
|
||||
ProductDoesNotUseBatchSerial=Este producto no usa lotes/series
|
||||
ProductLotSetup=Configuración del módulo lotes/series
|
||||
ShowCurrentStockOfLot=Show current stock for couple product/lot
|
||||
ShowLogOfMovementIfLot=Show log of movements for couple product/lot
|
||||
ShowCurrentStockOfLot=Mostrar el stock actual de este producto/lote
|
||||
ShowLogOfMovementIfLot=Ver los movimientos de stock de este producto/lote
|
||||
|
||||
@ -199,11 +199,11 @@ PrintsheetForOneBarCode=Imprimir varias etiquetas por código de barras
|
||||
BuildPageToPrint=Generar página a imprimir
|
||||
FillBarCodeTypeAndValueManually=Rellenar tipo y valor del código de barras manualmente.
|
||||
FillBarCodeTypeAndValueFromProduct=Rellenar tipo y valor del código de barras de un producto.
|
||||
FillBarCodeTypeAndValueFromThirdParty=Fill barcode type and value from barcode of a third party.
|
||||
FillBarCodeTypeAndValueFromThirdParty=Rellenar tipo y el valor del código de barras de un tercero
|
||||
DefinitionOfBarCodeForProductNotComplete=Definición de tipo o valor de código de barras incompleta en el producto %s.
|
||||
DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for third party %s.
|
||||
DefinitionOfBarCodeForThirdpartyNotComplete=Definición de tipo o valor de código de barras incompleta en el tercero %s.
|
||||
BarCodeDataForProduct=Información del código de barras del producto %s:
|
||||
BarCodeDataForThirdparty=Barcode information of third party %s :
|
||||
BarCodeDataForThirdparty=Información del código de barras del tercero %s:
|
||||
ResetBarcodeForAllRecords=Definir códigos de barras para todos los registros (machacará los valores de códigos de barras ya registrados)
|
||||
PriceByCustomer=Cambiar precios para cada cliente
|
||||
PriceCatalogue=Un precio único de venta por producto/servicio
|
||||
|
||||
@ -95,7 +95,7 @@ ConfirmValidateProject=¿Está seguro de querer validar este proyecto?
|
||||
CloseAProject=Cerrar proyecto
|
||||
ConfirmCloseAProject=¿Está seguro de querer cerrar este proyecto?
|
||||
ReOpenAProject=Reabrir proyecto
|
||||
ConfirmReOpenAProject=¿Está seguro de querer reabrir este proyecto?
|
||||
ConfirmReOpenAProject=Está seguro de querer reabrir este proyecto?
|
||||
ProjectContact=Contactos proyecto
|
||||
ActionsOnProject=Eventos del proyecto
|
||||
YouAreNotContactOfProject=Usted no es contacto de este proyecto privado
|
||||
@ -123,7 +123,7 @@ ProjectReportDate=Cambiar las fechas de las tareas en función de la fecha de in
|
||||
ErrorShiftTaskDate=Se ha producido un error en el cambio de las fechas de las tareas
|
||||
ProjectsAndTasksLines=Proyectos y tareas
|
||||
ProjectCreatedInDolibarr=Proyecto %s creado
|
||||
ProjectModifiedInDolibarr=Project %s modified
|
||||
ProjectModifiedInDolibarr=Proyecto %s modificado
|
||||
TaskCreatedInDolibarr=La tarea %s fue creada
|
||||
TaskModifiedInDolibarr=La tarea %s fue modificada
|
||||
TaskDeletedInDolibarr=La tarea %s fue eliminada
|
||||
|
||||
@ -57,7 +57,7 @@ DefaultProposalDurationValidity=Plazo de validez por defecto (en días)
|
||||
UseCustomerContactAsPropalRecipientIfExist=Utilizar dirección contacto de seguimiento de cliente definido en vez de la dirección del tercero como destinatario de los presupuestos
|
||||
ClonePropal=Clonar presupuesto
|
||||
ConfirmClonePropal=¿Está seguro de querer clonar el presupuesto <b>%s</b>?
|
||||
ConfirmReOpenProp=¿Está seguro de querer reabrir el presupuesto <b>%s</b> ?
|
||||
ConfirmReOpenProp=¿Está seguro de querer reabrir el presupuesto <b>%s</b>?
|
||||
ProposalsAndProposalsLines=Presupuestos a clientes y líneas de presupuestos
|
||||
ProposalLine=Línea de presupuesto
|
||||
AvailabilityPeriod=Tiempo de entrega
|
||||
|
||||
@ -38,7 +38,7 @@ SmsStatusNotSent=No enviado
|
||||
SmsSuccessfulySent=SMS enviado correctamente (desde %s hasta %s)
|
||||
ErrorSmsRecipientIsEmpty=El número del destinatario está vacío
|
||||
WarningNoSmsAdded=Sin nuevos números de teléfono a añadir a la lista de destinatarios.
|
||||
ConfirmValidSms=¿Confirma la validación de esta campaña?
|
||||
ConfirmValidSms=¿Confirma la eliminación de esta campaña?
|
||||
NbOfUniqueSms=Nº de teléfonos únicos
|
||||
NbOfSms=Nº de teléfono
|
||||
ThisIsATestMessage=Este es un mensaje de prueba
|
||||
|
||||
@ -19,7 +19,7 @@ AddSupplierProposal=Crear un presupuesto
|
||||
SupplierProposalRefFourn=Ref. Proveedor
|
||||
SupplierProposalDate=Fecha de entrega
|
||||
SupplierProposalRefFournNotice=Antes de cerrar a "Aceptado", piense en consultar las referencias de proveedores.
|
||||
ConfirmValidateAsk=¿Está seguro de querer validar este presupuesto bajo la referencia <b>%s</b> ?
|
||||
ConfirmValidateAsk=¿Está seguro de querer validar este presupuesto bajo la referencia <b>%s</b>?
|
||||
DeleteAsk=Eliminar presupuesto
|
||||
ValidateAsk=Validar presupuesto
|
||||
SupplierProposalStatusDraft=Borrador (a validar)
|
||||
@ -34,12 +34,12 @@ SupplierProposalStatusNotSignedShort=Rechazado
|
||||
CopyAskFrom=Crear presupuesto por copia de uno existente
|
||||
CreateEmptyAsk=Crear un presupuesto en blanco
|
||||
CloneAsk=Clonar presupuesto
|
||||
ConfirmCloneAsk=¿Está seguro de querer clonar el presupuesto <b>%s</b> ?
|
||||
ConfirmReOpenAsk=¿Está seguro de querer reabrir el presupuesto <b>%s</b> ?
|
||||
ConfirmCloneAsk=¿Está seguro de querer clonar el presupuesto <b>%s</b>?
|
||||
ConfirmReOpenAsk=¿Está seguro de querer reabrir el presupuesto <b>%s</b>?
|
||||
SendAskByMail=Envío presupuesto por e-mail
|
||||
SendAskRef=Enviando el presupuesto %s
|
||||
SupplierProposalCard=Ficha presupuesto
|
||||
ConfirmDeleteAsk=¿Está seguro de querer eliminar este presupuesto?
|
||||
ConfirmDeleteAsk=¿Está seguro de querer eliminar este presupuesto <b>%s</b>?
|
||||
ActionsOnSupplierProposal=Eventos del presupuesto
|
||||
DocModelAuroreDescription=Modelo de presupuesto completo (logo...)
|
||||
CommercialAsk=Presupuesto
|
||||
|
||||
@ -24,7 +24,7 @@ ExportDataset_fournisseur_1=Facturas de proveedores y líneas de factura
|
||||
ExportDataset_fournisseur_2=Facturas proveedores y pagos
|
||||
ExportDataset_fournisseur_3=Pedidos de proveedores y líneas de pedido
|
||||
ApproveThisOrder=Aprobar este pedido
|
||||
ConfirmApproveThisOrder=¿Está seguro de querer aprobar el pedido a proveedor <b>%s</b>?
|
||||
ConfirmApproveThisOrder=Está seguro de querer aprobar el pedido a proveedor <b>%s</b>?
|
||||
DenyingThisOrder=Denegar este pedido
|
||||
ConfirmDenyingThisOrder=¿Está seguro de querer denegar el pedido a proveedor <b>%s</b>?
|
||||
ConfirmCancelThisOrder=¿Está seguro de querer cancelar el pedido a proveedor <b>%s</b>?
|
||||
|
||||
@ -19,12 +19,12 @@ DeleteAUser=Eliminar un usuario
|
||||
EnableAUser=Reactivar un usuario
|
||||
DeleteGroup=Eliminar
|
||||
DeleteAGroup=Eliminar un grupo
|
||||
ConfirmDisableUser=¿Está seguro de querer desactivar al usuario <b>%s</b> ?
|
||||
ConfirmDeleteUser=¿Está seguro de querer eliminar al usuario <b>%s</b> ?
|
||||
ConfirmDeleteGroup=¿Está seguro de querer eliminar al grupo <b>%s</b> ?
|
||||
ConfirmEnableUser=¿Está seguro de querer reactivar al usuario <b>%s</b> ?
|
||||
ConfirmReinitPassword=¿Está seguro de querer generar una nueva contraseña al usuario <b>%s</b> ?
|
||||
ConfirmSendNewPassword=¿Está seguro de querer enviar una nueva contraseña al usuario <b>%s</b> ?
|
||||
ConfirmDisableUser=Está seguro de querer desactivar al usuario <b>%s</b>?
|
||||
ConfirmDeleteUser=¿Está seguro de querer eliminar al usuario <b>%s</b>?
|
||||
ConfirmDeleteGroup=¿Está seguro de querer eliminar al grupo <b>%s</b>?
|
||||
ConfirmEnableUser=¿Está seguro de querer activar al usuario <b>%s</b>?
|
||||
ConfirmReinitPassword=¿Está seguro de querer generar una nueva contraseña al usuario <b>%s</b>?
|
||||
ConfirmSendNewPassword=¿Está seguro de querer generar y enviar una nueva contraseña al usuario <b>%s</b>?
|
||||
NewUser=Nuevo usuario
|
||||
CreateUser=Crear usuario
|
||||
LoginNotDefined=El usuario no está definido
|
||||
|
||||
@ -79,8 +79,8 @@ WithdrawMode=Modo domiciliación (FRST o RECUR)
|
||||
WithdrawRequestAmount=Importe petición domiciliación:
|
||||
WithdrawRequestErrorNilAmount=No es posible crear una petición de domiciliación con importe nulo
|
||||
SepaMandate=Mandato SEPA
|
||||
SepaMandateShort=SEPA Mandate
|
||||
PleaseReturnMandate=Please return this mandate form by email to %s or by mail to
|
||||
SepaMandateShort=Mandato SEPA
|
||||
PleaseReturnMandate=Devuelva este formulario de mandato por e-mail a %s o por correo a
|
||||
SEPALegalText=Al firmar este mandato, autoriza (A) %s a enviar instrucciones a su banco para cargar en su cuenta y (B) a su banco para cargar en su cuenta de acuerdo con las instrucciones de %s. Como parte de sus derechos, tiene derecho a una devolución en los términos y condiciones de su contrato con su banco. Una devolución debe reclamarse dentro de 8 semanas a partir de la fecha en que se hizo el cargo a su cuenta. Sus derechos con respecto al mandato anterior se explican en un comunicado que se puede obtener de su banco.
|
||||
CreditorIdentifier=Identificador Acreedor
|
||||
CreditorName=Nombre acreedor
|
||||
|
||||
@ -169,7 +169,7 @@ InvoiceRef=Réf facture
|
||||
CodeNotDef=Non défini
|
||||
WarningDepositsNotIncluded=Les factures d'acomptes ne sont pas encore prises en compte dans cette version avec ce module de comptabilité.
|
||||
DatePaymentTermCantBeLowerThanObjectDate=La date limite de règlement ne peut être inférieure à la date de l'object
|
||||
Pcg_version=Version du plan
|
||||
Pcg_version=Modèle de plan de compte
|
||||
Pcg_type=Classe de compte
|
||||
Pcg_subtype=Sous classe de compte
|
||||
InvoiceLinesToDispatch=Lignes de factures à ventiler
|
||||
@ -184,11 +184,11 @@ CalculationRuleDescSupplier=Selon le fournisseur, choisissez le mode approprié
|
||||
TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaires par produit, dans une comptabilité en mode <b>comptabilité de caisse</b> n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit <b>comptabilité d'engagement</b> (voir la configuration du module de comptabilité).
|
||||
CalculationMode=Mode de calcul
|
||||
AccountancyJournal=Code journal comptabilité
|
||||
ACCOUNTING_VAT_SOLD_ACCOUNT=Code comptable par défaut pour l'encaissement de TVA (TVA sur les ventes)
|
||||
ACCOUNTING_VAT_BUY_ACCOUNT=Code comptable par défaut pour le paiement de la TVA (TVA sur les achats)
|
||||
ACCOUNTING_VAT_PAY_ACCOUNT=Code comptable par défaut pour le paiement de la TVA
|
||||
ACCOUNTING_ACCOUNT_CUSTOMER=Code comptable par défaut des tiers clients
|
||||
ACCOUNTING_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs
|
||||
ACCOUNTING_VAT_SOLD_ACCOUNT=Compte comptable par défaut pour l'encaissement de TVA (TVA sur les ventes)
|
||||
ACCOUNTING_VAT_BUY_ACCOUNT=Compte comptable par défaut pour le paiement de la TVA (TVA sur les achats)
|
||||
ACCOUNTING_VAT_PAY_ACCOUNT=Compte comptable par défaut pour le paiement de la TVA
|
||||
ACCOUNTING_ACCOUNT_CUSTOMER=Compte comptable par défaut des tiers clients
|
||||
ACCOUNTING_ACCOUNT_SUPPLIER=Compte comptable par défaut des tiers fournisseurs
|
||||
CloneTax=Cloner une charge sociale/fiscale
|
||||
ConfirmCloneTax=Confirmez le clone du paiement de charge sociale/fiscale
|
||||
CloneTaxForNextMonth=Cloner pour le mois suivant
|
||||
@ -202,3 +202,4 @@ LinkedFichinter=Lié à une intervention
|
||||
ImportDataset_tax_contrib=Importer les charges sociales/fiscales
|
||||
ImportDataset_tax_vat=Importer les paiements de Tva
|
||||
ErrorBankAccountNotFound=Erreur: compte banque non trouvé
|
||||
FiscalPeriod=Période fiscale
|
||||
|
||||
@ -70,6 +70,7 @@ SeeHere=Regardez ici
|
||||
BackgroundColorByDefault=Couleur de fond
|
||||
FileRenamed=Le fichier a été renommé avec succès
|
||||
FileUploaded=Le fichier a été transféré avec succès
|
||||
FileGenerated=Le fichier a été généré avec succès
|
||||
FileWasNotUploaded=Un fichier a été sélectionné pour attachement mais n'a pas encore été uploadé. Cliquez sur "Joindre ce fichier" pour cela.
|
||||
NbOfEntries=Nb d'entrées
|
||||
GoToWikiHelpPage=Consulter l'aide (nécessite un accès internet)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Dolibarr language file - Source file is en_US - salaries
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Code comptable pour les paiements des salaires
|
||||
SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Code comptable pour les charges de personnel
|
||||
SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Compte comptable par défaut pour les paiements des salaires
|
||||
SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Compte comptable par défaut pour les charges de personnel
|
||||
Salary=Salaire
|
||||
Salaries=Salaires
|
||||
NewSalaryPayment=Nouveau règlement de salaire
|
||||
|
||||
@ -9,74 +9,81 @@ ACCOUNTING_EXPORT_DEVISE=Eksporter valuta
|
||||
Selectformat=Velg filformat
|
||||
ACCOUNTING_EXPORT_PREFIX_SPEC=Velg prefiks for filnavnet
|
||||
|
||||
AccountancySetupDoneFromAccountancyMenu=Mesteparten av regnskapet settes opp fra menyen %s
|
||||
ConfigAccountingExpert=Konfigurasjon av modulen regnskapsekspert
|
||||
Journalization=Journalføring
|
||||
Journaux=Journaler
|
||||
JournalFinancial=Finasielle journaler
|
||||
BackToChartofaccounts=Returner kontotabell
|
||||
Chartofaccounts=Diagram over kontoer
|
||||
|
||||
AccountancyArea=Accountancy area
|
||||
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step:
|
||||
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year...
|
||||
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies...
|
||||
AccountancyAreaDescChart=STEP %s: Create or check your chart of account from menu %s
|
||||
AccountancyAreaDescProd=STEP %s: Check the binding between products/services and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on your invoice lines.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescBank=STEP %s: Check the binding between bank accounts and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on your payment lines.<br>For this, go on the card of each financial account. You can start from page %s.
|
||||
AccountancyAreaDescVat=STEP %s: Check the binding between vat payment and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to VAT payments.<br>You can set accounting accounts to use for each VAT from page %s.
|
||||
AccountancyAreaDescSal=STEP %s: Check the binding between salaries payment and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to payment of salaries.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescContrib=STEP %s: Check the binding between special expences (social or fiscal contributions) and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to payments of social contributions.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescDonation=STEP %s: Check the binding between donation and accounting account is done. Complete missing bindings. This will save you time in future for the next steps by suggesting you the correct default accounting account on records related to payments of donation.<br>You can set the account dedicated for that from the menu entry %s.
|
||||
AccountancyArea=Område for regnskap
|
||||
AccountancyAreaDescIntro=Bruk av regnskapsmodulen er gjort i flere skritt:
|
||||
AccountancyAreaDescActionOnce=Følgende tiltak blir vanligvis utført en gang, eller en gang i året ...
|
||||
AccountancyAreaDescActionFreq=Følgende tiltak blir vanligvis utført hver måned, uke eller dag for svært store selskaper ...
|
||||
AccountancyAreaDescChartModel=TRINN %s: Lag en kontomodell fra menyen %s
|
||||
AccountancyAreaDescChart=TRINN %s: Opprett eller kontroller innhold i din kontoplan fra meny %s
|
||||
AccountancyAreaDescBank=TRINN %s: Sjekk at bindingen mellom bankkontoer og regnskapskontoer er gjort. Fullfør manglende bindinger. Dette vil spare deg for tid i fremtiden for de neste trinnene ved å foreslå deg riktig standard regnskapskonto på betalingslinjer. <br> For dette, gå til kortet for hver konto. Du kan starte fra side %s.
|
||||
AccountancyAreaDescVat=TRINN %s: Sjekk at bindingen mellom MVA-betaling og regnskapskonto er gjort. Fullfør manglende bindinger. Dette vil spare deg for tid i fremtiden for de neste trinnene ved å foreslå deg riktig standard regnskapskonto på posten knyttet til MVA-innbetaling.<br>Du kan sette regnskapskontoer for hver MVA-sats på side %s.
|
||||
AccountancyAreaDescSal=TRINN %s: Sjekk at bindingen mellom lønnsutbetaling og regnskapskonto er gjort. Fullfør manglende bindinger. Dette vil spare deg for tid i fremtiden for de neste trinnene ved å foreslå deg riktig standard regnskapskonto på posten knyttet til utbetaling av lønn.<br>Til dette kan du bruke menyoppføringen %s.
|
||||
AccountancyAreaDescContrib=TRINN %s: Sjekk at bindingen mellom spesielle utgifter (diverse avgifter) og regnskapskonto er gjort. Fullfør manglende bindinger. Dette vil spare deg for tid i fremtiden for de neste trinnene ved å foreslå deg riktig standard regnskapskonto på posten knyttet til betaling av skatt.<br>Til dette kan du bruke menyoppføringen %s.
|
||||
AccountancyAreaDescDonation=TRINN %s: Sjekk at bindingen mellom donasjon og regnskapskonto er gjort. Fullfør manglende bindinger. Dette vil spare deg for tid i fremtiden for de neste trinnene ved å foreslå deg riktig standard regnskapskonto på posten knyttet til utbetalinger av donasjon. <br> Du kan sette kontoen dedikert for dette fra menyoppføringen %s.
|
||||
AccountancyAreaDescMisc=TRINN %s: Sjekk at standardbindingen mellom diverse transaksjonslinjer og regnskapskonto er gjort. Fullfør manglende bindinger.<br>Til dette kan du bruke menyoppføringen %s.
|
||||
AccountancyAreaDescProd=TRINN %s: Sjekk at bindingen mellom varer/tjenester og regnskapskonto er gjort. Fullfør manglende bindinger. Dette vil spare deg for tid i fremtiden for de neste trinnene ved å foreslå riktig standard regnskapskonto på fakturalinjer.<br>Til dette kan du bruke menyoppføringen %s.
|
||||
|
||||
AccountancyAreaDescCustomer=STEP %s: Check the binding between existing customer invoice lines and accounting account is done. Complete missing bindings. Once binding is complete, application will be able to record transactions in General Ledger in one click.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescSupplier=STEP %s: Check the binding between existing supplier invoice lines and accounting account is done. Complete missing bindings. Once binding is complete, application will be able to record transactions in General Ledger in one click.<br>For this you can use the menu entry %s.
|
||||
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the General Ledger. Add or edit existing transactions and generate reports
|
||||
AccountancyAreaDescCustomer=TRINN %s: Sjekk at bindingen mellom eksisterende kunde-fakturalinjer og regnskapskonto er gjort. Fullfør manglende bindinger. Når bindingen er fullført, vil applikasjonen kunne journalføre transaksjoner i hovedboken med ett klikk.<br>Til dette kan du bruke menyoppføringen %s.
|
||||
AccountancyAreaDescSupplier=TRINN %s: Sjekk at bindingen mellom eksisterende leverandørfakturalinjer og regnskapskonto er gjort. Fullfør manglende bindinger. Når bindingen er fullført, vil applikasjonen kunne journalføre transaksjoner i hovedboken med ett klikk.<br>Til dette kan du bruke menyoppføringen %s.
|
||||
AccountancyAreaDescWriteRecords=TRINN %s: Skriv transaksjoner inn i hovedboken. For å gjøre dette, kan du gå inn i hver journal, og klikk på knappen "Journalfør transaksjoner i hovedbok".
|
||||
AccountancyAreaDescAnalyze=TRINN %s: Legg til eller endre eksisterende transaksjoner, generer rapporter og utfør eksport
|
||||
|
||||
Selectchartofaccounts=Velg kontotabell
|
||||
AccountancyAreaDescClosePeriod=TRINN %s: Lukk perioden slik at ingen endringer kan bli gjort.
|
||||
|
||||
MenuAccountancy=Regnskap
|
||||
Selectchartofaccounts=Velg kontomodell
|
||||
ChangeAndLoad=Endre og last inn
|
||||
Addanaccount=Legg til regnskapskonto
|
||||
AccountAccounting=Regnskapskonto
|
||||
AccountAccountingShort=Konto
|
||||
AccountAccountingSuggest=Forslag til regnskapskonto
|
||||
Ventilation=Binding to accounts
|
||||
ProductsBinding=Products bindings
|
||||
|
||||
MenuAccountancy=Regnskap
|
||||
CustomersVentilation=Customer invoice binding
|
||||
SuppliersVentilation=Supplier invoice binding
|
||||
Reports=Rapporter
|
||||
NewAccount=Ny regnskapskonto
|
||||
Create=Opprett
|
||||
CreateMvts=Create new transaction
|
||||
UpdateMvts=Modification of a transaction
|
||||
WriteBookKeeping=Record operations in General Ledger
|
||||
MenuDefaultAccounts=Standard kontoer
|
||||
MenuProductsAccounts=Varekontoer
|
||||
ProductsBinding=Varekontoer
|
||||
Ventilation=Binding til kontoer
|
||||
CustomersVentilation=Binding av kundefakturaer
|
||||
SuppliersVentilation=Binding av leverandørfakturaer
|
||||
CreateMvts=Opprett ny transaksjon
|
||||
UpdateMvts=Endre en transaksjon
|
||||
WriteBookKeeping=Journalfør transaksjoner i hovedboken
|
||||
Bookkeeping=Hovedbok
|
||||
AccountBalance=Kontobalanse
|
||||
|
||||
CAHTF=Totalt leverandørkjøp eks. MVA
|
||||
InvoiceLines=Lines of invoices to bind
|
||||
InvoiceLinesDone=Bound lines of invoices
|
||||
IntoAccount=Bind line with the accounting account
|
||||
InvoiceLines=Binding av fakturalinjer
|
||||
InvoiceLinesDone=Bundne fakturalinjer
|
||||
IntoAccount=Bind linje med regnskapskonto
|
||||
|
||||
Ventilate=Bind
|
||||
|
||||
LineId=ID-linje
|
||||
Processing=Behandler
|
||||
EndProcessing=Behandling ferdig
|
||||
AnyLineVentilate=Any lines to bind
|
||||
EndProcessing=Prosess terminert.
|
||||
SelectedLines=Valgte linjer
|
||||
Lineofinvoice=Fakturalinje
|
||||
VentilatedinAccount=Binded successfully to the accounting account
|
||||
NotVentilatedinAccount=Not bound to the accounting account
|
||||
XLineSuccessfullyBinded=%s products/services successfuly bound to an accounting account
|
||||
XLineFailedToBeBinded=%s products/services were not bound to any accounting account
|
||||
NoAccountSelected=Ingen regnskapskonto valgt
|
||||
VentilatedinAccount=Bundet til regnskapskontoen
|
||||
NotVentilatedinAccount=Ikke bundet til regnskapskontoen
|
||||
XLineSuccessfullyBinded=%s varer/tjenester bundet til en regnskapskonto
|
||||
XLineFailedToBeBinded=%s varer/tjenester ble ikke bundet til en regnskapskonto
|
||||
|
||||
ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to bind shown by page (maximum recommended : 50)
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements
|
||||
ACCOUNTING_LIMIT_LIST_VENTILATION=Antall elementer å binde vist pr. side (maksimum anbefalt er 50)
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begynn sortering av siden "Bindinger å utføre" etter de nyeste først
|
||||
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begynn sortering av siden "Bindinger utført" etter de nyeste først
|
||||
|
||||
ACCOUNTING_LENGTH_DESCRIPTION=Lengde for visning av varer- og tjenesterbeskrivelser i lister (Anbefalt = 50)
|
||||
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Lengde for visning av varer- og tjenesters kontobeskrivelser i lister (Anbefalt = 50)
|
||||
ACCOUNTING_LENGTH_DESCRIPTION=Avkort vare- og produktbeskrivelser i lister etter x karakterer (Anbefalt = 50)
|
||||
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Avkort vare- og produkt kontobeskrivelser i lister etter x karakterer (Anbefalt = 50)
|
||||
ACCOUNTING_LENGTH_GACCOUNT=Lengde på hovedbokskontoer
|
||||
ACCOUNTING_LENGTH_AACCOUNT=Lengde på tredjepartskontoer
|
||||
ACCOUNTING_MANAGE_ZERO=Håndter nullen i slutten på en regnskapskonto. Trengs i noen land. Deaktivert som standard. Vær forsiktig med funksjonen "kontolengde".
|
||||
BANK_DISABLE_DIRECT_INPUT=Deaktiver fritekst på banktransaksjoner (Standard er aktivert for dennemodulen)
|
||||
ACCOUNTING_MANAGE_ZERO=Håndter nullen på slutten av en regnskapskonto. Trengs i noen land. Deaktivert som standard. Du må også sette de 2 følgende parametre (ellers blir de ignorert)
|
||||
BANK_DISABLE_DIRECT_INPUT=Deaktiver direkteregistrering av transaksjoner på bankkonto
|
||||
|
||||
ACCOUNTING_SELL_JOURNAL=Salgsjournal
|
||||
ACCOUNTING_PURCHASE_JOURNAL=Innkjøpsjournal
|
||||
@ -101,23 +108,23 @@ Labelcompte=Kontoetikett
|
||||
Sens=som betyr
|
||||
Codejournal=Journal
|
||||
NumPiece=Del nummer
|
||||
TransactionNumShort=Transaksjonsnummer
|
||||
AccountingCategory=Regnskapskategori
|
||||
GroupByAccountAccounting=Grupper etter regnskapskonto
|
||||
NotMatch=Ikke valgt
|
||||
DeleteMvt=Slett linjer i hovedboken
|
||||
DelYear=År som skal slettes
|
||||
DelJournal=Journal som skal slettes
|
||||
ConfirmDeleteMvt=Dette vil slette alle linjer i hovedboken for et år eller fra en spesifikk journal
|
||||
ConfirmDeleteMvt=Dette vil slette alle linjer i hovedboken for året og/eller fra en spesifikk journal. Minst ett kriterie er påkrevet
|
||||
ConfirmDeleteMvtPartial=Dette vil slette valgt linje(r) i hovedboken
|
||||
DelBookKeeping=Slett postene i hovedboken
|
||||
DescSellsJournal=Salgsjournal
|
||||
DescPurchasesJournal=Innkjøpsjournal
|
||||
DelBookKeeping=Slett posten i hovedboken
|
||||
FinanceJournal=Finansjournal
|
||||
DescFinanceJournal=Finansjournal med alle typer betalinger etter bankkonto
|
||||
DescJournalOnlyBindedVisible=This is a view of records that are bound to products/services accountancy account and can be recorded into the General Ledger.
|
||||
VATAccountNotDefined=Account for VAT not defined
|
||||
ThirdpartyAccountNotDefined=Account for third party not defined
|
||||
ProductAccountNotDefined=Account for product not defined
|
||||
BankAccountNotDefined=Account for bank not defined
|
||||
DescJournalOnlyBindedVisible=Her vises poster som er bundet til vare-/tjenestekontoer og kan registreres i hovedboken.
|
||||
VATAccountNotDefined=MVA-konto er ikke definert
|
||||
ThirdpartyAccountNotDefined=Konto for tredjepart er ikke definert
|
||||
ProductAccountNotDefined=Konto for vare er ikke definert
|
||||
BankAccountNotDefined=Konto for bank er ikke definert
|
||||
CustomerInvoicePayment=Betaling av kundefaktura
|
||||
ThirdPartyAccount=Tredjepart-konto
|
||||
NewAccountingMvt=Ny transaksjon
|
||||
@ -125,26 +132,24 @@ NumMvts=Transaksjonsnummer
|
||||
ListeMvts=Liste over bevegelser
|
||||
ErrorDebitCredit=Debet og kredit kan ikke ha en verdi samtidig
|
||||
|
||||
ReportThirdParty=List third party account
|
||||
DescThirdPartyReport=Consult here the list of the third party customers and suppliers and their accounting accounts
|
||||
|
||||
ReportThirdParty=List tredjepartskonto
|
||||
DescThirdPartyReport=Liste over kunder og leverandører og deres regnskapskontoer
|
||||
ListAccounts=Liste over regnskapskontoer
|
||||
|
||||
Pcgtype=Kontoklasse
|
||||
Pcgsubtype=Underklasse av konto
|
||||
Accountparent=Rot/base-kontoer
|
||||
|
||||
TotalVente=Total omsetning før skatt
|
||||
TotalMarge=Total salgsmargin
|
||||
|
||||
DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account
|
||||
DescVentilMore=In most cases, if you use predefined products or services and you set the account number on the product/service card, the application will be able to make all the binding between your invoice lines and the accounting account of your chart of accounts, just in one click with the button <strong>"%s"</strong>. If account was not set on product/service cards or if you still has some lines not bound to any account, you will have to make a manual binding from the menu "<strong>%s</strong>".
|
||||
DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account
|
||||
DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account
|
||||
ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account:
|
||||
DescVentilCustomer=Liste over kunde-fakturalinjer (bundet eller ikke) til en vare-regnskapskonto
|
||||
DescVentilMore=I de fleste tilfeller, hvis du bruker forhåndsdefinerte varer eller tjenester, og du setter kontonummeret på vare/tjeneste-kortet, vil programmet være i stand til å gjøre alle bindinger mellom fakturalinjer og regnskapskonto i din kontoplan, bare med et enkelt klikk på knappen <strong>"%s"</strong>. Hvis kontoen ikke ble satt på vare-/tjenestekortet eller hvis du fortsatt har noen linjer ikke bundet til noen konto, må du foreta en manuell binding fra menyen "<strong>%s</strong>".
|
||||
DescVentilDoneCustomer=Liste over kunde-fakturalinjer og deres vare-regnskapskontoer
|
||||
DescVentilTodoCustomer=Bind fakturalinjer som ikke allerede er bundet, til en vare-regnskapskonto
|
||||
ChangeAccount=Endre regnskapskonto for valgte vare-/tjenestelinjer til følgende konto:
|
||||
Vide=-
|
||||
DescVentilSupplier=Consult here the list of supplier invoice lines bound or not yet bound to a product accounting account
|
||||
DescVentilDoneSupplier=Consult here the list of the lines of invoices supplier and their accounting account
|
||||
DescVentilSupplier=Liste over leverandørfaktura-linjer bundet eller ikke bundet til en vare-regnskapskonto
|
||||
DescVentilDoneSupplier=Liste over leverandørfakturalinjer og tilhørende regnskapskonto
|
||||
|
||||
ValidateHistory=Bind automatisk
|
||||
AutomaticBindingDone=Automatisk binding utført
|
||||
@ -152,11 +157,11 @@ AutomaticBindingDone=Automatisk binding utført
|
||||
ErrorAccountancyCodeIsAlreadyUse=Feil, du kan ikke slette denne regnskapskontoen fordi den er i bruk
|
||||
MvtNotCorrectlyBalanced=Bevegelse er ikke korrekt balansert. Kredit=%s. Debet=%s
|
||||
FicheVentilation=Binding-kort
|
||||
GeneralLedgerIsWritten=Transaksjonene ble registrert i hovedboken
|
||||
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be recorded.
|
||||
NoNewRecordSaved=No new record saved
|
||||
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account
|
||||
ChangeBinding=Change the binding
|
||||
GeneralLedgerIsWritten=Transaksjoner er ført inn i hovedboken
|
||||
GeneralLedgerSomeRecordWasNotRecorded=Noen av transaksjonene kunne ikke registreres
|
||||
NoNewRecordSaved=Ingen nye poster lagret
|
||||
ListOfProductsWithoutAccountingAccount=Liste over varer som ikke bundet til en regnskapskonto
|
||||
ChangeBinding=Endre bindingen
|
||||
|
||||
## Admin
|
||||
ApplyMassCategories=Masseinnlegging av kategorier
|
||||
@ -178,7 +183,8 @@ Modelcsv_cogilog=Eksport mot Cogilog
|
||||
|
||||
## Tools - Init accounting account on product / service
|
||||
InitAccountancy=Initier regnskap
|
||||
InitAccountancyDesc=This page can be used to initialize an accounting account on products and services that does not have accountancy account defined for sales and purchases. Check before that setup of chart of accounts is complete.
|
||||
InitAccountancyDesc=Denne siden kan brukes til å initialisere en regnskapskonto for varer og tjenester som ikke har regnskapskonto definert for salg og kjøp.
|
||||
DefaultBindingDesc=Denne siden kan brukes til å sette en standardkonto til bruk for å for å koble transaksjonsposter om lønnsutbetaling, donasjon, skatter og MVA når ingen bestemt regnskapskonto er satt.
|
||||
Options=Innstillinger
|
||||
OptionModeProductSell=Salgsmodus
|
||||
OptionModeProductBuy=Innkjøpsmodus
|
||||
@ -193,12 +199,11 @@ Calculated=Kalkulert
|
||||
Formula=Formel
|
||||
|
||||
## Error
|
||||
ErrorNoAccountingCategoryForThisCountry=Ingen regnskapskategori er tilgjengelig for dette landet
|
||||
ErrorNoAccountingCategoryForThisCountry=Ingen kontokategori tilgjengelig for landet %s (se Hjem - Oppsett - Ordlister)
|
||||
ExportNotSupported=Eksportformatet som er satt opp støttes ikke på denne siden
|
||||
BookeppingLineAlreayExists=Linjene eksisterer allerede i bokføringen
|
||||
|
||||
Binded=Lines bound
|
||||
ToBind=Lines to bind
|
||||
|
||||
WarningReportNotReliable=Warning, this report is not based on the General Ledger, so is not reliable yet. It will be replaced by a correct report in a next version.
|
||||
Binded=Bundne linjer
|
||||
ToBind=Linjer som skal bindes
|
||||
|
||||
WarningReportNotReliable=Advarsel! Denne rapporten er ikke basert på hovedboken, så den er ikke pålitelig enda. Den vil erstattes av en korrekt rapport i neste versjon
|
||||
|
||||
@ -22,7 +22,7 @@ SessionId=Økt-ID
|
||||
SessionSaveHandler=Håndterer for å lagre sesjoner
|
||||
SessionSavePath=Sted for lagring av økt
|
||||
PurgeSessions=Utrenskning av øktene
|
||||
ConfirmPurgeSessions=Ønsker du virkelig å rense alle økter? Dette vil koble fra alle brukere (bortsett fra deg selv).
|
||||
ConfirmPurgeSessions=Har du virkelig ønsker å rense alle økter? Dette vil frakoble alle brukere (bortsett fra deg selv).
|
||||
NoSessionListWithThisHandler=Øktlagrings-behandleren i PHP tillater ikke å vise alle kjørende økter.
|
||||
LockNewSessions=Lås nye tilkoblinger
|
||||
ConfirmLockNewSessions=Er du sikker på at du vil begrense eventuelle nye Dolibarr tilkoblinger til deg selv?. Bare brukeren <b>%s</b> vil kunne koble til etter det.
|
||||
@ -53,8 +53,6 @@ ErrorModuleRequireDolibarrVersion=Feil: Denne modulen krever Dolibarr versjon %s
|
||||
ErrorDecimalLargerThanAreForbidden=Feil: Presisjon over <b>%s</b> støttes ikke.
|
||||
DictionarySetup=Oppsett av ordliste
|
||||
Dictionary=Ordlister
|
||||
Chartofaccounts=Graf over kontoer
|
||||
Fiscalyear=Regnskapsår
|
||||
ErrorReservedTypeSystemSystemAuto=Verdiene 'system' og 'systemauto' for type er reservert. Du kan bruke 'user' som verdi for å legge til din egen oppføring
|
||||
ErrorCodeCantContainZero=Koden kan ikke inneholde verdien 0
|
||||
DisableJavascript=Deaktiver JavaScript og Ajax funksjoner (Anbefalt for tekstbaserte nettlesere og blinde)
|
||||
@ -64,7 +62,7 @@ DelaiedFullListToSelectCompany=Vent med å trykke på noen taster før innholdet
|
||||
DelaiedFullListToSelectContact=Vent med å trykke på noen taster før innholdet i kontakt-kombilisten er lastet (Dette kan øke ytelsen hvis du har et stort antall tredjeparter)
|
||||
NumberOfKeyToSearch=Antall tegn for å starte søk: %s
|
||||
NotAvailableWhenAjaxDisabled=Ikke tilgjengelig når Ajax er slått av
|
||||
AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party
|
||||
AllowToSelectProjectFromOtherCompany=På elementer av en tredjepart, kan du velge et prosjekt knyttet til en annen tredjepart
|
||||
JavascriptDisabled=JavaScript er deaktivert
|
||||
UsePreviewTabs=Bruk faner for forhåndsvisning
|
||||
ShowPreview=Forhåndsvisning
|
||||
@ -143,7 +141,7 @@ PurgeRunNow=Start utrenskning
|
||||
PurgeNothingToDelete=Ingen mapper eller filer å slette.
|
||||
PurgeNDirectoriesDeleted=<b>%s</b> filer eller mapper slettet.
|
||||
PurgeAuditEvents=Fjern alle sikkerhetshendelser
|
||||
ConfirmPurgeAuditEvents=Er du sikker på at du vil fjerne alle sikkerhetshendelser? Alle sikkerhetslogger vil bli slettet, ingen andre data vil bli slettet.
|
||||
ConfirmPurgeAuditEvents=Er du sikker på at du vil rense alle sikkerhetshendelser? Alle sikkerhetslogger vil bli slettet, ingen andre data vil bli fjernet.
|
||||
GenerateBackup=Opprett sikkerhetskopi
|
||||
Backup=Ta sikkerhetskopi
|
||||
Restore=Gjenopprett fra sikkerhetskopi
|
||||
@ -178,10 +176,10 @@ ExtendedInsert=Utvidet INSERT
|
||||
NoLockBeforeInsert=Ingen låsekommandoer rundt INSERT
|
||||
DelayedInsert=Forsinket INSERT
|
||||
EncodeBinariesInHexa=Binære data kodes hexadecimalt
|
||||
IgnoreDuplicateRecords=Ignorer duplikat-feil (INSERT IGNORE)
|
||||
IgnoreDuplicateRecords=Ignorer feil ved postduplisering (INSERT IGNORE)
|
||||
AutoDetectLang=Auto-oppdag (nettleserspråk)
|
||||
FeatureDisabledInDemo=Funksjonen er slått av i demo
|
||||
FeatureAvailableOnlyOnStable=Feature only available on official stable versions
|
||||
FeatureAvailableOnlyOnStable=Egenskapen er kun tilgjengelig på offisielle, stabile versjoner
|
||||
Rights=Tillatelser
|
||||
BoxesDesc=Widgeter er komponenter som viser litt informasjon som du kan legge til for å tilpasse enkelte sider. Du kan velge mellom å vise widgeten eller ikke ved å velge målside og klikke på 'Aktiver', eller ved å klikke på søppelkassen for å deaktivere den.
|
||||
OnlyActiveElementsAreShown=Bare elementer fra <a href="%s">aktiverte moduler</a> vises.
|
||||
@ -194,8 +192,8 @@ WebSiteDesc=Referansesider for å finne flere moduler.
|
||||
URL=Lenke
|
||||
BoxesAvailable=Tilgjengelige widgeter
|
||||
BoxesActivated=Aktiverte widgeter
|
||||
ActivateOn=Aktivert den
|
||||
ActiveOn=Aktivert den
|
||||
ActivateOn=Aktivert på
|
||||
ActiveOn=Aktivert på
|
||||
SourceFile=Kildefil
|
||||
AvailableOnlyIfJavascriptAndAjaxNotDisabled=Tilgjengelig bare hvis Javascript og Ajax er aktivert
|
||||
Required=Påkrevet
|
||||
@ -244,6 +242,9 @@ MAIN_MAIL_EMAIL_STARTTLS= Bruk TLS (STARTTL) kryptering
|
||||
MAIN_DISABLE_ALL_SMS=Deaktiver alle SMS sendings (for testformål eller demoer)
|
||||
MAIN_SMS_SENDMODE=Metode for å sende SMS
|
||||
MAIN_MAIL_SMS_FROM=Standard avsender telefonnummer for sending av SMS
|
||||
MAIN_MAIL_DEFAULT_FROMTYPE=Standard epost for manuell utsendelse (bruker- eller firma-epost)
|
||||
UserEmail=Bruker-epost
|
||||
CompanyEmail=Firma-epost
|
||||
FeatureNotAvailableOnLinux=Funksjonen er ikke tilgjengelig på Unix/Linux. Test sendmail lokalt.
|
||||
SubmitTranslation=Hvis oversettelsen for dette språket ikke er fullstendig eller du finner feil, kan du rette opp dette ved å redigere filene i katalogen <b>langs/%s</b> og sende endrede filer til www.transifex.com/dolibarr-association/dolibarr/
|
||||
SubmitTranslationENUS=Hvis oversettelse for dette språket ikke er fullstendig eller du finner feil, kan du korrigere dette ved å redigere filer i katalogen <b>langs/%s</b> og sende endrede filer på dolibarr.org/forum eller for utviklere på github.com/Dolibarr/dolibarr.
|
||||
@ -282,7 +283,7 @@ LastStableVersion=Siste stabile versjon
|
||||
LastActivationDate=Siste aktiveringsdato
|
||||
UpdateServerOffline=Oppdater serveren offline
|
||||
GenericMaskCodes=Her kan du legge inn nummereringsmal. I malen kan du bruke følgende tagger:<br><b>{000000}</b> tilsvarer et tall som økes ved hver %s. Angi så mange nuller som du ønsker at lengden på telleren skal være. Telleren vil ha ledende nuller i henhold til malens lengde. <br><b>{000000+000}</b> samme som forrige, men med en forskyvning til høyre for + tegnet, starter fra første %s. <br><b>{000000@x}</b> samme som forrige, men telleren starter fra null når måned x nås (x mellom 1 og 12). Hvis dette valget brukes og x er 2 eller mer kreves også sekvensen {yy}{mm} eller {yyyy}{mm} kreves også. <br><b>{dd}</b> dag (01 til 31).<br><b>{mm}</b> måned (01 til 12).<br><b>{yy}</b>, <b>{yyyy}</b> eller <b>{y}</b> årstall over 2, 4 eller 1 siffer. <br> <b>{cccc000}</b> klientkoden på n tegn etterfulgt av en klientreferanse uten forskyvning og nullet med den globale telleren.<br><br>Alle andre tegn i malen vil forbli intakte.<br>Mellomrom er ikke tillatt.<br><br><u>Eksempel på den 99de %s av tredjeparten blir 31/01/2007:</u><br><b>ABC{yy}{mm}-{000000}</b> vil gi <b>ABC0701-000099</b><br><b>{0000+100}-ZZZ/{dd}/XXX</b> vil gi <b>0199-ZZZ/31/XXX</b><br>
|
||||
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
|
||||
GenericMaskCodes2=<b>{cccc}</b> klientkoden på n tegn<br><b>{cccc000}</b> klientkoden på n tegn etterfølges av en teller dedikert til kunden. Denne telleren blir tilbakestilt til samtidig som den globale telleren.<br><b>{tttt}</b> Koden av tredjeparts type på n tegn (se ordbok-tredjepartstyper). <br>
|
||||
GenericMaskCodes3=Alle andre tegn i masken vil være intakt. <br> Mellomrom er ikke tillatt. <br>
|
||||
GenericMaskCodes4a=<u>Eksempel på 99. %s av tredjeparten TheCompany gjort 31.01.2007:</u><br>
|
||||
GenericMaskCodes4b=<u>Eksempel på tredjepart opprettet på 2007-03-01:</u> <br>
|
||||
@ -303,7 +304,7 @@ UseACacheDelay= Forsinkelse for cache eksport respons i sekunder (0 eller tom fo
|
||||
DisableLinkToHelpCenter=Skjul linken <b>"Trenger du hjelp eller støtte"</b> på innloggingssiden
|
||||
DisableLinkToHelp=Skjul lenke til online hjelp "<b>%s</b>"
|
||||
AddCRIfTooLong=Det er ingen automatisk linjeskift, så hvis linjene er for lange og når ut av siden på dokumenter, må du legge til vognreturer i tekstfeltet.
|
||||
ConfirmPurge=Er du sikker på at du vil utføre denne rensingen?<br>Dette vil slette absolutt alle datafilene permanent (ECM filer, vedlagte filer ...).
|
||||
ConfirmPurge=Er du sikker på at du vil kjøre denne rensingen?<br> Det vil føre til at alle datafiler blir slettet, uten at du kan hente dem tilbake (ECM-filer, vedlegg...).
|
||||
MinLength=Minimum lengde
|
||||
LanguageFilesCachedIntoShmopSharedMemory=Filer .lang lastet i delt minne
|
||||
ExamplesWithCurrentSetup=Eksempler med gjeldende oppsett
|
||||
@ -381,10 +382,10 @@ ValueOverwrittenByUserSetup=Advarsel, denne verdien kan bli overskrevet av bruke
|
||||
ExternalModule=Ekstern modul - Installert i katalog %s
|
||||
BarcodeInitForThirdparties=Masseinitiering av strekkoder for tredjeparter
|
||||
BarcodeInitForProductsOrServices=Masseinitiering eller sletting av strekkoder for varer og tjenester
|
||||
CurrentlyNWithoutBarCode=For øyeblikket er det <strong>%s</strong> poster <strong>%s</strong> %s uten strekkode.
|
||||
CurrentlyNWithoutBarCode=For øyeblikket har du <strong>%s</strong> poster på <strong>%s</strong> %s uten strekkode.
|
||||
InitEmptyBarCode=Startverdi for neste %s tomme post
|
||||
EraseAllCurrentBarCode=Slett alle gjeldende strekkode-verdier
|
||||
ConfirmEraseAllCurrentBarCode=Er di sikker på at du vil slette alle gjeldende strekkode-verdier?
|
||||
ConfirmEraseAllCurrentBarCode=Er du sikker på at du vil slette alle nåværende strekkodeverdier?
|
||||
AllBarcodeReset=Alle strekkode-verdier er blitt slettet
|
||||
NoBarcodeNumberingTemplateDefined=Ingen mal for strekkodenummerering er aktivert strekkodemodulen
|
||||
EnableFileCache=Aktiver fil-cache
|
||||
@ -397,7 +398,7 @@ EnableAndSetupModuleCron=Hvis du ønsker at gjentakende fakturaer skal genereres
|
||||
ModuleCompanyCodeAquarium=Velger en regnskapskode bygget av: <br>%s etterfulgt av tredjeparts leverandørkode for en leverandør-regnskap kode,<br>%s etterfulgt av tredjepart kundekode for en kunde- regnskapkode.
|
||||
ModuleCompanyCodePanicum=Velg en tom regnskapskode
|
||||
ModuleCompanyCodeDigitaria=Regnskapskode avhenger av tredjepartskode. Koden består av karakteren "C" i første posisjon, etterfulgt av de første 5 tegnene i tredjepartskoden.
|
||||
Use3StepsApproval=Som standard må innkjøpsordrer opprettes og godkjennes av 2 forskjellige brukere (ett skritt/bruker for å opprette og ett skritt/bruker for å godkjenne. Merk at hvis brukeren har både tillatelse til å opprette og godkjenne, vil ett skritt/bruker være nok) . Du kan spørre med dette alternativet for å innføre et tredje trinn/bruker-godkjenning, hvis beløpet er høyere enn en dedikert verdi (så 3 trinn vil være nødvendig: 1 = validering, 2 = første godkjenning og 3 = andre godkjenning dersom beløpet er høyt nok).<br> Sett denne tom hvis en godkjenning (2 trinn) er nok, sett den til en svært lav verdi (0,1) hvis det alltid kreves en annen godkjenning.
|
||||
Use3StepsApproval=Som standard må innkjøpsordrer opprettes og godkjennes av 2 forskjellige brukere (1-bruker for å opprette og 2-bruker for å godkjenne. Merk at hvis brukeren har både tillatelse til å opprette og godkjenne, vil ett skritt være nok) . Du kan velge med dette alternativet å innføre et tredje trinn - brukergodkjenning. Hvis beløpet er høyere enn en valgt verdi (3 trinn vil være nødvendig: 1 - validering, 2 - første godkjenning og 3 - andre godkjenning dersom beløpet er høyt nok).<br> Sett denne til tom hvis en godkjenning (2 trinn) er nok, sett den til en svært lav verdi (0,1) hvisdet alltid kreves en andre godkjenning.
|
||||
UseDoubleApproval=Bruk 3-trinns godkjennelse når beløpet (eks. MVA) er høyere enn...
|
||||
|
||||
# Modules
|
||||
@ -482,7 +483,7 @@ Module510Desc=Håndtering av arbeidskontrakter, lønn og utbetalinger
|
||||
Module520Name=Lån
|
||||
Module520Desc=Administrering av lån
|
||||
Module600Name=Varselmeldinger
|
||||
Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each third party) or fixed emails
|
||||
Module600Desc=Send epostvarsler (utløst av noen forretningshendelser) til brukere (oppsett definert for hver bruker), tredjeparts kontaktliste (oppsett definert for hver tredjepart) eller faste eposter
|
||||
Module700Name=Donasjoner
|
||||
Module700Desc=Behandling av donasjoner
|
||||
Module770Name=Utgiftsrapporter
|
||||
@ -758,7 +759,7 @@ Permission1236=Eksportere leverandørordre, attributter og betalinger
|
||||
Permission1237=Eksporter leverandør-bestillinger og detaljer
|
||||
Permission1251=Kjør masseimport av eksterne data til database (datalast)
|
||||
Permission1321=Eksportere kundefakturaer, attributter og betalinger
|
||||
Permission1322=Reopen a paid bill
|
||||
Permission1322=Gjenåpne en betalt regning
|
||||
Permission1421=Eksport kundeordre og attributter
|
||||
Permission20001=Les ferieforespørsler (dine og underordnedes)
|
||||
Permission20002=Opprett/endre ferieforespørsler
|
||||
@ -869,7 +870,7 @@ LabelUsedByDefault=Etiketten som brukes som standard hvis ingen oversettelse kan
|
||||
LabelOnDocuments=Etiketten på dokumenter
|
||||
NbOfDays=Antall dager
|
||||
AtEndOfMonth=Ved månedsslutt
|
||||
CurrentNext=Current/Next
|
||||
CurrentNext=Nåværende/Neste
|
||||
Offset=Forskyvning
|
||||
AlwaysActive=Alltid aktiv
|
||||
Upgrade=Oppgrader
|
||||
@ -1105,9 +1106,8 @@ WatermarkOnDraft=Vannmerke på utkast
|
||||
JSOnPaimentBill=Aktiver egenskap for å autoutfylle betalingslinjer i betalingsskjema
|
||||
CompanyIdProfChecker=Regler for profesjonell ID
|
||||
MustBeUnique=Må være unik?
|
||||
MustBeMandatory=Obligatorisk for å opprette tredjeparter?
|
||||
MustBeInvoiceMandatory=Obligatorisk for å validere fakturaer?
|
||||
Miscellaneous=Diverse
|
||||
MustBeMandatory=Obligatorisk å opprette tredjeparter?
|
||||
MustBeInvoiceMandatory=Obligatorisk å validere fakturaer?
|
||||
##### Webcal setup #####
|
||||
WebCalUrlForVCalExport=En eksportlenke til <b>%s</b> formatet er tilgjengelig på følgende lenke: %s
|
||||
##### Invoices #####
|
||||
@ -1318,7 +1318,7 @@ ProductServiceSetup=Oppsett av varer- og tjenester-modulen
|
||||
NumberOfProductShowInSelect=Maks. antall varer i utvalgslister (0=ingen grenser)
|
||||
ViewProductDescInFormAbility=Visualisering av varebeskrivelser i skjemaer (ellers som oppsprett-tips)
|
||||
MergePropalProductCard=I "Vedlagte filer"-fanen i "Varer og tjenester" kan du aktivere en opsjon for å flette PDF-varedokument til tilbud PDF-azur hvis varen/tjenesten er i tilbudet
|
||||
ViewProductDescInThirdpartyLanguageAbility=Visualization of products descriptions in the third party language
|
||||
ViewProductDescInThirdpartyLanguageAbility=Visualisering av varebeskrivelser i tredjepartens språk
|
||||
UseSearchToSelectProductTooltip=Hvis du har mange varer (>100 000), kan du øke hastigeten ved å sette konstanten PRODUCT_DONOTSEARCH_ANYWHERE til 1 i Oppsett->Annet. Søket vil da begrenses til starten av søkestrengen
|
||||
UseSearchToSelectProduct=Bruk et søkeskjema for å velge vare (i stedet for en nedtrekksliste)
|
||||
SetDefaultBarcodeTypeProducts=Standard strekkodetype for varer
|
||||
@ -1427,7 +1427,7 @@ DetailTarget=Mål for lenker (blank topp åpner et nytt vindu)
|
||||
DetailLevel=Nivå (-1:toppmeny, 0:headermeny, >0 meny og undermeny)
|
||||
ModifMenu=Menyendring
|
||||
DeleteMenu=Slett menyoppføring
|
||||
ConfirmDeleteMenu=Er du sikker på at du vil slette menyoppføringen <b>%s</b> ?
|
||||
ConfirmDeleteMenu=Er du sikker på at du vil slette menyoppføringen <b>%s</b>?
|
||||
FailedToInitializeMenu=Klarte ikke å initialisere menyen
|
||||
##### Tax #####
|
||||
TaxSetup=Modul for skatter,avgifter og utbytte
|
||||
@ -1482,7 +1482,7 @@ NbOfBoomarkToShow=Maksimalt antall bokmerker som skal vises i venstre meny
|
||||
WebServicesSetup=Oppsett av webservices-modul
|
||||
WebServicesDesc=Ved å aktivere denne modulen, vil Dolibarr bli en webtjeneste-server og tilby diverse web-tjenester.
|
||||
WSDLCanBeDownloadedHere=WSDL beskrivelsefil for tilbydte tjenester kan lastes ned her
|
||||
EndPointIs=SOAP klienter må sende sine forespørsler til Dolibarr endepunktet tilgjengelig på URL
|
||||
EndPointIs=SOAP-klienter må sende sine forespørsler til Dolibarr endepunkt tilgjengelig på URL
|
||||
##### API ####
|
||||
ApiSetup=Oppsett av API-modul
|
||||
ApiDesc=Ved å aktivere denne modulen, blir Dolibarr en REST-server for diverse web-tjenester
|
||||
@ -1524,14 +1524,14 @@ TaskModelModule=Dokumentmal for oppgaverapporter
|
||||
UseSearchToSelectProject=Bruk autokomplettering for å velge prosjekt (i stedet for listeboks)
|
||||
##### ECM (GED) #####
|
||||
##### Fiscal Year #####
|
||||
FiscalYears=Regnskapsår
|
||||
FiscalYearCard=Kort for regnskapsår
|
||||
NewFiscalYear=Nytt regnskapsår
|
||||
OpenFiscalYear=Åpne regnskapsår
|
||||
CloseFiscalYear=Lukk regnskapsår
|
||||
DeleteFiscalYear=Slett regnskapsår
|
||||
ConfirmDeleteFiscalYear=Er du sikker på at du vil slette dette regnskapsåret?
|
||||
ShowFiscalYear=Vis regnskapsår
|
||||
AccountingPeriods=Regnskapsperioder
|
||||
AccountingPeriodCard=Regnskapsperiode
|
||||
NewFiscalYear=Ny regnskapsperiode
|
||||
OpenFiscalYear=Åpne regnskapsperiode
|
||||
CloseFiscalYear=Lukk regnskapsperiode
|
||||
DeleteFiscalYear=Slett regnskapsperiode
|
||||
ConfirmDeleteFiscalYear=Er du sikker på at du vil slette denne regnskapsperioden?
|
||||
ShowFiscalYear=Vis regnskapsperiode
|
||||
AlwaysEditable=Kan alltid endres
|
||||
MAIN_APPLICATION_TITLE=Tving synlig navn på program (advarsel: Å sette ditt eget navn her kan fjerne autofyll logginn-funksjonen når du bruker DoliDroid mobilapplikasjon)
|
||||
NbMajMin=Minste antall store bokstaver
|
||||
@ -1552,7 +1552,7 @@ ListOfNotificationsPerUser=Liste over varslinger pr. bruker*
|
||||
ListOfNotificationsPerUserOrContact=Liste over varslinger pr. bruker* eller pr. kontakt**
|
||||
ListOfFixedNotifications=Liste over faste varslinger
|
||||
GoOntoUserCardToAddMore=Gå til fanen "Varslinger" hos en bruker for å legge til eller fjerne en varsling
|
||||
GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses
|
||||
GoOntoContactCardToAddMore=Gå til fanen "Notefikasjoner" hos en tredjepart for å legge til notifikasjoner for kontakter/adresser
|
||||
Threshold=Terskel
|
||||
BackupDumpWizard=Veiviser for å bygge database-backup dumpfil
|
||||
SomethingMakeInstallFromWebNotPossible=Installasjon av ekstern modul er ikke mulig fra webgrensesnittet på grunn av:
|
||||
@ -1596,7 +1596,7 @@ MailToSendIntervention=For å sende intervensjon
|
||||
MailToSendSupplierRequestForQuotation=For å sende forespørsel til leverandør
|
||||
MailToSendSupplierOrder=For å sende leverandørordre
|
||||
MailToSendSupplierInvoice=For å sende leverandørfaktura
|
||||
MailToThirdparty=To send email from third party page
|
||||
MailToThirdparty=For å sende epost fra tredjepart-side
|
||||
ByDefaultInList=Vis som standard for liste
|
||||
YouUseLastStableVersion=Du bruker siste stabile verjon
|
||||
TitleExampleForMajorRelease=Eksempel på melding du kan bruke for å annonsere større oppdateringer (du kan bruke denne på dine websider)
|
||||
@ -1628,7 +1628,7 @@ ListOfAvailableAPIs=Liste over tilgjengelige API'er
|
||||
activateModuleDependNotSatisfied=Modul "%s" avhenger av modulen "%s", som mangler, slik at modulen "%1$s" kanskje ikke virker korrekt. Installer modulen "%2$s" eller deaktiver modulen "%1$s" hvis du vil unngå ubehagelige overraskelser
|
||||
CommandIsNotInsideAllowedCommands=Kommandoen du prøver å kjøre er ikke i listen over tillatte kommandoer definert i parameter <strong>$dolibarr_main_restrict_os_commands</strong> i <strong>conf.php</strong> filen.
|
||||
LandingPage=Landingsside
|
||||
SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choice "Single price", price will be also the same for all companies if products are shared between environments
|
||||
SamePriceAlsoForSharedCompanies=Hvis du bruker en multiselskapsmodul, og har valgt "En pris", vil prisen være den samme for alle selskaper om varene er delt mellom miljøer
|
||||
ModuleEnabledAdminMustCheckRights=Modulen er blitt aktivert. Tillatelser for aktivert(e) modul(er) ble kun gitt til brukere med admin-rettigheter. Du kan gi utvidede rettigheter til andre brukere ved behov.
|
||||
UserHasNoPermissions=Denne brukeren har ingen tillatelser
|
||||
TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")<br>Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)<br>Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days")
|
||||
TypeCdr=Bruk "Ingen" hvis dato for betalingsfrist er fakturadato pluss en delta i dager (delta er feltet "Antall dager")<br>Bruk "På slutten av måneden", dersom det etter delta, at dato må økes for å komme til slutten av måneden (+ en valgfri "Offset" i dager)<br>Bruk "Nåværene/Neste" for å få betalingsdato til å være den første N-te i måneden (N lagres i feltet "Antall dager")
|
||||
|
||||
@ -3,7 +3,6 @@ IdAgenda=Hendelses-ID
|
||||
Actions=Handlinger
|
||||
Agenda=Agenda
|
||||
Agendas=Agendaer
|
||||
Calendar=Kalender
|
||||
LocalAgenda=Intern kalender
|
||||
ActionsOwnedBy=Hendelse tilhører
|
||||
ActionsOwnedByShort=Eier
|
||||
@ -34,11 +33,27 @@ AgendaAutoActionDesc= Her defineres hendelser som du vil at Dolibarr skal oppret
|
||||
AgendaSetupOtherDesc= Her kan du gjøre andre innstillinger i agendamodulen.
|
||||
AgendaExtSitesDesc=Denne siden lar deg sette opp eksterne kalendere for å visning i Dolibarr agenda.
|
||||
ActionsEvents=Handlinger som Dolibarr automatisk registrerer i agendaen
|
||||
##### Agenda event labels #####
|
||||
NewCompanyToDolibarr=Tredjepart %s opprettet
|
||||
ContractValidatedInDolibarr=Kontrakt %s validert
|
||||
PropalClosedSignedInDolibarr=Tilbud %s signert
|
||||
PropalClosedRefusedInDolibarr=Tilbud %s avvist
|
||||
PropalValidatedInDolibarr=Tilbud godkjent
|
||||
PropalClassifiedBilledInDolibarr=Tilbud %s klassifisert betalt
|
||||
InvoiceValidatedInDolibarr=Faktura %s validert
|
||||
InvoiceValidatedInDolibarrFromPos=Faktura %s godkjent fra POS
|
||||
InvoiceBackToDraftInDolibarr=Sett faktura %s tilbake til utkaststatus
|
||||
InvoiceDeleteDolibarr=Faktura %s slettet
|
||||
InvoicePaidInDolibarr=Faktura %s endret til betalt
|
||||
InvoiceCanceledInDolibarr=Faktura %s kansellert
|
||||
MemberValidatedInDolibarr=Medlem %s validert
|
||||
MemberResiliatedInDolibarr=Medlem %s terminert
|
||||
MemberDeletedInDolibarr=Medlem %s slettet
|
||||
MemberSubscriptionAddedInDolibarr=Abonnement for medlem %s lagt til
|
||||
ShipmentValidatedInDolibarr=Leveranse %s validert
|
||||
ShipmentClassifyClosedInDolibarr=Levering %s klassifisert som fakturert
|
||||
ShipmentUnClassifyCloseddInDolibarr=Levering %s klassifisert som gjenåpnet
|
||||
ShipmentDeletedInDolibarr=Leveranse %s slettet
|
||||
OrderValidatedInDolibarr=Ordre %s validert
|
||||
OrderDeliveredInDolibarr=Ordre %s klassifisert som levert
|
||||
OrderCanceledInDolibarr=Ordre %s kansellert
|
||||
@ -57,9 +72,9 @@ InterventionSentByEMail=Intervensjon %s sendt på epost
|
||||
ProposalDeleted=Tilbud slettet
|
||||
OrderDeleted=Ordre slettet
|
||||
InvoiceDeleted=Faktura slettet
|
||||
NewCompanyToDolibarr= Tredjepart opprettet
|
||||
DateActionStart= Startdato
|
||||
DateActionEnd= Sluttdato
|
||||
##### End agenda events #####
|
||||
DateActionStart=Startdato
|
||||
DateActionEnd=Sluttdato
|
||||
AgendaUrlOptions1=Du kan også bruke følgende parametere til å filtrere listen:
|
||||
AgendaUrlOptions2=<b>login=%s</b> for å begrense resultat til hendelse som er opprettet av eller tildelt bruker<b>%s</b>.
|
||||
AgendaUrlOptions3=<b>logina=%s</b> for å begrense resultat til hendelser eiet av en bruker <b>%s</b>.
|
||||
|
||||
@ -41,7 +41,7 @@ BankAccountOwner=Kontoeier
|
||||
BankAccountOwnerAddress=Kontoeiers adresse
|
||||
RIBControlError=Integritetssjekk feilet. Dette betyr at informasjon om denne kontoen er ufullstendig eller feil (sjekk land, nummer og IBAN).
|
||||
CreateAccount=Opprett konto
|
||||
NewAccount=Ny konto
|
||||
NewBankAccount=Ny konto
|
||||
NewFinancialAccount=Ny hovedbokskonto
|
||||
MenuNewFinancialAccount=Ny hovedbokskonto
|
||||
EditFinancialAccount=Rediger konto
|
||||
@ -58,13 +58,13 @@ Account=Konto
|
||||
BankTransactionByCategories=Transaksjoner etter kategorier
|
||||
BankTransactionForCategory=Transaksjoner i kategorien <b>%s</b>
|
||||
RemoveFromRubrique=Fjern lenke med kategori
|
||||
RemoveFromRubriqueConfirm=Er du sikker på at du vil fjerne lenken mellom transaksjonen og kategorien?
|
||||
RemoveFromRubriqueConfirm=Er du sikker på at du vil fjerne koblingen mellom transaksjonen og kategorien?
|
||||
ListBankTransactions=Oversikt over transaksjoner
|
||||
IdTransaction=Transaksjons-ID
|
||||
BankTransactions=Banktransaksjoner
|
||||
ListTransactions=List over transaksjoner
|
||||
ListTransactionsByCategory=Liste over transaksjoner/kategorier
|
||||
TransactionsToConciliate=Transaksjon du vil stemme av
|
||||
TransactionsToConciliate=Transaksjoner til avstemming
|
||||
Conciliable=Kan avstemmes
|
||||
Conciliate=Avstem
|
||||
Conciliation=Avstemming
|
||||
@ -94,21 +94,21 @@ SocialContributionPayment=Betaling av skatter og avgifter
|
||||
BankTransfer=Bankoverføring
|
||||
BankTransfers=Bankoverføringer
|
||||
MenuBankInternalTransfer=Intern overførsel
|
||||
TransferDesc=Ved overføring fra en konto til en annen, vil Dolibarr skrive to poster (en belastning i kildekonto og kreditt på målkontoen. Det samme beløpet (unntatt tegn), etiketten og dato brukes for denne transaksjonen)
|
||||
TransferDesc=Når du overfører fra en konto til en annen, vil Dolibarr opprette to poster (Debet i kildekonto og kredit i målkonto. Samme beløp (bortsett fra fortegn), etikett og dato vil bli brukt i denne transaksjonen)
|
||||
TransferFrom=Fra
|
||||
TransferTo=Til
|
||||
TransferFromToDone=En overføring fra <b>%s</b> til <b>%s</b> på <b>%s</b> %s er registrert.
|
||||
CheckTransmitter=Avsender
|
||||
ValidateCheckReceipt=Validere mottak av sjekk?
|
||||
ConfirmValidateCheckReceipt=Er du sikker på at du vil validere mottak av sjekk? Du kan ikke endre dette senere.
|
||||
DeleteCheckReceipt=Slett denne sjekkbetalingen?
|
||||
ConfirmDeleteCheckReceipt=Er du sikker på at du vil slette denne sjekkbetalingen?
|
||||
ValidateCheckReceipt=Valider sjekkvittering?
|
||||
ConfirmValidateCheckReceipt=Er du sikker på at du vil validere denne sjekkvitteringen? Ingen endringer kan utføres etter at dette er gjort.
|
||||
DeleteCheckReceipt=Slett denne sjekkvitteringen?
|
||||
ConfirmDeleteCheckReceipt=Er du sikker på at du vil slette denne sjekkvitteringen?
|
||||
BankChecks=Banksjekker
|
||||
BankChecksToReceipt=Ventende sjekkinnskudd
|
||||
ShowCheckReceipt=Vis sjekkinnskuddskvittering
|
||||
NumberOfCheques=Antall sjekker
|
||||
DeleteTransaction=Slett transaksjon
|
||||
ConfirmDeleteTransaction=Er du sikker på at du vil slette transaksjonen?
|
||||
ConfirmDeleteTransaction=Er du sikker på at du vil slette denne transaksjonen?
|
||||
ThisWillAlsoDeleteBankRecord=Dette vil også slette genererte banktransaksjoner
|
||||
BankMovements=Bevegelser
|
||||
PlannedTransactions=Planlagte transaksjoner
|
||||
@ -136,7 +136,7 @@ AllRIB=Alle BAN
|
||||
LabelRIB=BAN Etikett
|
||||
NoBANRecord=Ingen BAN kort
|
||||
DeleteARib=BAN-kort slettet
|
||||
ConfirmDeleteRib=Er du sikker på at du vil slette dette BAN-kortet?
|
||||
ConfirmDeleteRib=Er du sikker på at du vil slette denne BAN-posten?
|
||||
RejectCheck=Returnert sjekk
|
||||
ConfirmRejectCheck=Er du sikker på at du vil merke denne sjekken som avvist?
|
||||
RejectCheckDate=Dato for returnert sjekk
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user