Merge branch '3.7' of git@github.com:Dolibarr/dolibarr.git into 3.7

This commit is contained in:
Laurent Destailleur 2014-12-07 12:11:26 +01:00
commit 0b766b1f47
56 changed files with 456 additions and 265 deletions

View File

@ -36,6 +36,7 @@ before_script:
- echo Install phpcs then show installed rules - echo Install phpcs then show installed rules
- pyrus install pear/PHP_CodeSniffer - pyrus install pear/PHP_CodeSniffer
- phpenv rehash - phpenv rehash
- phpcs --version
- phpcs -i - phpcs -i
- echo Create dir $(pwd)/htdocs/documents - echo Create dir $(pwd)/htdocs/documents
- sudo mkdir -p $(pwd)/htdocs/documents/admin/temp; - sudo mkdir -p $(pwd)/htdocs/documents/admin/temp;
@ -103,7 +104,7 @@ script:
- phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php
- date - date
# - phpcs -p --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php 2>&1 # - phpcs -p --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php 2>&1
- phpcs -p --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ . 2>&1 - phpcs -p --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/htdocs/conf/conf.php,/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ . 2>&1
- date - date
after_script: after_script:

View File

@ -103,6 +103,7 @@ For users:
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message - Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe. - Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
- Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown - Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown
- Fix: datepicker first day of week can be monday by setting into display setup
For users, new experimental module (need to set feature level of instance to experimental to see them): For users, new experimental module (need to set feature level of instance to experimental to see them):
- New: Module Accounting Expert to manage accountancy - New: Module Accounting Expert to manage accountancy

View File

@ -29,12 +29,18 @@ To submit a snapshot for building, we should have a service file with content
</services> </services>
How to have such a service file created automatically ? How to have such a service file created automatically ?
Click on "Add file", then select mode "Upload From: Remote URL"
Enter the Remote URL that should looks like this: http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-3.src.rpm
Then add into advanded - attributes Go into project you want to update. It mught be:
- openSUSE Build Service > Projects > Application:ERP:Dolibarr > dolibarr
- or your private project
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
Then add into Advanded - Attributes
OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png
OBS:QualityCategory Testing OBS:QualityCategory Stable|Testing|Development|Private
# Move project into official directory # Move project into official directory

View File

@ -6,6 +6,7 @@
<exclude-pattern>*/conf.php</exclude-pattern> <exclude-pattern>*/conf.php</exclude-pattern>
<exclude-pattern>*/includes/*</exclude-pattern> <exclude-pattern>*/includes/*</exclude-pattern>
<exclude-pattern>*/documents/*</exclude-pattern> <exclude-pattern>*/documents/*</exclude-pattern>
<exclude-pattern>*/dev/vagrant/*</exclude-pattern>
<exclude-pattern>*/custom/*</exclude-pattern> <exclude-pattern>*/custom/*</exclude-pattern>
<exclude-pattern>*/nltechno*</exclude-pattern> <exclude-pattern>*/nltechno*</exclude-pattern>
@ -169,6 +170,40 @@
<rule ref="PEAR.Commenting.ClassComment.MissingTag"> <rule ref="PEAR.Commenting.ClassComment.MissingTag">
<severity>0</severity> <severity>0</severity>
</rule> </rule>
<rule ref="PEAR.Commenting.ClassComment.Missing@authorTag">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.ClassComment.Missing@categoryTag">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.ClassComment.Missing@licenseTag">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.ClassComment.Missing@linkTag">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.ClassComment.Missing@packageTag">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamType">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamName">
<severity>0</severity>
</rule>
<!-- TODO Remove this and fix reported errors -->
<rule ref="PEAR.Commenting.ClassComment.Missing">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.FunctionComment.MissingReturn">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.FunctionComment.ReturnNotRequired">
<severity>0</severity>
</rule>
<rule ref="PEAR.Commenting.FunctionComment.Missing">
<severity>0</severity>
</rule>
<!-- <!--
<rule ref="PEAR.Commenting.FileComment" /> <rule ref="PEAR.Commenting.FileComment" />
@ -226,6 +261,24 @@
<rule ref="PEAR.Functions.FunctionCallSignature.Indent"> <rule ref="PEAR.Functions.FunctionCallSignature.Indent">
<severity>0</severity> <severity>0</severity>
</rule> </rule>
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterCloseBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.ValidDefaultValue" /> <rule ref="PEAR.Functions.ValidDefaultValue" />

View File

@ -48,7 +48,6 @@ class AdherentStats extends Stats
* @param DoliDB $db Database handler * @param DoliDB $db Database handler
* @param int $socid Id third party * @param int $socid Id third party
* @param int $userid Id user for filter * @param int $userid Id user for filter
* @return AdherentStats
*/ */
function __construct($db, $socid=0, $userid=0) function __construct($db, $socid=0, $userid=0)
{ {

View File

@ -113,35 +113,20 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("StockSetup"),$linkback,'setup'); print_fiche_titre($langs->trans("StockSetup"),$linkback,'setup');
$form=new Form($db); $form=new Form($db);
$var=true;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print " <td>".$langs->trans("Parameters")."</td>\n";
print " <td align=\"right\" width=\"160\">&nbsp;</td>\n";
print '</tr>'."\n";
/* $disabled='';
* Formulaire parametres divers if (! empty($conf->productbatch->enabled))
*/ {
$langs->load("productbatch");
$disabled=' disabled="disabled"';
print info_admin($langs->trans("WhenProductBatchModuleOnOptionAreForced"));
}
$var=!$var; //if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) || ! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT))
//{
print "<tr ".$bc[$var].">"; print info_admin($langs->trans("IfYouUsePointOfSaleCheckModule"));
print '<td width="60%">'.$langs->trans("UserWarehouseAutoCreate").'</td>'; //}
print '<td width="160" align="right">';
print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_USERSTOCK_AUTOCREATE\">";
print $form->selectyesno("STOCK_USERSTOCK_AUTOCREATE",$conf->global->STOCK_USERSTOCK_AUTOCREATE,1);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
print '</form>';
print "</td>\n";
print "</tr>\n";
print '<br>';
print '</table>';
print '<br>';
// Title rule for stock decrease // Title rule for stock decrease
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
@ -160,8 +145,8 @@ if (! empty($conf->facture->enabled))
print "<form method=\"post\" action=\"stock.php\">"; print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_BILL\">"; print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_BILL\">";
print $form->selectyesno("STOCK_CALCULATE_ON_BILL",$conf->global->STOCK_CALCULATE_ON_BILL,1); print $form->selectyesno("STOCK_CALCULATE_ON_BILL",$conf->global->STOCK_CALCULATE_ON_BILL,1,$disabled);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
print "</form>\n</td>\n</tr>\n"; print "</form>\n</td>\n</tr>\n";
} }
@ -174,8 +159,8 @@ if (! empty($conf->commande->enabled))
print "<form method=\"post\" action=\"stock.php\">"; print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_VALIDATE_ORDER\">"; print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_VALIDATE_ORDER\">";
print $form->selectyesno("STOCK_CALCULATE_ON_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER,1); print $form->selectyesno("STOCK_CALCULATE_ON_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER,1,$disabled);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
print "</form>\n</td>\n</tr>\n"; print "</form>\n</td>\n</tr>\n";
} }
@ -188,16 +173,12 @@ if (! empty($conf->expedition->enabled))
print "<form method=\"post\" action=\"stock.php\">"; print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SHIPMENT\">"; print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SHIPMENT\">";
print $form->selectyesno("STOCK_CALCULATE_ON_SHIPMENT",$conf->global->STOCK_CALCULATE_ON_SHIPMENT,1); print $form->selectyesno("STOCK_CALCULATE_ON_SHIPMENT",$conf->global->STOCK_CALCULATE_ON_SHIPMENT,1,$disabled);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
print "</form>\n</td>\n</tr>\n"; print "</form>\n</td>\n</tr>\n";
} }
print '</table>'; print '</table>';
//if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) || ! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT))
//{
print info_admin($langs->trans("IfYouUsePointOfSaleCheckModule"));
//}
print '<br>'; print '<br>';
// Title rule for stock increase // Title rule for stock increase
@ -217,8 +198,8 @@ if (! empty($conf->fournisseur->enabled))
print "<form method=\"post\" action=\"stock.php\">"; print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_BILL\">"; print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_BILL\">";
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_BILL",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL,1); print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_BILL",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL,1,$disabled);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
print "</form>\n</td>\n</tr>\n"; print "</form>\n</td>\n</tr>\n";
} }
@ -231,8 +212,8 @@ if (! empty($conf->fournisseur->enabled))
print "<form method=\"post\" action=\"stock.php\">"; print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER\">"; print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER\">";
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER,1); print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER,1,$disabled);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
print "</form>\n</td>\n</tr>\n"; print "</form>\n</td>\n</tr>\n";
} }
if (! empty($conf->fournisseur->enabled)) if (! empty($conf->fournisseur->enabled))
@ -244,8 +225,8 @@ if (! empty($conf->fournisseur->enabled))
print "<form method=\"post\" action=\"stock.php\">"; print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER\">"; print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER\">";
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER,1); print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER,1,$disabled);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
print "</form>\n</td>\n</tr>\n"; print "</form>\n</td>\n</tr>\n";
} }
@ -334,6 +315,34 @@ if ($virtualdiffersfromphysical)
print '</table>'; print '</table>';
} }
$var=true;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print " <td>".$langs->trans("Other")."</td>\n";
print " <td align=\"right\" width=\"160\">&nbsp;</td>\n";
print '</tr>'."\n";
$var=!$var;
print "<tr ".$bc[$var].">";
print '<td width="60%">'.$langs->trans("UserWarehouseAutoCreate").'</td>';
print '<td width="160" align="right">';
print "<form method=\"post\" action=\"stock.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_USERSTOCK_AUTOCREATE\">";
print $form->selectyesno("STOCK_USERSTOCK_AUTOCREATE",$conf->global->STOCK_USERSTOCK_AUTOCREATE,1);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
print '</form>';
print "</td>\n";
print "</tr>\n";
print '<br>';
print '</table>';
print '<br>';
llxFooter(); llxFooter();
$db->close(); $db->close();

View File

