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

This commit is contained in:
Laurent Destailleur 2014-03-15 21:46:49 +01:00
commit 739f80b46e
21 changed files with 206 additions and 86 deletions

View File

@ -77,6 +77,16 @@ if($action)
if($action == 'STOCK_USE_VIRTUAL_STOCK') { if($action == 'STOCK_USE_VIRTUAL_STOCK') {
$res = dolibarr_set_const($db, "STOCK_USE_VIRTUAL_STOCK", GETPOST('STOCK_USE_VIRTUAL_STOCK','alpha'),'chaine',0,'',$conf->entity); $res = dolibarr_set_const($db, "STOCK_USE_VIRTUAL_STOCK", GETPOST('STOCK_USE_VIRTUAL_STOCK','alpha'),'chaine',0,'',$conf->entity);
} }
if($action == 'STOCK_MUST_BE_ENOUGH_FOR_INVOICE') {
$res = dolibarr_set_const($db, "STOCK_MUST_BE_ENOUGH_FOR_INVOICE", GETPOST('STOCK_MUST_BE_ENOUGH_FOR_INVOICE','alpha'),'chaine',0,'',$conf->entity);
}
if($action == 'STOCK_MUST_BE_ENOUGH_FOR_ORDER') {
$res = dolibarr_set_const($db, "STOCK_MUST_BE_ENOUGH_FOR_ORDER", GETPOST('STOCK_MUST_BE_ENOUGH_FOR_ORDER','alpha'),'chaine',0,'',$conf->entity);
}
if($action == 'STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT') {
$res = dolibarr_set_const($db, "STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT", GETPOST('STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT','alpha'),'chaine',0,'',$conf->entity);
}
if (! $res > 0) $error++; if (! $res > 0) $error++;
@ -236,6 +246,60 @@ if (! empty($conf->fournisseur->enabled))
print '</table>'; print '</table>';
// Optio to force stock to be enough before adding a line into document
print '<br>';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print " <td>".$langs->trans("RuleForStockAvailability")."</td>\n";
print " <td align=\"right\" width=\"160\">&nbsp;</td>\n";
print '</tr>'."\n";
if($conf->invoice->enabled) {
$var = !$var;
print "<tr ".$bc[$var].">";
print '<td width="60%">'.$langs->trans("StockMustBeEnoughForInvoice").'</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_MUST_BE_ENOUGH_FOR_INVOICE\">";
print $form->selectyesno("STOCK_MUST_BE_ENOUGH_FOR_INVOICE",$conf->global->STOCK_MUST_BE_ENOUGH_FOR_INVOICE,1);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
print '</form>';
print "</td>\n";
print "</tr>\n";
}
if($conf->order->enabled) {
$var = !$var;
print "<tr ".$bc[$var].">";
print '<td width="60%">'.$langs->trans("StockMustBeEnoughForOrder").'</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_MUST_BE_ENOUGH_FOR_ORDER\">";
print $form->selectyesno("STOCK_MUST_BE_ENOUGH_FOR_ORDER",$conf->global->STOCK_MUST_BE_ENOUGH_FOR_ORDER,1);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
print '</form>';
print "</td>\n";
print "</tr>\n";
}
if($conf->expedition->enabled) {
$var = !$var;
print "<tr ".$bc[$var].">";
print '<td width="60%">'.$langs->trans("StockMustBeEnoughForShipment").'</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_MUST_BE_ENOUGH_FOR_SHIPMENT\">";
print $form->selectyesno("STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT",$conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT,1);
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
print '</form>';
print "</td>\n";
print "</tr>\n";
}
print '</table>';
$virtualdiffersfromphysical=0; $virtualdiffersfromphysical=0;
if (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT) if (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT)

View File

@ -19,9 +19,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
/** /**
* \file htdocs/comm/action/index.php * \file htdocs/comm/action/index.php

View File

@ -1038,7 +1038,7 @@ class Commande extends CommonOrder
*/ */
function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $info_bits=0, $fk_remise_except=0, $price_base_type='HT', $pu_ttc=0, $date_start='', $date_end='', $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0) function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $info_bits=0, $fk_remise_except=0, $price_base_type='HT', $pu_ttc=0, $date_start='', $date_end='', $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0)
{ {
global $mysoc; global $mysoc, $conf, $langs;
$commandeid=$this->id; $commandeid=$this->id;
@ -1103,6 +1103,20 @@ class Commande extends CommonOrder
$rangmax = $this->line_max($fk_parent_line); $rangmax = $this->line_max($fk_parent_line);
$rangtouse = $rangmax + 1; $rangtouse = $rangmax + 1;
} }
$product_type=$type;
if (!empty($fk_product))
{
$product=new Product($this->db);
$result=$product->fetch($fk_product);
$product_type=$product->type;
if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_ORDER && $product_type == 0 && $product->stock_reel < $qty) {
$this->error=$langs->trans('ErrorStockIsNotEnough');
$this->db->rollback();
return -3;
}
}
// TODO A virer // TODO A virer
// Anciens indicateurs: $price, $remise (a ne plus utiliser) // Anciens indicateurs: $price, $remise (a ne plus utiliser)
@ -1127,6 +1141,7 @@ class Commande extends CommonOrder
$this->line->localtax1_type = $localtaxes_type[0]; $this->line->localtax1_type = $localtaxes_type[0];
$this->line->localtax2_type = $localtaxes_type[2]; $this->line->localtax2_type = $localtaxes_type[2];
$this->line->fk_product=$fk_product; $this->line->fk_product=$fk_product;
$this->line->product_type=$product_type;
$this->line->fk_remise_except=$fk_remise_except; $this->line->fk_remise_except=$fk_remise_except;
$this->line->remise_percent=$remise_percent; $this->line->remise_percent=$remise_percent;
$this->line->subprice=$pu_ht; $this->line->subprice=$pu_ht;

