diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php
index 2e3b70a8ca3..a9f2ed914e6 100644
--- a/htdocs/comm/propal/list.php
+++ b/htdocs/comm/propal/list.php
@@ -77,7 +77,7 @@ $result = restrictedArea($user, $module, $objectid, $dbtable);
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
-$hookmanager->initHooks(array('propalcard'));
+$hookmanager->initHooks(array('propallist'));
@@ -85,6 +85,10 @@ $hookmanager->initHooks(array('propalcard'));
* Actions
*/
+
+$parameters=array('socid'=>$socid);
+$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
+
// Do we click on purge search criteria ?
if (GETPOST("button_removefilter_x"))
{
diff --git a/htdocs/commande/liste.php b/htdocs/commande/liste.php
index a9de12c790a..82bcdd7829d 100644
--- a/htdocs/commande/liste.php
+++ b/htdocs/commande/liste.php
@@ -67,10 +67,16 @@ $limit = $conf->liste_limit;
$viewstatut=GETPOST('viewstatut');
+// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
+$hookmanager->initHooks(array('orderlist'));
+
/*
* Actions
*/
+$parameters=array('socid'=>$socid);
+$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hook
+
// Do we click on purge search criteria ?
if (GETPOST("button_removefilter_x"))
{
diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php
index 93a4db53fbb..9631ced232b 100755
--- a/htdocs/commande/orderstoinvoice.php
+++ b/htdocs/commande/orderstoinvoice.php
@@ -78,6 +78,12 @@ if ($action == 'create')
}
}
+// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
+include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
+$hookmanager=new HookManager($db);
+$hookmanager->initHooks(array('orderstoinvoice'));
+
+
/*
* Actions
*/
@@ -200,18 +206,18 @@ if (($action == 'create' || $action == 'add') && empty($mesgs))
while ($ii < $nn)
{
- dol_include_once('/commande/class/commande.class.php');
- $srcobject = new Commande($db);
+ include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
+ $objectsrc = new Commande($db);
dol_syslog("Try to find source object origin=".$object->origin." originid=".$object->origin_id." to add lines");
- $result=$srcobject->fetch($orders_id[$ii]);
+ $result=$objectsrc->fetch($orders_id[$ii]);
if ($result > 0)
{
if($closeOrders) {
- $srcobject->classer_facturee();
- $srcobject->setStatut(3);
+ $objectsrc->classer_facturee();
+ $objectsrc->setStatut(3);
}
- $lines = $srcobject->lines;
- if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
+ $lines = $objectsrc->lines;
+ if (empty($lines) && method_exists($objectsrc,'fetch_lines')) $lines = $objectsrc->fetch_lines();
$fk_parent_line=0;
$num=count($lines);
for ($i=0;$i<$num;$i++)
@@ -306,7 +312,7 @@ if (($action == 'create' || $action == 'add') && empty($mesgs))
}
else
{
- $mesgs[]=$srcobject->error;
+ $mesgs[]=$objectsrc->error;
$error++;
}
$ii++;
@@ -424,6 +430,23 @@ if ($action == 'create' && empty($mesgs))
select_projects($soc->id, $projectid, 'projectid');
print '';
}
+
+ include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
+ $objectsrc = new Commande($db);
+ $listoforders = array();
+ foreach ($selected as $sel)
+ {
+ $result=$objectsrc->fetch($sel);
+ if ($result > 0)
+ {
+ $listoforders[] = $objectsrc->ref;
+ }
+ }
+
+ // Other attributes
+ $parameters=array('objectsrc' => $objectsrc, 'idsrc' => $listoforders, 'colspan' => ' colspan="3"');
+ $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
+
// Modele PDF
print '
| '.$langs->trans('Model').' | ';
print '';
@@ -438,18 +461,7 @@ if ($action == 'create' && empty($mesgs))
print ' | ';
print ' |
';
// Private note
diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php
index aa685e11ab3..9369a6341b0 100644
--- a/htdocs/compta/facture/list.php
+++ b/htdocs/compta/facture/list.php
@@ -98,7 +98,7 @@ $usehm=(! empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?$conf->global->MA
$object=new Facture($db);
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
-$hookmanager->initHooks(array('invoicecard'));
+$hookmanager->initHooks(array('invoicelist'));
$now=dol_now();
diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php
index f5bdfb0d0db..d0599d75ef9 100644
--- a/htdocs/contrat/class/contrat.class.php
+++ b/htdocs/contrat/class/contrat.class.php
@@ -2071,6 +2071,48 @@ class ContratLigne
return -2;
}
}
+
+ /**
+ * Load elements linked to contract (only intervention for the moment)
+ *
+ * @param User $user Objet type
+ * @return array $elements array of linked elements
+ */
+ function get_element_list($type)
+ {
+ $elements = array();
+
+ $sql = '';
+ if ($type == 'intervention')
+ $sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . "fichinter WHERE fk_contrat=" . $this->id;
+ if (! $sql) return -1;
+
+ //print $sql;
+ dol_syslog(get_class($this)."::get_element_list sql=" . $sql);
+ $result = $this->db->query($sql);
+ if ($result)
+ {
+ $nump = $this->db->num_rows($result);
+ if ($nump)
+ {
+ $i = 0;
+ while ($i < $nump)
+ {
+ $obj = $this->db->fetch_object($result);
+ $elements[$i] = $obj->rowid;
+ $i++;
+ }
+ $this->db->free($result);
+ /* Return array */
+ return $elements;
+ }
+ }
+ else
+ {
+ dol_print_error($this->db);
+ }
+ }
+
}
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 9f543529379..0e647baeb55 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -223,10 +223,9 @@ function dol_getprefix()
/**
* Make an include_once using default root and alternate root if it fails.
- * WARNING: In most cases, you should not use this function:
* To link to a core file, use include(DOL_DOCUMENT_ROOT.'/pathtofile')
* To link to a module file from a module file, use include './mymodulefile';
- * To link to a module file from a core file, then this function can be used
+ * To link to a module file from a core file, then this function can be used (call by hook / trigger / speciales pages)
*
* @param string $relpath Relative path to file (Ie: mydir/myfile, ../myfile, ...)
* @param string $classname Class name
diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php
index 830974f7a4b..c4ded22f591 100644
--- a/htdocs/core/modules/modProduct.class.php
+++ b/htdocs/core/modules/modProduct.class.php
@@ -4,7 +4,7 @@
* Copyright (C) 2004 Sebastien Di Cintio
* Copyright (C) 2004 Benoit Mortier
* Copyright (C) 2005-2012 Regis Houssin
- * Copyright (C) 2012 Juanjo Menent
+ * Copyright (C) 2012-2013 Juanjo Menent
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -145,7 +145,7 @@ class modProduct extends DolibarrModules
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product'));
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product'));
// Add extra fields
- $sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'";
+ $sql="SELECT name, label, type FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'";
$resql=$this->db->query($sql);
if ($resql) // This can fail when class is used on old database (during migration for example)
{
@@ -153,27 +153,27 @@ class modProduct extends DolibarrModules
{
$fieldname='extra.'.$obj->name;
$fieldlabel=ucfirst($obj->label);
- $typeFilter="Text";
- switch($obj->type)
- {
- case 'int':
- case 'double':
- case 'price':
- $typeFilter="Numeric";
- break;
- case 'date':
- case 'datetime':
- $typeFilter="Date";
- break;
- case 'boolean':
- $typeFilter="Boolean";
- break;
- case 'sellist':
- $typeFilter="List:".$obj->param;
- break;
- }
+ $typeFilter="Text";
+ switch($obj->type)
+ {
+ case 'int':
+ case 'double':
+ case 'price':
+ $typeFilter="Numeric";
+ break;
+ case 'date':
+ case 'datetime':
+ $typeFilter="Date";
+ break;
+ case 'boolean':
+ $typeFilter="Boolean";
+ break;
+ case 'sellist':
+ $typeFilter="List:".$obj->param;
+ break;
+ }
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
- $this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
+ $this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
$this->export_entities_array[$r][$fieldname]='product';
}
}
@@ -198,7 +198,7 @@ class modProduct extends DolibarrModules
$this->import_tables_creator_array[$r]=array('p'=>'fk_user_author'); // Fields to store import user id
$this->import_fields_array[$r]=array('p.ref'=>"Ref*",'p.label'=>"Label*",'p.description'=>"Description",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.duration'=>"Duration",'p.customcode'=>'CustomCode','p.price'=>"SellingPriceHT",'p.price_ttc'=>"SellingPriceTTC",'p.tva_tx'=>'VAT','p.tosell'=>"OnSell*",'p.tobuy'=>"OnBuy*",'p.fk_product_type'=>"Type*",'p.finished'=>'Nature','p.datec'=>'DateCreation*');
// Add extra fields
- $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'";
+ $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product' AND entity = ".$conf->entity;
$resql=$this->db->query($sql);
if ($resql) // This can fail when class is used on old database (during migration for example)
{
diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php
index fa23cf38ee1..9c556762d71 100644
--- a/htdocs/core/modules/modSociete.class.php
+++ b/htdocs/core/modules/modSociete.class.php
@@ -312,8 +312,8 @@ class modSociete extends DolibarrModules
$this->export_label[$r]='ExportDataset_company_2';
$this->export_icon[$r]='contact';
$this->export_permission[$r]=array(array("societe","contact","export"));
- $this->export_fields_array[$r]=array('c.rowid'=>"IdContact",'c.civilite'=>"CivilityCode",'c.lastname'=>'Lastname','c.firstname'=>'Firstname','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.phone_mobile'=>"Mobile",'c.email'=>"EMail",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode");
- $this->export_TypeFields_array[$r]=array('c.lastname'=>"Text",'c.firstname'=>"Text",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text");
+ $this->export_fields_array[$r]=array('c.rowid'=>"IdContact",'c.civilite'=>"CivilityCode",'c.lastname'=>'Lastname','c.firstname'=>'Firstname','c.poste'=>'PostOrFunction','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.phone_mobile'=>"Mobile",'c.email'=>"EMail",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode");
+ $this->export_TypeFields_array[$r]=array('c.civilite'=>"List:c_civilite:civilite:code",'c.name'=>'Text','c.firstname'=>'Text','c.poste'=>'Text','c.datec'=>"Date",'c.priv'=>"Boolean",'c.address'=>"Text",'c.cp'=>"Text",'c.ville'=>"Text",'c.phone'=>"Text",'c.fax'=>"Text",'c.email'=>"Text",'p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'s.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Status",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text");
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>"company",'s.code_client'=>"company",'s.code_fournisseur'=>"company"); // We define here only fields that use another picto
if (empty($conf->fournisseur->enabled))
{
diff --git a/htdocs/langs/pt_BR/banks.lang b/htdocs/langs/pt_BR/banks.lang
index ae92ea7488f..85cab8cc5a5 100644
--- a/htdocs/langs/pt_BR/banks.lang
+++ b/htdocs/langs/pt_BR/banks.lang
@@ -38,7 +38,7 @@ Withdrawal=Reembolso
AccountStatement=Extrato da Conta
AccountStatementShort=Extrato
AccountStatements=Extratos das Contas
-LastAccountStatements=�ltimos Extratos Bancários
+LastAccountStatements=Últimos Extratos Bancários
Rapprochement=Conciliação
IOMonthlyReporting=Relatório Mensal E/S
BankAccountDomiciliation=Domicilio de Conta
@@ -139,5 +139,11 @@ BankTransactionLine=Transação Bancária
AllAccounts=Todas as Contas bancarias/de Caixa
BackToAccount=Voltar e a Conta
ShowAllAccounts=Mostrar para todas as Contas
-
+FutureTransaction=Transação futura. Não pode ser conciliada.
+SelectChequeTransactionAndGenerate=Selecionar / filtrar cheques para incluir no recibo de depósito em cheque e clique em "Criar".
+InputReceiptNumber=Escolha o extrato bancário relacionado com a conciliação. É um valor numérico classificável (tal como, AAAAMM)
+EventualyAddCategory=Eventualmente, especificar uma categoria para classificar os registros
+ToConciliate=Para conciliar?
+ThenCheckLinesAndConciliate=Em seguida, verifique as linhas presentes no extrato bancário e clique
+BankDashboard=Banco resumo de contas
diff --git a/htdocs/langs/pt_BR/boxes.lang b/htdocs/langs/pt_BR/boxes.lang
index e668f36e291..81f7e3838f3 100644
--- a/htdocs/langs/pt_BR/boxes.lang
+++ b/htdocs/langs/pt_BR/boxes.lang
@@ -2,59 +2,83 @@
CHARSET=UTF-8
BoxLastRssInfos=Links de informação RSS
BoxLastProducts=Últimos produtos/serviços
-BoxLastProductsInContract=Últimos produtos/serviços contratados
+BoxProductsAlertStock=Produtos em alerta no estoque
+BoxLastProductsInContract=Últimos %s produtos/serviços contratados
BoxLastSupplierBills=Últimas faturas de Fornecedores
-BoxLastCustomerBills=Últimas faturas a Clientes
-BoxOldestUnpayedCustomerBills=Faturas a Clientes mais antigas pendentes de pagamento
-BoxOldestUnpayedSupplierBills=Faturas de Fornecedores mais antigas pendentes de pagamento
+BoxLastCustomerBills=BoxLastCustomerBills=Últimas faturas a Clientes
+BoxOldestUnpaidCustomerBills=Faturas mais antigas de cliente a pagar
+BoxOldestUnpaidSupplierBills=Faturas mais antigas de fornecedor a pagar
BoxLastProposals=Últimos Orçamentos
BoxLastProspects=Últimos clientes potenciais
BoxLastCustomers=Últimos clientes
-BoxLastCustomerOrders=Últimos pedidos
-BoxLastCustomerNfes=Últimas Notas Fiscais
BoxLastSuppliers=Últimos Fornecedores
+BoxLastCustomerOrders=Últimos pedidos
BoxLastBooks=Últimos books
BoxLastActions=Últimas ações
-BoxCurrentAccounts=Saldos contas correntes
-BoxSalesTurnover=Volume de negocio
-BoxTotalUnpayedCustomerBills=Total faturas a clientes Pendentes de pagamento
-BoxTotalUnpayedSuppliersBills=Total faturas de Fornecedores Pendentes de Pagamento
+BoxLastContracts=Últimos contratos
+BoxLastContacts=Últimos contatos/endereços
+BoxLastMembers=Últimos membros
+BoxFicheInter=Últimas interevenções
+BoxCurrentAccounts=Saldos contas bancarias
+BoxSalesTurnover=Volume de vendas
+BoxTotalUnpaidCustomerBills=Total de Faturas a receber de clientes
+BoxTotalUnpaidSuppliersBills=Total de Faturas a pagar para fornecedores
BoxTitleLastBooks=Os %s últimos Favoritos registados
BoxTitleNbOfCustomers=Número de clientes
BoxTitleLastRssInfos=As %s últimas Infos de %s
-BoxTitleLastProducts=Os %s últimos Produtos/Serviços Registados
+BoxTitleLastProducts=Os %s últimos Produtos/Serviços
+BoxTitleProductsAlertStock=Produtos em alerta estoque
BoxTitleLastCustomerOrders=Os %s últimos pedidos de clientes modificados
-BoxTitleLastCustomerNfes=Os %s últimas notas fiscais de clientes modificadas
-BoxTitleLastSuppliers=Os %s últimos Fornecedores modificados
-BoxTitleLastCustomers=Os %s últimos clientes modificados
+BoxTitleLastSuppliers=Os %s últimos fornecedores
+BoxTitleLastCustomers=Os %s últimos clientes
+BoxTitleLastModifiedSuppliers=Os %s últimos fornecedores alterados
+BoxTitleLastModifiedCustomers=Os %s últimos clientes alterados
BoxTitleLastCustomersOrProspects=Os %s últimos clientes ou clientes potenciais registados
BoxTitleLastPropals=Os %s últimos Orçamentos registados
-BoxTitleLastCustomerBills=As %s últimas faturas a clientes registradas
-BoxTitleLastSupplierBills=As %s últimas faturas de Fornecedores registradas
-BoxTitleLastProspects=Os %s últimos clientes potenciais modificados
+BoxTitleLastCustomerBills=As %s últimas faturas a clientes
+BoxTitleLastSupplierBills=As %s últimas faturas de fornecedores
+BoxTitleLastProspects=Os %s últimos clientes potenciais
+BoxTitleLastModifiedProspects=Os %s últimos clientes potenciais alterados
BoxTitleLastProductsInContract=Os %s últimos produtos/serviços contratados
-BoxTitleOldestUnpayedCustomerBills=As %s faturas mais antigas a Clientes pendentes de cobrança
-BoxTitleOldestUnpayedSupplierBills=As %s faturas mais antigas de Fornecedores pendentes de pagamento
-BoxTitleCurrentAccounts=Saldos das contas correntes
-BoxTitleSalesTurnover=Volume de negocio realizado
-BoxTitleTotalUnpayedCustomerBills=Pendente de clientes
-BoxTitleTotalUnpayedSuppliersBills=Pendente a Fornecedores
-BoxMyLastBookmarks=Os meus últimos Favoritos
+BoxTitleLastModifiedMembers=os %s últimos membros alterados
+BoxTitleLastFicheInter=As %s últimas intervenções
+BoxTitleOldestUnpaidCustomerBills=As %s faturas de clientes mais antigas ( A RECEBER )
+BoxTitleOldestUnpaidSupplierBills=As %s faturas de fornecedores mais antigas ( A PAGAR )
+BoxTitleCurrentAccounts=Saldos de contas bancarias
+BoxTitleSalesTurnover=Volume de vendas
+BoxTitleTotalUnpaidCustomerBills=Faturas de clientes a receber
+BoxTitleTotalUnpaidSuppliersBills=Faturas de fornecedores a pagar
+BoxTitleLastModifiedContacts=os %s últimos contatos/endereços alterados
+BoxMyLastBookmarks=Meus %s últimos marcadores
+BoxOldestExpiredServices=Serviços expirados mais antigos
+BoxLastExpiredServices=Os %s últimos serviços expirados
+BoxTitleLastActionsToDo=As %s últimas ações a realizar
+BoxTitleLastContracts=Os %s últimos contratos
+BoxTitleLastModifiedDonations=Últimas %s doações alteradas
+BoxTitleLastModifiedExpenses=Últimas %s despesas alteradas
+BoxGlobalActivity=Atividade Global (faturas, propostas, ordens)
FailedToRefreshDataInfoNotUpToDate=Erro na atualização do fluxos RSS. Data da última atualização: %s
LastRefreshDate=Data da última atualização
-NoRecordedBookmarks=Não existem favoritos pessoais. Click aqui para adicionar.
-NoRecordedCustomers=Nenhum cliente registado
-BoxTitleLastActionsToDo=As %s últimas ações a realizar
-NoActionsToDo=Sem ações a realizar
-NoRecordedOrders=Sem pedidos de clientes registados
-NoRecordedNfes=Sem notas fiscais de clientes registados
-NoRecordedProposals=Sem Orçamentos registados
-NoRecordedInvoices=Sem faturas a clientes registados
-NoUnpayedCustomerBills=Sem faturas a clientes Pendentes de pagamento
-NoRecordedSupplierInvoices=Sem faturas de Fornecedores
-NoUnpayedSupplierBills=Sem faturas de Fornecedores Pendentes de Pagamento
-NoRecordedProducts=Nenhum Produto/Serviço registado
-NoRecordedProspects=Nenhums prespéctiva registrada
+NoRecordedBookmarks=Não existem marcadores pessoais. Click aqui para adicionar.
+ClickToAdd=Click aqui para adicionar.
+NoRecordedCustomers=Nenhum cliente cadastrado
+NoRecordedContacts=Nenhum contato cadastrado
+NoActionsToDo=Nenhuma atividade a realizar
+NoRecordedOrders=Nenhum pedido de cliente registado
+NoRecordedProposals=Nenhum orçamento encontrado
+NoRecordedInvoices=Nenhuma fatura a clientes registada
+NoUnpaidCustomerBills=Nenhuma fatura de cliente ( A RECEBER )
+NoRecordedSupplierInvoices=Nenhuma fatura de fornecedores ( A PAGAR )
+NoUnpaidSupplierBills=Nenhuma fatura de fornecedores ( A PAGAR )
+NoModifiedSupplierBills=Nenhuma fatura de fornecedores alterada
+NoRecordedProducts=Nenhum produto/serviço
+NoRecordedProspects=Nenhum cliente potencial
NoContractedProducts=Nenhum Produto/Serviço contratado
-
-
+NoRecordedContracts=Nenhum contrato
+BoxLatestSupplierOrders=Últimos pedidos a fornecedores
+BoxTitleLatestSupplierOrders=%s Últimos pedidos a fornecedores
+NoSupplierOrder=Nenhum pedido a fornecedores
+BoxInvoicesPerMonth=Faturas por mês
+BoxOrdersPerMonth=Pedidos por mês
+BoxProposalsPerMonth=Orçamentos por mês
+NoTooLowStockProducts=Nenhum produto abaixo do limite de estoque
\ No newline at end of file
diff --git a/htdocs/langs/pt_BR/errors.lang b/htdocs/langs/pt_BR/errors.lang
index 012cdbb20fb..767925a54ef 100644
--- a/htdocs/langs/pt_BR/errors.lang
+++ b/htdocs/langs/pt_BR/errors.lang
@@ -1,18 +1,31 @@
# Dolibarr language file - pt_BR rev. 0.0 - errors
CHARSET=UTF-8
-ErrorLoginAlreadyExists=o login %s já existe.
+
+# No errors
+NoErrorCommitIsDone=Nenhum erro, we commit
+
+# Errors
+Error=Erro
+Errors=Erros
+ErrorButCommitIsDone=Erros foram encontrados apesar disso validamos
+ErrorBadEMail=EMail %s está errado
+ErrorBadUrl=Url %s está errado
+ErrorLoginAlreadyExists=login %s já existe.
ErrorGroupAlreadyExists=o grupo %s já existe.
-ErrorDuplicateTrigger=um Arquivo trigger de Nome '%s' está utilizado. Elimine o duplicado da pasta '%s'.
-ErrorFailToCreateFile=Erro ao criar o arquivo ''
-ErrorFailToDeleteFile=Error à eliminar o Arquivo '%s'.
-ErrorFailToRenameDir=Error à renombar a pasta '%s' a '%s'.
-ErrorFailToCreateDir=Erro ao criar a pasta '%s'
-ErrorFailToDeleteDir=Error à eliminar a pasta '%s'.
-ErrorFailedToDeleteJoinedFiles=impossível eliminar a entidade já que tem Arquivos anexos. Elimine antes os Arquivos anexos
+ErrorRecordNotFound=Registro não encontrado.
+ErrorFailToCopyFile=Falha ao copiar o arquivo '%s' em '%s'.
+ErrorFailToRenameFile=Falha ao renomear o arquivo '%s' em '%s'.
+ErrorFailToDeleteFile=Falha ao excluir arquivo '%s'.
+ErrorFailToCreateFile=Falha ao criar arquivo '%s'.
+ErrorFailToRenameDir=Falha ao renomear diretorio '%s' into '%s'.
+ErrorFailToCreateDir=Falha ao criar diretorio '%s'.
+ErrorFailToDeleteDir=Falha ao deletar diretorio '%s'.
+ErrorFailedToDeleteJoinedFiles=impossível eliminar a entidade já que tem Arquivos anexos. Elimine antes os Arquivos anexos.
ErrorThisContactIsAlreadyDefinedAsThisType=Este contato já está definido como contato para este tipo.
ErrorCashAccountAcceptsOnlyCashMoney=Esta conta bancaria é de tipo Caixa e só aceita o método de pagamento de tipo especie.
ErrorFromToAccountsMustDiffers=a conta origem e destino devem ser diferentes.
ErrorBadThirdPartyName=Nome de Fornecedor incorreto
+ErrorProdIdIsMandatory=O %s é obrigatório
ErrorBadCustomerCodeSyntax=a sintaxis do código cliente é incorreta
ErrorCustomerCodeRequired=Código cliente obrigatório
ErrorCustomerCodeAlreadyUsed=Código de cliente já utilizado
@@ -21,49 +34,110 @@ ErrorUrlNotValid=O Endereço do Site está incorreta
ErrorBadSupplierCodeSyntax=a sintaxis do código fornecedor é incorreta
ErrorSupplierCodeRequired=Código fornecedor obrigatório
ErrorSupplierCodeAlreadyUsed=Código de fornecedor já utilizado
-ErrorBadParameters=parâmetros incorretos
-ErrorFailedToWriteInDir=impossível escribir na pasta %s
-ErrorFoundBadEmailInFile=Encontrada sintaxis incorreta em email em %s linhas em Arquivo (Exemplo linha %s com email
-ErrorUserCannotBeDelete=o usuário não pode ser eliminado. Quizá esé associado a elementos de Dolibarr.
-ErrorFieldsRequired=não se indicaron Alguns campos obrigatórios
-ErrorFailedToCreateDir=Error na creação de uma carpeta. Compruebe que 0 usuario del servidor Web tiene derechos de escritura en las carpetas de documentos de Dolibarr. Si 0 parámetro safe_mode está ativo en este PHP, Compruebe que los archivos php dolibarr pertencen ao usuario del servidor Web.
-ErrorNoMailDefinedForThisUser=E-Mail não definido para este usuário
-ErrorFeatureNeedJavascript=Esta Funcionalidade precisa de javascript ativo para funcionar. Modifique em configuração->entorno.
-ErrorTopMenuMustHaveAParentWithId0=um menu do tipo 'Superior' não pode ter um menu pai. Coloque 0 ao ID pai o busque um menu do tipo 'esquerdo'
-ErrorLeftMenuMustHaveAParentId=um menu do tipo 'esquerdo' deve de ter um ID de pai
-ErrorFileNotFound=Arquivo não encontrado (Rota incorreta, permissões incorretos o acesso prohibido por o parâmetro openbasedir)
-ErrorFunctionNotAvailableInPHP=a função %s é requerida por esta Funcionalidade, mas não se encuetra disponível nesta Versão/Instalação de PHP.
-ErrorDirAlreadyExists=já existe uma pasta com ese Nome.
-ErrorFieldCanNotContainSpecialCharacters=o campo %s não deve contener caracter0es especiais
-WarningAllowUrlFopenMustBeOn=o parâmetro allow_url_fopen deve ser especificado a on ao Arquivo php.ini para discolocar deste módulo completamente ativo. deve modificar este Arquivo manualmente
-WarningBuildScriptNotRunned=o script %s ainda não ha ejecutado a construcção de gráficos.
-WarningBookmarkAlreadyExists=já existe um marcador com este título o esta URL.
-WarningPassIsEmpty=Atenção: a senha da base de dados está vazia. Esto é buraco na segurança. deve agregar uma senha e a sua base de dados e alterar a sua Arquivo conf.php para reflejar esto.
-ErrorNoAccountancyModuleLoaded=Módulo de Contabilidade não ativado
-ErrorExportDuplicateProfil=o Nome do perfil já existe para este lote de exportação
-ErrorLDAPSetupNotComplete=a configuração Dolibarr-LDAP é incompleta.
-ErrorLDAPMakeManualTest=foi criado unn Arquivo .ldif na pasta %s. Trate de gastor manualmente este Arquivo a partir da linha de comandos para Obter mais detalles acerca do error.
-ErrorCantSaveADoneUserWithZeroPercentage=No se pode cambiar uma acção ao estado no comenzada si tiene un usuario realizante de a acción.
-ErrorRefAlreadyExists=a referencia utilizada para a criação já existe
-ErrorPleaseTypeBankTransactionReportName=Introduzca o Nome do registo bancario sobre a qual o escrito está constatado (formato AAAAMM ó AAAMMJJ)
-ErrorRecordHasChildren=não se pode eliminar o registo porque tem hijos.
-ErrorFailedToSendPassword=Erro ao enviar a senha
-ErrorPasswordDiffers=As Senhas não são identicas, volte a introduzi-las
-ErrorForbidden=acesso não autorizado.
Tentando acessar a uma página, zona o função sem estar em uma Sessão autentificada o que não se autoriza para a sua conta de usuário.
-ErrorForbidden2=Os permissões para este usuário podem ser designados por o administrador Dolibarr mediante o menu %s-> %s.
-ErrorForbidden3=Dolibarr não parece funcionar em uma Sessão autentificada. Consulte a documentação de Instalação de Dolibarr para saber cómo administrar as autenticaciones (htaccess, mod_auth u outro...).
-ErrorNoImagickReadimage=a função imagick_readimage não está presente nesta Instalação de PHP. a resenha não está pois disponível. Os administradores podem desativar esta separador ao menu configuração - visualização.
-ErrorRecordAlreadyExists=registo já existente
-ErrorCantReadFile=Erro na leitura do arquivo '&s'
-ErrorCantReadDir=Erro na leitura da pasta '%s'
-ErrorFailedToFindEntity=Error de leitura da entidade '%s'
+ErrorBadParameters=Parâmetros incorretos
+ErrorBadValueForParameter=Valor incorreto '%s' parametro incorreto '%s'
+ErrorBadImageFormat=Formato de imagen não suportado
+ErrorBadDateFormat=Valor '%s' tem o formato de data errada
+ErrorFailedToWriteInDir=impossível escrever na pasta %s
+ErrorFoundBadEmailInFile=Encontrada sintaxis incorreta em email em %s linhas em Arquivo (Exemplo linha %s com email=%s)
+ErrorUserCannotBeDelete=O usuário não pode ser excluído. Pode ser que está associada a entidades Dolibarr.
+ErrorFieldsRequired=Alguns campos obrigatórios não foram preenchidos.
+ErrorFailedToCreateDir=Falha ao criar um diretório. Verifique se o usuário do servidor web tem permissões para gravar no diretório de documentos Dolibarr. Se o parâmetro safe_mode esta ligado neste PHP, verifique se Dolibarr php arquivos possui para o usuário do servidor web (ou grupo).
+ErrorNoMailDefinedForThisUser=Nenhum e-mail definido para este usuário
+ErrorFeatureNeedJavascript=Este recurso necessita que o Javascript esteja ativado para o trabalho. Mudar isso no setup - display.
+ErrorTopMenuMustHaveAParentWithId0=Um menu do tipo 'Top' não pode ter um menu pai. Coloque 0 no menu pai ou escolher um menu do tipo 'Esquerda'.
+ErrorLeftMenuMustHaveAParentId=Um menu do tipo 'Esquerda' deve ter um ID de pai.
+ErrorFileNotFound=Arquivo % s b> não encontrado (Caminho inválido, permissões erradas ou acesso negado pelo PHP OpenBasedir ou parâmetro safe_mode)
+ErrorDirNotFound=Diretório % s b> não encontrado (Caminhoinválido, permissões erradas ou acesso negado pelo PHP OpenBasedir ou parâmetro safe_mode)
+ErrorFunctionNotAvailableInPHP=Função % s b> é necessário para esta função, mas não está disponível nesta versão / configuração do PHP.
+ErrorDirAlreadyExists=Um diretório com este nome já existe.
+ErrorFileAlreadyExists=Um arquivo com este nome já existe.
+ErrorPartialFile=Arquivo não foi completamente recebido pelo servidor.
+ErrorNoTmpDir=Diretório temporário %s não existe.
+ErrorUploadBlockedByAddon=Envio bloqueado por um plug-in PHP / Apache.
+ErrorFileSizeTooLarge=O tamanho do arquivo é muito grande.
+ErrorSizeTooLongForIntType=Tamanho demasiado longo para o tipo int (%s dígitos no máximo)
+ErrorSizeTooLongForVarcharType=Tamanho demasiado longo para o tipo string (%s caracteres no máximo)
+ErrorNoValueForSelectType=Por favor, preencha o valor de lista de seleção
+ErrorNoValueForCheckBoxType=Por favor, preencha o valor para a lista de checkbox
+ErrorNoValueForRadioType=Por favor, preencha o valor para a lista de rádio box
+ErrorBadFormatValueList=O valor da lista não pode ter mais do que um vir : %s, mas precisa de pelo menos um: llave, Valores
+ErrorFieldCanNotContainSpecialCharacters=Campo %s não deve contém caracteres especiais.
+ErrorNoAccountancyModuleLoaded=Módulo de contabilidade desativado
+ErrorExportDuplicateProfil=Este nome profil já existe para este conjunto de exportação.
+ErrorLDAPSetupNotComplete=Dolibarr-LDAP correspondência não é completa.
+ErrorLDAPMakeManualTest=Um .ldif arquivo foi gerado no diretório %s. Tente carregá-lo manualmente a partir da linha de comando para ter mais informações sobre os erros.
+ErrorCantSaveADoneUserWithZeroPercentage=Não é possível salvar uma ação com "status não iniciada" se o campo "feito" também está cheio.
+ErrorRefAlreadyExists=Ref usado para a criação já existe.
+ErrorPleaseTypeBankTransactionReportName=Por favor, digite o nome do recibo bancário onde a transação está relatada (Format YYYYMM ou AAAAMMDD).
+ErrorRecordHasChildren=Falha ao excluir os registros, uma vez que este tem alguns filhos.
+ErrorModuleRequireJavascript=Javascript não deve ser desativado para ter esse recurso funcionando. Para ativar/desativar o Javascript, vá ao menu Home->Setup->Display.
+ErrorPasswordsMustMatch=Ambas as senhas digitadas devem ser iguais.
+ErrorContactEMail=Um erro técnico ocorrido. Por favor, contate o administrador seguir email %s en fornecer o código de erro %s na sua mensagem, ou ainda melhor, adicionando uma cópia de tela da página.
+ErrorWrongValueForField=Valor errado para o número do campo %s (valor '%s' não corresponde regra regex %s)
+ErrorFieldValueNotIn=Valor errado para o número do campo %s (valor '%s' não é um valor disponível no campo %s da tabela %s)
+ErrorFieldRefNotIn=alor errado para o número do campo %s (valor '%s' a referencia %s não existe)
+ErrorsOnXLines=erros em %s source record(s)
+ErrorFileIsInfectedWithAVirus=O programa antivírus não foi capaz de validar o arquivo (arquivo pode ser infectado por um vírus)
+ErrorSpecialCharNotAllowedForField=Os caracteres especiais não são permitidos para o campo "%s"
+ErrorDatabaseParameterWrong=Parâmetro de configuração de banco de dados '%s' tem um valor não compatível para usar Dolibarr (deve ter valor '%s').
+ErrorNumRefModel=Uma referência existe no banco de dados (%s) e não é compatível com esta regra de numeração. Remover registro ou renomeado referência para ativar este módulo.
+ErrorQtyTooLowForThisSupplier=Quantidade muito baixa para este fornecedor ou nenhum preço definido neste produto desta empresa
+ErrorModuleSetupNotComplete=Configuração do módulo parece ser incompleto. Vá em Setup - Módulos para ser concluído.
+ErrorBadMask=Erro na máscara
+ErrorBadMaskFailedToLocatePosOfSequence=Erro, máscara, sem número de série
+ErrorBadMaskBadRazMonth=Erro, valor de reset inválido.
+ErrorSelectAtLeastOne=Erro. Selecione pelo menos uma entrada.
+ErrorProductWithRefNotExist=Produto com referência '%s' não existe
+ErrorDeleteNotPossibleLineIsConsolidated=Não é possível excluir porque o registro está ligado a uma transação bancaria que está conciliada
+ErrorProdIdAlreadyExist=%s é atribuído a um fornecedor
+ErrorFailedToSendPassword=Falha no envio da senha
+ErrorFailedToLoadRSSFile=Falha ao obter RSS feed. Tente adicionar MAIN_SIMPLEXMLLOAD_DEBUG constante se as mensagens de erro não fornece informações suficientes.
+ErrorPasswordDiffers=Senhas difere, por favor, tente novamente.
+ErrorForbidden=Acesso negado.
Você tenta acessar uma página, área ou função, sem estar em uma sessão autenticada ou que não é permitido para o usuário.
+ErrorForbidden2=Permissão para este login pode ser definido pelo administrador Dolibarr a partir do menu %s->%s.
+ErrorForbidden3=Parece que Dolibarr não é usada por meio de uma sessão de autenticação. Dê uma olhada na documentação de configuração Dolibarr saber como gerenciar autenticações (htaccess, mod_auth ou outro...).
+ErrorNoImagickReadimage=Class Imagick não é encontrado nesta PHP. Pré-visualização pode estar disponível. Os administradores podem desabilitar essa aba no menu Setup - Display.
+ErrorRecordAlreadyExists=Registro já existe
+ErrorCantReadFile=Falha ao ler arquivo '%s'
+ErrorCantReadDir=Falha ao ler diretório '%s'
+ErrorFailedToFindEntity=Falha ao ler ambiente '%s'
ErrorBadLoginPassword=Identificadores de usuário o senha incorretos
-ErrorLoginDisabled=a sua conta está desativada
-ErrorFailedToRunExternalCommand=Error ao tentar o comando externo. verifique que está disponível e ejecutable por a sua servidor PHP. sim o PHP Safe Mode está ativo, verifique que o comando encontra-se em uma pasta definida ao parâmetro safe_mode_exec_dir.
-ErrorFailedToChangePassword=Error na modificação da senha
-ErrorLoginDoesNotExists=a conta de usuário de %s não foi encontrado.
-ErrorLoginHasNoEmail=Este usuário não tem e-mail. impossível continuar.
-ErrorBadValueForCode=Valor incorreto para o código. volte a tentar com um Novo valor...
-ErrorFileIsInfectedWith=Este Arquivo está infectado por %s
-WarningInstallDirExists=Atenção: a pasta install (%s) ainda existe. uma vez concluida a Instalação a sua presença não é necessário, e representa um falho serio de segurança. Devería eliminarla o antes possível.
-WarningUntilDirRemoved=Esta alerta seguirá ativa mientras a pasta exista (alerta visivel para Os Usuários admin somente).
\ No newline at end of file
+ErrorLoginDisabled=Sua conta foi desativada
+ErrorFailedToRunExternalCommand=Falha ao executar o comando externo. Confira está disponível e executável pelo seu servidor PHP. se PHP Safe Mode está ativado, verifique se o comando está dentro de um diretório definido pelo parâmetro safe_mode_exec_dir.
+ErrorFailedToChangePassword=Falha ao alterar a senha
+ErrorLoginDoesNotExists=Usuário com login %s não pôde ser encontrado.
+ErrorLoginHasNoEmail=Este usuário não tem nenhum endereço de e-mail. Processo abortado.
+ErrorBadValueForCode=Valor inválido para o código de segurança. Tente novamente com o novo valor...
+ErrorBothFieldCantBeNegative=Campo %s e %s não podem ser negativos.
+ErrorWebServerUserHasNotPermission=Conta de Usuario %s usado para executar servidor web não tem permissão para que
+ErrorNoActivatedBarcode=Nenhum tipo de código de barras ativado
+ErrUnzipFails=Falha para unzip %s com ZipArchive
+ErrNoZipEngine=Nenhum motor para descompactar o arquivo %s neste PHP
+ErrorFileMustBeADolibarrPackage=O Arquivo %s deve ser um pacote zip Dolibarr
+ErrorFileRequired=É preciso um arquivo Dolibarr pacote
+ErrorPhpCurlNotInstalled=O CURL PHP não está instalado, isto é essencial para conversar com Paypal
+ErrorFailedToAddToMailmanList=Falha ao adicionar registros %s para lista Mailman %s ou SPIP base
+ErrorFailedToRemoveToMailmanList=Falha ao remover registro %s para lista Mailman %s ou SPIP base
+ErrorNewValueCantMatchOldValue=O novo valor não pode ser igual a um velho
+ErrorFailedToValidatePasswordReset=Falha ao resetar senha. Pode ser o reset já tenha sido feito (este link pode ser usado apenas uma vez). Se não, tente reiniciar o processo de reset.
+ErrorToConnectToMysqlCheckInstance=Falhas na conexão ao banco de dados. Verifique servidor MySQL está rodando (na maioria dos casos, você pode iniciá-lo a partir de sagacidade linha de comando 'sudo /etc/init.d/mysql start').
+ErrorFailedToAddContact=Falha ao adicionar contatos
+ErrorDateMustBeBeforeToday=A data não pode ser maior do que hoje
+
+# Warnings
+WarningMandatorySetupNotComplete=Parâmetros de configuração obrigatórios ainda não estão definidos
+WarningSafeModeOnCheckExecDir=Atenção, a opção PHP safe_mode está em modo de comando deve ser armazenado dentro de um diretório declarado pelo parâmetro php safe_mode_exec_dir.
+WarningAllowUrlFopenMustBeOn=Parâmetro allow_url_fopen deve ser ajustado para on no arquivo php.ini para ter este módulo funcionar completamente. Você deve modificar este arquivo manualmente.
+WarningBuildScriptNotRunned=Script %s ainda não foi executado para construir gráficos, ou não há dados para mostrar.
+WarningBookmarkAlreadyExists=Um marcador com este título ou essa meta (URL) já existe.
+WarningPassIsEmpty=Atenção, senha de banco de dados está vazio. Esta é uma falha de segurança. Você deve adicionar uma senha para o banco de dados e alterar o arquivo conf.php para resolver isso.
+WarningConfFileMustBeReadOnly=Atenção, o seu arquivo de configuração (htdocs/conf/conf.php) pode ser substituído pelo servidor web. Esta é uma falha de segurança séria. Modificar permissões em arquivos para estar em modo somente leitura para o usuário do sistema operacional utilizado pelo servidor web. Se você usa o formato Windows e FAT para o seu disco, você deve saber que este sistema de arquivos não permite adicionar permissões em arquivos, por isso não pode ser completamente seguro.
+WarningsOnXLines=Avisos sobre %s registro de fonte (s)
+WarningNoDocumentModelActivated=Nenhum modelo, para a geração de documentos, foi ativado. Um modelo será escolhida por padrão até que você verifique a configuração do módulo.
+WarningLockFileDoesNotExists=Atenção, uma vez que a instalação estiver concluída, você deve desabilitar a instalação/migrar ferramentas, adicionando um arquivo install.lock no diretório %s. Se estiver faltando este arquivo é uma falha de segurança.
+WarningUntilDirRemoved=Todos os avisos de segurança (visível somente por usuários de administrador) permanecerá ativo enquanto a vulnerabilidade está presente (ou que a constante MAIN_REMOVE_INSTALL_WARNING é adicionada Setup->Other setup).
+WarningCloseAlways=Atenção, o fechamento é feito mesmo se o valor difere entre elementos de origem e de destino. Ative esse recurso com cautela.
+WarningUsingThisBoxSlowDown=Atenção, utilizando esta caixa de abrandar a sério todas as páginas que mostram a caixa.
+WarningClickToDialUserSetupNotComplete=Instalação de informações ClickToDial para o usuário não são completas (ver guia ClickToDial no seu cartão de usuário).
+WarningNotRelevant=Operação irrelevante para este conjunto de dados