@ -16,7 +16,7 @@
*/ */
// Instanciation et initialisation de l'objet xmlhttprequest // Instanciation et initialisation de l'objet xmlhttprequest
function file (fichier) { function file(fichier) {
// Instanciation de l'objet pour Mozilla, Konqueror, Opera, Safari, etc ... // Instanciation de l'objet pour Mozilla, Konqueror, Opera, Safari, etc ...
if (window.XMLHttpRequest) { if (window.XMLHttpRequest) {
@ -51,7 +51,7 @@ function file (fichier) {
// Affichage des donnees aTexte dans le bloc identifie par aId // Affichage des donnees aTexte dans le bloc identifie par aId
function afficheDonnees (aId, aTexte) { function afficheDonnees(aId, aTexte) {
document.getElementById(aId).innerHTML = aTexte; document.getElementById(aId).innerHTML = aTexte;
@ -59,7 +59,7 @@ function afficheDonnees (aId, aTexte) {
// aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage // aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage
function verifResultat (aCible, aCode) { function verifResultat(aCible, aCode) {
if (aCode != '') { if (aCode != '') {
if (texte = file ('facturation_dhtml.php?code='+escape(aCode))) { if (texte = file ('facturation_dhtml.php?code='+escape(aCode))) {
@ -76,21 +76,9 @@ function verifResultat (aCible, aCode) {
// Change dynamiquement la classe de l'element ayant l'id aIdElement pour aClasse // Change dynamiquement la classe de l'element ayant l'id aIdElement pour aClasse
function setStyle (aIdElement, aClasse) { function setStyle(aIdElement, aClasse) {
aIdElement.className = aClasse; aIdElement.className = aClasse;
} }

View File

@ -16,7 +16,7 @@
*/ */
// Calcul et affichage en temps reel des informations sur le produit en cours // Calcul et affichage en temps reel des informations sur le produit en cours
function modif () { function modif() {
var prix_unit = parseFloat ( document.getElementById('frmQte').txtPrixUnit.value ); var prix_unit = parseFloat ( document.getElementById('frmQte').txtPrixUnit.value );
var qte = parseFloat ( document.getElementById('frmQte').txtQte.value ); var qte = parseFloat ( document.getElementById('frmQte').txtQte.value );
@ -71,7 +71,7 @@ function modif () {
} }
// Affecte la source de la requete (liste deroulante ou champ texte 'ref') au champ cache // Affecte la source de la requete (liste deroulante ou champ texte 'ref') au champ cache
function setSource (aSrc) { function setSource(aSrc) {
document.getElementById('frmFacturation').hdnSource.value = aSrc; document.getElementById('frmFacturation').hdnSource.value = aSrc;
document.getElementById('frmFacturation').submit(); document.getElementById('frmFacturation').submit();
@ -79,7 +79,7 @@ function setSource (aSrc) {
} }
// Verification de la coherence des informations saisies dans le formulaire de choix du nombre d'articles // Verification de la coherence des informations saisies dans le formulaire de choix du nombre d'articles
function verifSaisie () { function verifSaisie() {
if ( document.getElementById('frmQte').txtQte.value ) { if ( document.getElementById('frmQte').txtQte.value ) {
@ -95,17 +95,17 @@ function verifSaisie () {
} }
// Verification de la coherence des informations saisies dans le formulaire de calcul de la difference // Verification de la coherence des informations saisies dans le formulaire de calcul de la difference
function verifDifference () { function verifDifference() {
var du = parseFloat ( document.getElementById('frmDifference').txtDu.value ); var du = parseFloat ( document.getElementById('frmDifference').txtDu.value );
var encaisse = parseFloat ( document.getElementById('frmDifference').txtEncaisse.value ); var encaisse = parseFloat ( document.getElementById('frmDifference').txtEncaisse.value );
if ( encaisse > du ) { if (encaisse > du) {
resultat = Math.round ( (encaisse - du) * 100 ) / 100; resultat = Math.round ( (encaisse - du) * 100 ) / 100;
document.getElementById('frmDifference').txtRendu.value = resultat.toFixed(2); document.getElementById('frmDifference').txtRendu.value = resultat.toFixed(2);
} else if ( encaisse == du ) { } else if (encaisse == du) {
document.getElementById('frmDifference').txtRendu.value = '0'; document.getElementById('frmDifference').txtRendu.value = '0';
@ -118,14 +118,14 @@ function verifDifference () {
} }
// Affecte le moyen de paiement (ESP, CB ou CHQ) au champ cache en fonction du bouton clique // Affecte le moyen de paiement (ESP, CB ou CHQ) au champ cache en fonction du bouton clique
function verifClic (aChoix) { function verifClic(aChoix) {
document.getElementById('frmDifference').hdnChoix.value = aChoix; document.getElementById('frmDifference').hdnChoix.value = aChoix;
} }
// Determination du moyen de paiement, et validation du formulaire si les donnees sont coherentes // Determination du moyen de paiement, et validation du formulaire si les donnees sont coherentes
function verifReglement () { function verifReglement() {
var choix = document.getElementById('frmDifference').hdnChoix.value; var choix = document.getElementById('frmDifference').hdnChoix.value;
var du = parseFloat (document.getElementById('frmDifference').txtDu.value); var du = parseFloat (document.getElementById('frmDifference').txtDu.value);
@ -172,5 +172,4 @@ function verifReglement () {
return false; return false;
} }
} }

View File

@ -57,7 +57,7 @@ class ActionComm extends CommonObject
var $datef; // Date action end (datep2) var $datef; // Date action end (datep2)
var $durationp = -1; // -1=Unkown duration // deprecated var $durationp = -1; // -1=Unkown duration // deprecated
var $fulldayevent = 0; // 1=Event on full day var $fulldayevent = 0; // 1=Event on full day
var $punctual = 1; // Milestone // TODO Not sure we need this. Milestone is already event with end date = start date var $punctual = 1; // Milestone // deprecated. Milestone is already event with end date = start date
var $percentage; // Percentage var $percentage; // Percentage
var $location; // Location var $location; // Location

View File

@ -180,7 +180,7 @@ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ut ON a.fk_user_action = ut.rowid";
if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu"; if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu";
$sql.= " WHERE c.id = a.fk_action"; $sql.= " WHERE c.id = a.fk_action";
$sql.= ' AND a.fk_user_author = u.rowid'; $sql.= ' AND a.fk_user_author = u.rowid';
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')'; // To limit to entity $sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')';
if ($actioncode) $sql.=" AND c.code='".$db->escape($actioncode)."'"; if ($actioncode) $sql.=" AND c.code='".$db->escape($actioncode)."'";
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid); if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")";

View File

@ -610,7 +610,7 @@ else
$sql = "SELECT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity"; $sql = "SELECT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
if ($usergroup > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user"; if ($usergroup > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user";
$sql.= " WHERE u.entity IN (".getEntity('user').")"; $sql.= " WHERE u.entity IN (".getEntity('user',1).")";
if ($usergroup > 0) $sql.= " AND ug.fk_usergroup = ".$usergroup; if ($usergroup > 0) $sql.= " AND ug.fk_usergroup = ".$usergroup;
if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3); if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3);
//print $sql; //print $sql;

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Eric Seigne <erics@rycks.com> * Copyright (C) 2003 Eric Seigne <erics@rycks.com>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -55,6 +55,7 @@ $result = restrictedArea($user, 'agenda', $socid, '', 'myactions');
/* /*
* Actions * Actions
*/ */
if ($action == 'builddoc') if ($action == 'builddoc')
{ {
$cat = new CommActionRapport($db, $month, $year); $cat = new CommActionRapport($db, $month, $year);
@ -79,7 +80,7 @@ $sql.= " date_format(a.datep, '%Y') as year";
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a,"; $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a,";
$sql.= " ".MAIN_DB_PREFIX."user as u"; $sql.= " ".MAIN_DB_PREFIX."user as u";
$sql.= " WHERE a.fk_user_author = u.rowid"; $sql.= " WHERE a.fk_user_author = u.rowid";
$sql.= " AND a.entity = ".$conf->entity; $sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')';
//$sql.= " AND percent = 100"; //$sql.= " AND percent = 100";
$sql.= " GROUP BY year, month, df"; $sql.= " GROUP BY year, month, df";
$sql.= " ORDER BY year DESC, month DESC, df DESC"; $sql.= " ORDER BY year DESC, month DESC, df DESC";

View File

@ -366,6 +366,16 @@ class Conf
unset($this->global->CONTACT_USE_SEARCH_TO_SELECT); unset($this->global->CONTACT_USE_SEARCH_TO_SELECT);
} }
if (! empty($conf->productbatch->enabled))
{
$this->global->STOCK_CALCULATE_ON_BILL=0;
$this->global->STOCK_CALCULATE_ON_VALIDATE_ORDER=0;
$this->global->STOCK_CALCULATE_ON_SHIPMENT=1;
$this->global->STOCK_CALCULATE_ON_SUPPLIER_BILL=0;
$this->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER=0;
$this->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER=1;
}
// conf->currency // conf->currency
if (empty($this->global->MAIN_MONNAIE)) $this->global->MAIN_MONNAIE='EUR'; if (empty($this->global->MAIN_MONNAIE)) $this->global->MAIN_MONNAIE='EUR';
$this->currency=$this->global->MAIN_MONNAIE; $this->currency=$this->global->MAIN_MONNAIE;
@ -373,6 +383,9 @@ class Conf
// conf->global->ACCOUNTING_MODE = Option des modules Comptabilites (simple ou expert). Defini le mode de calcul des etats comptables (CA,...) // conf->global->ACCOUNTING_MODE = Option des modules Comptabilites (simple ou expert). Defini le mode de calcul des etats comptables (CA,...)
if (empty($this->global->ACCOUNTING_MODE)) $this->global->ACCOUNTING_MODE='RECETTES-DEPENSES'; // By default. Can be 'RECETTES-DEPENSES' ou 'CREANCES-DETTES' if (empty($this->global->ACCOUNTING_MODE)) $this->global->ACCOUNTING_MODE='RECETTES-DEPENSES'; // By default. Can be 'RECETTES-DEPENSES' ou 'CREANCES-DETTES'
// By default, suppliers objects can be linked to all projects
$conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1;
// conf->liste_limit = constante de taille maximale des listes // conf->liste_limit = constante de taille maximale des listes
if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) $this->global->MAIN_SIZE_LISTE_LIMIT=25; if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) $this->global->MAIN_SIZE_LISTE_LIMIT=25;
$this->liste_limit=$this->global->MAIN_SIZE_LISTE_LIMIT; $this->liste_limit=$this->global->MAIN_SIZE_LISTE_LIMIT;

View File

@ -2,6 +2,7 @@
/* Copyright (C) phpBSM /* Copyright (C) phpBSM
* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2007 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2007 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
* *
* This file is a modified version of datepicker.php from phpBSM to fix some * This file is a modified version of datepicker.php from phpBSM to fix some
* bugs, to add new features and to dramatically increase speed. * bugs, to add new features and to dramatically increase speed.
@ -184,6 +185,19 @@ function displayBox($selectedDate,$month,$year)
onClick="loadMonth('<?php echo DOL_URL_ROOT.'/core/' ?>','<?php echo $month?>','<?php echo $year+1?>','<?php echo $xyz ?>','<?php echo $langs->defaultlang ?>')">&gt;&gt;</td> onClick="loadMonth('<?php echo DOL_URL_ROOT.'/core/' ?>','<?php echo $month?>','<?php echo $year+1?>','<?php echo $xyz ?>','<?php echo $langs->defaultlang ?>')">&gt;&gt;</td>
</tr> </tr>
<tr class="dpDayNames"> <tr class="dpDayNames">
<?php
$startday=isset($conf->global->MAIN_START_WEEK)?$conf->global->MAIN_START_WEEK:1;
if($startday==1)
{?>
<td width="14%"><?php echo $langs->trans("ShortMonday") ?></td>
<td width="15%"><?php echo $langs->trans("ShortTuesday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortWednesday") ?></td>
<td width="15%"><?php echo $langs->trans("ShortThursday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortFriday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortSaturday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortSunday") ?></td>
<?php
}else {?>
<td width="14%"><?php echo $langs->trans("ShortSunday") ?></td> <td width="14%"><?php echo $langs->trans("ShortSunday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortMonday") ?></td> <td width="14%"><?php echo $langs->trans("ShortMonday") ?></td>
<td width="15%"><?php echo $langs->trans("ShortTuesday") ?></td> <td width="15%"><?php echo $langs->trans("ShortTuesday") ?></td>
@ -191,6 +205,8 @@ function displayBox($selectedDate,$month,$year)
<td width="15%"><?php echo $langs->trans("ShortThursday") ?></td> <td width="15%"><?php echo $langs->trans("ShortThursday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortFriday") ?></td> <td width="14%"><?php echo $langs->trans("ShortFriday") ?></td>
<td width="14%"><?php echo $langs->trans("ShortSaturday") ?></td> <td width="14%"><?php echo $langs->trans("ShortSaturday") ?></td>
<?php
}?>
</tr> </tr>
<?php <?php
//print "x ".$thedate." y"; //print "x ".$thedate." y";

View File

@ -357,7 +357,6 @@ class DoliDBMysqli extends DoliDB
* @return int Nombre de lignes * @return int Nombre de lignes
* @see num_rows * @see num_rows
*/ */
function affected_rows($resultset) function affected_rows($resultset)
{ {
// If resultset not provided, we take the last used by connexion // If resultset not provided, we take the last used by connexion

View File

@ -1028,6 +1028,8 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e
*/ */
function dol_getdate($timestamp,$fast=false) function dol_getdate($timestamp,$fast=false)
{ {
global $conf;
$usealternatemethod=false; $usealternatemethod=false;
if ($timestamp <= 0) $usealternatemethod=true; // <= 1970 if ($timestamp <= 0) $usealternatemethod=true; // <= 1970
if ($timestamp >= 2145913200) $usealternatemethod=true; // >= 2038 if ($timestamp >= 2145913200) $usealternatemethod=true; // >= 2038
@ -1039,6 +1041,19 @@ function dol_getdate($timestamp,$fast=false)
else else
{ {
$arrayinfo=getdate($timestamp); $arrayinfo=getdate($timestamp);
$startday=isset($conf->global->MAIN_START_WEEK)?$conf->global->MAIN_START_WEEK:1;
if($startday==1)
{
if ($arrayinfo["wday"]==0)
{
$arrayinfo["wday"]=6;
}
else
{
$arrayinfo["wday"]=$arrayinfo["wday"]-1;
}
}
} }
return $arrayinfo; return $arrayinfo;

View File

@ -67,7 +67,7 @@ class modProductBatch extends DolibarrModules
$this->config_page_url = array(); $this->config_page_url = array();
// Dependencies // Dependencies
$this->depends = array("modProduct","modStock"); // List of modules id that must be enabled if this module is enabled $this->depends = array("modProduct","modStock","modExpedition","modSupplier"); // List of modules id that must be enabled if this module is enabled. modExpedition is required to manage batch exit (by manual stock decrease on shipment), modSupplier to manage batch entry (after supplier order).
$this->requiredby = array(); // List of modules id to disable if this one is disabled $this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->phpmin = array(5,0); // Minimum version of PHP required by module $this->phpmin = array(5,0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module $this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module

View File

@ -84,9 +84,24 @@ if ($id > 0 || ! empty($ref))
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('expeditioncard','globalcard')); $hookmanager->initHooks(array('expeditioncard','globalcard'));
/* /*
* Actions * Actions
*/ */
$warehousecanbeselectedlater=1;
if (! empty($conf->productbatch->enabled))
{
if (! (GETPOST('entrepot_id','int') > 0))
{
$langs->load("errors");
setEventMessage($langs->trans("WarhouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn"),'errors');
header("Location: ".DOL_URL_ROOT.'/expedition/shipment.php?id='.$id);
exit;
}
}
$parameters=array(); $parameters=array();
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
@ -593,7 +608,7 @@ if ($action == 'create')
print_fiche_titre($langs->trans("CreateASending")); print_fiche_titre($langs->trans("CreateASending"));
if (! $origin) if (! $origin)
{ {
$mesg='<div class="error">'.$langs->trans("ErrorBadParameters").'</div>'; setEventMessage($langs->trans("ErrorBadParameters"),'errors');
} }
dol_htmloutput_mesg($mesg); dol_htmloutput_mesg($mesg);
@ -771,10 +786,13 @@ if ($action == 'create')
print '</td>'; print '</td>';
if (! empty($conf->stock->enabled)) if (! empty($conf->stock->enabled))
{ {
if (empty($conf->productbatch->enabled)) { if (empty($conf->productbatch->enabled))
print '<td align="left">'.$langs->trans("Warehouse").' / '.$langs->trans("Stock").'</td>'; {
} else { print '<td align="left">'.$langs->trans("Warehouse").' ('.$langs->trans("Stock").')</td>';
print '<td align="left">'.$langs->trans("Warehouse").' / '.$langs->trans("Batch").' / '.$langs->trans("Stock").'</td>'; }
else
{
print '<td align="left">'.$langs->trans("Warehouse").' / '.$langs->trans("Batch").' ('.$langs->trans("Stock").')</td>';
} }
} }
print "</tr>\n"; print "</tr>\n";
@ -828,7 +846,7 @@ if ($action == 'create')
print '</td>'; print '</td>';
} }
else else
{ {
print "<td>"; print "<td>";
if ($type==1) $text = img_object($langs->trans('Service'),'service'); if ($type==1) $text = img_object($langs->trans('Service'),'service');
else $text = img_object($langs->trans('Product'),'product'); else $text = img_object($langs->trans('Product'),'product');
@ -861,17 +879,19 @@ if ($action == 'create')
$quantityAsked = $line->qty; $quantityAsked = $line->qty;
$quantityToBeDelivered = $quantityAsked - $quantityDelivered; $quantityToBeDelivered = $quantityAsked - $quantityDelivered;
$warehouse_id = GETPOST('entrepot_id','int');
$defaultqty=0; $defaultqty=0;
if (GETPOST('entrepot_id','int') > 0) if ($warehouse_id > 0)
{ {
//var_dump($product); //var_dump($product);
$stock = $product->stock_warehouse[GETPOST('entrepot_id','int')]->real; $stock = $product->stock_warehouse[$warehouse_id]->real;
$stock+=0; // Convertit en numerique $stock+=0; // Convertit en numerique
$defaultqty=min($quantityToBeDelivered, $stock); $defaultqty=min($quantityToBeDelivered, $stock);
if (($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) || $defaultqty < 0) $defaultqty=0; if (($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) || $defaultqty < 0) $defaultqty=0;
} }
if (empty($conf->productbatch->enabled) || ! ($product->hasbatch() and is_object($product->stock_warehouse[GETPOST('entrepot_id','int')]))) if (empty($conf->productbatch->enabled) || ! ($product->hasbatch() and is_object($product->stock_warehouse[$warehouse_id])))
{ {
// Quantity to send // Quantity to send
print '<td align="center">'; print '<td align="center">';
@ -892,14 +912,14 @@ if ($action == 'create')
// Show warehouse combo list // Show warehouse combo list
$ent = "entl".$indiceAsked; $ent = "entl".$indiceAsked;
$idl = "idl".$indiceAsked; $idl = "idl".$indiceAsked;
$tmpentrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):GETPOST('entrepot_id','int'); $tmpentrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):$warehouse_id;
print $formproduct->selectWarehouses($tmpentrepot_id,'entl'.$indiceAsked,'',1,0,$line->fk_product); print $formproduct->selectWarehouses($tmpentrepot_id,'entl'.$indiceAsked,'',1,0,$line->fk_product);
if ($tmpentrepot_id > 0 && $tmpentrepot_id == GETPOST('entrepot_id','int')) if ($tmpentrepot_id > 0 && $tmpentrepot_id == $warehouse_id)
{ {
//print $stock.' '.$quantityToBeDelivered; //print $stock.' '.$quantityToBeDelivered;
if ($stock < $quantityToBeDelivered) if ($stock < $quantityToBeDelivered)
{ {
print ' '.img_warning($langs->trans("StockTooLow")); // Stock too low for entrepot_id but we may have change warehouse print ' '.img_warning($langs->trans("StockTooLow")); // Stock too low for this $warehouse_id but you can change warehouse
} }
} }
} }
@ -934,11 +954,14 @@ if ($action == 'create')
} }
} }
} }
} else { }
else
{
print '<td></td><td></td></tr>'; print '<td></td><td></td></tr>';
$subj=0; $subj=0;
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$line->id.'">'; print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$line->id.'">';
foreach ($product->stock_warehouse[GETPOST('entrepot_id','int')]->detail_batch as $dbatch) { foreach ($product->stock_warehouse[$warehouse_id]->detail_batch as $dbatch)
{
//var_dump($dbatch); //var_dump($dbatch);
$substock=$dbatch->qty +0 ; $substock=$dbatch->qty +0 ;
print '<tr><td colspan="3" ></td><td align="center">'; print '<tr><td colspan="3" ></td><td align="center">';
@ -946,8 +969,13 @@ if ($action == 'create')
print '</td>'; print '</td>';
print '<td align="left">'; print '<td align="left">';
$staticwarehouse=new Entrepot($db);
$staticwarehouse->fetch($warehouse_id);
print $staticwarehouse->getNomUrl(0).' / ';
print '<input name="batchl'.$indiceAsked.'_'.$subj.'" type="hidden" value="'.$dbatch->id.'">'; print '<input name="batchl'.$indiceAsked.'_'.$subj.'" type="hidden" value="'.$dbatch->id.'">';
print $langs->trans("DetailBatchFormat", dol_print_date($dbatch->eatby,"day"), dol_print_date($dbatch->sellby,"day"), $dbatch->batch, $dbatch->qty); print $langs->trans("DetailBatchFormat", $dbatch->batch, dol_print_date($dbatch->eatby,"day"), dol_print_date($dbatch->sellby,"day"), $dbatch->qty);
if ($defaultqty<=0) { if ($defaultqty<=0) {
$defaultqty=0; $defaultqty=0;
} else { } else {
@ -1451,12 +1479,14 @@ else if ($id || $ref)
} }
// Batch number managment // Batch number managment
if (! empty($conf->productbatch->enabled)) { if (! empty($conf->productbatch->enabled))
if (isset($lines[$i]->detail_batch) ) { {
print '<td align="center">'; if (isset($lines[$i]->detail_batch))
{
print '<td>';
$detail = ''; $detail = '';
foreach ($lines[$i]->detail_batch as $dbatch) { foreach ($lines[$i]->detail_batch as $dbatch) {
$detail.= $langs->trans("DetailBatchFormat",dol_print_date($dbatch->eatby,"day"),dol_print_date($dbatch->sellby,"day"),$dbatch->batch,$dbatch->dluo_qty).'<br/>'; $detail.= $langs->trans("DetailBatchFormat",$dbatch->batch,dol_print_date($dbatch->eatby,"day"),dol_print_date($dbatch->sellby,"day"),$dbatch->dluo_qty).'<br/>';
} }
print $form->textwithtooltip($langs->trans("DetailBatchNumber"),$detail); print $form->textwithtooltip($langs->trans("DetailBatchNumber"),$detail);
print '</td>'; print '</td>';

View File

@ -114,7 +114,7 @@ if ($resql)
/* /*
* Commandes a traiter * Commandes a traiter
*/ */
$sql = "SELECT c.rowid, c.ref, s.nom as name, s.rowid as socid"; $sql = "SELECT c.rowid, c.ref, c.fk_statut, s.nom as name, s.rowid as socid";
$sql.= " FROM ".MAIN_DB_PREFIX."commande as c"; $sql.= " FROM ".MAIN_DB_PREFIX."commande as c";
$sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
@ -136,7 +136,7 @@ if ($resql)
$i = 0; $i = 0;
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans("OrdersToProcess").'</td></tr>'; print '<td colspan="3">'.$langs->trans("OrdersToProcess").'</td></tr>';
$var = True; $var = True;
while ($i < $num) while ($i < $num)
{ {
@ -146,13 +146,19 @@ if ($resql)
print '<td class="nowrap">'; print '<td class="nowrap">';
$orderstatic->id=$obj->rowid; $orderstatic->id=$obj->rowid;
$orderstatic->ref=$obj->ref; $orderstatic->ref=$obj->ref;
$orderstatic->statut=$obj->fk_statut;
$orderstatic->facturee=0;
print $orderstatic->getNomUrl(1); print $orderstatic->getNomUrl(1);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$companystatic->name=$obj->name; $companystatic->name=$obj->name;
$companystatic->id=$obj->socid; $companystatic->id=$obj->socid;
print $companystatic->getNomUrl(1,'customer',32); print $companystatic->getNomUrl(1,'customer',32);
print '</td></tr>'; print '</td>';
print '<td align="right">';
print $orderstatic->getLibStatut(3);
print '</td>';
print '</tr>';
$i++; $i++;
} }
print "</table><br>"; print "</table><br>";

View File

@ -643,7 +643,10 @@ if ($id > 0 || ! empty($ref))
if (! empty($conf->stock->enabled)) if (! empty($conf->stock->enabled))
{ {
print '<td>'.$langs->trans("WarehouseSource").'</td>'; $warehousecanbeselectedlater=1;
if (! empty($conf->productbatch->enabled)) $warehousecanbeselectedlater=0;
print '<td'.($warehousecanbeselectedlater?'':' class="fieldrequired"').'>'.$langs->trans("WarehouseSource").'</td>';
print '<td>'; print '<td>';
print $formproduct->selectWarehouses(-1,'entrepot_id','',1); print $formproduct->selectWarehouses(-1,'entrepot_id','',1);
if (count($formproduct->cache_warehouses) <= 0) if (count($formproduct->cache_warehouses) <= 0)

View File

@ -1140,6 +1140,8 @@ ALTER TABLE llx_facture_rec ADD COLUMN revenuestamp double(24,8) DEFAULT 0;
ALTER TABLE llx_facturedet_rec MODIFY COLUMN tva_tx double(6,3); ALTER TABLE llx_facturedet_rec MODIFY COLUMN tva_tx double(6,3);
ALTER TABLE llx_facturedet_rec ADD COLUMN fk_contract_line integer NULL; ALTER TABLE llx_facturedet_rec ADD COLUMN fk_contract_line integer NULL;
ALTER TABLE llx_resource MODIFY COLUMN entity integer DEFAULT 1 NOT NULL;
-- This request make mysql drop (mysql bug, so we add it at end): -- This request make mysql drop (mysql bug, so we add it at end):
--ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid); --ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid);

View File

@ -51,10 +51,10 @@ create table llx_actioncomm
priority smallint, priority smallint,
fulldayevent smallint NOT NULL default 0, fulldayevent smallint NOT NULL default 0,
punctual smallint NOT NULL default 1, punctual smallint NOT NULL default 1, -- deprecated. milestone is event with date start = date end
percent smallint NOT NULL default 0, percent smallint NOT NULL default 0,
location varchar(128), location varchar(128),
durationp real, -- duree planifiee durationp real, -- planed duration
durationa real, -- deprecated durationa real, -- deprecated
note text, note text,

View File

@ -17,7 +17,7 @@
CREATE TABLE llx_resource CREATE TABLE llx_resource
( (
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
entity integer, entity integer DEFAULT 1 NOT NULL,
ref varchar(255), ref varchar(255),
description text, description text,
fk_code_type_resource varchar(32), fk_code_type_resource varchar(32),

View File

@ -5,16 +5,17 @@ ProductStatusOnBatch=Managed
ProductStatusNotOnBatch=Not Managed ProductStatusNotOnBatch=Not Managed
ProductStatusOnBatchShort=Managed ProductStatusOnBatchShort=Managed
ProductStatusNotOnBatchShort=Not Managed ProductStatusNotOnBatchShort=Not Managed
Batch=Batch Batch=Batch/Serial
atleast1batchfield= Eat-by date or Sell-by date or Batch number atleast1batchfield=Eat-by date or Sell-by date or Batch number
batch_number= Batch number batch_number=Batch/Serial number
l_eatby= Eat-by date l_eatby=Eat-by date
l_sellby= Sell-by date l_sellby=Sell-by date
DetailBatchNumber= Batch details DetailBatchNumber=Batch/Serial details
DetailBatchFormat= E:%s S: %s BATCH: %s (Qty : %d) DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d)
printBatch= Batch: %s printBatch=Batch: %s
printEatby= Eat-by: %s printEatby=Eat-by: %s
printSellby= Sell-by: %s printSellby=Sell-by: %s
printQty= Qty: %d printQty=Qty: %d
AddDispatchBatchLine=Add a line for Shelf Life dispatching AddDispatchBatchLine=Add a line for Shelf Life dispatching
BatchDefaultNumber= Undefined BatchDefaultNumber=Undefined
WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want.

View File

@ -25,12 +25,12 @@ Selectchartofaccounts=Seleccione un plan contable
Validate=Validar Validate=Validar
Addanaccount=Añadir una cuenta contable Addanaccount=Añadir una cuenta contable
AccountAccounting=Cuenta contable AccountAccounting=Cuenta contable
Ventilation=Breakdown Ventilation=Contabilizar
ToDispatch=A realizar ToDispatch=A realizar
Dispatched=Realizadas Dispatched=Realizadas
CustomersVentilation=Breakdown customers CustomersVentilation=Contabilizar clientes
SuppliersVentilation=Breakdown suppliers SuppliersVentilation=Contabilizar proveedores
TradeMargin=Margen de beneficio TradeMargin=Margen de beneficio
Reports=Informes Reports=Informes
ByCustomerInvoice=Por facturas a clientes ByCustomerInvoice=Por facturas a clientes
@ -45,9 +45,9 @@ WriteBookKeeping=Registrar los asientos en el libro mayor
Bookkeeping=Libro Mayor Bookkeeping=Libro Mayor
AccountBalanceByMonth=Saldo mensual AccountBalanceByMonth=Saldo mensual
AccountingVentilation=Breakdown accounting AccountingVentilation=Descuadre contabilidad
AccountingVentilationSupplier=Breakdown accounting supplier AccountingVentilationSupplier=Contablilización compras
AccountingVentilationCustomer=Breakdown accounting customer AccountingVentilationCustomer=Contabilización ventas
Line=Línea Line=Línea
CAHTF=Total (base imponible) compras a proveedor CAHTF=Total (base imponible) compras a proveedor
@ -56,7 +56,7 @@ InvoiceLinesDone=Líneas de facturas contabilizadas
IntoAccount=En la cuenta IntoAccount=En la cuenta
Ventilate=Contabilizar Ventilate=Contabilizar
VentilationAuto=Automatic breakdown VentilationAuto=Contabilización automática
Processing=Tratamiento Processing=Tratamiento
EndProcessing=Final del tratamiento EndProcessing=Final del tratamiento
@ -68,9 +68,9 @@ NotVentilatedinAccount=Cuenta sin contabilización en la contabilidad
ACCOUNTING_SEPARATORCSV=Separador CSV ACCOUNTING_SEPARATORCSV=Separador CSV
ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) 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=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements 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=Begin the sorting of the breakdown pages "Breakdown" by the most recent elements ACCOUNTING_LIST_SORT_VENTILATION_DONE=Ordenar las páginas de contabilización "Contabilizadas" por los elementos más recientes
AccountLength=Longitud de las cuentas contables mostradas en Dolibarr AccountLength=Longitud de las cuentas contables mostradas en Dolibarr
AccountLengthDesc=Función para simular una longitud de cuenta contable sustituyendo los espacios por cero. Esta función sólo afecta a la pantalla, no cambia las cuentas contables registradas en Dolibarr. Esta función es necesaria para la exportación, para ser compatible con algunos programas. AccountLengthDesc=Función para simular una longitud de cuenta contable sustituyendo los espacios por cero. Esta función sólo afecta a la pantalla, no cambia las cuentas contables registradas en Dolibarr. Esta función es necesaria para la exportación, para ser compatible con algunos programas.
@ -140,14 +140,14 @@ Active=Estado
NewFiscalYear=Nuevo año fiscal NewFiscalYear=Nuevo año fiscal
DescVentilCustomer=Consult here the annual breakdown accounting of your invoices customers DescVentilCustomer=Consulte aquí la contabilización anual de sus facturas a clientes
TotalVente=Total ventas (base imponible) TotalVente=Total ventas (base imponible)
TotalMarge=Total margen ventas TotalMarge=Total margen ventas
DescVentilDoneCustomer=Consulte aquí las líneas de facturas a clientes y sus cuentas contables DescVentilDoneCustomer=Consulte aquí las líneas de facturas a clientes y sus cuentas contables
DescVentilTodoCustomer=Contabilice sus líneas de facturas a clientes con una cuenta contable DescVentilTodoCustomer=Contabilice sus líneas de facturas a clientes con una cuenta contable
ChangeAccount=Cambie la cuenta para las líneas seleccionadas a la cuenta: ChangeAccount=Cambie la cuenta para las líneas seleccionadas a la cuenta:
Vide=- Vide=-
DescVentilSupplier=Consult here the annual breakdown accounting of your invoices suppliers DescVentilSupplier=Consulte aquí la contabilidad anual de sus facturas de proveedores
DescVentilTodoSupplier=Contabilize sus líneas de facturas de proveedores DescVentilTodoSupplier=Contabilize sus líneas de facturas de proveedores
DescVentilDoneSupplier=Consulte aquí la lista de facturas de proveedores y sus cuentas contables DescVentilDoneSupplier=Consulte aquí la lista de facturas de proveedores y sus cuentas contables
@ -155,4 +155,4 @@ ValidateHistory=Validar automáticamente
ErrorAccountancyCodeIsAlreadyUse=Error, no puede eliminar esta cuenta ya que está siendo usada ErrorAccountancyCodeIsAlreadyUse=Error, no puede eliminar esta cuenta ya que está siendo usada
FicheVentilation=Breakdown card FicheVentilation=Ficha contable

View File

@ -437,8 +437,8 @@ Module52Name=Stocks de productos
Module52Desc=Gestión de stocks de productos Module52Desc=Gestión de stocks de productos
Module53Name=Servicios Module53Name=Servicios
Module53Desc=Gestión de servicios Module53Desc=Gestión de servicios
Module54Name=Contracts/Subscriptions Module54Name=Contratos/Suscripciones
Module54Desc=Management of contracts (services or reccuring subscriptions) Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes)
Module55Name=Códigos de barras Module55Name=Códigos de barras
Module55Desc=Gestión de los códigos de barras Module55Desc=Gestión de los códigos de barras
Module56Name=Telefonía Module56Name=Telefonía
@ -475,8 +475,8 @@ Module320Name=Hilos RSS
Module320Desc=Adición de hilos de información RSS en las pantallas Dolibarr Module320Desc=Adición de hilos de información RSS en las pantallas Dolibarr
Module330Name=Marcadores Module330Name=Marcadores
Module330Desc=Gestión de marcadores Module330Desc=Gestión de marcadores
Module400Name=Projects/Opportunity Module400Name=Proyectos/Oportunidades
Module400Desc=Management of projects or opportunity. You can then assign all other elements (invoice, order, proposal, intervention, ...) to this projects Module400Desc=Gestión de proyectos o oportunidades. Puede asignar otros elementos (facturas, pedidos, presupuestos, intervenciones, etc.) a los proyectos
Module410Name=Webcalendar Module410Name=Webcalendar
Module410Desc=Interfaz con el calendario Webcalendar Module410Desc=Interfaz con el calendario Webcalendar
Module500Name=Gastos especiales (impuestos, gastos sociales, dividendos) Module500Name=Gastos especiales (impuestos, gastos sociales, dividendos)
@ -495,6 +495,8 @@ Module1780Name=Categorías
Module1780Desc=Gestión de categorías (productos, proveedores y clientes) Module1780Desc=Gestión de categorías (productos, proveedores y clientes)
Module2000Name=Editor WYSIWYG Module2000Name=Editor WYSIWYG
Module2000Desc=Permite la edición de ciertas zonas de texto mediante un editor avanzado Module2000Desc=Permite la edición de ciertas zonas de texto mediante un editor avanzado
Module2200Name=Precios dinámicos
Module2200Desc=Activar el uso de expresiones matemáticas para precios
Module2300Name=Programador Module2300Name=Programador
Module2300Desc=Tareas programadas Module2300Desc=Tareas programadas
Module2400Name=Agenda Module2400Name=Agenda
@ -503,6 +505,8 @@ Module2500Name=Gestión Electrónica de Documentos
Module2500Desc=Permite administrar una base de documentos Module2500Desc=Permite administrar una base de documentos
Module2600Name=WebServices Module2600Name=WebServices
Module2600Desc=Activa los servicios de servidor web services de Dolibarr Module2600Desc=Activa los servicios de servidor web services de Dolibarr
Module2650Name=WebServices (cliente)
Module2650Desc=Habilitar los servicios web cliente de Dolibarr (puede ser utilizado para grabar datos/solicitudes de servidores externos. De momento solo se soporta pedidos a proveedor)
Module2700Name=Gravatar Module2700Name=Gravatar
Module2700Desc=Utiliza el servicio en línea de Gravatar (www.gravatar.com) para mostrar fotos de los usuarios/miembros (que se encuentran en sus mensajes de correo electrónico). Necesita un acceso a Internet Module2700Desc=Utiliza el servicio en línea de Gravatar (www.gravatar.com) para mostrar fotos de los usuarios/miembros (que se encuentran en sus mensajes de correo electrónico). Necesita un acceso a Internet
Module2800Desc=Cliente FTP Module2800Desc=Cliente FTP
@ -517,7 +521,7 @@ Module6000Desc=Gestión del flujo de trabajo
Module20000Name=Gestión de días libres retribuidos Module20000Name=Gestión de días libres retribuidos
Module20000Desc=Gestión de los días libres retribuidos de los empleados Module20000Desc=Gestión de los días libres retribuidos de los empleados
Module39000Name=Lotes de productos Module39000Name=Lotes de productos
Module39000Desc=Gestión de lotes y fechas de caducidad y venta de los productos Module39000Desc=Gestión de lotes o series, fechas de caducidad y venta de los productos
Module50000Name=PayBox Module50000Name=PayBox
Module50000Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paybox Module50000Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paybox
Module50100Name=TPV Module50100Name=TPV
@ -606,11 +610,11 @@ Permission151=Consultar domiciliaciones
Permission152=Crear/modificar domiciliaciones Permission152=Crear/modificar domiciliaciones
Permission153=Enviar domiciliaciones Permission153=Enviar domiciliaciones
Permission154=Abonar/devolver domiciliaciones Permission154=Abonar/devolver domiciliaciones
Permission161=Read contracts/subscriptions Permission161=Consultar contratos/suscripciones
Permission162=Create/modify contracts/subscriptions Permission162=Crear/modificar contratos/suscripciones
Permission163=Activate a service/subscription of a contract Permission163=Activar un servicio/suscripción de un contrato
Permission164=Disable a service/subscription of a contract Permission164=Desactivar un servicio/suscripcion de un contrato
Permission165=Delete contracts/subscriptions Permission165=Eliminar contratos/suscripciones
Permission171=Leer honorarios (propios y de sus subordinados) Permission171=Leer honorarios (propios y de sus subordinados)
Permission172=Crear/modificar honorarios Permission172=Crear/modificar honorarios
Permission173=Eliminar honorarios Permission173=Eliminar honorarios
@ -672,7 +676,7 @@ Permission300=Consultar códigos de barras
Permission301=Crear/modificar códigos de barras Permission301=Crear/modificar códigos de barras
Permission302=Eliminar código de barras Permission302=Eliminar código de barras
Permission311=Consultar servicios Permission311=Consultar servicios
Permission312=Assign service/subscription to contract Permission312=Asignar servicios/suscripciones a un contrato
Permission331=Consultar marcadores Permission331=Consultar marcadores
Permission332=Crear/modificar marcadores Permission332=Crear/modificar marcadores
Permission333=Eliminar marcadores Permission333=Eliminar marcadores
@ -702,8 +706,8 @@ Permission701=Consultar donaciones
Permission702=Crear/modificar donaciones Permission702=Crear/modificar donaciones
Permission703=Eliminar donaciones Permission703=Eliminar donaciones
Permission1001=Consultar stocks Permission1001=Consultar stocks
Permission1002=Create/modify warehouses Permission1002=Crear/modificar almacenes
Permission1003=Delete warehouses Permission1003=Eliminar almacenes
Permission1004=Consultar movimientos de stock Permission1004=Consultar movimientos de stock
Permission1005=Crear/modificar movimientos de stock Permission1005=Crear/modificar movimientos de stock
Permission1101=Consultar ordenes de envío Permission1101=Consultar ordenes de envío
@ -1138,7 +1142,7 @@ AddDeliveryAddressAbility=Posibilidad de seleccionar una dirección de envío
UseOptionLineIfNoQuantity=Una línea de producto/servicio que tiene una cantidad nula se considera como una opción UseOptionLineIfNoQuantity=Una línea de producto/servicio que tiene una cantidad nula se considera como una opción
FreeLegalTextOnProposal=Texto libre en presupuestos FreeLegalTextOnProposal=Texto libre en presupuestos
WatermarkOnDraftProposal=Marca de agua en presupuestos borrador (en caso de estar vacío) WatermarkOnDraftProposal=Marca de agua en presupuestos borrador (en caso de estar vacío)
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Preguntar por cuenta bancaria a usar en el presupuesto
##### Orders ##### ##### Orders #####
OrdersSetup=Configuración del módulo pedidos OrdersSetup=Configuración del módulo pedidos
OrdersNumberingModules=Módulos de numeración de los pedidos OrdersNumberingModules=Módulos de numeración de los pedidos
@ -1160,7 +1164,7 @@ FicheinterNumberingModules=Módulos de numeración de las fichas de intervenció
TemplatePDFInterventions=Modelo de documentos de las fichas de intervención TemplatePDFInterventions=Modelo de documentos de las fichas de intervención
WatermarkOnDraftInterventionCards=Marca de agua en fichas de intervención (en caso de estar vacío) WatermarkOnDraftInterventionCards=Marca de agua en fichas de intervención (en caso de estar vacío)
##### Contracts ##### ##### Contracts #####
ContractsSetup=Contracts/Subscriptions module setup ContractsSetup=Configuración del módulo Contratos/suscripciones
ContractsNumberingModules=Módulos de numeración de los contratos ContractsNumberingModules=Módulos de numeración de los contratos
TemplatePDFContracts=Modelos de documento de contratos TemplatePDFContracts=Modelos de documento de contratos
FreeLegalTextOnContracts=Texto libre en contratos FreeLegalTextOnContracts=Texto libre en contratos
@ -1324,7 +1328,7 @@ FilesOfTypeNotCompressed=Archivos de tipo %s no son comprimidos por el servidor
CacheByServer=Caché mediante el servidor CacheByServer=Caché mediante el servidor
CacheByClient=Caché mediante el navegador CacheByClient=Caché mediante el navegador
CompressionOfResources=Compresión de las respuestas HTTP CompressionOfResources=Compresión de las respuestas HTTP
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers TestNotPossibleWithCurrentBrowsers=La detección automática no es posible con el navegador actual
##### Products ##### ##### Products #####
ProductSetup=Configuración del módulo Productos ProductSetup=Configuración del módulo Productos
ServiceSetup=Configuración del módulo Servicios ServiceSetup=Configuración del módulo Servicios
@ -1415,9 +1419,9 @@ OSCommerceTestOk=La conexión al servidor '%s' sobre la base '%s' por el usuario
OSCommerceTestKo1=La conexión al servidor '%s' sobre la base '%s' por el usuario '%s' no se pudo efectuar. OSCommerceTestKo1=La conexión al servidor '%s' sobre la base '%s' por el usuario '%s' no se pudo efectuar.
OSCommerceTestKo2=La conexión al servidor '%s' por el usuario '%s' ha fallado. OSCommerceTestKo2=La conexión al servidor '%s' por el usuario '%s' ha fallado.
##### Stock ##### ##### Stock #####
StockSetup=Warehouse module setup StockSetup=Configuración del módulo Almacenes
UserWarehouse=Use user personal warehouses UserWarehouse=Utilizar almacenes personales de usuarios
IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. IfYouUsePointOfSaleCheckModule=Si utiliza un módulo de Punto de Venta (módulo TPV por defecto u otro módulo externo), esta configuración puede ser ignorada por su módulo de Punto de Venta. La mayor parte de módulos TPV están diseñados para crear inmediatamente una factura y decrementar stocks cualquiera que sean estas opciones. Por lo tanto, si usted necesita o no decrementar stocks en el registro de una venta de su punto de venta, controle también la configuración de su módulo TPV.
##### Menu ##### ##### Menu #####
MenuDeleted=Menú eliminado MenuDeleted=Menú eliminado
TreeMenu=Estructura de los menús TreeMenu=Estructura de los menús
@ -1482,14 +1486,14 @@ ClickToDialDesc=Este módulo permite agregar un icono después del número de te
##### Point Of Sales (CashDesk) ##### ##### Point Of Sales (CashDesk) #####
CashDesk=TPV CashDesk=TPV
CashDeskSetup=Configuración del módulo Terminal Punto de Venta CashDeskSetup=Configuración del módulo Terminal Punto de Venta
CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskThirdPartyForSell=Tercero genérico a usar para las ventas
CashDeskBankAccountForSell=Cuenta por defecto a utilizar para los cobros en efectivo (caja) CashDeskBankAccountForSell=Cuenta por defecto a utilizar para los cobros en efectivo (caja)
CashDeskBankAccountForCheque= Cuenta por defecto a utilizar para los cobros con cheques CashDeskBankAccountForCheque= Cuenta por defecto a utilizar para los cobros con cheques
CashDeskBankAccountForCB= Cuenta por defecto a utilizar para los cobros con tarjeta de crédito CashDeskBankAccountForCB= Cuenta por defecto a utilizar para los cobros con tarjeta de crédito
CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale CashDeskDoNotDecreaseStock=Desactivar decrementos de stock si una venta se realiza desde TPV
CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease CashDeskIdWareHouse=Forzar y restringir almacén a usar para decremento de stock
StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled StockDecreaseForPointOfSaleDisabled=Decremento de stock desde TPV desactivado
CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. CashDeskYouDidNotDisableStockDecease=Usted no ha desactivado el decremento de stock al hacer una venta desde TPV. Así que se requiere un almacén.
##### Bookmark ##### ##### Bookmark #####
BookmarkSetup=Configuración del módulo Marcadores BookmarkSetup=Configuración del módulo Marcadores
BookmarkDesc=Este módulo le permite gestionar los enlaces y accesos directos. También permite añadir cualquier página de Dolibarr o enlace web en el menú de acceso rápido de la izquierda. BookmarkDesc=Este módulo le permite gestionar los enlaces y accesos directos. También permite añadir cualquier página de Dolibarr o enlace web en el menú de acceso rápido de la izquierda.
@ -1543,13 +1547,13 @@ ConfirmDeleteFiscalYear=¿Está seguro de querer eliminar este año fiscal?
Opened=Abierto Opened=Abierto
Closed=Cerrado Closed=Cerrado
AlwaysEditable=Puede editarse siempre AlwaysEditable=Puede editarse siempre
MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) 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=Minimum number of uppercase characters NbMajMin=Número mínimo de caracteres en mayúsculas
NbNumMin=Minimum number of numeric characters NbNumMin=Número mínimo de caracteres numéricos
NbSpeMin=Minimum number of special characters NbSpeMin=Número mínimo de caracteres especiales
NbIteConsecutive=Maximum number of repeating same characters NbIteConsecutive=Número máximo de repeticiones de los mismos caracteres
NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation NoAmbiCaracAutoGeneration=No usar caracteres ambiguos ("1","l","i","|","0","O") para la generación automática
SalariesSetup=Setup of module salaries SalariesSetup=Configuración del módulo salarios
SortOrder=Sort order SortOrder=Ordenación
Format=Formatear Format=Formatear
TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor

View File

@ -44,7 +44,7 @@ AgendaExtSitesDesc=Esta página le permite configurar calendarios externos para
ActionsEvents=Eventos para que Dolibarr cree un evento en la agenda de forma automática ActionsEvents=Eventos para que Dolibarr cree un evento en la agenda de forma automática
PropalValidatedInDolibarr=Presupuesto %s validado PropalValidatedInDolibarr=Presupuesto %s validado
InvoiceValidatedInDolibarr=Factura %s validada InvoiceValidatedInDolibarr=Factura %s validada
InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS InvoiceValidatedInDolibarrFromPos=Factura %s validada desde TPV
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
InvoiceDeleteDolibarr=Factura %s eliminada InvoiceDeleteDolibarr=Factura %s eliminada
OrderValidatedInDolibarr= Pedido %s validado OrderValidatedInDolibarr= Pedido %s validado

View File

@ -217,7 +217,7 @@ NoInvoice=Ninguna factura
ClassifyBill=Clasificar la factura ClassifyBill=Clasificar la factura
SupplierBillsToPay=Facturas de proveedores a pagar SupplierBillsToPay=Facturas de proveedores a pagar
CustomerBillsUnpaid=Facturas a clientes pendientes de cobro CustomerBillsUnpaid=Facturas a clientes pendientes de cobro
DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters DispenseMontantLettres=Las facturas escritas a través de procedimientos mecanograficos son dispensadas por la orden en letras
NonPercuRecuperable=No percibido recuperable NonPercuRecuperable=No percibido recuperable
SetConditions=Definir condiciones de pago SetConditions=Definir condiciones de pago
SetMode=Definir modo de pago SetMode=Definir modo de pago

View File

@ -109,4 +109,4 @@ CategoriesSetup=Configuración de categorías
CategorieRecursiv=Enlazar con la categoría padre automáticamente CategorieRecursiv=Enlazar con la categoría padre automáticamente
CategorieRecursivHelp=Si está activado, el producto se enlazará a la categoría padre si lo añadimos a una subcategoría CategorieRecursivHelp=Si está activado, el producto se enlazará a la categoría padre si lo añadimos a una subcategoría
AddProductServiceIntoCategory=Añadir el siguiente producto/servicio AddProductServiceIntoCategory=Añadir el siguiente producto/servicio
ShowCategory=Show category ShowCategory=Mostrar categoría

View File

@ -108,7 +108,7 @@ ErrorWrongAccountancyCodeForCompany=Código contable incorrecto para %s
SuppliersProductsSellSalesTurnover=Volumen de ventas generado por la venta de los productos de los proveedores SuppliersProductsSellSalesTurnover=Volumen de ventas generado por la venta de los productos de los proveedores
CheckReceipt=Lista de remesas CheckReceipt=Lista de remesas
CheckReceiptShort=Remesas CheckReceiptShort=Remesas
LastCheckReceiptShort=Last %s check receipts LastCheckReceiptShort=%s Últimas remesas
NewCheckReceipt=Nueva remesa NewCheckReceipt=Nueva remesa
NewCheckDeposit=Nuevo ingreso NewCheckDeposit=Nuevo ingreso
NewCheckDepositOn=Crear nueva remesa en la cuenta: %s NewCheckDepositOn=Crear nueva remesa en la cuenta: %s

View File

@ -1,7 +1,7 @@
# Dolibarr language file - Source file is en_US - contracts # Dolibarr language file - Source file is en_US - contracts
ContractsArea=Área contratos ContractsArea=Área contratos
ListOfContracts=Listado de contratos ListOfContracts=Listado de contratos
LastModifiedContracts=Last %s modified contracts LastModifiedContracts=%s Últimos contratos modificados
AllContracts=Todos los contratos AllContracts=Todos los contratos
ContractCard=Ficha contrato ContractCard=Ficha contrato
ContractStatus=Estado del contrato ContractStatus=Estado del contrato
@ -53,7 +53,7 @@ ListOfRunningContractsLines=Listado de líneas de contratos en servicio
ListOfRunningServices=Listado de servicios activos ListOfRunningServices=Listado de servicios activos
NotActivatedServices=Servicios no activados (con los contratos validados) NotActivatedServices=Servicios no activados (con los contratos validados)
BoardNotActivatedServices=Servicios a activar con los contratos validados BoardNotActivatedServices=Servicios a activar con los contratos validados
LastContracts=Last % contracts LastContracts=%s Últimos contratos
LastActivatedServices=Los %s últimos servicios activados LastActivatedServices=Los %s últimos servicios activados
LastModifiedServices=Los %s últimos servicios modificados LastModifiedServices=Los %s últimos servicios modificados
EditServiceLine=Edición línea del servicio EditServiceLine=Edición línea del servicio

View File

@ -18,7 +18,7 @@ CronExplainHowToRunUnix=En entorno Unix debes usar crontab para ejecutar el coma
CronExplainHowToRunWin=En un entorno de Microsoft(tm) Windows puedes usar el programador de tareas para ejecutar el comando cada varios minutos CronExplainHowToRunWin=En un entorno de Microsoft(tm) Windows puedes usar el programador de tareas para ejecutar el comando cada varios minutos
# Menu # Menu
CronJobs=Tareas programadas CronJobs=Tareas programadas
CronListActive=List of active/scheduled jobs CronListActive=Listado de tareas activas/programadas
CronListInactive=Tareas Inactivas CronListInactive=Tareas Inactivas
# Page list # Page list
CronDateLastRun=Últ. ejec. CronDateLastRun=Últ. ejec.

View File

@ -31,8 +31,8 @@ DonationRecipient=Beneficiario
ThankYou=Muchas gracias ThankYou=Muchas gracias
IConfirmDonationReception=El beneficiario confirma la recepción, como donación, de la siguiente cantidad IConfirmDonationReception=El beneficiario confirma la recepción, como donación, de la siguiente cantidad
MinimumAmount=El importe mínimo es %s MinimumAmount=El importe mínimo es %s
FreeTextOnDonations=Free text to show in footer FreeTextOnDonations=Texto libre a mostrar a pié de página
FrenchOptions=Options for France FrenchOptions=Opciones para Francia
DONATION_ART200=Show article 200 from CGI if you are concerned DONATION_ART200=Mostrar artículo 200 del CGI si se está interesado
DONATION_ART238=Show article 238 from CGI if you are concerned DONATION_ART238=Mostrar artículo 238 del CGI si se está interesado
DONATION_ART885=Show article 885 from CGI if you are concerned DONATION_ART885=Mostrar artículo 885 del CGI si se está interesado

View File

@ -138,6 +138,24 @@ ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, este miembro aún no es
ErrorThereIsSomeDeliveries=Error, hay entregas vinculadas a este envío. No se puede eliminar. 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 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 ErrorCantDeletePaymentSharedWithPayedInvoice=No se puede eliminar un pago de varias factura con alguna factura con estado Pagada
ErrorPriceExpression1=No se puede asignar a la constante '%s'
ErrorPriceExpression2=No se puede redefinir la función incorporada '%s'
ErrorPriceExpression3=Variable '%s' no definida en la definición de la función
ErrorPriceExpression4=Carácter '%s' ilegal
ErrorPriceExpression5=No se esperaba '%s'
ErrorPriceExpression6=Número de argumentos inadecuados (%s dados, %s esperados)
ErrorPriceExpression8=Operador '%s' no esperado
ErrorPriceExpression9=Ha ocurrido un error no esperado
ErrorPriceExpression10=Operador '%s' carece de operando
ErrorPriceExpression11=Se esperaba '%s'
ErrorPriceExpression14=División por cero
ErrorPriceExpression17=Variable '%s' indefinida
ErrorPriceExpression19=Expresión no encontrada
ErrorPriceExpression20=Expresión vacía
ErrorPriceExpression21=Resultado '%s' vacío
ErrorPriceExpression22=Resultado '%s' negativo
ErrorPriceExpressionInternal=Error interno '%s'
ErrorPriceExpressionUnknown=Error desconocido '%s'
# Warnings # Warnings
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos

View File

@ -2,4 +2,4 @@
ExternalSiteSetup=Configuración del enlace al sitio web externo ExternalSiteSetup=Configuración del enlace al sitio web externo
ExternalSiteURL=URL del sitio externo ExternalSiteURL=URL del sitio externo
ExternalSiteModuleNotComplete=El módulo Sitio web externo no ha sido configurado correctamente. ExternalSiteModuleNotComplete=El módulo Sitio web externo no ha sido configurado correctamente.
ExampleMyMenuEntry=My menu entry ExampleMyMenuEntry=Mi entrada de menú

View File

@ -31,14 +31,14 @@ RelatedInterventions=Intervenciones adjuntas
ShowIntervention=Mostrar intervención ShowIntervention=Mostrar intervención
SendInterventionRef=Envío de la intervención %s SendInterventionRef=Envío de la intervención %s
SendInterventionByMail=Enviar intervención por e-mail SendInterventionByMail=Enviar intervención por e-mail
InterventionCreatedInDolibarr=Intervention %s created InterventionCreatedInDolibarr=Intervención %s creada
InterventionValidatedInDolibarr=Intervention %s validated InterventionValidatedInDolibarr=Intervención %s validada
InterventionModifiedInDolibarr=Intervention %s modified InterventionModifiedInDolibarr=Intervención %s modificada
InterventionClassifiedBilledInDolibarr=Intervention %s set as billed InterventionClassifiedBilledInDolibarr=Intervención %s clasificada como facturada
InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled InterventionClassifiedUnbilledInDolibarr=Intervención %s clasificada como no facturada
InterventionSentByEMail=Intervention %s sent by EMail InterventionSentByEMail=Intervención %s enviada por E-Mail
InterventionDeletedInDolibarr=Intervention %s deleted InterventionDeletedInDolibarr=Intervención %s eliminada
SearchAnIntervention=Search an intervention SearchAnIntervention=Buscar una intervención
##### Types de contacts ##### ##### Types de contacts #####
TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguimiento de la intervención TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguimiento de la intervención
TypeContact_fichinter_internal_INTERVENING=Interventor TypeContact_fichinter_internal_INTERVENING=Interventor

View File

@ -115,7 +115,7 @@ SentBy=Enviado por
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: 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. 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=¿Confirma el envío del e-mailing?
LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, <b>%s</b> recipients at a time for each sending session. 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 TargetsReset=Vaciar lista
ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón
ToAddRecipientsChooseHere=Para añadir destinatarios, escoja los que figuran en las listas a continuación ToAddRecipientsChooseHere=Para añadir destinatarios, escoja los que figuran en las listas a continuación
@ -136,6 +136,6 @@ SomeNotificationsWillBeSent=%s notificaciones van a ser enviadas por e-mail
AddNewNotification=Activar un nuevo destinatario de notificaciones AddNewNotification=Activar un nuevo destinatario de notificaciones
ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones
ListOfNotificationsDone=Listado de notificaciones enviadas ListOfNotificationsDone=Listado de notificaciones enviadas
MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs=La configuración de e-mailings está a '%s'. Este modo no puede ser usado para enviar e-mails masivos.
MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter <strong>'%s'</strong> to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. MailSendSetupIs2=Antes debe, con una cuenta de administrador, en el menú %sInicio - Configuración - E-Mails%s, cambiar el parámetro <strong>'%s'</strong> para usar el modo '%s'. Con este modo puede configurar un servidor SMTP de su proveedor de servicios de internet.
MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. MailSendSetupIs3=Si tiene preguntas de como configurar su servidor SMTP, puede contactar con %s.

View File

@ -367,7 +367,7 @@ ActionsOnCompany=Eventos respecto a este tercero
ActionsOnMember=Eventos respecto a este miembro ActionsOnMember=Eventos respecto a este miembro
NActions=%s eventos NActions=%s eventos
NActionsLate=%s en retraso NActionsLate=%s en retraso
RequestAlreadyDone=Request already recorded RequestAlreadyDone=Solicitud ya registrada
Filter=Filtro Filter=Filtro
RemoveFilter=Eliminar filtro RemoveFilter=Eliminar filtro
ChartGenerated=Gráficos generados ChartGenerated=Gráficos generados

View File

@ -41,4 +41,4 @@ AgentContactType=Tipo de contacto comisionado
AgentContactTypeDetails=Indique qué tipo de contacto (enlazado a las facturas) será el utilizado para el informe de márgenes de agentes comerciales AgentContactTypeDetails=Indique qué tipo de contacto (enlazado a las facturas) será el utilizado para el informe de márgenes de agentes comerciales
rateMustBeNumeric=El margen debe ser un valor numérico rateMustBeNumeric=El margen debe ser un valor numérico
markRateShouldBeLesserThan100=El margen tiene que ser menor que 100 markRateShouldBeLesserThan100=El margen tiene que ser menor que 100
ShowMarginInfos=Show margin infos ShowMarginInfos=Mostrar info de márgenes

View File

@ -203,3 +203,4 @@ MembersByNature=Miembros por naturaleza
VATToUseForSubscriptions=Tasa de IVA para las afiliaciones VATToUseForSubscriptions=Tasa de IVA para las afiliaciones
NoVatOnSubscription=Sin IVA para en las afiliaciones NoVatOnSubscription=Sin IVA para en las afiliaciones
MEMBER_PAYONLINE_SENDEMAIL=E-Mail para advertir en caso de recepción de confirmación de un pago validado de una afiliación MEMBER_PAYONLINE_SENDEMAIL=E-Mail para advertir en caso de recepción de confirmación de un pago validado de una afiliación
ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Producto usado para las suscripciones en línea en facturas: %s

View File

@ -53,7 +53,7 @@ ShippingExist=Existe una expedición
DraftOrWaitingApproved=Borrador o aprobado aún no controlado DraftOrWaitingApproved=Borrador o aprobado aún no controlado
DraftOrWaitingShipped=Borrador o validado aún no expedido DraftOrWaitingShipped=Borrador o validado aún no expedido
MenuOrdersToBill=Pedidos a facturar MenuOrdersToBill=Pedidos a facturar
MenuOrdersToBill2=Billable orders MenuOrdersToBill2=Pedidos facturables
SearchOrder=Buscar un pedido SearchOrder=Buscar un pedido
SearchACustomerOrder=Buscar un pedido de cliente SearchACustomerOrder=Buscar un pedido de cliente
ShipProduct=Enviar producto ShipProduct=Enviar producto

View File

@ -203,26 +203,26 @@ ForgetIfNothing=Si usted no ha solicitado este cambio, simplemente ignore este e
##### Calendar common ##### ##### Calendar common #####
AddCalendarEntry=Añadir entrada en el calendario AddCalendarEntry=Añadir entrada en el calendario
NewCompanyToDolibarr=Company %s added NewCompanyToDolibarr=Empresa %s añadida
ContractValidatedInDolibarr=Contract %s validated ContractValidatedInDolibarr=Contrato %s validado
ContractCanceledInDolibarr=Contract %s canceled ContractCanceledInDolibarr=Contrato %s cancelado
ContractClosedInDolibarr=Contract %s closed ContractClosedInDolibarr=Contrato %s cerrado
PropalClosedSignedInDolibarr=Proposal %s signed PropalClosedSignedInDolibarr=Presupuesto %s firmado
PropalClosedRefusedInDolibarr=Proposal %s refused PropalClosedRefusedInDolibarr=Presupuesto %s rechazado
PropalValidatedInDolibarr=Proposal %s validated PropalValidatedInDolibarr=Presupuesto %s validado
PropalClassifiedBilledInDolibarr=Proposal %s classified billed PropalClassifiedBilledInDolibarr=Presupuesto %s clasificado facturado
InvoiceValidatedInDolibarr=Invoice %s validated InvoiceValidatedInDolibarr=Factura %s validada
InvoicePaidInDolibarr=Invoice %s changed to paid InvoicePaidInDolibarr=Factura %s pasada a pagada
InvoiceCanceledInDolibarr=Invoice %s canceled InvoiceCanceledInDolibarr=Factura %s cancelada
PaymentDoneInDolibarr=Payment %s done PaymentDoneInDolibarr=Pago %s realizado
CustomerPaymentDoneInDolibarr=Customer payment %s done CustomerPaymentDoneInDolibarr=Pago de cliente %s realizado
SupplierPaymentDoneInDolibarr=Supplier payment %s done SupplierPaymentDoneInDolibarr=Pago a proveedor %s realizado
MemberValidatedInDolibarr=Member %s validated MemberValidatedInDolibarr=Miembro %s validado
MemberResiliatedInDolibarr=Member %s resiliated MemberResiliatedInDolibarr=Miembro %s dado de baja
MemberDeletedInDolibarr=Member %s deleted MemberDeletedInDolibarr=Miembro %s eliminado
MemberSubscriptionAddedInDolibarr=Subscription for member %s added MemberSubscriptionAddedInDolibarr=Subscripción del miembro %s añadida
ShipmentValidatedInDolibarr=Shipment %s validated ShipmentValidatedInDolibarr=Expedición %s validada
ShipmentDeletedInDolibarr=Shipment %s deleted ShipmentDeletedInDolibarr=Expedición %s eliminada
##### Export ##### ##### Export #####
Export=Exportación Export=Exportación
ExportsArea=Área de exportaciones ExportsArea=Área de exportaciones

View File

@ -35,6 +35,6 @@ MessageKO=Mensaje en la página de retorno de pago cancelado
NewPayboxPaymentReceived=Nuevo pago Paybox recibido NewPayboxPaymentReceived=Nuevo pago Paybox recibido
NewPayboxPaymentFailed=Nuevo intento de pago Paybox sin éxito NewPayboxPaymentFailed=Nuevo intento de pago Paybox sin éxito
PAYBOX_PAYONLINE_SENDEMAIL=E-Mail a avisar en caso de pago (con éxito o no) PAYBOX_PAYONLINE_SENDEMAIL=E-Mail a avisar en caso de pago (con éxito o no)
PAYBOX_PBX_SITE=Value for PBX SITE PAYBOX_PBX_SITE=Valor para PBX SITE
PAYBOX_PBX_RANG=Value for PBX Rang PAYBOX_PBX_RANG=valor para PBX Rang
PAYBOX_PBX_IDENTIFIANT=Value for PBX ID PAYBOX_PBX_IDENTIFIANT=Valor para PBX ID

View File

@ -1,9 +1,9 @@
# Dolibarr language file - Source file is en_US - printipp # Dolibarr language file - Source file is en_US - printipp
PrintIPPSetup=Configuración del módulo Impresión directa IPP PrintIPPSetup=Configuración del módulo Impresión Directa
PrintIPPDesc=Este módulo permite añadir un botón de impresión directa de sus documentos hacia su impresora. Se requiere un sistema Linux equipado con Cups. PrintIPPDesc=Este módulo añade un botón para enviar documentos directamente a una impresora. Es necesario un SO Linux con CUPS instalado.
PRINTIPP_ENABLED=Muestra el logo "Impresión directa" en los listados de documentos PRINTIPP_ENABLED=Mostrar icono "Impresión directa" en los listados de documentos
PRINTIPP_HOST=Servidor de impresión PRINTIPP_HOST=Servidor de impresión
PRINTIPP_PORT=Puerto PRINTIPP_PORT=Puerto
PRINTIPP_USER=Login PRINTIPP_USER=Usuario
PRINTIPP_PASSWORD=Contraseña PRINTIPP_PASSWORD=Contraseña
NoPrinterFound=No se ha encontrado ninguna impresora (compruebe su configuración Cups) NoPrinterFound=No se han encontrado impresoras (Compruebe la configuración de su CUPS)

View File

@ -0,0 +1,19 @@
# ProductBATCH language file - en_US - ProductBATCH
ManageLotSerial=Gestionar lotes/series
ProductStatusOnBatch=Gestionado
ProductStatusNotOnBatch=No gestionado
ProductStatusOnBatchShort=Gestionado
ProductStatusNotOnBatchShort=No gestionado
Batch=Lote/Serie
atleast1batchfield=Fecha de caducidad o Fecha de venta o Lote
batch_number=Número Lote/Serie
l_eatby=Fecha de caducidad
l_sellby=Fecha límite de venta
DetailBatchNumber=Detalles del lote/serie
DetailBatchFormat=Caducidad: %s Límite venta: %s LOTE: %s (Stock : %d)
printBatch=Lote: %s
printEatby=Caducidad: %s
printSellby=Límite venta: %s
printQty=Cant.: %d
AddDispatchBatchLine=Añada una línea para despacho por caducidad
BatchDefaultNumber=Indefinido

View File

@ -242,3 +242,8 @@ ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clien
PriceByCustomerLog=Log de precios por clientes PriceByCustomerLog=Log de precios por clientes
MinimumPriceLimit=El precio mínimo no puede ser menor de %s MinimumPriceLimit=El precio mínimo no puede ser menor de %s
MinimumRecommendedPrice=El precio mínimo recomendado es: %s MinimumRecommendedPrice=El precio mínimo recomendado es: %s
PriceExpressionEditor=Editor de expresión de precios
PriceExpressionSelected=Expresión de precios seleccionada
PriceExpressionEditorHelp="price = 2 + 2" o "2 + 2" para indicar el precio<br>ExtraFields son variables como "#options_myextrafieldkey# * 2"<br>Existen variables especiales como #quantity# y #tva_tx#<br>Use ; para separar expresiones
PriceMode=Modo precio
PriceNumeric=Número

View File

@ -1,36 +1,36 @@
MenuResourceIndex=Resources MenuResourceIndex=Recursos
MenuResourceAdd=New resource MenuResourceAdd=Nuevo recurso
MenuResourcePlanning=Resource planning MenuResourcePlanning=Planificación de recursos
DeleteResource=Delete resource DeleteResource=Eliminar recurso
ConfirmDeleteResourceElement=Confirm delete the resource for this element ConfirmDeleteResourceElement=¿Está seguro de querer eliminar el recurso de este elemento?
NoResourceInDatabase=No resource in database. NoResourceInDatabase=Sin recursos en la base de datos.
NoResourceLinked=No resource linked NoResourceLinked=Sin recursos enlazados
ResourcePageIndex=Resources list ResourcePageIndex=Listado de recursos
ResourceSingular=Resource ResourceSingular=Recurso
ResourceCard=Resource card ResourceCard=Ficha recurso
AddResource=Create a resource AddResource=Crear un recurso
ResourceFormLabel_ref=Resource name ResourceFormLabel_ref=Nombre recurso
ResourceType=Resource type ResourceType=Tipo de recurso
ResourceFormLabel_description=Resource description ResourceFormLabel_description=Descripción recurso
ResourcesLinkedToElement=Resources linked to element ResourcesLinkedToElement=Recursos enlazados a elemento
ShowResourcePlanning=Show resource planning ShowResourcePlanning=Ver planificación de recursos
GotoDate=Go to date GotoDate=Ir a fecha
ResourceElementPage=Element resources ResourceElementPage=Elementos de recursos
ResourceCreatedWithSuccess=Resource successfully created ResourceCreatedWithSuccess=Recurso creado correctamente
RessourceLineSuccessfullyDeleted=Resource line successfully deleted RessourceLineSuccessfullyDeleted=Línea de recurso eliminada correctamente
RessourceLineSuccessfullyUpdated=Resource line successfully updated RessourceLineSuccessfullyUpdated=Línea de recurso actualizada correctamente
ResourceLinkedWithSuccess=Resource linked with success ResourceLinkedWithSuccess=Recurso enlazado correctamente
TitleResourceCard=Resource card TitleResourceCard=Ficha recurso
ConfirmDeleteResource=Confirm to delete this resource ConfirmDeleteResource=¿Está seguro de querer eliminar este recurso?
RessourceSuccessfullyDeleted=Resource successfully deleted RessourceSuccessfullyDeleted=Recurso eliminado correctamente
DictionaryResourceType=Type of resources DictionaryResourceType=Tipo de recursos
DictionaryEMailTemplates=Modèles d'Emails DictionaryEMailTemplates=Modelo de E-Mails
SelectResource=Select resource SelectResource=Seleccionar recurso

View File

@ -61,8 +61,8 @@ ShipmentCreationIsDoneFromOrder=De momento, la creación de una nueva expedició
RelatedShippings=Expedición(es) asociada(s) RelatedShippings=Expedición(es) asociada(s)
ShipmentLine=Línea de expedición ShipmentLine=Línea de expedición
CarrierList=Listado de transportistas CarrierList=Listado de transportistas
SendingRunning=Product from customer order already sent SendingRunning=Ya ha sido enviado el producto del pedido de cliente
SuppliersReceiptRunning=Product from supplier order already received SuppliersReceiptRunning=Ya ha sido recibido el producto del pedido a proveedor
# Sending methods # Sending methods
SendingMethodCATCH=Recogido por el cliente SendingMethodCATCH=Recogido por el cliente

View File

@ -23,7 +23,7 @@ ErrorWarehouseLabelRequired=La etiqueta del almacén es obligatoria
CorrectStock=Corregir stock CorrectStock=Corregir stock
ListOfWarehouses=Listado de almacenes ListOfWarehouses=Listado de almacenes
ListOfStockMovements=Listado de movimientos de stock ListOfStockMovements=Listado de movimientos de stock
StocksArea=Warehouses area StocksArea=Área almacenes
Location=Lugar Location=Lugar
LocationSummary=Nombre corto del lugar LocationSummary=Nombre corto del lugar
NumberOfDifferentProducts=Número de productos diferentes NumberOfDifferentProducts=Número de productos diferentes

View File

@ -102,7 +102,7 @@ UserDisabled=Usuario %s deshailitado
UserEnabled=Usuario %s activado UserEnabled=Usuario %s activado
UserDeleted=Usuario %s eliminado UserDeleted=Usuario %s eliminado
NewGroupCreated=Grupo %s creado NewGroupCreated=Grupo %s creado
GroupModified=Group %s modified GroupModified=Grupo %s modificado
GroupDeleted=Grupo %s eliminado GroupDeleted=Grupo %s eliminado
ConfirmCreateContact=¿Está seguro de querer crear una cuenta Dolibarr para este contacto? ConfirmCreateContact=¿Está seguro de querer crear una cuenta Dolibarr para este contacto?
ConfirmCreateLogin=¿Está seguro de que desea crear una cuenta Dolibarr para este miembro? ConfirmCreateLogin=¿Está seguro de que desea crear una cuenta Dolibarr para este miembro?

View File

@ -16,7 +16,7 @@ WithdrawedBills=Facturas domiciliadas
WithdrawalsLines=Lineas de domiciliación WithdrawalsLines=Lineas de domiciliación
RequestStandingOrderToTreat=Peticiones de domiciliaciones a procesar RequestStandingOrderToTreat=Peticiones de domiciliaciones a procesar
RequestStandingOrderTreated=Peticiones de domiciliaciones procesadas RequestStandingOrderTreated=Peticiones de domiciliaciones procesadas
NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. NotPossibleForThisStatusOfWithdrawReceiptORLine=Todavía no es posible. El estado de la domiciliación debe ser 'abonada' antes de poder realizar devoluciones a sus líneas
CustomersStandingOrders=Domiciliaciones de clientes CustomersStandingOrders=Domiciliaciones de clientes
CustomerStandingOrder=Domiciliación cliente CustomerStandingOrder=Domiciliación cliente
NbOfInvoiceToWithdraw=Nº de facturas pendientes de domiciliación NbOfInvoiceToWithdraw=Nº de facturas pendientes de domiciliación
@ -47,7 +47,7 @@ RefusedData=Fecha de devolución
RefusedReason=Motivo de devolución RefusedReason=Motivo de devolución
RefusedInvoicing=Facturación de la devolución RefusedInvoicing=Facturación de la devolución
NoInvoiceRefused=No facturar la devolución NoInvoiceRefused=No facturar la devolución
InvoiceRefused=Invoice refused (Charge the rejection to customer) InvoiceRefused=Factura rechazada (Cargar los gastos al cliente)
Status=Estado Status=Estado
StatusUnknown=Desconocido StatusUnknown=Desconocido
StatusWaiting=En espera StatusWaiting=En espera
@ -76,7 +76,7 @@ WithBankUsingRIB=Para las cuentas bancarias que utilizan CCC
WithBankUsingBANBIC=Para las cuentas bancarias que utilizan el código BAN/BIC/SWIFT WithBankUsingBANBIC=Para las cuentas bancarias que utilizan el código BAN/BIC/SWIFT
BankToReceiveWithdraw=Cuenta bancaria receptora de las domiciliaciones BankToReceiveWithdraw=Cuenta bancaria receptora de las domiciliaciones
CreditDate=Abonada el CreditDate=Abonada el
WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) WithdrawalFileNotCapable=No es posible generar el fichero bancario de domiciliación para el país %s (El país no está soportado)
ShowWithdraw=Ver domiciliación ShowWithdraw=Ver domiciliación
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Sin embargo, si la factura tiene pendiente algún pago por domiciliación, no será cerrada para permitir la gestión de la domiciliación. IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Sin embargo, si la factura tiene pendiente algún pago por domiciliación, no será cerrada para permitir la gestión de la domiciliación.
DoStandingOrdersBeforePayments=Esta pestaña le permite realizar una petición de domiciliación. Una vez terminada, puede ingresar el pago en la factura para proceder a su cierre. DoStandingOrdersBeforePayments=Esta pestaña le permite realizar una petición de domiciliación. Una vez terminada, puede ingresar el pago en la factura para proceder a su cierre.

View File

@ -10,7 +10,7 @@ batch_number= Numéro de lot
l_eatby= DLC l_eatby= DLC
l_sellby= DLUO l_sellby= DLUO
DetailBatchNumber= Détails des lots DetailBatchNumber= Détails des lots
DetailBatchFormat= C:%s UO: %s LOT: %s (Qté : %d) DetailBatchFormat= Lot/Serie: %s - C:%s - UO: %s (Qté : %d)
printBatch= Lot: %s printBatch= Lot: %s
printEatby= DLC: %s printEatby= DLC: %s
printSellby= DLUO: %s printSellby= DLUO: %s

View File

@ -123,7 +123,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
$result = $db->query($sql); $result = $db->query($sql);
$nbtotalofrecords = $db->num_rows($result); $nbtotalofrecords = $db->num_rows($result);
} }
$sql.= " WHERE p.entity = ".getEntity('survey'); $sql.= " WHERE p.entity = ".getEntity('survey',1);
if ($status == 'expired') $sql.=" AND date_fin < '".$db->idate($now)."'"; if ($status == 'expired') $sql.=" AND date_fin < '".$db->idate($now)."'";
if ($status == 'opened') $sql.=" AND date_fin >= '".$db->idate($now)."'"; if ($status == 'opened') $sql.=" AND date_fin >= '".$db->idate($now)."'";
if ($surveytitle) $sql.=" AND titre LIKE '%".$db->escape($surveytitle)."%'"; if ($surveytitle) $sql.=" AND titre LIKE '%".$db->escape($surveytitle)."%'";

View File

@ -1122,7 +1122,7 @@ else
// Batch number managment // Batch number managment
if ($conf->productbatch->enabled) { if ($conf->productbatch->enabled) {
print '<tr><td>'.$langs->trans("ManageLotSerial").'</td><td colspan="2">'; print '<tr><td>'.$langs->trans("ManageLotSerial").'</td><td colspan="3">';
$statutarray=array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); $statutarray=array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"));
print $form->selectarray('status_batch',$statutarray,$object->status_batch); print $form->selectarray('status_batch',$statutarray,$object->status_batch);
print '</td></tr>'; print '</td></tr>';

View File

@ -298,7 +298,7 @@ class Project extends CommonObject
else if (! empty($ref)) else if (! empty($ref))
{ {
$sql.= " WHERE ref='".$this->db->escape($ref)."'"; $sql.= " WHERE ref='".$this->db->escape($ref)."'";
$sql.= " AND entity IN (".getEntity('project').")"; $sql.= " AND entity IN (".getEntity('project',1).")";
} }
dol_syslog(get_class($this)."::fetch", LOG_DEBUG); dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
@ -910,7 +910,7 @@ class Project extends CommonObject
$sql.= ", " . MAIN_DB_PREFIX . "element_contact as ec"; $sql.= ", " . MAIN_DB_PREFIX . "element_contact as ec";
$sql.= ", " . MAIN_DB_PREFIX . "c_type_contact as ctc"; $sql.= ", " . MAIN_DB_PREFIX . "c_type_contact as ctc";
} }
$sql.= " WHERE p.entity IN (".getEntity('project').")"; $sql.= " WHERE p.entity IN (".getEntity('project',1).")";
// Internal users must see project he is contact to even if project linked to a third party he can't see. // Internal users must see project he is contact to even if project linked to a third party he can't see.
//if ($socid || ! $user->rights->societe->client->voir) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")"; //if ($socid || ! $user->rights->societe->client->voir) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")";
if ($socid > 0) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = " . $socid . ")"; if ($socid > 0) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = " . $socid . ")";

View File

@ -388,7 +388,7 @@ class Resource extends CommonObject
$sql.= " ty.label as type_label"; $sql.= " ty.label as type_label";
$sql.= " FROM ".MAIN_DB_PREFIX."resource as t"; $sql.= " FROM ".MAIN_DB_PREFIX."resource as t";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_type_resource as ty ON ty.code=t.fk_code_type_resource"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_type_resource as ty ON ty.code=t.fk_code_type_resource";
//$sql.= " WHERE t.entity IN (".getEntity('resource').")"; $sql.= " WHERE t.entity IN (".getEntity('resource',1).")";
//Manage filter //Manage filter
if (!empty($filter)){ if (!empty($filter)){
@ -402,7 +402,7 @@ class Resource extends CommonObject
} }
} }
$sql.= " GROUP BY t.rowid"; $sql.= " GROUP BY t.rowid";
$sql.= " ORDER BY $sortfield $sortorder "; $sql.= $this->db->order($sortfield,$sortorder);
if ($limit) $sql.= $this->db->plimit($limit+1,$offset); if ($limit) $sql.= $this->db->plimit($limit+1,$offset);
dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG);
@ -462,7 +462,7 @@ class Resource extends CommonObject
$sql.= " t.fk_user_create,"; $sql.= " t.fk_user_create,";
$sql.= " t.tms"; $sql.= " t.tms";
$sql.= ' FROM '.MAIN_DB_PREFIX .'element_resources as t '; $sql.= ' FROM '.MAIN_DB_PREFIX .'element_resources as t ';
//$sql.= " WHERE t.entity IN (".getEntity('resource').")"; $sql.= " WHERE t.entity IN (".getEntity('resource',1).")";
//Manage filter //Manage filter
if (!empty($filter)){ if (!empty($filter)){
@ -476,7 +476,8 @@ class Resource extends CommonObject
} }
} }
$sql.= " GROUP BY t.rowid"; $sql.= " GROUP BY t.rowid";
$sql.= " ORDER BY $sortfield $sortorder " . $this->db->plimit($limit+1,$offset); $sql.= $this->db->order($sortfield,$sortorder);
if ($limit) $sql.= $this->db->plimit($limit+1,$offset);
dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@ -547,7 +548,7 @@ class Resource extends CommonObject
$sql.= " t.fk_user_create,"; $sql.= " t.fk_user_create,";
$sql.= " t.tms"; $sql.= " t.tms";
$sql.= ' FROM '.MAIN_DB_PREFIX .'element_resources as t '; $sql.= ' FROM '.MAIN_DB_PREFIX .'element_resources as t ';
//$sql.= " WHERE t.entity IN (".getEntity('resource').")"; $sql.= " WHERE t.entity IN (".getEntity('resource',1).")";
//Manage filter //Manage filter
if (!empty($filter)){ if (!empty($filter)){
@ -561,7 +562,8 @@ class Resource extends CommonObject
} }
} }
$sql.= " GROUP BY t.resource_id"; $sql.= " GROUP BY t.resource_id";
$sql.= " ORDER BY " . $sortfield . " " . $sortorder . " " . $this->db->plimit($limit+1,$offset); $sql.= $this->db->order($sortfield,$sortorder);
if ($limit) $sql.= $this->db->plimit($limit+1,$offset);
dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);