View File

@ -670,6 +670,19 @@ else if ($action == 'add' && $user->rights->facture->creer) {
} }
if(GETPOST('invoiceAvoirWithPaymentRestAmount', 'int')==1 && $id>0) {
$facture_source = new Facture($db); // fetch origin object if not previously defined
if($facture_source->fetch($object->fk_facture_source)>0) {
$totalpaye = $facture_source->getSommePaiement();
$totalcreditnotes = $facture_source->getSumCreditNotesUsed();
$totaldeposits = $facture_source->getSumDepositsUsed();
$remain_to_pay = abs($facture_source->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits);
$object->addline($langs->trans('invoiceAvoirLineWithPaymentRestAmount'),$remain_to_pay,1,0,0,0,0,0,'','','TTC');
}
}
// Add predefined lines // Add predefined lines
/* /*
TODO delete TODO delete
@ -2058,7 +2071,8 @@ if ($action == 'create')
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1); $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1);
print $desc; print $desc;
print '&nbsp;&nbsp;&nbsp; <input type="checkbox" name="invoiceAvoirWithLines" id="invoiceAvoirWithLines" value="1" onclick="if($(this).is(\':checked\') ) { $(\'#radio_creditnote\').attr(\'checked\',\'checked\') }" /> <label for="invoiceAvoirWithLines">'.$langs->trans('invoiceAvoirWithLines')."</label>"; print '&nbsp;&nbsp;&nbsp; <input type="checkbox" name="invoiceAvoirWithLines" id="invoiceAvoirWithLines" value="1" onclick="if($(this).is(\':checked\') ) { $(\'#radio_creditnote\').attr(\'checked\',\'checked\'); $(\'#invoiceAvoirWithPaymentRestAmount\').removeAttr(\'checked\'); }" '.(GETPOST('invoiceAvoirWithLines','int')>0 ? 'checked="checked"':'').' /> <label for="invoiceAvoirWithLines">'.$langs->trans('invoiceAvoirWithLines')."</label>";
print '<br />&nbsp;&nbsp;&nbsp; <input type="checkbox" name="invoiceAvoirWithPaymentRestAmount" id="invoiceAvoirWithPaymentRestAmount" value="1" onclick="if($(this).is(\':checked\') ) { $(\'#radio_creditnote\').attr(\'checked\',\'checked\'); $(\'#invoiceAvoirWithLines\').removeAttr(\'checked\'); }" '.(GETPOST('invoiceAvoirWithPaymentRestAmount','int')>0 ? 'checked="checked"':'').' /> <label for="invoiceAvoirWithPaymentRestAmount">'.$langs->trans('invoiceAvoirWithPaymentRestAmount')."</label>";
print '</td></tr>' . "\n"; print '</td></tr>' . "\n";
} }

View File

@ -2003,7 +2003,7 @@ class Facture extends CommonInvoice
*/ */
function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type= self::TYPE_STANDARD, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0) function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type= self::TYPE_STANDARD, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0)
{ {
global $mysoc; global $mysoc, $conf, $langs;
$facid=$this->id; $facid=$this->id;
@ -2070,11 +2070,17 @@ class Facture extends CommonInvoice
} }
$product_type=$type; $product_type=$type;
if ($fk_product) if (!empty($fk_product))
{ {
$product=new Product($this->db); $product=new Product($this->db);
$result=$product->fetch($fk_product); $result=$product->fetch($fk_product);
$product_type=$product->type; $product_type=$product->type;
if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_INVOICE && $product_type == 0 && $product->stock_reel < $qty) {
$this->error=$langs->trans('ErrorStockIsNotEnough');
$this->db->rollback();
return -3;
}
} }
// Insert line // Insert line

View File

@ -595,7 +595,7 @@ class pdf_einstein extends ModelePDFCommandes
$posy=$pdf->GetY()+1; $posy=$pdf->GetY()+1;
} }
*/ */
if (! empty($object->date_livraison)) /*if (! empty($object->date_livraison))
{ {
$pdf->SetXY($this->marge_gauche, $posy); $pdf->SetXY($this->marge_gauche, $posy);
$pdf->SetFont('','B', $default_font_size - 2); $pdf->SetFont('','B', $default_font_size - 2);
@ -608,7 +608,7 @@ class pdf_einstein extends ModelePDFCommandes
$pdf->MultiCell(80, 3, $text, 0, 'L', 0); $pdf->MultiCell(80, 3, $text, 0, 'L', 0);
$posy=$pdf->GetY()+1; $posy=$pdf->GetY()+1;
} }*/
/* TODO /* TODO
else if (! empty($object->availability_code)) else if (! empty($object->availability_code))
{ {

View File

@ -711,12 +711,33 @@ class Expedition extends CommonObject
*/ */
function addline($entrepot_id, $id, $qty) function addline($entrepot_id, $id, $qty)
{ {
global $conf, $langs;
$num = count($this->lines); $num = count($this->lines);
$line = new ExpeditionLigne($this->db); $line = new ExpeditionLigne($this->db);
$line->entrepot_id = $entrepot_id; $line->entrepot_id = $entrepot_id;
$line->origin_line_id = $id; $line->origin_line_id = $id;
$line->qty = $qty; $line->qty = $qty;
if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) {
$orderline = new OrderLine($this->db);
$orderline->fetch($id);
$fk_product = $orderline->fk_product;
if (!empty($orderline->fk_product))
{
$product=new Product($this->db);
$result=$product->fetch($fk_product);
$product_type=$product->type;
if($product_type == 0 && $product->stock_reel < $qty) {
$this->error=$langs->trans('ErrorStockIsNotEnough');
$this->db->rollback();
return -3;
}
}
}
$this->lines[$num] = $line; $this->lines[$num] = $line;
} }

View File

@ -29,6 +29,8 @@ InvoiceAvoir=Credit note
InvoiceAvoirAsk=Credit note to correct invoice InvoiceAvoirAsk=Credit note to correct invoice
InvoiceAvoirDesc=The <b>credit note</b> is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example). InvoiceAvoirDesc=The <b>credit note</b> is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example).
invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice
invoiceAvoirWithPaymentRestAmount=Create Credit Note with the amount of origin invoice payment's lake
invoiceAvoirLineWithPaymentRestAmount=Credit Note amount of invoice payment's lake
ReplaceInvoice=Replace invoice %s ReplaceInvoice=Replace invoice %s
ReplacementInvoice=Replacement invoice ReplacementInvoice=Replacement invoice
ReplacedByInvoice=Replaced by invoice %s ReplacedByInvoice=Replaced by invoice %s

View File

@ -22,4 +22,5 @@ ToAndDate=To___________________________________ on ____/_____/__________
GoodStatusDeclaration=Have received the goods above in good condition, GoodStatusDeclaration=Have received the goods above in good condition,
Deliverer=Deliverer : Deliverer=Deliverer :
Sender=Sender Sender=Sender
Recipient=Recipient Recipient=Recipient
ErrorStockIsNotEnough=There's not enough stock

View File

@ -287,7 +287,7 @@ CurrentVersion=Versión actual de Dolibarr
CallUpdatePage=Llamar a la página de actualización de la estructura y datos de la base de datos %s. CallUpdatePage=Llamar a la página de actualización de la estructura y datos de la base de datos %s.
LastStableVersion=Última versión estable disponible LastStableVersion=Última versión estable disponible
GenericMaskCodes=Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:<br><b>{000000} </b> corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara. <br> <b> {000000+000}</ b> Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s. <br> <b> {000000@x}</b> igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia {yy}{mm} o {yyyy}{mm} también es necesaria. <br> <b> {dd} </b> días (01 a 31). <br><b> {mm}</b> mes (01 a 12). <br><b>{yy}</b>, <b>{yyyy}</b> ou <b>{y}</b> año en 2, 4 ó 1 cifra.<br> GenericMaskCodes=Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:<br><b>{000000} </b> corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara. <br> <b> {000000+000}</ b> Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s. <br> <b> {000000@x}</b> igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia {yy}{mm} o {yyyy}{mm} también es necesaria. <br> <b> {dd} </b> días (01 a 31). <br><b> {mm}</b> mes (01 a 12). <br><b>{yy}</b>, <b>{yyyy}</b> ou <b>{y}</b> año en 2, 4 ó 1 cifra.<br>
# GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of company type on n characters (see dictionary-company types).<br> GenericMaskCodes2=<b>{cccc}</b> código de cliente con n caracteres<br><b>{cccc000}</b> código de cliente con n caracteres es seguido por un contador dedicado a clientes. Este contador dedicado a clientes se reseteará al mismo tiempo que el contador global.<br><b>{tttt}</b> El código del tipo de empresa con n caracteres (vea diccionarios->tipos de terceros).<br>
GenericMaskCodes3=Cualquier otro carácter en la máscara se quedará sin cambios. <br>No se permiten espacios <br> GenericMaskCodes3=Cualquier otro carácter en la máscara se quedará sin cambios. <br>No se permiten espacios <br>
GenericMaskCodes4a=<u>Ejemplo en la 99 ª %s del tercero La Empresa realizada el 31/03/2007: </u><br> GenericMaskCodes4a=<u>Ejemplo en la 99 ª %s del tercero La Empresa realizada el 31/03/2007: </u><br>
GenericMaskCodes4b=<u>Ejemplo sobre un tercero creado el 31/03/2007:</u><br> GenericMaskCodes4b=<u>Ejemplo sobre un tercero creado el 31/03/2007:</u><br>
@ -379,15 +379,15 @@ KeepEmptyToUseDefault=Deje este campo vacío para usar el valor por defecto
DefaultLink=Enlace por defecto DefaultLink=Enlace por defecto
ValueOverwrittenByUserSetup=Atención: Este valor puede ser sobreescrito por un valor específico de la configuración del usuario (cada usuario puede tener su propia url clicktodial) ValueOverwrittenByUserSetup=Atención: Este valor puede ser sobreescrito por un valor específico de la configuración del usuario (cada usuario puede tener su propia url clicktodial)
ExternalModule=Módulo externo - Instalado en el directorio %s ExternalModule=Módulo externo - Instalado en el directorio %s
# BarcodeInitForThirdparties=Mass barcode init for thirdparties BarcodeInitForThirdparties=Inicio masivo de código de barras para terceros
# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services BarcodeInitForProductsOrServices=Inicio masivo de código de barras para productos o servicios
# CurrentlyNWithoutBarCode=Currently, you have <strong>%s</strong> records on <strong>%s</strong> %s without barcode defined. CurrentlyNWithoutBarCode=Actualmente tiene <strong>%s</strong> registros de <strong>%s</strong> %s sin código de barras definido.
# InitEmptyBarCode=Init value for next %s empty records InitEmptyBarCode=Iniciar valor para los %s registros vacíos
# EraseAllCurrentBarCode=Erase all current barcode values EraseAllCurrentBarCode=Eliminar todos los valores actuales de códigos de barras
# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? ConfirmEraseAllCurrentBarCode=¿Está seguro de querer eliminar todos los registros actuales de códigos de barras?
# AllBarcodeReset=All barcode values have been removed AllBarcodeReset=Todos los códigos de barras han sido eliminados
# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. NoBarcodeNumberingTemplateDefined=No hay establecida una numeración en la configuración del módulo de códigos de barras.
# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. NoRecordWithoutBarcodeDefined=Sin registros sin códigos de barras definidos.
# Modules # Modules
@ -518,8 +518,8 @@ Module59000Name=Márgenes
Module59000Desc=Módulo para gestionar los márgenes de beneficio Module59000Desc=Módulo para gestionar los márgenes de beneficio
Module60000Name=Comisiones Module60000Name=Comisiones
Module60000Desc=Módulo para gestionar las comisiones de venta Module60000Desc=Módulo para gestionar las comisiones de venta
# Module150010Name=Batch number, eat-by date and sell-by date Module150010Name=Nº de lote, fecha de consumo, fecha de venta
# Module150010Desc=batch number, eat-by date and sell-by date management for product Module150010Desc=gestión de productos por nº de lote, fecha de consumo, fecha de venta
Permission11=Consultar facturas Permission11=Consultar facturas
Permission12=Crear/Modificar facturas Permission12=Crear/Modificar facturas
Permission13=De-validar facturas Permission13=De-validar facturas
@ -736,8 +736,8 @@ Permission55001=Leer encuestas
Permission55002=Crear/modificar encuestas Permission55002=Crear/modificar encuestas
Permission59001=Leer márgenes comerciales Permission59001=Leer márgenes comerciales
Permission59002=Definir márgenes comerciales Permission59002=Definir márgenes comerciales
# DictionaryCompanyType=Thirdparties type DictionaryCompanyType=Tipos de terceros
# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryCompanyJuridicalType=Tipos jurídicos de terceros
DictionaryProspectLevel=Perspectiva nivel cliente potencial DictionaryProspectLevel=Perspectiva nivel cliente potencial
DictionaryCanton=Departamentos/Provincias/Zonas DictionaryCanton=Departamentos/Provincias/Zonas
DictionaryRegion=Regiones DictionaryRegion=Regiones
@ -969,7 +969,7 @@ SimpleNumRefModelDesc=Devuelve el número bajo el formato %syymm-nnnn donde yy e
ShowProfIdInAddress=Mostrar el identificador profesional en las direcciones de los documentos ShowProfIdInAddress=Mostrar el identificador profesional en las direcciones de los documentos
ShowVATIntaInAddress=Ocultar el identificador IVA en las direcciones de los documentos ShowVATIntaInAddress=Ocultar el identificador IVA en las direcciones de los documentos
TranslationUncomplete=Traducción parcial TranslationUncomplete=Traducción parcial
# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>. SomeTranslationAreUncomplete=Algunos idiomas pueden estar parcialmente traducidos o pueden contener errores. Si detecta algunos, puede arreglar los archivos de idiomas registrándose en <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a>.
MenuUseLayout=Hacer el menú izquierdo ocultable (la opción javascript no debería deshabilitarse) MenuUseLayout=Hacer el menú izquierdo ocultable (la opción javascript no debería deshabilitarse)
MAIN_DISABLE_METEO=Deshabilitar la vista meteorológica MAIN_DISABLE_METEO=Deshabilitar la vista meteorológica
TestLoginToAPI=Comprobar conexión a la API TestLoginToAPI=Comprobar conexión a la API
@ -982,20 +982,20 @@ MAIN_PROXY_USER=Login del servidor proxy
MAIN_PROXY_PASS=Contraseña del servidor proxy MAIN_PROXY_PASS=Contraseña del servidor proxy
DefineHereComplementaryAttributes=Defina aquí la lista de atributos adicionales, no disponibles por defecto, y que desea gestionar para %s. DefineHereComplementaryAttributes=Defina aquí la lista de atributos adicionales, no disponibles por defecto, y que desea gestionar para %s.
ExtraFields=Atributos adicionales ExtraFields=Atributos adicionales
ExtraFieldsLines=atributos complementarios (líneas) ExtraFieldsLines=Atributos adicionales (líneas)
ExtraFieldsThirdParties=Atributos adicionales (terceros) ExtraFieldsThirdParties=Atributos adicionales (terceros)
ExtraFieldsContacts=Atributos adicionales (contactos/direcciones) ExtraFieldsContacts=Atributos adicionales (contactos/direcciones)
ExtraFieldsMember=Atributos adicionales (miembros) ExtraFieldsMember=Atributos adicionales (miembros)
ExtraFieldsMemberType=Atributos adicionales (tipos de miembros) ExtraFieldsMemberType=Atributos adicionales (tipos de miembros)
ExtraFieldsCustomerOrders=Atributos complementarios (pedidos de clientes) ExtraFieldsCustomerOrders=Atributos adicionales (pedidos de clientes)
ExtraFieldsCustomerInvoices=Atributos complementarios (facturas a clientes) ExtraFieldsCustomerInvoices=Atributos adicionales (facturas a clientes)
ExtraFieldsSupplierOrders=Atributos adicionales (pedidos a proveedores) ExtraFieldsSupplierOrders=Atributos adicionales (pedidos a proveedores)
ExtraFieldsSupplierInvoices=Atributos adicionales (facturas) ExtraFieldsSupplierInvoices=Atributos adicionales (facturas)
ExtraFieldsProject=Atributos adicionales (proyectos) ExtraFieldsProject=Atributos adicionales (proyectos)
ExtraFieldsProjectTask=Atributos adicionales (tareas) ExtraFieldsProjectTask=Atributos adicionales (tareas)
ExtraFieldHasWrongValue=El atributo %s tiene un valor incorrecto. ExtraFieldHasWrongValue=El atributo %s tiene un valor incorrecto.
AlphaNumOnlyCharsAndNoSpace=solamente caracteres alfanuméricos sin espacios AlphaNumOnlyCharsAndNoSpace=solamente caracteres alfanuméricos sin espacios
# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space AlphaNumOnlyLowerCharsAndNoSpace=sólo alfanuméricos y minúsculas sin espacio
SendingMailSetup=Configuración del envío por mail SendingMailSetup=Configuración del envío por mail
SendmailOptionNotComplete=Atención, en algunos sistemas Linux, con este método de envio, para poder enviar mails en su nombre, la configuración de sendmail debe contener la opción <b>-ba</b> (parámetro <b>mail.force_extra_parameters</b> en el archivo <b>php.ini</b>). Si algunos de sus destinatarios no reciben sus mensajes, pruebe a modificar este parámetro PHP con <b>mail.force_extra_parameters=-ba</b>. SendmailOptionNotComplete=Atención, en algunos sistemas Linux, con este método de envio, para poder enviar mails en su nombre, la configuración de sendmail debe contener la opción <b>-ba</b> (parámetro <b>mail.force_extra_parameters</b> en el archivo <b>php.ini</b>). Si algunos de sus destinatarios no reciben sus mensajes, pruebe a modificar este parámetro PHP con <b>mail.force_extra_parameters=-ba</b>.
PathToDocuments=Rutas de acceso a documentos PathToDocuments=Rutas de acceso a documentos
@ -1022,7 +1022,7 @@ XDebugInstalled=XDebug está cargado.
XCacheInstalled=XCache está cargado XCacheInstalled=XCache está cargado
AddRefInList=Mostrar el código de cliente/proveedor en los listados (lista desplegable o autoselección) en la mayoría de enlaces AddRefInList=Mostrar el código de cliente/proveedor en los listados (lista desplegable o autoselección) en la mayoría de enlaces
FieldEdition=Edición del campo %s FieldEdition=Edición del campo %s
FixTZ=Corrección del TimeZone FixTZ=Corrección de zona horaria
FillThisOnlyIfRequired=Ejemplo: +2 (Complete sólo si se registra una desviación del tiempo en la exportación) FillThisOnlyIfRequired=Ejemplo: +2 (Complete sólo si se registra una desviación del tiempo en la exportación)
GetBarCode=Obtener código de barras GetBarCode=Obtener código de barras
EmptyNumRefModelDesc=Código de cliente/proveedor libre sin verificación. Puede ser modificado en cualquier momento. EmptyNumRefModelDesc=Código de cliente/proveedor libre sin verificación. Puede ser modificado en cualquier momento.
@ -1280,7 +1280,7 @@ PerfDolibarr=Configuración rendimiento/informe de optimización
YouMayFindPerfAdviceHere=En esta página encontrará varias pruebas y consejos relacionados con el rendimiento. YouMayFindPerfAdviceHere=En esta página encontrará varias pruebas y consejos relacionados con el rendimiento.
NotInstalled=No instalado, por lo que su servidor no baja de rendimiento con esto. NotInstalled=No instalado, por lo que su servidor no baja de rendimiento con esto.
ApplicativeCache=Aplicación caché ApplicativeCache=Aplicación caché
# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.<br>More information here <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Note that a lot of web hosting provider does not provide such cache server. MemcachedNotAvailable=No se ha encontrado una aplicación de cache. Puede mejorar el rendimiento instalando un cache server Memcached y un módulo capaz de usar ese servidor de cache.<br>Más información aquí <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Tenga en cuenta que algunos hostings no ofrecen servidores de cache.
OPCodeCache=OPCode caché OPCodeCache=OPCode caché
NoOPCodeCacheFound=No se ha encontrado ningún OPCode caché. Puede ser que esté usando otro OPCode como XCache o eAccelerator (mejor), o puede que no tenga OPCode caché (peor). NoOPCodeCacheFound=No se ha encontrado ningún OPCode caché. Puede ser que esté usando otro OPCode como XCache o eAccelerator (mejor), o puede que no tenga OPCode caché (peor).
HTTPCacheStaticResources=Caché HTTP para estadísticas de recursos (css, img, javascript) HTTPCacheStaticResources=Caché HTTP para estadísticas de recursos (css, img, javascript)
@ -1361,7 +1361,7 @@ SendingsAbility=Uso de notas de entrega para los envíos a clientes
NoNeedForDeliveryReceipts=En la mayoría de los casos, las notas de entrega (lista de productos enviados) también actúan como notas de recepción y son firmadas por el cliente. La gestión de las notas de recepción es por lo tanto redundante y rara vez se activará. NoNeedForDeliveryReceipts=En la mayoría de los casos, las notas de entrega (lista de productos enviados) también actúan como notas de recepción y son firmadas por el cliente. La gestión de las notas de recepción es por lo tanto redundante y rara vez se activará.
FreeLegalTextOnShippings=Mención complementaria en las notas de entrega FreeLegalTextOnShippings=Mención complementaria en las notas de entrega
##### Deliveries ##### ##### Deliveries #####
DeliveryOrderNumberingModules=Módulo de numeración de las notas de entraga DeliveryOrderNumberingModules=Módulos de numeración de las notas de recepción
DeliveryOrderModel=Modelo de notas de recepción DeliveryOrderModel=Modelo de notas de recepción
DeliveriesOrderAbility=Uso de notas de recepción DeliveriesOrderAbility=Uso de notas de recepción
FreeLegalTextOnDeliveryReceipts=Texto libre en las notas de recepción FreeLegalTextOnDeliveryReceipts=Texto libre en las notas de recepción

View File

@ -33,10 +33,10 @@ ViewDay=Vista diaria
ViewWeek=Vista semanal ViewWeek=Vista semanal
ViewWithPredefinedFilters= Ver con los filtros predefinidos ViewWithPredefinedFilters= Ver con los filtros predefinidos
AutoActions= Inclusión automática en la agenda AutoActions= Inclusión automática en la agenda
AgendaAutoActionDesc= Indique en esta pestaña los eventos para los que desea que Dolibarr cree automáticamente una acción en la agenda. Si no se marca ningún caso (por defecto), solamente las acciones manuales se incluirán en la agenda. AgendaAutoActionDesc= Indique en esta pestaña los eventos para los que desea que Dolibarr cree automáticamente un evento en la agenda. Si no se marca nada (por defecto), solamente las acciones manuales se incluirán en la agenda.
AgendaSetupOtherDesc= Esta página le permite configurar algunas opciones que permiten exportar una vista de su agenda Dolibar a un calendario externo (thunderbird, google calendar, ...) AgendaSetupOtherDesc= Esta página le permite configurar algunas opciones que permiten exportar una vista de su agenda Dolibar a un calendario externo (thunderbird, google calendar, ...)
AgendaExtSitesDesc=Esta página le permite configurar calendarios externos para su visualización en la agenda de Dolibarr. AgendaExtSitesDesc=Esta página le permite configurar calendarios externos para su visualización en la agenda de Dolibarr.
ActionsEvents= Eventos para que Dolibarr cree una acción 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
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
@ -52,7 +52,7 @@ InvoiceSentByEMail=Factura a cliente %s enviada por e-mail
SupplierOrderSentByEMail=Pedido a proveedor %s enviada por e-mail SupplierOrderSentByEMail=Pedido a proveedor %s enviada por e-mail
SupplierInvoiceSentByEMail=Factura de proveedor %s enviada por e-mail SupplierInvoiceSentByEMail=Factura de proveedor %s enviada por e-mail
ShippingSentByEMail=Expedición %s enviada por e-mail ShippingSentByEMail=Expedición %s enviada por e-mail
# ShippingValidated= Shipping %s validated ShippingValidated= Envío %s validado
InterventionSentByEMail=Intervención %s enviada por e-mail InterventionSentByEMail=Intervención %s enviada por e-mail
NewCompanyToDolibarr= Tercero creado NewCompanyToDolibarr= Tercero creado
DateActionPlannedStart= Fecha de inicio prevista DateActionPlannedStart= Fecha de inicio prevista

View File

@ -17,10 +17,10 @@ Permission23104 = Ejecutar tarea programada
# #
# Admin # Admin
# #
CronSetup= Configuracion CronSetup= Configuración del módulo Programador
URLToLaunchCronJobs=URL para ejecutar tareas Cron URLToLaunchCronJobs=URL para ejecutar tareas Cron
OrToLaunchASpecificJob=O para ejecutar una tarea en concreto OrToLaunchASpecificJob=O para ejecutar una tarea en concreto
KeyForCronAccess=clave para la URL para ejecutar tareas Cron KeyForCronAccess=Clave para la URL para ejecutar tareas Cron
FileToLaunchCronJobs=Comando para ejecutar tareas Cron FileToLaunchCronJobs=Comando para ejecutar tareas Cron
CronExplainHowToRunUnix=En entorno Unix debes usar crontab para ejecutar el comando cada varios minutos CronExplainHowToRunUnix=En entorno Unix debes usar crontab 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 CronExplainHowToRunWin=En un entorno de Microsoft(tm) Windows puedes usar el programador de tareas para ejecutar el comando cada varios minutos

View File

@ -123,10 +123,10 @@ BankCode=Código banco
DeskCode=Código oficina DeskCode=Código oficina
BankAccountNumber=Número cuenta BankAccountNumber=Número cuenta
BankAccountNumberKey=Dígito Control BankAccountNumberKey=Dígito Control
# SpecialCode=Special code SpecialCode=Código especial
# ExportStringFilter=%% allows replacing one or more characters in the text ExportStringFilter=%% permite reemplazar uno o más carácteres en el texto
# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day<br>'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the following years/months/days<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filters on the previous years/months/days ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtros por un año/mes/día<br>'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtros entre un rango de años/meses/días<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filtros en los años/meses/días siguientes<br>'&gt;AAAA' '&gt;AAAAMM' '&gt;AAAAMMJJ': filtros en los años/meses/días anteriores
# ExportNumericFilter='NNNNN' filters by one value<br>'NNNNN+NNNNN' filters over a range of values<br>'&gt;NNNNN' filters by lower values<br>'&gt;NNNNN' filters by higher values ExportNumericFilter='NNNNN' filtros para un valor<br>'NNNNN+NNNNN' filtros sobre un rango de valores<br>'&gt;NNNNN' filtros para valores menores<br>'&gt;NNNNN' filtros para valores mayores
## filters ## filters
SelectFilterFields=Si quiere aplicar un filtro sobre algunos valores, introdúzcalos aquí. SelectFilterFields=Si quiere aplicar un filtro sobre algunos valores, introdúzcalos aquí.
FilterableFields=Campos filtrables FilterableFields=Campos filtrables

View File

@ -79,13 +79,13 @@ MailtoEMail=mailto email (hyperlink)
ActivateCheckRead=Activar confirmación de lectura y opción de desuscripción ActivateCheckRead=Activar confirmación de lectura y opción de desuscripción
ActivateCheckReadKey=Clave usada para encriptar la URL de la confirmación de lectura y la función de desuscripción ActivateCheckReadKey=Clave usada para encriptar la URL de la confirmación de lectura y la función de desuscripción
EMailSentToNRecipients=E-Mail enviado a %s destinatarios. EMailSentToNRecipients=E-Mail enviado a %s destinatarios.
# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. EachInvoiceWillBeAttachedToEmail=Se creará y adjuntará a cada e-mail un documento usando el modelo de factura por defecto.
# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) MailTopicSendRemindUnpaidInvoices=Recordatorio de la factura %s (%s)
# SendRemind=Send remind by EMails SendRemind=Enviar recordatorio por email
# RemindSent=%S remind(s) sent RemindSent=%S recordatorio(s) enviados
# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) AllRecipientSelectedForRemind=Todos los terceros seleccionados y si hay e-mail definido (se enviará un e-mail por factura)
# NoRemindSent=No remind by EMail sent NoRemindSent=No se ha enviado recordatorio por e-mail
# ResultOfMassSending=Result of mass remind sending by EMail ResultOfMassSending=Resultado del enviado masivo de recordatorios por EMail
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=Contactos de terceros (clientes potenciales, clientes, proveedores...) MailingModuleDescContactCompanies=Contactos de terceros (clientes potenciales, clientes, proveedores...)

View File

@ -277,7 +277,7 @@ Tb=Tb
Cut=Cortar Cut=Cortar
Copy=Copiar Copy=Copiar
Paste=Pegar Paste=Pegar
Default=Defecto Default=Predeterminado
DefaultValue=Valor por defecto DefaultValue=Valor por defecto
DefaultGlobalValue=Valor global DefaultGlobalValue=Valor global
Price=Precio Price=Precio

View File

@ -49,15 +49,15 @@ Miscellaneous=Miscelánea
NbOfActiveNotifications=Número notificaciones NbOfActiveNotifications=Número notificaciones
PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas están separadas por un retorno de carro a la línea. PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas están separadas por un retorno de carro a la línea.
PredefinedMailTestHtml=Esto es un e-mail de <b>prueba</b>(la palabra prueba debe de estar en negrita).<br>Las 2 líneas están separadas por un retorno de carro en la línea PredefinedMailTestHtml=Esto es un e-mail de <b>prueba</b>(la palabra prueba debe de estar en negrita).<br>Las 2 líneas están separadas por un retorno de carro en la línea
# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nLe adjuntamos la factura __FACREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nQueremos recordarle que su factura __FACREF__ parece estar pendiente de pago. Le adjuntamos la factura en cuestión, como recordatorio.\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nLe adjuntamos el presupuesto __PROPREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nLe adjuntamos el pedido __ORDERREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nLe adjuntamos nuestro pedido __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nLe adjuntamos la factura __FACREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nLe adjuntamos el envío __SHIPPINGREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nLe adjuntamos la intervención __FICHINTERREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__
# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__
DemoDesc=Dolibarr es un software para la gestión de negocios (profesionales o asociaciones), compuesto de módulos funcionales independientes y opcionales. Una demostración que incluya todos estos módulos no tiene sentido porque no utilizará todos los módulos. Además, tiene disponibles varios tipos de perfiles de demostración. DemoDesc=Dolibarr es un software para la gestión de negocios (profesionales o asociaciones), compuesto de módulos funcionales independientes y opcionales. Una demostración que incluya todos estos módulos no tiene sentido porque no utilizará todos los módulos. Además, tiene disponibles varios tipos de perfiles de demostración.
ChooseYourDemoProfil=Seleccione el perfil de demostración que mejor corresponda a su actividad... ChooseYourDemoProfil=Seleccione el perfil de demostración que mejor corresponda a su actividad...
DemoFundation=Gestión de miembros de una asociación DemoFundation=Gestión de miembros de una asociación

View File

@ -13,10 +13,10 @@ NewProduct=Nuevo producto
NewService=Nuevo servicio NewService=Nuevo servicio
ProductCode=Código producto ProductCode=Código producto
ServiceCode=Código servicio ServiceCode=Código servicio
# ProductVatMassChange=Mass VAT change ProductVatMassChange=Cambio de IVA masivo
# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. ProductVatMassChangeDesc=Puede usar esta página para modificar la tasa de IVA definida en los productos o servicios de un valor a otro. Tenga cuidado, este cambio se realizará en toda la base de datos.
# MassBarcodeInit=Mass barcode init MassBarcodeInit=Inicialización masiva de códigos de barra
# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. MassBarcodeInitDesc=Puede usar esta página para inicializar el código de barras en los objetos que no tienen un código de barras definido. Compruebe antes que el módulo de códigos de barras esté configurado correctamente.
ProductAccountancyBuyCode=Código contable compras ProductAccountancyBuyCode=Código contable compras
ProductAccountancySellCode=Código contable ventas ProductAccountancySellCode=Código contable ventas
ProductOrService=Producto o servicio ProductOrService=Producto o servicio
@ -220,10 +220,10 @@ DefinitionOfBarCodeForProductNotComplete=Definición de tipo o valor de código
DefinitionOfBarCodeForThirdpartyNotComplete=Definición de tipo o valor de código de barras incompleta en el tercero %s. DefinitionOfBarCodeForThirdpartyNotComplete=Definición de tipo o valor de código de barras incompleta en el tercero %s.
BarCodeDataForProduct=Información del código de barras del producto %s: BarCodeDataForProduct=Información del código de barras del producto %s:
BarCodeDataForThirdparty=Información del código de barras del tercero %s: BarCodeDataForThirdparty=Información del código de barras del tercero %s:
# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) ResetBarcodeForAllRecords=Definir códigos de barras para todos los registros (machacará los valores de códigos de barras ya registrados)
# PriceByCustomer=Price by customer PriceByCustomer=Precio por cliente
# PriceCatalogue=Catalogue Price PriceCatalogue=Precio del catálogo
# PricingRule=Pricing Rules PricingRule=Reglas de precio
# AddCustomerPrice=Add price by customers AddCustomerPrice=Añadir precio por clientes
# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes
# PriceByCustomerLog=Price by customer log PriceByCustomerLog=Log de precios por clientes

View File

@ -1,6 +1,6 @@
# Dolibarr language file - Source file is en_US - projects # Dolibarr language file - Source file is en_US - projects
# RefProject=Ref. project RefProject=Ref. proyecto
# ProjectId=Project Id ProjectId=Id proyecto
Project=Proyecto Project=Proyecto
Projects=Proyectos Projects=Proyectos
SharedProject=Proyecto compartido SharedProject=Proyecto compartido
@ -32,18 +32,18 @@ TimeSpent=Tiempo dedicado
TimesSpent=Tiempos dedicados TimesSpent=Tiempos dedicados
RefTask=Ref. tarea RefTask=Ref. tarea
LabelTask=Etiqueta tarea LabelTask=Etiqueta tarea
# TaskTimeSpent=Time spent on tasks TaskTimeSpent=Tiempo dedicado en tareas
# TaskTimeUser=Task time user TaskTimeUser=Usuario
# TaskTimeNote=Task time note TaskTimeNote=Nota
# TaskTimeDate=Task time date TaskTimeDate=Fecha
NewTimeSpent=Nuevo tiempo dedicado NewTimeSpent=Nuevo tiempo dedicado
MyTimeSpent=Mi tiempo dedicado MyTimeSpent=Mi tiempo dedicado
MyTasks=Mis tareas MyTasks=Mis tareas
Tasks=Tareas Tasks=Tareas
Task=Tarea Task=Tarea
# TaskDateStart=Task start date TaskDateStart=Fecha inicio
# TaskDateEnd=Task end date TaskDateEnd=Fecha finalización
# TaskDescription=Task description TaskDescription=Descripción tarea
NewTask=Nueva tarea NewTask=Nueva tarea
AddTask=Añadir tarea AddTask=Añadir tarea
AddDuration=Indicar duración AddDuration=Indicar duración
@ -109,12 +109,12 @@ ProjectCreatedInDolibarr=Proyecto %s creado
##### Types de contacts ##### ##### Types de contacts #####
TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto
TypeContact_project_external_PROJECTLEADER=Jefe de proyecto TypeContact_project_external_PROJECTLEADER=Jefe de proyecto
# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor TypeContact_project_internal_PROJECTCONTRIBUTOR=Participante
# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_external_PROJECTCONTRIBUTOR=Participante
TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_internal_TASKEXECUTIVE=Responsable
TypeContact_project_task_external_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable
# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKCONTRIBUTOR=Participante
# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor TypeContact_project_task_external_TASKCONTRIBUTOR=Participante
SelectElement=Seleccione elemento SelectElement=Seleccione elemento
AddElement=Vincular a elmento AddElement=Vincular a elmento
# Documents models # Documents models

View File

@ -23,7 +23,7 @@ LastPropals=Los %s últimos presupuestos
LastClosedProposals=Los %s últimos presupuestos cerrados LastClosedProposals=Los %s últimos presupuestos cerrados
LastModifiedProposals=Los %s últimos presupuestos modificados LastModifiedProposals=Los %s últimos presupuestos modificados
AllPropals=Todos los presupuestos AllPropals=Todos los presupuestos
LastProposals=Ultimos presupuestos LastProposals=Últimos presupuestos
SearchAProposal=Buscar un presupuesto SearchAProposal=Buscar un presupuesto
ProposalsStatistics=Estadísticas de presupuestos ProposalsStatistics=Estadísticas de presupuestos
NumberOfProposalsByMonth=Número por mes NumberOfProposalsByMonth=Número por mes
@ -57,7 +57,7 @@ RefProposal=Ref. presupuesto
SendPropalByMail=Enviar presupuesto por e-mail SendPropalByMail=Enviar presupuesto por e-mail
FileNotUploaded=No se ha subido el archivo FileNotUploaded=No se ha subido el archivo
FileUploaded=El archivo se ha subido correctamente FileUploaded=El archivo se ha subido correctamente
AssociatedDocuments=Documentos asociados al presupuesto : AssociatedDocuments=Documentos asociados al presupuesto:
ErrorCantOpenDir=Imposible abrir el directorio ErrorCantOpenDir=Imposible abrir el directorio
DatePropal=Fecha presupuesto DatePropal=Fecha presupuesto
DateEndPropal=Fecha fin de validez DateEndPropal=Fecha fin de validez

View File

@ -1,5 +1,5 @@
# Dolibarr language file - Source file is en_US - admin # Dolibarr language file - Source file is en_US - admin
WorkflowSetup=Configuración del módulo workflow WorkflowSetup=Configuración del módulo Flujo de trabajo
WorkflowDesc=Este módulo le permite cambiar el comportamiento automatizado. De forma predeterminada, el workflow está abierto y no impuesto. Active los enlaces automáticos que le interesan. WorkflowDesc=Este módulo le permite cambiar el comportamiento automatizado. De forma predeterminada, el workflow está abierto y no impuesto. Active los enlaces automáticos que le interesan.
ThereIsNoWorkflowToModify=No hay workflow modificable para los módulos que tiene activados. ThereIsNoWorkflowToModify=No hay workflow modificable para los módulos que tiene activados.
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crear un pedido de cliente automáticamente a la firma de un presupuesto descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crear un pedido de cliente automáticamente a la firma de un presupuesto

View File

@ -1496,7 +1496,7 @@ class User extends CommonObject
$outputlangs->load("users"); $outputlangs->load("users");
$outputlangs->load("other"); $outputlangs->load("other");
$subject = $outputlangs->trans("SubjectNewPassword"); $subject = $outputlangs->transnoentitiesnoconv("SubjectNewPassword");
// Define $urlwithroot // Define $urlwithroot
//$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); //$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root));