Merge branch 'Upstream/develop'

This commit is contained in:
aspangaro 2014-06-29 05:42:37 +02:00
commit 46320071a0
124 changed files with 5201 additions and 2485 deletions

View File

@ -2,6 +2,21 @@
English Dolibarr ChangeLog
--------------------------------------------------------------
***** ChangeLog for 3.7 compared to 3.6.* *****
For users:
- New: [ task #867 ] Remove ESAEB external module code from core.
- New: Can create proposal from an intervention.
- New: Can filter events on a group of users.
- New: Add thirdparty to filter on events.
For translators:
- Update language files.
For developers:
- New: Add hook "searchAgendaFrom".
***** ChangeLog for 3.6 compared to 3.5.* *****
For users:
- New: Update ckeditor to version 4.
@ -65,9 +80,12 @@ For users:
- Fix: Add actions events not implemented.
- Fix: Price min of composition is not supplier price min by quantity.
- Fix: [ bug #1356 ] Bank accountancy number is limited to 8 numbers.
TODO
- New: Predefined product and free product use same form.
- Fix: [ bug #1439 ] impossible to remove a a translation (multilanguage-feature)
- New: If multilangue is enabled, mail (from propal, invoice, etc...) message is pre-defaulted in Customer language
- Fix: [ bug #1459 ] _ADD_CONTACT and _DEL_CONTACT triggers do not intercept insertion when reported an error
- Fix: [ bug #1478 ] BILL_PAYED trigger action does not intercept failure under some circumstances
- Fix: [ bug #1479 ] Several customer invoice triggers do not intercept trigger action
- Fix: [ bug #1477 ] Several customer invoice triggers do not show trigger error messages
For translators:
- Update language files.
@ -89,6 +107,8 @@ For developers:
- New: A module can disable a standard ECM view.
- New: Add multilang support into product webservice.
- New: Add hooks on project card page.
- New: Add call_trigger method on CommonObject class. So new trigger call within object is just :
$result = $this->call_trigger($trigger_name, $user)
WARNING: Following change may create regression for some external modules, but was necessary to make
Dolibarr better:
@ -96,17 +116,23 @@ Dolibarr better:
- The deprecated way (with 4 parameters) to declare a new tab into a module descriptor file has been
removed. You must now use the 6 parameters way. See file modMyModule.class.php for example.
- Remove the javascript function ac_delay() that is not used anymore by core code.
- Properties "dictionnaries" into module descriptor files has been renamed into "dictionaries".
- Properties "dictionnaries" into module descriptor files have been renamed into "dictionaries".
- Method form->select_currency() has been removed. Use instead print form->selectCurrency().
- Method form->select_methodes_commande() has been renamed into english name selectInputMethod().
- The following hooks are now 'addreplace' hooks: "formCreateThirdpartyOptions"
So check that return value is 0 to keep default standard behaviour after hook or 1 to disable
So check that return value is 0 to keep default standard behaviour after hook, or 1 to disable
default standard behaviour.
- Properties "civilite_id" were renamed into "civility_id".
***** ChangeLog for 3.5.4 compared to 3.5.3 *****
Fix: When using option MAIN_MAIL_ALLOW_SENDMAIL_F, a mail was sent to sender.
Fix: Question about warehouse must not be done when module stock is disabled.
Fix: Option STOCK_SUPPORTS_SERVICES was not correctly implemented
(missing test at some places).
Fix: Renaming a project with uplaoded files failed.
Fix: [ bug #1476 ] Invoice creation form loses invoice date when there is a validation error.
Fix: [ bug #1431 ] Reception and Send supplier order box has a weird top margin.
Fix: [ bug #1428 ] "Nothing" is shown in the middle of the screen in a supplier order.
Fix: The object deliverycompany was not used anymore and output of
@ -135,7 +161,12 @@ Fix: If multiprice level is used the VAT on addline is not correct
Fix: [ bug #1254 ] Error when using "Enter" on qty input box of a product (on supplier order part)
Fix: [ bug #1462, 1468, 1480, 1483, 1490, 1497] $this instead of $object
Fix: [ bug #1455 ] outstanding amount
Fix: [ bug #1425 ]
Fix: [ bug #1425 ] LINEBILL_SUPPLIER_DELETE failure trigger leads to an endless loop
Fix: [ bug #1460 ] Several supplier order triggers do not show error messages
Fix: [ bug #1461 ] LINEORDER_SUPPLIER_CREATE does not intercept supplier order line insertion
Fix: [ bug #1484 ] BILL_SUPPLIER_PAYED trigger action does not intercept failure under some circumstances
Fix: [ bug #1482 ] Several supplier invoice triggers do not show trigger error messages
Fix: [ bug #1486 ] LINEBILL_SUPPLIER_CREATE and LINEBILL_SUPPLIER_UPDATE triggers do not intercept trigger action
***** ChangeLog for 3.5.3 compared to 3.5.2 *****
Fix: Error on field accountancy code for export profile of invoices.

View File

@ -873,7 +873,8 @@ if ($rowid)
$name = $object->getFullName($langs);
if (! empty($name))
{
if ($object->societe) $name.=' ('.$object->societe.')';
if ($object->morphy == 'mor' && ! empty($object->societe)) $name=$object->societe.' ('.$name.')';
else if ($object->societe) $name.=' ('.$object->societe.')';
}
else
{

View File

@ -8,7 +8,7 @@
* Copyright (C) 2011 Remy Younes <ryounes@gmail.com>
* Copyright (C) 2012-2013 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
* Copyright (C) 2011-2012 Alexandre Spangaro <alexandre.spangaro@gmail.com>
* Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -144,7 +144,7 @@ $tabsql[9] = "SELECT code_iso as code, label, unicode, active FROM ".MAIN_DB_PRE
$tabsql[10]= "SELECT t.rowid, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, p.libelle as country, p.code as country_code, t.fk_pays as country_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p WHERE t.fk_pays=p.rowid";
$tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t";
$tabsql[12]= "SELECT c.rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX.'c_payment_term AS c';
$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active FROM ".MAIN_DB_PREFIX."c_paiement AS c";
$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active, accountancy_code FROM ".MAIN_DB_PREFIX."c_paiement AS c";
$tabsql[14]= "SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as country_id, p.code as country_code, p.libelle as country, e.active FROM ".MAIN_DB_PREFIX."c_ecotaxe AS e, ".MAIN_DB_PREFIX."c_pays as p WHERE e.fk_pays=p.rowid and p.active=1";
$tabsql[15]= "SELECT rowid as rowid, code, label as libelle, width, height, unit, active FROM ".MAIN_DB_PREFIX."c_paper_format";
$tabsql[16]= "SELECT code, label as libelle, sortorder, active FROM ".MAIN_DB_PREFIX."c_prospectlevel";
@ -202,7 +202,7 @@ $tabfield[9] = "code,label,unicode";
$tabfield[10]= "country_id,country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfield[11]= "element,source,code,libelle";
$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfield[13]= "code,libelle,type";
$tabfield[13]= "code,libelle,type,accountancy_code";
$tabfield[14]= "code,libelle,price,organization,country_id,country";
$tabfield[15]= "code,libelle,width,height,unit";
$tabfield[16]= "code,libelle,sortorder";
@ -231,7 +231,7 @@ $tabfieldvalue[9] = "code,label,unicode";
$tabfieldvalue[10]= "country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfieldvalue[11]= "element,source,code,libelle";
$tabfieldvalue[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfieldvalue[13]= "code,libelle,type";
$tabfieldvalue[13]= "code,libelle,type,accountancy_code";
$tabfieldvalue[14]= "code,libelle,price,organization,country";
$tabfieldvalue[15]= "code,libelle,width,height,unit";
$tabfieldvalue[16]= "code,libelle,sortorder";
@ -260,7 +260,7 @@ $tabfieldinsert[9] = "code_iso,label,unicode";
$tabfieldinsert[10]= "fk_pays,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfieldinsert[11]= "element,source,code,libelle";
$tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfieldinsert[13]= "code,libelle,type";
$tabfieldinsert[13]= "code,libelle,type,accountancy_code";
$tabfieldinsert[14]= "code,libelle,price,organization,fk_pays";
$tabfieldinsert[15]= "code,label,width,height,unit";
$tabfieldinsert[16]= "code,label,sortorder";

View File

@ -2,6 +2,7 @@
/* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -109,6 +110,63 @@ else if ($action == 'del')
}
}
// Option
if ($action == 'set_DONATION_MESSAGE')
{
$freemessage = GETPOST('DONATION_MESSAGE'); // No alpha here, we want exact string
$res = dolibarr_set_const($db, "DONATION_MESSAGE",$freemessage,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
setEventMessage($langs->trans("SetupSaved"));
}
else
{
setEventMessage($langs->trans("Error"),'errors');
}
}
// Activate an article
else if ($action == 'setart200') {
$setart200 = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "DONATION_ART200", $setart200, 'yesno', 0, '', $conf->entity);
if (! $res > 0)
$error ++;
if (! $error) {
setEventMessage($langs->trans("SetupSaved"), 'mesgs');
} else {
setEventMessage($langs->trans("Error"), 'mesgs');
}
}
else if ($action == 'setart238') {
$setart238 = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "DONATION_ART238", $setart238, 'yesno', 0, '', $conf->entity);
if (! $res > 0)
$error ++;
if (! $error) {
setEventMessage($langs->trans("SetupSaved"), 'mesgs');
} else {
setEventMessage($langs->trans("Error"), 'mesgs');
}
}
else if ($action == 'setart885') {
$setart885 = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "DONATION_ART885", $setart885, 'yesno', 0, '', $conf->entity);
if (! $res > 0)
$error ++;
if (! $error) {
setEventMessage($langs->trans("SetupSaved"), 'mesgs');
} else {
setEventMessage($langs->trans("Error"), 'mesgs');
}
}
/*
* View
*/
@ -121,6 +179,88 @@ llxHeader('',$langs->trans("DonationsSetup"),'DonConfiguration');
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("DonationsSetup"),$linkback,'setup');
/*
* Params
*/
print_titre($langs->trans("Options"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
print '<td width="80">&nbsp;</td>';
print "</tr>\n";
$var=true;
$var=! $var;
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'" />';
print '<input type="hidden" name="action" value="set_DONATION_MESSAGE" />';
print '<tr '.$bc[$var].'><td>';
print $langs->trans("FreeTextOnDonations").'<br>';
print '<textarea name="DONATION_MESSAGE" class="flat" cols="120">'.$conf->global->DONATION_MESSAGE.'</textarea>';
print '</td><td align="right">';
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'" />';
print "</td></tr>\n";
print "</table>\n";
print '</form>';
/*
* French params
*/
if ($conf->global->MAIN_LANG_DEFAULT == "fr_FR")
{
print '<br>';
print_titre($langs->trans("FrenchOptions"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td colspan="3">' . $langs->trans('Parameters') . '</td>';
print "</tr>\n";
$var=!$var;
print "<tr " . $bc[$var] . ">";
print '<td width="80%">' . $langs->trans("DONATION_ART200") . '</td>';
if (! empty($conf->global->DONATION_ART200)) {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setart200&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setart200&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
$var=!$var;
print "<tr " . $bc[$var] . ">";
print '<td width="80%">' . $langs->trans("DONATION_ART238") . '</td>';
if (! empty($conf->global->DONATION_ART238)) {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setart238&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setart238&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
$var=!$var;
print "<tr " . $bc[$var] . ">";
print '<td width="80%">' . $langs->trans("DONATION_ART885") . '</td>';
if (! empty($conf->global->DONATION_ART885)) {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setart885&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setart885&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print "</table>\n";
}
// Document templates
print '<br>';
print_titre($langs->trans("DonationsModels"));

View File

@ -25,6 +25,7 @@
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php';
require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/keypad.php';
// Test if already logged
if ( $_SESSION['uid'] <= 0 )
@ -75,4 +76,4 @@ include_once 'affPied.php';
print '</div></div></div>'."\n";
print '</body></html>'."\n";
?>
?>

View File

@ -0,0 +1,53 @@
<?php
/* Copyright (C) 2014 Charles-FR BENKE <charles.fr@benke.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* Return a string to outptu a keypad
*
* @param string $keypadname Key pad name
* @param string $formname Form name
* @return string HTML code to show a js keypad.
*/
function genkeypad($keypadname, $formname)
{
if (empty($conf->global->CASHDESK_SHOW_KEYPAD)) return '';
// défine the font size of button
$btnsize=32;
$sz='<input type="button" id="closekeypad'.$keypadname.'" value="X" style="display:none;" onclick="closekeypad(\''.$keypadname.'\')"/>'."\n";
$sz.='<input type="button" value="..." id="openkeypad'.$keypadname.'" onclick="openkeypad(\''.$keypadname.'\')"/><br>'."\n";
$sz.='<div id="keypad'.$keypadname.'" style="position:absolute;z-index:90;display:none; background:#AAA; vertical-align:top;">'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 7 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',7);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 8 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',8);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 9 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',9);"/><br/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 4 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',4);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 5 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',5);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 6 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',6);"/><br/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 1 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',1);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 2 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',2);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 3 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',3);"/><br/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value=" 0 " onclick="addvalue(\''.$keypadname.'\',\''.$formname.'\',0);"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value="&larr;" ';
$sz.=' onclick="document.getElementById(\''.$keypadname.'\').value=document.getElementById(\''.$keypadname.'\').value.substr(0,document.getElementById(\''.$keypadname.'\').value.length-1);modif();"/>'."\n";
$sz.='<input type="button" style="font-size:'.$btnsize.'px;" value="CE" onclick="document.getElementById(\''.$keypadname.'\').value=0;modif();"/>'."\n";
$sz.='</div>';
return $sz;
}
?>

View File

@ -0,0 +1,36 @@
/* Copyright (C) 2014 Charles-FR BENKE <charles.fr@benke.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
function closekeypad(keypadname)
{
document.getElementById('keypad'+keypadname).style.display='none';
document.getElementById('closekeypad'+keypadname).style.display='none';
document.getElementById('openkeypad'+keypadname).style.display='inline-block';
}
function openkeypad(keypadname)
{
document.getElementById('keypad'+keypadname).style.display='inline-block';
document.getElementById('closekeypad'+keypadname).style.display='inline-block';
document.getElementById('openkeypad'+keypadname).style.display='none';
}
function addvalue(keypadname, formname, valueToAdd)
{
myform=document.forms[formname];
if (myform.elements[keypadname].value=="0")
myform.elements[keypadname].value="";
myform.elements[keypadname].value+=valueToAdd;
modif();
}

View File

@ -28,6 +28,7 @@ $langs->load("cashdesk");
<script type="text/javascript" src="javascript/facturation1.js"></script>
<script type="text/javascript" src="javascript/dhtml.js"></script>
<script type="text/javascript" src="javascript/keypad.js"></script>
<!-- ========================= Cadre "Article" ============================= -->
<fieldset class="cadre_facturation"><legend class="titre1"><?php echo $langs->trans("Article"); ?></legend>
@ -103,7 +104,9 @@ $langs->load("cashdesk");
<th><?php echo $langs->trans("VATRate"); ?></th>
</tr>
<tr>
<td><input class="texte1" type="text" name="txtQte" value="1" onkeyup="javascript: modif();" onfocus="javascript: this.select();" /></td>
<td><input class="texte1" type="text" id="txtQte" name="txtQte" value="1" onkeyup="javascript: modif();" onfocus="javascript: this.select();" />
<?php print genkeypad("txtQte", "frmQte");?>
</td>
<!-- Affichage du stock pour l'article courant -->
<td>
<input class="texte1_off" type="text" name="txtStock" value="<?php echo $obj_facturation->stock() ?>" disabled="disabled" />
@ -112,7 +115,9 @@ $langs->load("cashdesk");
<td><input class="texte1_off" type="text" name="txtPrixUnit" value="<?php echo price2num($obj_facturation->prix(), 'MU'); ?>" disabled="disabled" /></td>
<td><?php echo $conf->currency; ?></td>
<!-- Choix de la remise -->
<td><input class="texte1" type="text" name="txtRemise" value="0" onkeyup="javascript: modif();" onfocus="javascript: this.select();"/></td>
<td><input class="texte1" type="text" id="txtRemise" name="txtRemise" value="0" onkeyup="javascript: modif();" onfocus="javascript: this.select();"/>
<?php print genkeypad("txtRemise", "frmQte");?>
</td>
<!-- Affichage du total HT -->
<td><input class="texte1_off" type="text" name="txtTotal" value="" disabled="disabled" /></td><td><?php echo $conf->currency; ?></td>
<!-- Choix du taux de TVA -->
@ -154,7 +159,9 @@ $langs->load("cashdesk");
<!-- Affichage du montant du -->
<td><input class="texte2_off" type="text" name="txtDu" value="<?php echo price2num($obj_facturation->prixTotalTtc(), 'MT'); ?>" disabled="disabled" /></td>
<!-- Choix du montant encaisse -->
<td><input class="texte2" type="text" name="txtEncaisse" value="" onkeyup="javascript: verifDifference();" onfocus="javascript: this.select();" /></td>
<td><input class="texte2" type="text" id="txtEncaisse" name="txtEncaisse" value="" onkeyup="javascript: verifDifference();" onfocus="javascript: this.select();" />
<?php print genkeypad("txtEncaisse", "frmDifference");?>
</td>
<!-- Affichage du montant rendu -->
<td><input class="texte2_off" type="text" name="txtRendu" value="0" disabled="disabled" /></td>
</tr>

View File

@ -395,7 +395,7 @@ $help_url='EN:Module_Agenda_En|FR:Module_Agenda|ES:M&omodulodulo_Agenda';
llxHeader('',$langs->trans("Agenda"),$help_url);
$form = new Form($db);
$htmlactions = new FormActions($db);
$formactions = new FormActions($db);
if ($action == 'create')
{
@ -467,7 +467,7 @@ if ($action == 'create')
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
{
print '<tr><td width="30%"><span class="fieldrequired">'.$langs->trans("Type").'</span></b></td><td>';
$htmlactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$object->type_code, "actioncode","systemauto");
$formactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$object->type_code, "actioncode","systemauto");
print '</td></tr>';
}
else print '<input type="hidden" name="actioncode" value="AC_OTH">';
@ -512,7 +512,7 @@ if ($action == 'create')
if (GETPOST("afaire") == 1) $percent=0;
else if (GETPOST("afaire") == 2) $percent=100;
}
$htmlactions->form_select_status_action('formaction',$percent,1,'complete');
$formactions->form_select_status_action('formaction',$percent,1,'complete');
print '</td></tr>';
// Location
@ -532,7 +532,7 @@ if ($action == 'create')
// Busy
print '<tr><td width="30%" class="nowrap">'.$langs->trans("Busy").'</td><td>';
print '<input id="transparency" type="checkbox" name="transparency"'.($actioncomm->transparency?' checked="checked"':'').'>';
print '<input id="transparency" type="checkbox" name="transparency"'.(((! isset($_GET['transparency']) && ! isset($_POST['transparency'])) || GETPOST('transparency'))?' checked="checked"':'').'>';
print '</td></tr>';
// Realised by
@ -740,7 +740,7 @@ if ($id > 0)
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
{
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td colspan="3">';
$htmlactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$object->type_code, "actioncode","systemauto");
$formactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$object->type_code, "actioncode","systemauto");
print '</td></tr>';
}
@ -766,7 +766,7 @@ if ($id > 0)
// Status
print '<tr><td class="nowrap">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">';
$percent=GETPOST("percentage")?GETPOST("percentage"):$object->percentage;
$htmlactions->form_select_status_action('formaction',$percent,1);
$formactions->form_select_status_action('formaction',$percent,1);
print '</td></tr>';
// Location
@ -1049,7 +1049,7 @@ if ($id > 0)
print $extrafields->showOutputField($key,$value);
print "</td></tr>\n";
}
print '</table><br><br>';
print '</table>';
}
dol_fiche_end();

View File

@ -42,6 +42,7 @@ $filter=GETPOST("filter",'',3);
$filtera = GETPOST("userasked","int",3)?GETPOST("userasked","int",3):GETPOST("filtera","int",3);
$filtert = GETPOST("usertodo","int",3)?GETPOST("usertodo","int",3):GETPOST("filtert","int",3);
$filterd = GETPOST("userdone","int",3)?GETPOST("userdone","int",3):GETPOST("filterd","int",3);
$usergroup = GETPOST("usergroup","int",3);
$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1;
@ -55,9 +56,10 @@ if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="a.datec";
// Security check
$socid = GETPOST("socid","int",1);
$socid = GETPOST("socid","int");
if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'agenda', 0, '', 'myactions');
if ($socid < 0) $socid='';
$canedit=1;
if (! $user->rights->agenda->myactions->read) accessforbidden();
@ -84,17 +86,25 @@ $actioncode=GETPOST("actioncode","alpha",3)?GETPOST("actioncode","alpha",3):(GET
if (GETPOST('viewcal') && $action != 'show_day' && $action != 'show_week') {
$action='show_month'; $day='';
} // View by month
if (GETPOST('viewweek')) {
if (GETPOST('viewweek') || $action == 'show_week') {
$action='show_week'; $week=($week?$week:date("W")); $day=($day?$day:date("d"));
} // View by week
if (GETPOST('viewday')) {
if (GETPOST('viewday') || $action == 'show_day') {
$action='show_day'; $day=($day?$day:date("d"));
} // View by day
if (empty($action))
{
if (empty($conf->global->AGENDA_DEFAULT_VIEW)) $action='show_month';
else $action=$conf->global->AGENDA_DEFAULT_VIEW;
}
$langs->load("agenda");
$langs->load("other");
$langs->load("commercial");
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('agenda'));
/*
@ -134,6 +144,10 @@ $companystatic=new Societe($db);
$contactstatic=new Contact($db);
$now=dol_now();
$nowarray=dol_getdate($now);
$nowyear=$nowarray['year'];
$nowmonth=$nowarray['mon'];
$nowday=$nowarray['mday'];
// Define list of all external calendars
$listofextcals=array();
@ -226,7 +240,6 @@ if ($status == 'done') $title=$langs->trans("DoneActions");
if ($status == 'todo') $title=$langs->trans("ToDoActions");
$param='';
$region='';
if ($status) $param="&status=".$status;
if ($filter) $param.="&filter=".$filter;
if ($filtera) $param.="&filtera=".$filtera;
@ -243,26 +256,29 @@ $param.="&maxprint=".$maxprint;
// Show navigation bar
if (empty($action) || $action=='show_month')
{
$nav ="<a href=\"?year=".$prev_year."&amp;month=".$prev_month."&amp;region=".$region.$param."\">".img_previous($langs->trans("Previous"))."</a>\n";
$nav ="<a href=\"?year=".$prev_year."&amp;month=".$prev_month.$param."\">".img_previous($langs->trans("Previous"))."</a>\n";
$nav.=" <span id=\"month_name\">".dol_print_date(dol_mktime(0,0,0,$month,1,$year),"%b %Y");
$nav.=" </span>\n";
$nav.="<a href=\"?year=".$next_year."&amp;month=".$next_month."&amp;region=".$region.$param."\">".img_next($langs->trans("Next"))."</a>\n";
$nav.="<a href=\"?year=".$next_year."&amp;month=".$next_month.$param."\">".img_next($langs->trans("Next"))."</a>\n";
$nav.=" &nbsp; (<a href=\"?year=".$nowyear."&amp;month=".$nowmonth.$param."\">".$langs->trans("Today")."</a>)";
$picto='calendar';
}
if ($action=='show_week')
{
$nav ="<a href=\"?year=".$prev_year."&amp;month=".$prev_month."&amp;day=".$prev_day."&amp;region=".$region.$param."\">".img_previous($langs->trans("Previous"))."</a>\n";
$nav ="<a href=\"?year=".$prev_year."&amp;month=".$prev_month."&amp;day=".$prev_day.$param."\">".img_previous($langs->trans("Previous"))."</a>\n";
$nav.=" <span id=\"month_name\">".dol_print_date(dol_mktime(0,0,0,$month,1,$year),"%Y").", ".$langs->trans("Week")." ".$week;
$nav.=" </span>\n";
$nav.="<a href=\"?year=".$next_year."&amp;month=".$next_month."&amp;day=".$next_day."&amp;region=".$region.$param."\">".img_next($langs->trans("Next"))."</a>\n";
$nav.="<a href=\"?year=".$next_year."&amp;month=".$next_month."&amp;day=".$next_day.$param."\">".img_next($langs->trans("Next"))."</a>\n";
$nav.=" &nbsp; (<a href=\"?year=".$nowyear."&amp;month=".$nowmonth."&amp;day=".$nowday.$param."\">".$langs->trans("Today")."</a>)";
$picto='calendarweek';
}
if ($action=='show_day')
{
$nav ="<a href=\"?year=".$prev_year."&amp;month=".$prev_month."&amp;day=".$prev_day."&amp;region=".$region.$param."\">".img_previous($langs->trans("Previous"))."</a>\n";
$nav ="<a href=\"?year=".$prev_year."&amp;month=".$prev_month."&amp;day=".$prev_day.$param."\">".img_previous($langs->trans("Previous"))."</a>\n";
$nav.=" <span id=\"month_name\">".dol_print_date(dol_mktime(0,0,0,$month,$day,$year),"daytextshort");
$nav.=" </span>\n";
$nav.="<a href=\"?year=".$next_year."&amp;month=".$next_month."&amp;day=".$next_day."&amp;region=".$region.$param."\">".img_next($langs->trans("Next"))."</a>\n";
$nav.="<a href=\"?year=".$next_year."&amp;month=".$next_month."&amp;day=".$next_day.$param."\">".img_next($langs->trans("Next"))."</a>\n";
$nav.=" &nbsp; (<a href=\"?year=".$nowyear."&amp;month=".$nowmonth."&amp;day=".$nowday.$param."\">".$langs->trans("Today")."</a>)";
$picto='calendarday';
}
@ -273,12 +289,62 @@ $param.='&year='.$year.'&month='.$month.($day?'&day='.$day:'');
$head = calendars_prepare_head('');
$tabactive='';
if ($action == 'show_month') $tabactive='cardmonth';
if ($action == 'show_week') $tabactive='cardweek';
if ($action == 'show_day') $tabactive='cardday';
if ($action == 'show_list') $tabactive='cardlist';
dol_fiche_head($head, 'card', $langs->trans('Events'), 0, $picto);
print_actions_filter($form,$canedit,$status,$year,$month,$day,$showbirthday,$filtera,$filtert,$filterd,$pid,$socid,$listofextcals,$actioncode);
$paramnoaction=preg_replace('/action=[a-z_]+/','',$param);
$head = calendars_prepare_head($paramnoaction);
dol_fiche_head($head, $tabactive, $langs->trans('Agenda'), 0, 'action');
print_actions_filter($form,$canedit,$status,$year,$month,$day,$showbirthday,$filtera,$filtert,$filterd,$pid,$socid,$listofextcals,$actioncode,$usergroup);
dol_fiche_end();
$showextcals=$listofextcals;
// Legend
if ($conf->use_javascript_ajax)
{
$s='';
//print '<tr><td>';
//print $langs->trans("Calendars").': ';
//print '<td align="center" valign="middle" class="nowrap">';
$s.='<script type="text/javascript">' . "\n";
$s.='jQuery(document).ready(function () {' . "\n";
$s.='jQuery("#check_mytasks").click(function() { jQuery(".family_mytasks").toggle(); jQuery(".family_other").toggle(); });' . "\n";
$s.='jQuery("#check_birthday").click(function() { jQuery(".family_birthday").toggle(); });' . "\n";
$s.='jQuery(".family_birthday").toggle();' . "\n";
$s.='});' . "\n";
$s.='</script>' . "\n";
if (! empty($conf->use_javascript_ajax))
{
$s.='<div class="nowrap clear float"><input type="checkbox" id="check_mytasks" name="check_mytasks" checked="true" disabled="disabled"> ' . $langs->trans("LocalAgenda").' &nbsp; </div>';
if (is_array($showextcals) && count($showextcals) > 0)
{
foreach ($showextcals as $val)
{
$htmlname = dol_string_nospecial($val['name']);
$s.='<script type="text/javascript">' . "\n";
$s.='jQuery(document).ready(function () {' . "\n";
$s.=' jQuery("#check_' . $htmlname . '").click(function() {';
$s.=' /* alert("'.$htmlname.'"); */';
$s.=' jQuery(".family_' . $htmlname . '").toggle();';
$s.=' });' . "\n";
$s.='});' . "\n";
$s.='</script>' . "\n";
$s.='<div class="nowrap float"><input type="checkbox" id="check_' . $htmlname . '" name="check_' . $htmlname . '" checked="true"> ' . $val ['name'] . ' &nbsp; </div>';
}
}
}
$s.='<div class="nowrap float"><input type="checkbox" id="check_birthday" name="check_birthday"> '.$langs->trans("AgendaShowBirthdayEvents").' &nbsp; </div>';
//print '</td></tr>';
}
$link='';
// Add link to show birthdays
if (empty($conf->use_javascript_ajax))
@ -294,7 +360,7 @@ if (empty($conf->use_javascript_ajax))
$link.='</a>';
}
print_fiche_titre($title,$link.' &nbsp; &nbsp; '.$nav, '');
print_fiche_titre($s,$link.' &nbsp; &nbsp; '.$nav, '');
// Get event in an array
@ -307,18 +373,19 @@ $sql.= ' a.datea,';
$sql.= ' a.datea2,';
$sql.= ' a.percent,';
$sql.= ' a.fk_user_author,a.fk_user_action,a.fk_user_done,';
$sql.= ' a.priority, a.fulldayevent, a.location,';
$sql.= ' a.transparency, a.priority, a.fulldayevent, a.location,';
$sql.= ' a.fk_soc, a.fk_contact,';
$sql.= ' ca.code';
$sql.= ' FROM ('.MAIN_DB_PREFIX.'c_actioncomm as ca,';
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a)";
$sql.= ' FROM '.MAIN_DB_PREFIX.'c_actioncomm as ca, '.MAIN_DB_PREFIX."actioncomm as a";
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc";
if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu";
$sql.= ' WHERE a.fk_action = ca.id';
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')';
if ($actioncode) $sql.=" AND ca.code='".$db->escape($actioncode)."'";
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")";
if ($user->societe_id) $sql.= ' AND a.fk_soc = '.$user->societe_id; // To limit to external user company
if ($socid > 0) $sql.= ' AND a.fk_soc = '.$socid;
if ($usergroup > 0) $sql.= " AND ugu.fk_user = a.fk_user_action";
if ($action == 'show_day')
{
$sql.= " AND (";
@ -347,14 +414,18 @@ else
$sql.= ')';
}
if ($type) $sql.= " AND ca.id = ".$type;
if ($status == 'done') { $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))"; }
if ($status == '0') { $sql.= " AND a.percent = 0"; }
if ($status == '-1') { $sql.= " AND a.percent = -1"; } // Not applicable
if ($status == '50') { $sql.= " AND (a.percent >= 0 AND a.percent < 100)"; } // Running
if ($status == 'done' || $status == '100') { $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))"; }
if ($status == 'todo') { $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep2 > '".$db->idate($now)."'))"; }
if ($filtera > 0 || $filtert > 0 || $filterd > 0)
if ($filtera > 0 || $filtert > 0 || $filterd > 0 || $usergroup > 0)
{
$sql.= " AND (";
if ($filtera > 0) $sql.= " a.fk_user_author = ".$filtera;
if ($filtert > 0) $sql.= ($filtera>0?" OR ":"")." a.fk_user_action = ".$filtert;
if ($filterd > 0) $sql.= ($filtera>0||$filtert>0?" OR ":"")." a.fk_user_done = ".$filterd;
if ($usergroup > 0) $sql.= ($filtera>0||$filtert>0||$filterd>0?" OR ":"")." ugu.fk_usergroup = ".$usergroup;
$sql.= ")";
}
// Sort on date
@ -386,6 +457,7 @@ if ($resql)
$event->priority=$obj->priority;
$event->fulldayevent=$obj->fulldayevent;
$event->location=$obj->location;
$event->transparency=$obj->transparency;
$event->societe->id=$obj->fk_soc;
$event->contact->id=$obj->fk_contact;
@ -916,7 +988,7 @@ else // View by day
$newparam=preg_replace('/viewday=[0-9]+&?/i','',$newparam);
$newparam.='&viewday=1';
// Code to show just one day
$style='cal_current_month';
$style='cal_current_month cal_current_month_oneday';
$today=0;
$todayarray=dol_getdate($now,'fast');
if ($todayarray['mday']==$day && $todayarray['mon']==$month && $todayarray['year']==$year) $today=1;
@ -924,7 +996,7 @@ else // View by day
$timestamp=dol_mktime(12,0,0,$month,$day,$year);
$arraytimestamp=dol_getdate($timestamp);
echo '<table width="100%" class="nocellnopadd">';
echo '<table width="100%" class="nocellnopadd cal_month">';
echo ' <tr class="liste_titre">';
echo ' <td align="center">'.$langs->trans("Day".$arraytimestamp['wday'])."</td>\n";
echo " </tr>\n";
@ -1010,7 +1082,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
$i=0; $nummytasks=0; $numother=0; $numbirthday=0; $numical=0; $numicals=array();
$ymd=sprintf("%04d",$year).sprintf("%02d",$month).sprintf("%02d",$day);
$nextindextouse=count($colorindexused);
$nextindextouse=count($colorindexused); // At first run this is 0, so fist user has 0, next 1, ...
//print $nextindextouse;
foreach ($eventarray as $daykey => $notused)
@ -1051,7 +1123,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
$color=$event->icalcolor;
$cssclass=(! empty($event->icalname)?'family_'.dol_string_nospecial($event->icalname):'family_other');
}
else if ($event->type_code == 'BIRTHDAY') { $numbirthday++; $colorindex=2; $cssclass='family_birthday'; }
else if ($event->type_code == 'BIRTHDAY') { $numbirthday++; $colorindex=2; $cssclass='family_birthday'; $color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]); }
else { $numother++; $cssclass='family_other'; }
if ($color == -1) // Color was not forced. Set color according to color index.
{
@ -1063,21 +1135,25 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
}
else
{
$colorindex=$nextindextouse;
$colorindexused[$idusertouse]=$colorindex;
$colorindex=$nextindextouse;
$colorindexused[$idusertouse]=$colorindex;
if (! empty($theme_datacolor[$nextindextouse+1])) $nextindextouse++; // Prepare to use next color
}
//print '|'.($color).'='.($idusertouse?$idusertouse:0).'='.$colorindex.'<br>';
// Define color
$color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]);
}
}
$cssclass=$cssclass.' '.$cssclass.'_day_'.$ymd;
// Show rect of event
print '<div id="event_'.$ymd.'_'.$i.'" class="event '.$cssclass.'">';
print '<ul class="cal_event"><li class="cal_event">';
print '<table class="cal_event" style="background: #'.$color.'; -moz-border-radius:4px; background: -webkit-gradient(linear, left top, left bottom, from(#'.$color.'), to(#'.dol_color_minus($color,1).')); " width="100%"><tr>';
print '<td class="nowrap cal_event">';
print '<table class="cal_event'.(empty($event->transparency)?'':' cal_event_busy').'" style="';
print 'background: #'.$color.'; background: -webkit-gradient(linear, left top, left bottom, from(#'.$color.'), to(#'.dol_color_minus($color,1).'));';
//if (! empty($event->transparency)) print 'background: #'.$color.'; background: -webkit-gradient(linear, left top, left bottom, from(#'.$color.'), to(#'.dol_color_minus($color,1).'));';
//else print 'background-color: transparent !important; background: none; border: 1px solid #bbb;';
print ' -moz-border-radius:4px;" width="100%"><tr>';
print '<td class="nowrap cal_event'.($event->type_code == 'BIRTHDAY'?' cal_event_birthday':'').'">';
if ($event->type_code == 'BIRTHDAY') // It's a birthday
{
print $event->getNomUrl(1,$maxnbofchar,'cal_event','birthday','contact');

View File

@ -42,11 +42,19 @@ $actioncode=GETPOST("actioncode","alpha",3);
$pid=GETPOST("projectid",'int',3);
$status=GETPOST("status",'alpha');
$type=GETPOST('type');
$actioncode=GETPOST("actioncode","alpha",3)?GETPOST("actioncode","alpha",3):(GETPOST("actioncode")=='0'?'0':(empty($conf->global->AGENDA_USE_EVENT_TYPE)?'AC_OTH':''));
if (empty($action))
{
if (empty($conf->global->AGENDA_DEFAULT_VIEW)) $action='show_list';
else $action=$conf->global->AGENDA_DEFAULT_VIEW;
}
$filter=GETPOST("filter",'',3);
$filtera = GETPOST("userasked","int",3)?GETPOST("userasked","int",3):GETPOST("filtera","int",3);
$filtert = GETPOST("usertodo","int",3)?GETPOST("usertodo","int",3):GETPOST("filtert","int",3);
$filterd = GETPOST("userdone","int",3)?GETPOST("userdone","int",3):GETPOST("filterd","int",3);
$usergroup = GETPOST("usergroup","int",3);
$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1;
$sortfield = GETPOST("sortfield",'alpha');
@ -72,6 +80,7 @@ if (! $sortfield)
$socid = GETPOST("socid",'int');
if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'agenda', 0, '', 'myactions');
if ($socid < 0) $socid='';
$canedit=1;
if (! $user->rights->agenda->myactions->read) accessforbidden();
@ -83,6 +92,8 @@ if (! $user->rights->agenda->allactions->read || $filter=='mine') // If no permi
$filterd=$user->id;
}
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('agendalist'));
/*
@ -145,23 +156,29 @@ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid"
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ua ON a.fk_user_author = ua.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ut ON a.fk_user_action = ut.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ud ON a.fk_user_done = ud.rowid";
if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu";
$sql.= " WHERE c.id = a.fk_action";
$sql.= ' AND a.fk_user_author = u.rowid';
$sql.= ' AND a.entity IN ('.getEntity().')'; // To limit to entity
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')'; // To limit to entity
if ($actioncode) $sql.=" AND c.code='".$db->escape($actioncode)."'";
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")";
if ($socid) $sql.= " AND s.rowid = ".$socid;
if ($socid > 0) $sql.= " AND s.rowid = ".$socid;
if ($usergroup > 0) $sql.= " AND ugu.fk_user = a.fk_user_action";
if ($type) $sql.= " AND c.id = ".$type;
if ($status == 'done') { $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))"; }
if ($status == '0') { $sql.= " AND a.percent = 0"; }
if ($status == '-1') { $sql.= " AND a.percent = -1"; } // Not applicable
if ($status == '50') { $sql.= " AND (a.percent >= 0 AND a.percent < 100)"; } // Running
if ($status == 'done' || $status == '100') { $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))"; }
if ($status == 'todo') { $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep2 > '".$db->idate($now)."'))"; }
if ($filtera > 0 || $filtert > 0 || $filterd > 0)
if ($filtera > 0 || $filtert > 0 || $filterd > 0 || $usergroup > 0)
{
$sql.= " AND (";
if ($filtera > 0) $sql.= " a.fk_user_author = ".$filtera;
if ($filtert > 0) $sql.= ($filtera>0?" OR ":"")." a.fk_user_action = ".$filtert;
if ($filterd > 0) $sql.= ($filtera>0||$filtert>0?" OR ":"")." a.fk_user_done = ".$filterd;
$sql.= ")";
$sql.= " AND (";
if ($filtera > 0) $sql.= " a.fk_user_author = ".$filtera;
if ($filtert > 0) $sql.= ($filtera>0?" OR ":"")." a.fk_user_action = ".$filtert;
if ($filterd > 0) $sql.= ($filtera>0||$filtert>0?" OR ":"")." a.fk_user_done = ".$filterd;
if ($usergroup > 0) $sql.= ($filtera>0||$filtert>0||$filterd>0?" OR ":"")." ugu.fk_usergroup = ".$usergroup;
$sql.= ")";
}
$sql.= $db->order($sortfield,$sortorder);
$sql.= $db->plimit($limit + 1, $offset);
@ -180,7 +197,7 @@ if ($resql)
if ($status == 'done') $title=$langs->trans("DoneActions");
if ($status == 'todo') $title=$langs->trans("ToDoActions");
if ($socid)
/*if ($socid)
{
$societe = new Societe($db);
$societe->fetch($socid);
@ -189,13 +206,19 @@ if ($resql)
else
{
$newtitle=$langs->trans($title);
}
}*/
$newtitle=$langs->trans($title);
$tabactive='';
if ($action == 'show_month') $tabactive='cardmonth';
if ($action == 'show_week') $tabactive='cardweek';
if ($action == 'show_day') $tabactive='cardday';
if ($action == 'show_list') $tabactive='cardlist';
$head = calendars_prepare_head('');
$head = calendars_prepare_head($param);
dol_fiche_head($head, 'card', $langs->trans('Events'), 0, 'list');
print_actions_filter($form,$canedit,$status,$year,$month,$day,$showbirthday,$filtera,$filtert,$filterd,$pid,$socid,-1);
dol_fiche_head($head, $tabactive, $langs->trans('Agenda'), 0, 'action');
print_actions_filter($form,$canedit,$status,$year,$month,$day,$showbirthday,$filtera,$filtert,$filterd,$pid,$socid,-1,$actioncode,$usergroup);
dol_fiche_end();
// Add link to show birthdays

View File

@ -2,6 +2,7 @@
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2013 Laurent Destailleur <eldy@uers.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -26,6 +27,7 @@
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/modules/mailings/modules_mailings.php';
require_once DOL_DOCUMENT_ROOT.'/comm/mailing/class/mailing.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formmailing.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/emailing.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
@ -54,6 +56,7 @@ $action=GETPOST("action");
$search_lastname=GETPOST("search_lastname");
$search_firstname=GETPOST("search_firstname");
$search_email=GETPOST("search_email");
$search_dest_status=GETPOST('search_dest_status');
// Search modules dirs
$modulesdir = dolGetModulesDirs('/mailings');
@ -170,6 +173,7 @@ if ($_POST["button_removefilter"])
llxHeader('',$langs->trans("Mailing"),'EN:Module_EMailing|FR:Module_Mailing|ES:M&oacute;dulo_Mailing');
$form = new Form($db);
$formmailing = new FormMailing($db);
if ($object->fetch($id) >= 0)
{
@ -222,7 +226,7 @@ if ($object->fetch($id) >= 0)
$var=!$var;
$allowaddtarget=($object->statut == 0 || $object->statut == 1);
$allowaddtarget=($object->statut == 0);
// Show email selectors
if ($allowaddtarget && $user->rights->mailing->creer)
@ -359,6 +363,7 @@ if ($object->fetch($id) >= 0)
if ($search_lastname) $sql.= " AND mc.lastname LIKE '%".$db->escape($search_lastname)."%'";
if ($search_firstname) $sql.= " AND mc.firstname LIKE '%".$db->escape($search_firstname)."%'";
if ($search_email) $sql.= " AND mc.email LIKE '%".$db->escape($search_email)."%'";
if (!empty($search_dest_status)) $sql.= " AND mc.statut=".$db->escape($search_dest_status)." ";
$sql .= $db->order($sortfield,$sortorder);
$sql .= $db->plimit($conf->liste_limit+1, $offset);
@ -378,7 +383,9 @@ if ($object->fetch($id) >= 0)
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="id" value="'.$object->id.'">';
$cleartext='<br></div><div>'.$langs->trans("ToClearAllRecipientsClickHere").': '.'<input type="submit" name="clearlist" class="button" value="'.$langs->trans("TargetsReset").'">';
if ($allowaddtarget) {
$cleartext='<br></div><div>'.$langs->trans("ToClearAllRecipientsClickHere").': '.'<input type="submit" name="clearlist" class="button" value="'.$langs->trans("TargetsReset").'">';
}
print_barre_liste($langs->trans("MailSelectedRecipients").$cleartext,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,"",$num,$object->nbemail,'');
@ -401,7 +408,7 @@ if ($object->fetch($id) >= 0)
print_liste_field_titre($langs->trans("OtherInformations"),$_SERVER["PHP_SELF"],"",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"],"",$param,"",'align="center"',$sortfield,$sortorder);
// Date sendinf
// Date sending
if ($object->statut < 2)
{
print '<td class="liste_titre">&nbsp;</td>';
@ -414,6 +421,11 @@ if ($object->fetch($id) >= 0)
// Statut
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"mc.statut",$param,'','align="right"',$sortfield,$sortorder);
//Search Icon
print '<td class="liste_titre">';
print '&nbsp';
print '</td>';
print '</tr>';
// Ligne des champs de filtres
@ -435,7 +447,20 @@ if ($object->fetch($id) >= 0)
print '&nbsp';
print '</td>';
// Source
print '<td class="liste_titre" align="right" colspan="3">';
print '<td class="liste_titre">';
print '&nbsp';
print '</td>';
// Date sending
print '<td class="liste_titre">';
print '&nbsp';
print '</td>';
//Statut
print '<td class="liste_titre" align="right">';
print $formmailing->selectDestinariesStatus($search_dest_status,'search_dest_status',1);
print '</td>';
//Search Icon
print '<td class="liste_titre" align="right">';
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
print '&nbsp; ';
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
@ -497,7 +522,7 @@ if ($object->fetch($id) >= 0)
{
print '<td align="center">&nbsp;</td>';
print '<td align="right" class="nowrap">'.$langs->trans("MailingStatusNotSent");
if ($user->rights->mailing->creer) {
if ($user->rights->mailing->creer && $allowaddtarget) {
print '<a href="'.$_SERVER['PHP_SELF'].'?action=delete&rowid='.$obj->rowid.$param.'">'.img_delete($langs->trans("RemoveRecipient"));
}
print '</td>';
@ -506,12 +531,12 @@ if ($object->fetch($id) >= 0)
{
print '<td align="center">'.$obj->date_envoi.'</td>';
print '<td align="right" class="nowrap">';
if ($obj->statut==-1) print $langs->trans("MailingStatusError").' '.img_error();
if ($obj->statut==1) print $langs->trans("MailingStatusSent").' '.img_picto($langs->trans("MailingStatusSent"),'statut4');
if ($obj->statut==2) print $langs->trans("MailingStatusRead").' '.img_picto($langs->trans("MailingStatusRead"),'statut6');
if ($obj->statut==3) print $langs->trans("MailingStatusNotContact").' '.img_picto($langs->trans("MailingStatusNotContact"),'statut5');
print $object::libStatutDest($obj->statut,2);
print '</td>';
}
//Sreach Icon
print '<td></td>';
print '</tr>';
$i++;

View File

@ -60,6 +60,9 @@ class Mailing extends CommonObject
var $extraparams=array();
public $statut_dest=array();
public $statuts=array();
/**
* Constructor
@ -75,6 +78,12 @@ class Mailing extends CommonObject
$this->statuts[1] = 'MailingStatusValidated';
$this->statuts[2] = 'MailingStatusSentPartialy';
$this->statuts[3] = 'MailingStatusSentCompletely';
$this->statut_dest[-1] = 'MailingStatusError';
$this->statut_dest[1] = 'MailingStatusSent';
$this->statut_dest[2] = 'MailingStatusRead';
$this->statut_dest[3] = 'MailingStatusNotContact';
}
/**
@ -512,5 +521,60 @@ class Mailing extends CommonObject
}
}
/**
* Renvoi le libelle d'un statut donne
*
* @param int $statut Id statut
* @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
* @return string Label
*/
static public function libStatutDest($statut,$mode=0)
{
global $langs;
$langs->load('mails');
if ($mode == 0)
{
return $langs->trans($this->statut_dest[$statut]);
}
if ($mode == 1)
{
return $langs->trans($this->statut_dest[$statut]);
}
if ($mode == 2)
{
if ($statut==-1) return $langs->trans("MailingStatusError").' '.img_error();
if ($statut==1) return $langs->trans("MailingStatusSent").' '.img_picto($langs->trans("MailingStatusSent"),'statut4');
if ($statut==2) return $langs->trans("MailingStatusRead").' '.img_picto($langs->trans("MailingStatusRead"),'statut6');
if ($statut==3) return $langs->trans("MailingStatusNotContact").' '.img_picto($langs->trans("MailingStatusNotContact"),'statut8');
}
if ($mode == 3)
{
if ($statut==-1) return $langs->trans("MailingStatusError").' '.img_error();
if ($statut==1) return $langs->trans("MailingStatusSent").' '.img_picto($langs->trans("MailingStatusSent"),'statut4');
if ($statut==2) return $langs->trans("MailingStatusRead").' '.img_picto($langs->trans("MailingStatusRead"),'statut6');
if ($statut==3) return $langs->trans("MailingStatusNotContact").' '.img_picto($langs->trans("MailingStatusNotContact"),'statut8');
}
if ($mode == 4)
{
if ($statut==-1) return $langs->trans("MailingStatusError").' '.img_error();
if ($statut==1) return $langs->trans("MailingStatusSent").' '.img_picto($langs->trans("MailingStatusSent"),'statut4');
if ($statut==2) return $langs->trans("MailingStatusRead").' '.img_picto($langs->trans("MailingStatusRead"),'statut6');
if ($statut==3) return $langs->trans("MailingStatusNotContact").' '.img_picto($langs->trans("MailingStatusNotContact"),'statut8');
}
if ($mode == 5)
{
if ($statut==-1) return $langs->trans("MailingStatusError").' '.img_error();
if ($statut==1) return $langs->trans("MailingStatusSent").' '.img_picto($langs->trans("MailingStatusSent"),'statut4');
if ($statut==2) return $langs->trans("MailingStatusRead").' '.img_picto($langs->trans("MailingStatusRead"),'statut6');
if ($statut==3) return $langs->trans("MailingStatusNotContact").' '.img_picto($langs->trans("MailingStatusNotContact"),'statut8');
}
}
}

View File

@ -840,7 +840,7 @@ else
{
print "\n\n<div class=\"tabsAction\">\n";
if (($object->statut == 0 || $object->statut == 1) && $user->rights->mailing->creer)
if (($object->statut == 0) && $user->rights->mailing->creer)
{
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=edit&amp;id='.$object->id.'">'.$langs->trans("EditMailing").'</a>';
}

View File

@ -237,11 +237,13 @@ else if ($action == 'add' && $user->rights->propal->creer) {
$error ++;
}
if (! $error) {
if (! $error)
{
$db->begin();
// Si on a selectionne une propal a copier, on realise la copie
if (GETPOST('createmode') == 'copy' && GETPOST('copie_propal')) {
if (GETPOST('createmode') == 'copy' && GETPOST('copie_propal'))
{
if ($object->fetch(GETPOST('copie_propal')) > 0) {
$object->ref = GETPOST('ref');
$object->datep = $datep;
@ -287,7 +289,8 @@ else if ($action == 'add' && $user->rights->propal->creer) {
$object->origin = GETPOST('origin');
$object->origin_id = GETPOST('originid');
for($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i ++) {
for($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i ++)
{
if ($_POST ['idprod' . $i]) {
$xid = 'idprod' . $i;
$xqty = 'qty' . $i;
@ -304,8 +307,137 @@ else if ($action == 'add' && $user->rights->propal->creer) {
}
}
if (! $error) {
$id = $object->create($user);
if (! $error)
{
if ($origin && $originid)
{
// Parse element/subelement (ex: project_task)
$element = $subelement = $origin;
if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) {
$element = $regs [1];
$subelement = $regs [2];
}
// For compatibility
if ($element == 'order') {
$element = $subelement = 'commande';
}
if ($element == 'propal') {
$element = 'comm/propal';
$subelement = 'propal';
}
if ($element == 'contract') {
$element = $subelement = 'contrat';
}
if ($element == 'inter') {
$element = $subelement = 'ficheinter';
}
if ($element == 'shipping') {
$element = $subelement = 'expedition';
}
$object->origin = $origin;
$object->origin_id = $originid;
// Possibility to add external linked objects with hooks
$object->linked_objects [$object->origin] = $object->origin_id;
if (is_array($_POST['other_linked_objects']) && ! empty($_POST['other_linked_objects'])) {
$object->linked_objects = array_merge($object->linked_objects, $_POST['other_linked_objects']);
}
$id = $object->create($user);
if ($id > 0)
{
dol_include_once('/' . $element . '/class/' . $subelement . '.class.php');
$classname = ucfirst($subelement);
$srcobject = new $classname($db);
dol_syslog("Try to find source object origin=" . $object->origin . " originid=" . $object->origin_id . " to add lines");
$result = $srcobject->fetch($object->origin_id);
if ($result > 0)
{
$lines = $srcobject->lines;
if (empty($lines) && method_exists($srcobject, 'fetch_lines')) $lines = $srcobject->fetch_lines();
$fk_parent_line=0;
$num=count($lines);
for ($i=0;$i<$num;$i++)
{
$label=(! empty($lines[$i]->label)?$lines[$i]->label:'');
$desc=(! empty($lines[$i]->desc)?$lines[$i]->desc:$lines[$i]->libelle);
// Positive line
$product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0);
// Date start
$date_start = false;
if ($lines[$i]->date_debut_prevue)
$date_start = $lines[$i]->date_debut_prevue;
if ($lines[$i]->date_debut_reel)
$date_start = $lines[$i]->date_debut_reel;
if ($lines[$i]->date_start)
$date_start = $lines[$i]->date_start;
// Date end
$date_end = false;
if ($lines[$i]->date_fin_prevue)
$date_end = $lines[$i]->date_fin_prevue;
if ($lines[$i]->date_fin_reel)
$date_end = $lines[$i]->date_fin_reel;
if ($lines[$i]->date_end)
$date_end = $lines[$i]->date_end;
// Reset fk_parent_line for no child products and special product
if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) {
$fk_parent_line = 0;
}
// Extrafields
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) {
$lines[$i]->fetch_optionals($lines[$i]->rowid);
$array_option = $lines[$i]->array_options;
}
$tva_tx=get_default_tva($mysoc, $object->thirdparty);
$result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, 'HT', 0, $lines[$i]->info_bits, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $date_start, $date_end, $array_option);
if ($result > 0) {
$lineid = $result;
} else {
$lineid = 0;
$error ++;
break;
}
// Defined the new fk_parent_line
if ($result > 0 && $lines[$i]->product_type == 9) {
$fk_parent_line = $result;
}
}
// Hooks
$parameters = array('objFrom' => $srcobject);
$reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been
// modified by hook
if ($reshook < 0)
$error ++;
} else {
$mesgs [] = $srcobject->error;
$error ++;
}
} else {
$mesgs [] = $object->error;
$error ++;
}
} // Standard creation
else
{
$id = $object->create($user);
}
if ($id > 0) {
// Insertion contact par defaut si defini
@ -1105,6 +1237,61 @@ if ($action == 'create') {
if ($socid > 0)
$res = $soc->fetch($socid);
// Load objectsrc
if (! empty($origin) && ! empty($originid))
{
// Parse element/subelement (ex: project_task)
$element = $subelement = $origin;
if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) {
$element = $regs [1];
$subelement = $regs [2];
}
if ($element == 'project') {
$projectid = $originid;
} else {
// For compatibility
if ($element == 'order' || $element == 'commande') {
$element = $subelement = 'commande';
}
if ($element == 'propal') {
$element = 'comm/propal';
$subelement = 'propal';
}
if ($element == 'contract') {
$element = $subelement = 'contrat';
}
if ($element == 'shipping') {
$element = $subelement = 'expedition';
}
dol_include_once('/' . $element . '/class/' . $subelement . '.class.php');
$classname = ucfirst($subelement);
$objectsrc = new $classname($db);
$objectsrc->fetch($originid);
if (empty($objectsrc->lines) && method_exists($objectsrc, 'fetch_lines'))
$objectsrc->fetch_lines();
$objectsrc->fetch_thirdparty();
$projectid = (! empty($objectsrc->fk_project) ? $objectsrc->fk_project : '');
$ref_client = (! empty($objectsrc->ref_client) ? $objectsrc->ref_client : '');
$ref_int = (! empty($objectsrc->ref_int) ? $objectsrc->ref_int : '');
$soc = $objectsrc->thirdparty;
$cond_reglement_id = (! empty($objectsrc->cond_reglement_id)?$objectsrc->cond_reglement_id:(! empty($soc->cond_reglement_id)?$soc->cond_reglement_id:1));
$mode_reglement_id = (! empty($objectsrc->mode_reglement_id)?$objectsrc->mode_reglement_id:(! empty($soc->mode_reglement_id)?$soc->mode_reglement_id:0));
$remise_percent = (! empty($objectsrc->remise_percent)?$objectsrc->remise_percent:(! empty($soc->remise_percent)?$soc->remise_percent:0));
$remise_absolue = (! empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(! empty($soc->remise_absolue)?$soc->remise_absolue:0));
$dateinvoice = (empty($dateinvoice)?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:''):$dateinvoice);
// Replicate extrafields
$objectsrc->fetch_optionals($originid);
$object->array_options = $objectsrc->array_options;
}
}
$object = new Propal($db);
print '<form name="addprop" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
@ -1243,16 +1430,62 @@ if ($action == 'create') {
print $object->showOptionals($extrafields, 'edit');
}
print "</table>";
// Lines from source
if (! empty($origin) && ! empty($originid) && is_object($objectsrc))
{
// TODO for compatibility
if ($origin == 'contrat') {
// Calcul contrat->price (HT), contrat->total (TTC), contrat->tva
$objectsrc->remise_absolue = $remise_absolue;
$objectsrc->remise_percent = $remise_percent;
$objectsrc->update_price(1, - 1, 1);
}
print "\n<!-- " . $classname . " info -->";
print "\n";
print '<input type="hidden" name="amount" value="' . $objectsrc->total_ht . '">' . "\n";
print '<input type="hidden" name="total" value="' . $objectsrc->total_ttc . '">' . "\n";
print '<input type="hidden" name="tva" value="' . $objectsrc->total_tva . '">' . "\n";
print '<input type="hidden" name="origin" value="' . $objectsrc->element . '">';
print '<input type="hidden" name="originid" value="' . $objectsrc->id . '">';
$newclassname = $classname;
if ($newclassname == 'Propal')
$newclassname = 'CommercialProposal';
elseif ($newclassname == 'Commande')
$newclassname = 'Order';
elseif ($newclassname == 'Expedition')
$newclassname = 'Sending';
elseif ($newclassname == 'Fichinter')
$newclassname = 'Intervention';
print '<tr><td>' . $langs->trans($newclassname) . '</td><td colspan="2">' . $objectsrc->getNomUrl(1) . '</td></tr>';
print '<tr><td>' . $langs->trans('TotalHT') . '</td><td colspan="2">' . price($objectsrc->total_ht) . '</td></tr>';
print '<tr><td>' . $langs->trans('TotalVAT') . '</td><td colspan="2">' . price($objectsrc->total_tva) . "</td></tr>";
if ($mysoc->localtax1_assuj == "1") // Localtax1 RE
{
print '<tr><td>' . $langs->transcountry("AmountLT1", $mysoc->country_code) . '</td><td colspan="2">' . price($objectsrc->total_localtax1) . "</td></tr>";
}
if ($mysoc->localtax2_assuj == "1") // Localtax2 IRPF
{
print '<tr><td>' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '</td><td colspan="2">' . price($objectsrc->total_localtax2) . "</td></tr>";
}
print '<tr><td>' . $langs->trans('TotalTTC') . '</td><td colspan="2">' . price($objectsrc->total_ttc) . "</td></tr>";
}
print "</table>\n";
print '<br>';
/*
* Combobox pour la fonction de copie
*/
if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) {
print '<input type="hidden" name="createmode" value="empty">';
}
if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) print '<input type="hidden" name="createmode" value="empty">';
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '<table>';
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE))
@ -1296,7 +1529,8 @@ if ($action == 'create') {
print '<td valign="top" colspan="2">' . $langs->trans("CreateEmptyPropal") . '</td></tr>';
}
if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) {
if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE))
{
print '<tr><td colspan="3">';
if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) {
$lib = $langs->trans("ProductsAndServices");
@ -1325,6 +1559,7 @@ if ($action == 'create') {
}
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '</table><br>';
$langs->load("bills");
print '<center>';
print '<input type="submit" class="button" value="' . $langs->trans("CreateDraft") . '">';
@ -1332,6 +1567,22 @@ if ($action == 'create') {
print '</center>';
print "</form>";
// Show origin lines
if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) {
print '<br>';
$title = $langs->trans('ProductsAndServices');
print_titre($title);
print '<table class="noborder" width="100%">';
$objectsrc->printOriginLinesList();
print '</table>';
}
} else {
/*
* Show object in view mode
@ -1983,15 +2234,18 @@ if ($action == 'create') {
$fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/'));
$file = $fileparams ['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file)) {
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
if (! empty($newlang)) {
$outputlangs = new Translate("", $conf);
$outputlangs->setDefaultLang($newlang);
@ -2012,6 +2266,7 @@ if ($action == 'create') {
// Create form object
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -2537,16 +2537,21 @@ class Propal extends CommonObject
{
$mybool=false;
$file = $conf->global->PROPALE_ADDON.".php";
$classname = $conf->global->PROPALE_ADDON;
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir)
{
$file = $conf->global->PROPALE_ADDON.".php";
$classname = $conf->global->PROPALE_ADDON;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot.$reldir."/core/modules/propale/";
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
}
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot."/core/modules/propale/";
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
if (! $mybool)
{

View File

@ -131,18 +131,21 @@ class Commande extends CommonOrder
if (! empty($conf->global->COMMANDE_ADDON))
{
$mybool=false;
$file = $conf->global->COMMANDE_ADDON.".php";
$classname = $conf->global->COMMANDE_ADDON;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot."/core/modules/commande/";
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
$mybool=false;
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir)
{
$file = $conf->global->COMMANDE_ADDON.".php";
$classname = $conf->global->COMMANDE_ADDON;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot.$reldir."/core/modules/commande/";
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
}
if (! $mybool)
{
@ -291,13 +294,6 @@ class Commande extends CommonOrder
}
}
// Set new ref and current status
if (! $error)
{
$this->ref = $num;
$this->statut = 1;
}
if (! $error)
{
// Appel des triggers
@ -308,6 +304,13 @@ class Commande extends CommonOrder
// Fin appel triggers
}
// Set new ref and current status
if (! $error)
{
$this->ref = $num;
$this->statut = 1;
}
if (! $error)
{
$this->db->commit();
@ -484,7 +487,7 @@ class Commande extends CommonOrder
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commande';
$sql.= ' SET fk_statut = 3,';
$sql.= ' fk_user_cloture = '.$user->id.',';
$sql.= ' date_cloture = '.$this->db->idate($now);
$sql.= " date_cloture = '".$this->db->idate($now)."'";
$sql.= ' WHERE rowid = '.$this->id.' AND fk_statut > 0';
if ($this->db->query($sql))
@ -2590,8 +2593,8 @@ class Commande extends CommonOrder
while ($obj=$this->db->fetch_object($resql))
{
$this->nbtodo++;
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) $this->nbtodolate++;
}
return 1;

View File

@ -862,12 +862,24 @@ else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('
else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->commande->valider) {
$idwarehouse = GETPOST('idwarehouse');
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $object->hasProductsOrServices(1)) {
if (! $idwarehouse || $idwarehouse == - 1) {
$error ++;
$mesgs [] = '<div class="error">' . $langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv("Warehouse")) . '</div>';
$action = '';
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $qualified_for_stock_change)
{
if (! $idwarehouse || $idwarehouse == -1)
{
$error++;
$mesgs[]='<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse")).'</div>';
$action='';
}
}
@ -895,12 +907,24 @@ else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->co
else if ($action == 'confirm_modif' && $user->rights->commande->creer) {
$idwarehouse = GETPOST('idwarehouse');
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $object->hasProductsOrServices(1)) {
if (! $idwarehouse || $idwarehouse == - 1) {
$error ++;
$mesgs [] = '<div class="error">' . $langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv("Warehouse")) . '</div>';
$action = '';
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $qualified_for_stock_change)
{
if (! $idwarehouse || $idwarehouse == -1)
{
$error++;
$mesgs[]='<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse")).'</div>';
$action='';
}
}
@ -936,12 +960,24 @@ else if ($action == 'confirm_shipped' && $confirm == 'yes' && $user->rights->com
else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->commande->valider) {
$idwarehouse = GETPOST('idwarehouse');
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $object->hasProductsOrServices(1)) {
if (! $idwarehouse || $idwarehouse == - 1) {
$error ++;
$mesgs [] = '<div class="error">' . $langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv("Warehouse")) . '</div>';
$action = '';
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $qualified_for_stock_change)
{
if (! $idwarehouse || $idwarehouse == -1)
{
$error++;
$mesgs[]='<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse")).'</div>';
$action='';
}
}
@ -1663,8 +1699,20 @@ if ($action == 'create' && $user->rights->commande->creer) {
$text .= '<br>';
$text .= $notify->confirmMessage('ORDER_VALIDATE', $object->socid);
}
$formquestion = array();
if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $object->hasProductsOrServices(1)) {
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
$formquestion=array();
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $qualified_for_stock_change)
{
$langs->load("stocks");
require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php';
$formproduct = new FormProduct($db);
@ -1681,10 +1729,22 @@ if ($action == 'create' && $user->rights->commande->creer) {
}
// Confirm back to draft status
if ($action == 'modif') {
$text = $langs->trans('ConfirmUnvalidateOrder', $object->ref);
$formquestion = array();
if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $object->hasProductsOrServices(1)) {
if ($action == 'modif')
{
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
$text=$langs->trans('ConfirmUnvalidateOrder',$object->ref);
$formquestion=array();
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $qualified_for_stock_change)
{
$langs->load("stocks");
require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php';
$formproduct = new FormProduct($db);
@ -1709,11 +1769,23 @@ if ($action == 'create' && $user->rights->commande->creer) {
/*
* Confirmation de l'annulation
*/
if ($action == 'cancel') {
$text = $langs->trans('ConfirmCancelOrder', $object->ref);
$formquestion = array();
if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $object->hasProductsOrServices(1)) {
*/
if ($action == 'cancel')
{
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
$text=$langs->trans('ConfirmCancelOrder',$object->ref);
$formquestion=array();
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) && $qualified_for_stock_change)
{
$langs->load("stocks");
require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php';
$formproduct = new FormProduct($db);
@ -1731,9 +1803,10 @@ if ($action == 'create' && $user->rights->commande->creer) {
/*
* Confirmation de la suppression d'une ligne produit
*/
if ($action == 'ask_deleteline') {
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1);
*/
if ($action == 'ask_deleteline')
{
$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1);
}
// Clone confirmation
@ -2305,16 +2378,18 @@ if ($action == 'create' && $user->rights->commande->creer) {
include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
$fileparams = dol_most_recent_file($conf->commande->dir_output . '/' . $ref, preg_quote($ref, '/'));
$file = $fileparams ['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file)) {
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
if (! empty($newlang)) {
$outputlangs = new Translate("", $conf);
$outputlangs->setDefaultLang($newlang);
@ -2335,6 +2410,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
// Cree l'objet formulaire mail
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -124,7 +124,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->c
header("Location: " . $_SERVER['PHP_SELF'] . '?facid=' . $result);
exit();
} else {
$mesgs [] = $object->error;
setEventMessage($object->error, 'errors');
$action = '';
}
}
@ -140,7 +140,7 @@ else if ($action == 'reopen' && $user->rights->facture->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
exit();
} else {
$mesgs [] = '<div class="error">' . $object->error . '</div>';
setEventMessage($object->error, 'errors');
}
}
}
@ -164,7 +164,8 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->fact
header('Location: ' . DOL_URL_ROOT . '/compta/facture/list.php');
exit();
} else {
$mesgs [] = '<div class="error">' . $object->error . '</div>';
setEventMessage($object->error, 'errors');
$action='';
}
}
@ -195,7 +196,7 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
exit();
}
} else {
$mesgs [] = '<div clas="error">' . $object->error . '</div>';
setEventMessage($object->error, 'errors');
$action = '';
}
}
@ -453,7 +454,8 @@ else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_
// On verifie si aucun paiement n'a ete effectue
if ($resteapayer == $object->total_ttc && $object->paye == 0 && $ventilExportCompta == 0) {
$object->set_draft($user, $idwarehouse);
$result=$object->set_draft($user, $idwarehouse);
if ($result<0) setEventMessage($object->error,'errors');
// Define output language
$outputlangs = $langs;
@ -478,6 +480,7 @@ else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_
else if ($action == 'confirm_paid' && $confirm == 'yes' && $user->rights->facture->paiement) {
$object->fetch($id);
$result = $object->set_paid($user);
if ($result<0) setEventMessage($object->error,'errors');
} // Classif "paid partialy"
else if ($action == 'confirm_paid_partially' && $confirm == 'yes' && $user->rights->facture->paiement) {
$object->fetch($id);
@ -485,6 +488,7 @@ else if ($action == 'confirm_paid_partially' && $confirm == 'yes' && $user->righ
$close_note = $_POST["close_note"];
if ($close_code) {
$result = $object->set_paid($user, $close_code, $close_note);
if ($result<0) setEventMessage($object->error,'errors');
} else {
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Reason")), 'errors');
}
@ -495,6 +499,7 @@ else if ($action == 'confirm_canceled' && $confirm == 'yes') {
$close_note = $_POST["close_note"];
if ($close_code) {
$result = $object->set_canceled($user, $close_code, $close_note);
if ($result<0) setEventMessage($object->error,'errors');
} else {
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Reason")), 'errors');
}
@ -597,10 +602,11 @@ else if ($action == 'add' && $user->rights->facture->creer)
// Replacement invoice
if ($_POST['type'] == Facture::TYPE_REPLACEMENT)
{
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datefacture)) {
$error ++;
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors');
$dateinvoice = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($dateinvoice))
{
$error++;
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors');
}
if (! ($_POST['fac_replacement'] > 0)) {
@ -613,17 +619,17 @@ else if ($action == 'add' && $user->rights->facture->creer)
$result = $object->fetch($_POST['fac_replacement']);
$object->fetch_thirdparty();
$object->date = $datefacture;
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = $_POST['cond_reglement_id'];
$object->mode_reglement_id = $_POST['mode_reglement_id'];
$object->remise_absolue = $_POST['remise_absolue'];
$object->remise_percent = $_POST['remise_percent'];
$object->date = $dateinvoice;
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = $_POST['cond_reglement_id'];
$object->mode_reglement_id = $_POST['mode_reglement_id'];
$object->remise_absolue = $_POST['remise_absolue'];
$object->remise_percent = $_POST['remise_percent'];
// Proprietes particulieres a facture de remplacement
$object->fk_facture_source = $_POST['fac_replacement'];
@ -644,8 +650,8 @@ else if ($action == 'add' && $user->rights->facture->creer)
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("CorrectInvoice")), 'errors');
}
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datefacture))
$dateinvoice = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($dateinvoice))
{
$error ++;
setEventMessage($langs->trans("ErrorFieldRequired", $langs->trans("Date")), 'errors');
@ -653,24 +659,19 @@ else if ($action == 'add' && $user->rights->facture->creer)
if (! $error)
{
// Si facture avoir
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
// $result=$object->fetch($_POST['fac_avoir']);
$object->socid = GETPOST('socid', 'int');
$object->number = $_POST['facnumber'];
$object->date = $datefacture;
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = 0;
$object->mode_reglement_id = $_POST['mode_reglement_id'];
$object->remise_absolue = $_POST['remise_absolue'];
$object->remise_percent = $_POST['remise_percent'];
$object->socid = GETPOST('socid','int');
$object->number = $_POST['facnumber'];
$object->date = $dateinvoice;
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = 0;
$object->mode_reglement_id = $_POST['mode_reglement_id'];
$object->remise_absolue = $_POST['remise_absolue'];
$object->remise_percent = $_POST['remise_percent'];
// Proprietes particulieres a facture avoir
$object->fk_facture_source = $_POST['fac_avoir'];
@ -737,23 +738,24 @@ else if ($action == 'add' && $user->rights->facture->creer)
// Standard invoice or Deposit invoice created from a Predefined invoice
if (($_POST['type'] == 0 || $_POST['type'] == 3) && $_POST['fac_rec'] > 0)
{
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datefacture)) {
$error ++;
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors');
$dateinvoice = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($dateinvoice))
{
$error++;
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors');
}
if (! $error)
{
$object->socid = GETPOST('socid', 'int');
$object->type = $_POST['type'];
$object->number = $_POST['facnumber'];
$object->date = $datefacture;
$object->note_public = trim($_POST['note_public']);
$object->note_private = trim($_POST['note_private']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->socid = GETPOST('socid','int');
$object->type = $_POST['type'];
$object->number = $_POST['facnumber'];
$object->date = $dateinvoice;
$object->note_public = trim($_POST['note_public']);
$object->note_private = trim($_POST['note_private']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
// Source facture
$object->fac_rec = $_POST['fac_rec'];
@ -771,38 +773,40 @@ else if ($action == 'add' && $user->rights->facture->creer)
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Customer")), 'errors');
}
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datefacture)) {
$error ++;
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors');
$dateinvoice = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($dateinvoice))
{
$error++;
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors');
}
if (! $error)
{
// Si facture standard
$object->socid = GETPOST('socid', 'int');
$object->type = GETPOST('type');
$object->number = $_POST['facnumber'];
$object->date = $datefacture;
$object->note_public = trim($_POST['note_public']);
$object->note_private = trim($_POST['note_private']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = ($_POST['type'] == 3 ? 1 : $_POST['cond_reglement_id']);
$object->mode_reglement_id = $_POST['mode_reglement_id'];
$object->amount = $_POST['amount'];
$object->remise_absolue = $_POST['remise_absolue'];
$object->remise_percent = $_POST['remise_percent'];
$object->socid = GETPOST('socid','int');
$object->type = GETPOST('type');
$object->number = $_POST['facnumber'];
$object->date = $dateinvoice;
$object->note_public = trim($_POST['note_public']);
$object->note_private = trim($_POST['note_private']);
$object->ref_client = $_POST['ref_client'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = ($_POST['type'] == 3?1:$_POST['cond_reglement_id']);
$object->mode_reglement_id = $_POST['mode_reglement_id'];
$object->amount = $_POST['amount'];
$object->remise_absolue = $_POST['remise_absolue'];
$object->remise_percent = $_POST['remise_percent'];
$object->fetch_thirdparty();
// If creation from another object of another module (Example: origin=propal, originid=1)
if ($_POST['origin'] && $_POST['originid'])
if ($origin && $originid)
{
// Parse element/subelement (ex: project_task)
$element = $subelement = $_POST['origin'];
if (preg_match('/^([^_]+)_([^_]+)/i', $_POST['origin'], $regs)) {
$element = $subelement = $origin;
if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) {
$element = $regs [1];
$subelement = $regs [2];
}
@ -825,8 +829,8 @@ else if ($action == 'add' && $user->rights->facture->creer)
$element = $subelement = 'expedition';
}
$object->origin = $_POST['origin'];
$object->origin_id = $_POST['originid'];
$object->origin = $origin;
$object->origin_id = $originid;
// Possibility to add external linked objects with hooks
$object->linked_objects [$object->origin] = $object->origin_id;
@ -885,19 +889,19 @@ else if ($action == 'add' && $user->rights->facture->creer)
$langs->trans('Deposit'),
$amountdeposit, // subprice
1, // quantity
$lines [$i]->tva_tx, 0, // localtax1_tx
$lines[$i]->tva_tx, 0, // localtax1_tx
0, // localtax2_tx
0, // fk_product
0, // remise_percent
0, // date_start
0, // date_end
0, $lines [$i]->info_bits, // info_bits
0, $lines[$i]->info_bits, // info_bits
0, // info_bits
'HT',
0,
0, // product_type
1,
$lines [$i]->special_code,
$lines[$i]->special_code,
$object->origin,
0,
0,
@ -928,15 +932,15 @@ else if ($action == 'add' && $user->rights->facture->creer)
$label=(! empty($lines[$i]->label)?$lines[$i]->label:'');
$desc=(! empty($lines[$i]->desc)?$lines[$i]->desc:$lines[$i]->libelle);
if ($lines [$i]->subprice < 0)
if ($lines[$i]->subprice < 0)
{
// Negative line, we create a discount line
$discount = new DiscountAbsolute($db);
$discount->fk_soc = $object->socid;
$discount->amount_ht = abs($lines [$i]->total_ht);
$discount->amount_tva = abs($lines [$i]->total_tva);
$discount->amount_ttc = abs($lines [$i]->total_ttc);
$discount->tva_tx = $lines [$i]->tva_tx;
$discount->amount_ht = abs($lines[$i]->total_ht);
$discount->amount_tva = abs($lines[$i]->total_tva);
$discount->amount_ttc = abs($lines[$i]->total_ttc);
$discount->tva_tx = $lines[$i]->tva_tx;
$discount->fk_user = $user->id;
$discount->description = $desc;
$discountid = $discount->create($user);
@ -949,38 +953,38 @@ else if ($action == 'add' && $user->rights->facture->creer)
}
} else {
// Positive line
$product_type = ($lines [$i]->product_type ? $lines [$i]->product_type : 0);
$product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0);
// Date start
$date_start = false;
if ($lines [$i]->date_debut_prevue)
$date_start = $lines [$i]->date_debut_prevue;
if ($lines [$i]->date_debut_reel)
$date_start = $lines [$i]->date_debut_reel;
if ($lines [$i]->date_start)
$date_start = $lines [$i]->date_start;
if ($lines[$i]->date_debut_prevue)
$date_start = $lines[$i]->date_debut_prevue;
if ($lines[$i]->date_debut_reel)
$date_start = $lines[$i]->date_debut_reel;
if ($lines[$i]->date_start)
$date_start = $lines[$i]->date_start;
// Date end
$date_end = false;
if ($lines [$i]->date_fin_prevue)
$date_end = $lines [$i]->date_fin_prevue;
if ($lines [$i]->date_fin_reel)
$date_end = $lines [$i]->date_fin_reel;
if ($lines [$i]->date_end)
$date_end = $lines [$i]->date_end;
if ($lines[$i]->date_fin_prevue)
$date_end = $lines[$i]->date_fin_prevue;
if ($lines[$i]->date_fin_reel)
$date_end = $lines[$i]->date_fin_reel;
if ($lines[$i]->date_end)
$date_end = $lines[$i]->date_end;
// Reset fk_parent_line for no child products and special product
if (($lines [$i]->product_type != 9 && empty($lines [$i]->fk_parent_line)) || $lines [$i]->product_type == 9) {
if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) {
$fk_parent_line = 0;
}
// Extrafields
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines [$i], 'fetch_optionals')) {
$lines [$i]->fetch_optionals($lines [$i]->rowid);
$array_option = $lines [$i]->array_options;
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) {
$lines[$i]->fetch_optionals($lines[$i]->rowid);
$array_option = $lines[$i]->array_options;
}
$result = $object->addline($desc, $lines [$i]->subprice, $lines [$i]->qty, $lines [$i]->tva_tx, $lines [$i]->localtax1_tx, $lines [$i]->localtax2_tx, $lines [$i]->fk_product, $lines [$i]->remise_percent, $date_start, $date_end, 0, $lines [$i]->info_bits, $lines [$i]->fk_remise_except, 'HT', 0, $product_type, $lines [$i]->rang, $lines [$i]->special_code, $object->origin, $lines [$i]->rowid, $fk_parent_line, $lines [$i]->fk_fournprice, $lines [$i]->pa_ht, $label, $array_option);
$result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $lines[$i]->tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, $date_start, $date_end, 0, $lines[$i]->info_bits, $lines[$i]->fk_remise_except, 'HT', 0, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $object->origin, $lines[$i]->rowid, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $array_option);
if ($result > 0) {
$lineid = $result;
@ -991,7 +995,7 @@ else if ($action == 'add' && $user->rights->facture->creer)
}
// Defined the new fk_parent_line
if ($result > 0 && $lines [$i]->product_type == 9) {
if ($result > 0 && $lines[$i]->product_type == 9) {
$fk_parent_line = $result;
}
}
@ -1837,6 +1841,7 @@ if ($action == 'create')
if ($socid > 0)
$res = $soc->fetch($socid);
// Load objectsrc
if (! empty($origin) && ! empty($originid))
{
// Parse element/subelement (ex: project_task)
@ -1883,7 +1888,7 @@ if ($action == 'create')
$mode_reglement_id = (! empty($objectsrc->mode_reglement_id)?$objectsrc->mode_reglement_id:(! empty($soc->mode_reglement_id)?$soc->mode_reglement_id:0));
$remise_percent = (! empty($objectsrc->remise_percent)?$objectsrc->remise_percent:(! empty($soc->remise_percent)?$soc->remise_percent:0));
$remise_absolue = (! empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(! empty($soc->remise_absolue)?$soc->remise_absolue:0));
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:'';
$dateinvoice = (empty($dateinvoice)?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:''):$dateinvoice);
// Replicate extrafields
$objectsrc->fetch_optionals($originid);
@ -1897,7 +1902,7 @@ if ($action == 'create')
$mode_reglement_id = $soc->mode_reglement_id;
$remise_percent = $soc->remise_percent;
$remise_absolue = 0;
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:''; // Do not set 0 here (0 for a date is 1970)
$dateinvoice = (empty($dateinvoice)?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:''):$dateinvoice); // Do not set 0 here (0 for a date is 1970)
}
$absolute_discount = $soc->getAvailableDiscounts();
@ -2248,10 +2253,9 @@ if ($action == 'create')
$doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70);
print $doleditor->Create(1);
// print '<textarea name="note_public" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_public.'</textarea></td></tr>';
// Private note
if (empty($user->societe_id)) {
if (empty($user->societe_id))
{
print '<tr>';
print '<td class="border" valign="top">' . $langs->trans('NotePrivate') . '</td>';
print '<td valign="top" colspan="2">';
@ -2262,10 +2266,13 @@ if ($action == 'create')
}
$doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70);
print $doleditor->Create(1);
// print '<textarea name="note_private" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_private.'.</textarea></td></tr>';
// print '<textarea name="note_private" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_private.'.</textarea>
print '</td></tr>';
}
if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) {
// Lines from source
if (! empty($origin) && ! empty($originid) && is_object($objectsrc))
{
// TODO for compatibility
if ($origin == 'contrat') {
// Calcul contrat->price (HT), contrat->total (TTC), contrat->tva
@ -2289,6 +2296,8 @@ if ($action == 'create')
$newclassname = 'Order';
elseif ($newclassname == 'Expedition')
$newclassname = 'Sending';
elseif ($newclassname == 'Fichinter')
$newclassname = 'Intervention';
print '<tr><td>' . $langs->trans($newclassname) . '</td><td colspan="2">' . $objectsrc->getNomUrl(1) . '</td></tr>';
print '<tr><td>' . $langs->trans('TotalHT') . '</td><td colspan="2">' . price($objectsrc->total_ht) . '</td></tr>';
@ -2358,7 +2367,10 @@ if ($action == 'create')
print "</table>\n";
// Button "Create Draft"
print '<br><center><input type="submit" class="button" name="bouton" value="' . $langs->trans('CreateDraft') . '"></center>';
print '<br><center>';
print '<input type="submit" class="button" name="bouton" value="' . $langs->trans('CreateDraft') . '">';
print '&nbsp;<input type="button" class="button" value="' . $langs->trans("Cancel") . '" onClick="javascript:history.go(-1)">';
print '</center>';
print "</form>\n";
@ -3617,15 +3629,17 @@ if ($action == 'create')
$fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/'));
$file = $fileparams ['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file)) {
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
if (! empty($newlang)) {
$outputlangs = new Translate("", $conf);
$outputlangs->setDefaultLang($newlang);
@ -3646,6 +3660,7 @@ if ($action == 'create')
// Cree l'objet formulaire mail
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -1564,7 +1564,11 @@ class Facture extends CommonInvoice
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('BILL_CANCEL',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
@ -1808,7 +1812,6 @@ class Facture extends CommonInvoice
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
return -1;
}
}
@ -2216,6 +2219,7 @@ class Facture extends CommonInvoice
}
else
{
$this->error=$this->line->error;
$this->db->rollback();
return -1;
}
@ -2286,7 +2290,7 @@ class Facture extends CommonInvoice
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
$this->error=$line->error;
return -1;
}
}
@ -3570,8 +3574,12 @@ class FactureLigne extends CommonInvoiceLine
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result = $interface->run_triggers('LINEBILL_INSERT',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -2;
}
// Fin appel triggers
}
@ -3683,8 +3691,12 @@ class FactureLigne extends CommonInvoiceLine
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result = $interface->run_triggers('LINEBILL_UPDATE',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -2;
}
// Fin appel triggers
}
@ -3721,8 +3733,12 @@ class FactureLigne extends CommonInvoiceLine
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result = $interface->run_triggers('LINEBILL_DELETE',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers

View File

@ -221,7 +221,15 @@ class Paiement extends CommonObject
if (!in_array($invoice->type, $affected_types)) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note, nor deposit invoice. We do nothing more.");
else if ($remaintopay) dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing more.");
else if ($mustwait) dol_syslog("There is ".$mustwait." differed payment to process, we do nothing more.");
else $result=$invoice->set_paid($user,'','');
else
{
$result=$invoice->set_paid($user,'','');
if ($result<0)
{
$this->error=$invoice->error;
$error++;
}
}
}
}
else

View File

@ -1220,8 +1220,7 @@ class BonPrelevement extends CommonObject
/**
* Generate a withdrawal file. Generation Formats:
* France: CFONB
* Spain: AEB19 (if external module EsAEB is enabled)
* European countries: SEPA
* Others: Warning message
* File is generated with name this->filename
*
@ -1238,76 +1237,10 @@ class BonPrelevement extends CommonObject
$this->file = fopen($this->filename,"w");
// TODO Move code for es and fr into an external module file with selection into setup of prelevement module
$found=0;
// Build file for Spain
if ($mysoc->country_code=='ES')
{
if (! empty($conf->esaeb->enabled))
{
$found++;
dol_include_once('/esaeb/class/esaeb19.class.php');
//Head
$esaeb19 = new AEB19DocWritter;
$esaeb19->configuraPresentador($this->numero_national_emetteur,$conf->global->ESAEB_SUFIX_PRESENTADOR,$this->raison_sociale,$this->emetteur_code_banque,$this->emetteur_code_guichet);
$idOrdenante = $esaeb19->agregaOrdenante($this->numero_national_emetteur,$conf->global->ESAEB_SUFIX_ORDENANTE,$this->raison_sociale,$this->emetteur_code_banque,$this->emetteur_code_guichet, $this->emetteur_number_key, $this->emetteur_numero_compte);
$this->total = 0;
$sql = "SELECT pl.rowid, pl.fk_soc, pl.client_nom, pl.code_banque, pl.code_guichet, pl.cle_rib, pl.number, pl.amount,";
$sql.= " f.facnumber, pf.fk_facture";
$sql.= " FROM";
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
$sql.= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql.= " WHERE pl.fk_prelevement_bons = ".$this->id;
$sql.= " AND pl.rowid = pf.fk_prelevement_lignes";
$sql.= " AND pf.fk_facture = f.rowid";
//Lines
$i = 0;
$resql=$this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
$client = new Societe($this->db);
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
$client->fetch($obj->fk_soc);
$esaeb19->agregaRecibo(
$idOrdenante,
$client->idprof1,
$obj->client_nom,
$obj->code_banque,
$obj->code_guichet,
$obj->cle_rib,
$obj->number,
$obj->amount,
"Fra.".$obj->facnumber." ".$obj->amount
);
$this->total = $this->total + $obj->amount;
$i++;
}
}
else
{
$result = -2;
}
fputs($this->file, $esaeb19->generaRemesa());
}
}
// Build file for European countries
if (! $found && $mysoc->isInEEC())
if (! $mysoc->isInEEC())
{
$found++;

View File

@ -24,7 +24,6 @@
*/
include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php';
/**
* Class to manage the box to show last invoices
*/
@ -159,4 +158,4 @@ class box_factures extends ModeleBoxes
}
}
?>

View File

@ -0,0 +1,156 @@
<?php
/* Copyright (C) 2012-2014 Charles-François BENKE <charles.fr@benke.fr>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/boxes/box_activite.php
* \ingroup projet
* \brief Module to show Projet activity of the current Year
*/
include_once(DOL_DOCUMENT_ROOT."/core/boxes/modules_boxes.php");
/**
* Class to manage the box to show last projet
*/
class box_project extends ModeleBoxes
{
var $boxcode="project";
var $boximg="object_projectpub";
var $boxlabel;
//var $depends = array("projet");
var $db;
var $param;
var $info_box_head = array();
var $info_box_contents = array();
/**
* \brief Constructeur de la classe
*/
function box_project()
{
global $langs;
$langs->load("boxes");
$langs->load("projects");
$this->boxlabel="Projet";
}
/**
* Load data for box to show them later
*
* @param int $max Maximum number of records to load
* @return void
*/
function loadBox($max=5)
{
global $conf, $user, $langs, $db;
$this->max=$max;
$totalMnt = 0;
$totalnb = 0;
$totalnbTask=0;
include_once(DOL_DOCUMENT_ROOT."/projet/class/project.class.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/project.lib.php");
$projectstatic=new Project($db);
$textHead = $langs->trans("Projet");
$this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead));
// list the summary of the orders
if ($user->rights->projet->lire)
{
$sql = "SELECT p.rowid, p.ref, p.title, p.fk_statut ";
$sql.= " FROM (".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."projet as p";
$sql.= ")";
$sql.= " WHERE p.fk_soc = s.rowid";
$sql.= " AND s.entity = ".$conf->entity;
$sql.= " AND p.fk_statut = 1"; // Seulement les projets ouverts
$sql.= " ORDER BY p.datec DESC";
$sql.= $db->plimit($max, 0);
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
while ($i < $num)
{
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projectpub');
$objp = $db->fetch_object($result);
$projectstatic->fetch($objp->rowid);
$this->info_box_contents[$i][1] = array('td' => 'align="left"',
'text' =>$projectstatic->getNomUrl(1)
);
$this->info_box_contents[$i][2] = array('td' => 'align="left"',
'text' => $objp->title
);
$sql ="SELECT count(*) as nb, sum(progress) as totprogress";
$sql.=" FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet as p";
$sql.=" WHERE pt.fk_projet = p.rowid";
$sql.=" AND p.entity = ".$conf->entity;
$resultTask = $db->query($sql);
if ($resultTask)
{
$objTask = $db->fetch_object($resultTask);
$this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format($objTask->nb, 0, ',', ' ')."&nbsp;".$langs->trans("Tasks"));
if ($objTask->nb > 0 )
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => number_format(($objTask->totprogress/$objTask->nb), 0, ',', ' ')." %&nbsp;".$langs->trans("Progress"));
else
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A&nbsp;");
$totalnbTask += $objTask->nb;
}
else
{
$this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format(0, 0, ',', ' '));
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A&nbsp;");
}
$i++;
}
}
}
// Add the sum à the bottom of the boxes
$this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"', 'td' => 'colspan=2 align="left" ', 'text' => $langs->trans("Total")."&nbsp;".$textHead);
$this->info_box_contents[$i][1] = array('td' => 'align="right" ', 'text' => number_format($num, 0, ',', ' ')."&nbsp;".$langs->trans("Projects"));
$this->info_box_contents[$i][2] = array('td' => 'align="right" ', 'text' => number_format($totalnbTask, 0, ',', ' ')."&nbsp;".$langs->trans("Tasks"));
$this->info_box_contents[$i][4] = array('td' => 'colspan=2', 'text' => "");
}
/**
* Method to show box
*
* @param array $head Array with properties of box title
* @param array $contents Array with properties of box lines
* @return void
*/
function showBox($head = null, $contents = null)
{
parent::showBox($this->info_box_head, $this->info_box_contents);
}
}
?>

View File

@ -0,0 +1,143 @@
<?php
/* Copyright (C) 2012-2014 Charles-François BENKE <charles.fr@benke.fr>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/boxes/box_task.php
* \ingroup Projet
* \brief Module to Task activity of the current year
* \version $Id: box_task.php,v 1.1 2012/09/11 Charles-François BENKE
*/
include_once(DOL_DOCUMENT_ROOT."/core/boxes/modules_boxes.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/date.lib.php");
/**
* Class to manage the box to show last task
*/
class box_task extends ModeleBoxes
{
var $boxcode="projet";
var $boximg="object_projecttask";
var $boxlabel;
//var $depends = array("projet");
var $db;
var $param;
var $info_box_head = array();
var $info_box_contents = array();
/**
* \brief Constructeur de la classe
*
* @return void
*/
function box_task()
{
global $langs;
$langs->load("boxes");
$langs->load("projects");
$this->boxlabel="Tasks";
}
/**
* Load data for box to show them later
*
* @param int $max Maximum number of records to load
* @return void
*/
function loadBox($max=5)
{
global $conf, $user, $langs, $db;
$this->max=$max;
$totalMnt = 0;
$totalnb = 0;
$totalDuree=0;
include_once(DOL_DOCUMENT_ROOT."/projet/class/task.class.php");
$taskstatic=new Task($db);
$textHead = $langs->trans("Tasks")."&nbsp;".date("Y");
$this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead));
// list the summary of the orders
if ($user->rights->projet->lire)
{
$sql = "SELECT pt.fk_statut, count(pt.rowid) as nb, sum(ptt.task_duration) as durationtot, sum(pt.planned_workload) as plannedtot";
$sql.= " FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet_task_time as ptt";
$sql.= " WHERE DATE_FORMAT(pt.datec,'%Y') = ".date("Y")." ";
$sql.= " AND pt.rowid = ptt.fk_task";
$sql.= " GROUP BY pt.fk_statut ";
$sql.= " ORDER BY pt.fk_statut DESC";
$sql.= $db->plimit($max, 0);
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
while ($i < $num)
{
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projecttask');
$objp = $db->fetch_object($result);
$this->info_box_contents[$i][1] = array('td' => 'align="left"',
'text' =>$langs->trans("Task")."&nbsp;".$taskstatic->LibStatut($objp->fk_statut,0)
);
$this->info_box_contents[$i][2] = array('td' => 'align="right"',
'text' => $objp->nb."&nbsp;".$langs->trans("Tasks"),
'url' => DOL_URL_ROOT."/projet/tasks/index.php?leftmenu=projects&viewstatut=".$objp->fk_statut
);
$totalnb += $objp->nb;
$this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => ConvertSecondToTime($objp->plannedtot,'all',25200,5));
$totalplannedtot += $objp->plannedtot;
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => ConvertSecondToTime($objp->durationtot,'all',25200,5));
$totaldurationtot += $objp->durationtot;
$this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', 'text' => $taskstatic->LibStatut($objp->fk_statut,3));
$i++;
}
}
}
// Add the sum à the bottom of the boxes
$this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"', 'td' => 'colspan=2 align="left" ', 'text' => $langs->trans("Total")."&nbsp;".$textHead);
$this->info_box_contents[$i][1] = array('td' => 'align="right" ', 'text' => number_format($totalnb, 0, ',', ' ')."&nbsp;".$langs->trans("Tasks"));
$this->info_box_contents[$i][2] = array('td' => 'align="right" ', 'text' => ConvertSecondToTime($totalplannedtot,'all',25200,5));
$this->info_box_contents[$i][3] = array('td' => 'align="right" ', 'text' => ConvertSecondToTime($totaldurationtot,'all',25200,5));
$this->info_box_contents[$i][4] = array('td' => 'colspan=2', 'text' => "");
}
/**
* Method to show box
*
* @param array $head Array with properties of box title
* @param array $contents Array with properties of box lines
* @return void
*/
function showBox($head = null, $contents = null)
{
parent::showBox($this->info_box_head, $this->info_box_contents);
}
}
?>

View File

@ -405,7 +405,7 @@ class CMailFile
// le return-path dans les header ne fonctionne pas avec tous les MTA
// Le passage par -f est donc possible si la constante MAIN_MAIL_ALLOW_SENDMAIL_F est definie.
// La variable definie pose des pb avec certains sendmail securisee (option -f refusee car dangereuse)
$bounce .= ($bounce?' ':'').(! empty($conf->global->MAIN_MAIL_ERRORS_TO) ? '-f' . $conf->global->MAIN_MAIL_ERRORS_TO : ($this->addr_from != '' ? '-f' . $this->addr_from : '') );
$bounce .= ($bounce?' ':'').(! empty($conf->global->MAIN_MAIL_ERRORS_TO) ? '-f' . $this->getValidAddress($conf->global->MAIN_MAIL_ERRORS_TO,2) : ($this->addr_from != '' ? '-f' . $this->getValidAddress($this->addr_from,2) : '') );
}
if (! empty($conf->global->MAIN_MAIL_SENDMAIL_FORCE_BA)) // To force usage of -ba option. This option tells sendmail to read From: or Sender: to setup sender
{
@ -657,6 +657,7 @@ class CMailFile
{
$out.= "To: ".$this->getValidAddress($this->addr_to,0,1).$this->eol2;
}
// Return-Path is important because it is used by SPF. Some MTA does not read Return-Path from header but from command line. See option MAIN_MAIL_ALLOW_SENDMAIL_F for that.
$out.= "Return-Path: ".$this->getValidAddress($this->addr_from,0,1).$this->eol2;
if (isset($this->reply_to) && $this->reply_to) $out.= "Reply-To: ".$this->getValidAddress($this->reply_to,2).$this->eol2;
if (isset($this->errors_to) && $this->errors_to) $out.= "Errors-To: ".$this->getValidAddress($this->errors_to,2).$this->eol2;

View File

@ -164,7 +164,6 @@ abstract class CommonObject
{
global $user,$conf,$langs;
$error=0;
dol_syslog(get_class($this)."::add_contact $fk_socpeople, $type_contact, $source");
@ -205,6 +204,8 @@ abstract class CommonObject
$datecreate = dol_now();
$this->db->begin();
// Insertion dans la base
$sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact";
$sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) ";
@ -219,20 +220,16 @@ abstract class CommonObject
{
if (! $notrigger)
{
// Call triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers(strtoupper($this->element).'_ADD_CONTACT',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
}
// End call triggers
$result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user);
if ($result < 0) { $this->db->rollback(); return -1; }
}
$this->db->commit();
return 1;
}
else
{
$this->db->rollback();
if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
{
$this->error=$this->db->errno();
@ -311,7 +308,8 @@ abstract class CommonObject
{
global $user,$langs,$conf;
$error=0;
$this->db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_contact";
$sql.= " WHERE rowid =".$rowid;
@ -321,21 +319,17 @@ abstract class CommonObject
{
if (! $notrigger)
{
// Call triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers(strtoupper($this->element).'_DELETE_CONTACT',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
}
// End call triggers
$result=$this->call_trigger(strtoupper($this->element).'_DELETE_CONTACT', $user);
if ($result < 0) { $this->db->rollback(); return -1; }
}
$this->db->commit();
return 1;
}
else
{
$this->error=$this->db->lasterror();
$this->db->rollback();
dol_syslog(get_class($this)."::delete_contact error=".$this->error, LOG_ERR);
return -1;
}
@ -599,7 +593,7 @@ abstract class CommonObject
}
/**
* Load the third party of object, from id $this->socid or $this->fk_soc, into this->thirdpary
* Load the third party of object, from id $this->socid or $this->fk_soc, into this->thirdparty
*
* @return int <0 if KO, >0 if OK
*/
@ -3232,12 +3226,17 @@ abstract class CommonObject
if (! $user->rights->margins->liretous) return;
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT, $conf->global->MAIN_MAX_DECIMALS_TOT);
$marginInfo = $this->getMarginInfos($force_price);
print '<table class="nobordernopadding" width="100%">';
if (! empty($conf->global->MARGININFO_HIDE_SHOW))
{
print "<img onclick=\"$('.margininfos').toggle();\" src='".img_picto($langs->trans("Hide")."/".$langs->trans("Show"),'object_margin.png','','',1)."'>";
if ($conf->global->MARGININFO_HIDE_SHOW == 2) print '<script>$(document).ready(function() {$(".margininfos").hide();});</script>'; // hide by default
}
print '<table class="nobordernopadding margintable" width="100%">';
print '<tr class="liste_titre">';
print '<td width="30%">'.$langs->trans('Margins').'</td>';
print '<td width="20%" align="right">'.$langs->trans('SellingPrice').'</td>';
@ -3354,7 +3353,8 @@ abstract class CommonObject
{
global $user,$langs,$conf;
$error=0;
$this->db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources";
$sql.= " WHERE rowid =".$rowid;
@ -3364,14 +3364,8 @@ abstract class CommonObject
{
if (! $notrigger)
{
// Call triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers(strtoupper($element).'_DELETE_RESOURCE',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
}
// End call triggers
$result=$this->call_trigger(strtoupper($element).'_DELETE_RESOURCE', $user);
if ($result < 0) { $this->db->rollback(); return -1; }
}
return 1;
@ -3379,6 +3373,7 @@ abstract class CommonObject
else
{
$this->error=$this->db->lasterror();
$this->db->rollback();
dol_syslog(get_class($this)."::delete_resource error=".$this->error, LOG_ERR);
return -1;
}
@ -3403,4 +3398,35 @@ abstract class CommonObject
}
}
/**
* Call trigger based on this instance
*
* NB: Error from trigger are stacked in errors
* NB2: if trigger fail, action should be canceled.
*
* @param string $trigger_name trigger's name to execute
* @param User $user Object user
* @return int Result of run_triggers
*/
function call_trigger($trigger_name, $user)
{
global $langs,$conf;
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers($trigger_name,$this,$user,$langs,$conf);
if ($result < 0) {
if (!empty($this->errors))
{
$this->errors=array_merge($this->errors,$interface->errors);
}
else
{
$this->errors=$interface->errors;
}
}
return $result;
}
}

View File

@ -671,7 +671,7 @@ class Form
* Return HTML code to select a company.
*
* @param int $selected Preselected products
* @param string $htmlname Name of HTML seletc field (must be unique in page)
* @param string $htmlname Name of HTML select field (must be unique in page)
* @param int $filter Filter on thirdparty
* @param int $limit Limit on number of returned lines
* @param array $ajaxoptions Options for ajax_autocompleter
@ -1115,6 +1115,7 @@ class Form
* @param int $maxlength Maximum length of string into list (0=no limit)
* @param int $showstatus 0=show user status only if status is disabled, 1=always show user status into label, -1=never show user status
* @return string HTML select string
* @see select_dolgroups
*/
function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0, $showstatus=0)
{
@ -4196,6 +4197,7 @@ class Form
* @param int $enableonly Array list of groups id to be enabled. All other must be disabled
* @param int $force_entity 0 or Id of environment to force
* @return void
* @see select_dolusers
*/
function select_dolgroups($selected='', $htmlname='groupid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0)
{
@ -4237,7 +4239,7 @@ class Form
$i = 0;
if ($num)
{
$out.= '<select class="flat" name="'.$htmlname.'"'.($disabled?' disabled="disabled"':'').'>';
$out.= '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"'.($disabled?' disabled="disabled"':'').'>';
if ($show_empty) $out.= '<option value="-1"'.($selected==-1?' selected="selected"':'').'>&nbsp;</option>'."\n";
while ($i < $num)

View File

@ -48,13 +48,15 @@ class FormActions
/**
* Show list of action status
*
* @param string $formname Name of form where select in included
* @param string $selected Preselected value (-1..100)
* @param int $canedit 1=can edit, 0=read only
* @param string $htmlname Name of html prefix for html fields (selectX and valX)
* @param string $formname Name of form where select is included
* @param string $selected Preselected value (-1..100)
* @param int $canedit 1=can edit, 0=read only
* @param string $htmlname Name of html prefix for html fields (selectX and valX)
* @param string $showempty Show an empty line if select is used
* @param string $onlyselect 0=Standard, 1=Hide percent of completion and force usage of a select list, 2=Same than 1 and add "Incomplete (Todo+Running)
* @return void
*/
function form_select_status_action($formname,$selected,$canedit=1,$htmlname='complete')
function form_select_status_action($formname,$selected,$canedit=1,$htmlname='complete',$showempty=0,$onlyselect=0)
{
global $langs,$conf;
@ -64,6 +66,7 @@ class FormActions
'50' => $langs->trans("ActionRunningShort"),
'100' => $langs->trans("ActionDoneShort")
);
// +ActionUncomplete
if (! empty($conf->use_javascript_ajax))
{
@ -112,18 +115,32 @@ class FormActions
}
}
</script>\n";
}
if (! empty($conf->use_javascript_ajax) || $onlyselect)
{
//var_dump($selected);
if ($selected == 'done') $selected='100';
print '<select '.($canedit?'':'disabled="disabled" ').'name="status" id="select'.$htmlname.'" class="flat">';
if ($showempty) print '<option value=""'.($selected == ''?' selected="selected"':'').'></option>';
foreach($listofstatus as $key => $val)
{
print '<option value="'.$key.'"'.(($selected == $key) || (($selected > 0 && $selected < 100) && $key == '50') ? ' selected="selected"' : '').'>'.$val.'</option>';
print '<option value="'.$key.'"'.(($selected == $key && strlen($selected) == strlen($key)) || (($selected > 0 && $selected < 100) && $key == '50') ? ' selected="selected"' : '').'>'.$val.'</option>';
if ($key == '50' && $onlyselect == 2)
{
print '<option value="todo"'.($selected == 'todo' ? ' selected="selected"' : '').'>'.$langs->trans("ActionUncomplete").' ('.$langs->trans("ActionRunningNotStarted")."+".$langs->trans("ActionRunningShort").')</option>';
}
}
print '</select>';
if ($selected == 0 || $selected == 100) $canedit=0;
print ' <input type="text" id="val'.$htmlname.'" name="percentage" class="flat hideifna" value="'.($selected>=0?$selected:'').'" size="2"'.($canedit&&($selected>=0)?'':' disabled="disabled"').'>';
print '<span class="hideifna">%</span>';
if (empty($onlyselect))
{
print ' <input type="text" id="val'.$htmlname.'" name="percentage" class="flat hideifna" value="'.($selected>=0?$selected:'').'" size="2"'.($canedit&&($selected>=0)?'':' disabled="disabled"').'>';
print '<span class="hideifna">%</span>';
}
}
else
{
{
print ' <input type="text" id="val'.$htmlname.'" name="percentage" class="flat" value="'.($selected>=0?$selected:'').'" size="2"'.($canedit?'':' disabled="disabled"').'>%';
}
}
@ -220,7 +237,7 @@ class FormActions
global $langs,$user,$form;
if (! is_object($form)) $form=new Form($db);
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/cactioncomm.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
$caction=new CActionComm($this->db);

View File

@ -483,7 +483,7 @@ class FormFile
// Language code (if multilang)
$out.= '<th align="center" class="formdoc liste_titre">';
if (($allowgenifempty || (is_array($modellist) && count($modellist) > 0)) && $conf->global->MAIN_MULTILANGS && ! $forcenomultilang)
if (($allowgenifempty || (is_array($modellist) && count($modellist) > 0)) && $conf->global->MAIN_MULTILANGS && ! $forcenomultilang && (! empty($modellist) || $showempty))
{
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
$formadmin=new FormAdmin($this->db);
@ -509,6 +509,7 @@ class FormFile
$genbutton.= ' '.img_warning($langs->transnoentitiesnoconv("WarningNoDocumentModelActivated"));
}
if (! $allowgenifempty && ! is_array($modellist) && empty($modellist) && empty($conf->dol_no_mouse_hover) && $modulepart != 'unpaid') $genbutton='';
if (empty($modellist) && ! $showempty) $genbutton='';
$out.= $genbutton;
$out.= '</th>';

View File

@ -554,17 +554,29 @@ class FormMail
if (! empty($this->withbody))
{
$defaultmessage="";
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $this->param['langsmodels'];
if (! empty($newlang)) {
$outputlangs = new Translate("", $conf);
$outputlangs->setDefaultLang($newlang);
}
// TODO A partir du type, proposer liste de messages dans table llx_c_email_template
if ($this->param["models"]=='facture_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoice"); }
elseif ($this->param["models"]=='facture_relance') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceReminder"); }
elseif ($this->param["models"]=='propal_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendProposal"); }
elseif ($this->param["models"]=='order_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrder"); }
elseif ($this->param["models"]=='order_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierOrder"); }
elseif ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierInvoice"); }
elseif ($this->param["models"]=='shipping_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendShipping"); }
elseif ($this->param["models"]=='fichinter_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendFichInter"); }
elseif ($this->param["models"]=='thirdparty') { $defaultmessage=$langs->transnoentities("PredefinedMailContentThirdparty"); }
if ($this->param["models"]=='facture_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendInvoice"); }
elseif ($this->param["models"]=='facture_relance') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendInvoiceReminder"); }
elseif ($this->param["models"]=='propal_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendProposal"); }
elseif ($this->param["models"]=='order_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendOrder"); }
elseif ($this->param["models"]=='order_supplier_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendSupplierOrder"); }
elseif ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendSupplierInvoice"); }
elseif ($this->param["models"]=='shipping_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendShipping"); }
elseif ($this->param["models"]=='fichinter_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendFichInter"); }
elseif ($this->param["models"]=='thirdparty') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentThirdparty"); }
elseif (! is_numeric($this->withbody)) { $defaultmessage=$this->withbody; }
// Complete substitution array

View File

@ -0,0 +1,84 @@
<?php
/* Copyright (C) 2014 Florian Henry florian.henry@open-concept.pro
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/class/html.formmailing.class.php
* \ingroup core
* \brief File of predefined functions for HTML forms for mailing module
*/
require_once DOL_DOCUMENT_ROOT .'/core/class/html.form.class.php';
/**
* Class to offer components to list and upload files
*/
class FormMailing extends Form
{
public $db;
public $error;
public $errors=array();
/**
* Constructor
*
* @param DoliDB $db Database handler
*/
function __construct($db)
{
$this->db = $db;
return 1;
}
/**
* Output a select with destinaries status
*
* @param string $selectedid the selected id
* @param string $htmlname name of controm
* @param number $show_empty show empty option
* @return string HTML select
*/
public function selectDestinariesStatus($selectedid='',$htmlname='dest_status', $show_empty=0) {
global $langs;
$langs->load("mails");
require_once DOL_DOCUMENT_ROOT.'/comm/mailing/class/mailing.class.php';
$mailing = new Mailing($this->db);
$array = $mailing->statut_dest;
//Cannot use form->selectarray because empty value is defaulted to -1 in this method and we use here status -1...
$out = '<select name="'.$htmlname.'" class="flat">';
if ($show_empty) {
$out .= '<option value=""></option>';
}
foreach($mailing->statut_dest as $id=>$status) {
if ($selectedid==$id) {
$selected=" selected=selected ";
}else {
$selected="";
}
$out .= '<option '.$selected.' value="'.$id.'">'.$langs->trans($status).'</option>';
}
$out .= '</select>';
return $out;
}
}

View File

@ -41,23 +41,26 @@
* @param int $socid Third party id
* @param array $showextcals Array with list of external calendars (used to show links to select calendar), or -1 to show no legend
* @param string $actioncode Preselected value of actioncode for filter on type
* @param int $usergroupid Id of group to filter on users
* @return void
*/
function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $showextcals=array(), $actioncode='') {
global $conf, $user, $langs, $db;
function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $showextcals=array(), $actioncode='', $usergroupid='')
{
global $conf, $user, $langs, $db, $hookmanager;
// Filters
print '<form name="listactionsfilter" class="listactionsfilter" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
print '<input type="hidden" name="status" value="' . $status . '">';
print '<input type="hidden" name="year" value="' . $year . '">';
print '<input type="hidden" name="month" value="' . $month . '">';
print '<input type="hidden" name="day" value="' . $day . '">';
print '<input type="hidden" name="action" value="' . $action . '">';
print '<input type="hidden" name="showbirthday" value="' . $showbirthday . '">';
print '<table class="nobordernopadding" width="100%">';
print '<tr><td class="nowrap">';
print '<div class="fichecenter">';
if (! empty($conf->browser->phone)) print '<div class="fichehalfleft">';
else print '<table class="nobordernopadding" width="100%"><tr><td class="nowrap">';
print '<table class="nobordernopadding">';
@ -65,17 +68,19 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
{
print '<tr>';
print '<td class="nowrap">';
print $langs->trans("ActionsAskedBy");
print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">';
print $form->select_dolusers($filtera, 'userasked', 1, '', ! $canedit);
print '</td>';
print '</tr>';
print '<tr>';
print '<td class="nowrap">';
print $langs->trans("or") . ' ' . $langs->trans("ActionsToDoBy");
print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">';
//print $langs->trans("ActionsAskedBy");
//print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">';
//print $form->select_dolusers($filtera, 'userasked', 1, '', ! $canedit);
//print ' &nbsp; '.$langs->trans("or") . ' ';
print $langs->trans("ActionsForUser").' &nbsp; ';
print '</td><td class="nowrap maxwidthonsmartphone">';
//print ' &nbsp;';
print $form->select_dolusers($filtert, 'usertodo', 1, '', ! $canedit);
print ajax_combobox('usertodo');
print ' &nbsp; '.$langs->trans("or") . ' ';
print $langs->trans("ActionsForUsersGroup").' &nbsp; ';
print $form->select_dolgroups($usergroupid, 'usergroup', 1, '', ! $canedit);
print ajax_combobox('usergroup');
print '</td></tr>';
/*print '<tr>';
@ -87,13 +92,29 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php';
$formactions=new FormActions($db);
print '<tr>';
print '<td class="nowrap">';
print $langs->trans("Type");
print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">';
print $formactions->select_type_actions($actioncode, "actioncode", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0));
print '</td></tr>';
print '<tr>';
print '<td class="nowrap">';
print $langs->trans("Status");
print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone">';
$formactions->form_select_status_action('formaction',$status,1,'complete',1,2);
print '</td></tr>';
}
if (! empty($conf->societe->enabled) && $user->rights->societe->lire)
{
print '<tr>';
print '<td class="nowrap">';
print $langs->trans("ThirdParty").' &nbsp; ';
print '</td><td class="nowrap maxwidthonsmartphone">';
print $form->select_thirdparty($socid, 'socid');
print '</td></tr>';
}
@ -110,62 +131,31 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
print '</td></tr>';
}
print '</table>';
print '</td>';
// Buttons
print '<td align="center" valign="middle" class="nowrap">';
print img_picto($langs->trans("ViewCal"), 'object_calendar', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewcal" value="' . $langs->trans("ViewCal") . '">';
print '<br>';
print img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewweek" value="' . $langs->trans("ViewWeek") . '">';
print '<br>';
print img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewday" value="' . $langs->trans("ViewDay") . '">';
print '<br>';
print img_picto($langs->trans("ViewList"), 'object_list', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewlist" value="' . $langs->trans("ViewList") . '">';
print '</td>';
// Legend
if ($conf->use_javascript_ajax && is_array($showextcals))
{
print '<td align="center" valign="middle" class="nowrap">';
print '<script type="text/javascript">' . "\n";
print 'jQuery(document).ready(function () {' . "\n";
print 'jQuery("#check_mytasks").click(function() { jQuery(".family_mytasks").toggle(); jQuery(".family_other").toggle(); });' . "\n";
print 'jQuery("#check_birthday").click(function() { jQuery(".family_birthday").toggle(); });' . "\n";
print 'jQuery(".family_birthday").toggle();' . "\n";
print '});' . "\n";
print '</script>' . "\n";
print '<table>';
if (! empty($conf->use_javascript_ajax))
{
if (count($showextcals) > 0)
{
print '<tr><td><input type="checkbox" id="check_mytasks" name="check_mytasks" checked="true" disabled="disabled"> ' . $langs->trans("LocalAgenda") . '</td></tr>';
foreach ($showextcals as $val)
{
$htmlname = dol_string_nospecial($val['name']);
print '<tr><td>';
print '<script type="text/javascript">' . "\n";
print 'jQuery(document).ready(function () {' . "\n";
print ' jQuery("#check_' . $htmlname . '").click(function() {';
print ' /* alert("'.$htmlname.'"); */';
print ' jQuery(".family_' . $htmlname . '").toggle();';
print ' });' . "\n";
print '});' . "\n";
print '</script>' . "\n";
print '<input type="checkbox" id="check_' . $htmlname . '" name="check_' . $htmlname . '" checked="true"> ' . $val ['name'];
print '</td></tr>';
}
}
}
print '<tr><td>'.$langs->trans("AgendaShowBirthdayEvents").' <input type="checkbox" id="check_birthday" name="check_birthday"></td></tr>';
print '</table>';
print '</td>';
}
print '</tr>';
// Hooks
$parameters = array('canedit'=>$canedit, 'pid'=>$pid, 'socid'=>$socid);
$reshook = $hookmanager->executeHooks('searchAgendaFrom', $parameters, $object, $action); // Note that $action and $object may have been
print '</table>';
if (! empty($conf->browser->phone)) print '</div>';
else print '</td>';
if (! empty($conf->browser->phone)) print '<div class="fichehalfright" valign="middle">';
else print '<td align="center" valign="middle" class="nowrap">';
print '<table><tr><td align="center">';
print '<div class="formleftzone">';
print '<input type="submit" class="button" style="min-width:120px" name="refresh" value="' . $langs->trans("Refresh") . '">';
print '</div>';
print '</td></tr>';
print '</table>';
if (! empty($conf->browser->phone)) print '</div>';
else print '</td></tr></table>';
print '</div>'; // Close fichecenter
print '<div style="clear:both"></div>';
print '</form>';
}
@ -459,9 +449,31 @@ function calendars_prepare_head($param)
$h = 0;
$head = array();
$head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php'.($param?'?'.$param:'');
$head[$h][1] = $langs->trans("Agenda");
$head[$h][2] = 'card';
$head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php?action=show_month'.($param?'&'.$param:'');
$head[$h][1] = $langs->trans("ViewCal");
$head[$h][2] = 'cardmonth';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php?action=show_week'.($param?'&'.$param:'');
$head[$h][1] = $langs->trans("ViewWeek");
$head[$h][2] = 'cardweek';
$h++;
//$paramday=$param;
//if (preg_match('/&month=\d+/',$paramday) && ! preg_match('/&day=\d+/',$paramday)) $paramday.='&day=1';
$head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php?action=show_day'.($param?'&'.$param:'');
$head[$h][1] = $langs->trans("ViewDay");
$head[$h][2] = 'cardday';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/comm/action/listactions.php'.($param?'?'.$param:'');
$head[$h][1] = $langs->trans("ViewList");
$head[$h][2] = 'cardlist';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/comm/action/peruser.php'.($param?'?'.$param:'');
$head[$h][1] = $langs->trans("ViewPerUser");
$head[$h][2] = 'cardperuser';
$h++;
$object=new stdClass();

View File

@ -109,6 +109,7 @@ abstract class ModeleNumRefBarCode
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}

View File

@ -142,6 +142,7 @@ abstract class ModeleNumRefCommandes
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -138,6 +138,7 @@ class ModelNumRefContracts
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -2,7 +2,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>__DonationReceipt__</title>
<title>__DonationTitle__</title>
</head>
<body topmargin="10" marginheight="10" marginwidth="10">
@ -11,10 +11,10 @@
<table width="100%" border="0" cellspacing="0" cellpadding="1" bgcolor="#ffffff">
<tr>
<td width="15%" class="nowrap" valign="middle">Cerfa No 11580 01</td>
<td width="15%" class="nowrap" valign="middle">Cerfa N° 11580*03</td>
<td class="nowrap" align="center" valign="middle">
<font size="+2">__DonationReceipt__</font><br>
<font size="+2"><b>__DonationReceipt__</b></font><br>
__FrenchArticle__
</td>
@ -25,7 +25,6 @@
<td class="nowrap">
<table border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="40" class="nowrap">No:</td>
<td align="center">__REF__ </td>
</tr>
</table>
@ -37,9 +36,6 @@
</tr>
</table>
<br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="1" bgcolor="#000000">
<tr>
<td valign="bottom">
@ -74,6 +70,10 @@
</td>
</tr>
</table>
<br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="1" bgcolor="#000000">
<tr>
<td valign="bottom">
@ -93,25 +93,29 @@
<table width="100%" border="0" cellspacing="0" cellpadding="1" bgcolor="#000000">
<tr>
<td valign="bottom">
<table width="100%" border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="3">
<tr>
<td>
<b>__Name__ :</b><br>
__DONATOR_FIRSTNAME__ __DONATOR_LASTNAME__<br>
<b>__Address__ :</b><br>
__DONATOR_ADDRESS__<br>
<b>__Zip__ :</b> __DONATOR_ZIP__<br>
<b>__Town__ :</b> __DONATOR_TOWN__<br>
</td>
</tr>
</table>
</td>
<table width="100%" border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="3">
<tr>
<td>
<b>__Name__ :</b><br>
__DONATOR_FIRSTNAME__ __DONATOR_LASTNAME__<br>
<b>__Address__ :</b><br>
__DONATOR_ADDRESS__<br>
<b>__Zip__ :</b> __DONATOR_ZIP__<br>
<b>__Town__ :</b> __DONATOR_TOWN__<br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="1" bgcolor="#000000">
<tr>
<td valign="bottom">
<table width="100%" border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="3">
<tr>
<td>
@ -119,20 +123,31 @@
<table width="100%">
<tr align="center">
<td>
__AMOUNT__ __CURRENCY__
<font size="+1">
<b>__AMOUNT__ __CURRENCY__<b/>
</font>
</td>
</tr>
</table>
<b>__DatePayment__</b> : __DATE__ <br>
<b>__DonationDatePayment__</b> : __DATE__ <br>
<b>__PaymentMode__</b> : __PAYMENTMODE_LIB__ <br>
<table width="100%">
<table width="100%" border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="3">
<tr>
<td valign="top">
<br>
<b>__Message__ :</b>
__DonationMessage__<br>
</td>
</tr>
</table>
<table width="100%">
<tr align="center">
<td valign="top">
<br><br>
__ThankYou__
<td align="left">
__FrenchEligibility__<br>
__ARTICLE200__ __ARTICLE238__ __ARTICLE885__
</td>
<td align="right">
@ -142,8 +157,8 @@
<table border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="3">
<tr>
<td width="160" height="100" valign="top">
<center>__Date__ __Signature__</center>
__NOW__
<center>__Date__ & __Signature__</center>
<center>__NOW__</center>
</td>
</tr>
</table>

View File

@ -3,6 +3,7 @@
* Copyright (C) 2005-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -19,9 +20,9 @@
*/
/**
* \file htdocs/core/modules/dons/html_cerfafr.modules.php
* \ingroup don
* \brief Formulaire de don
* \file htdocs/core/modules/dons/html_cerfafr.modules.php
* \ingroup don
* \brief Form of donation
*/
require_once DOL_DOCUMENT_ROOT.'/core/modules/dons/modules_don.php';
require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php';
@ -44,9 +45,9 @@ class html_cerfafr extends ModeleDon
$this->db = $db;
$this->name = "cerfafr";
$this->description = $langs->trans('DonationsReceiptModel');
$this->description = $langs->trans('DonationsReceiptModel').' - fr_FR - Cerfa 11580*03';
// Dimension page pour format A4
// Dimension page for size A4
$this->type = 'html';
}
@ -87,7 +88,7 @@ class html_cerfafr extends ModeleDon
if (! empty($conf->don->dir_output))
{
// Definition de l'objet $don (pour compatibilite ascendante)
// Definition of the object don (for upward compatibility)
if (! is_object($don))
{
$don = new Don($this->db);
@ -95,7 +96,7 @@ class html_cerfafr extends ModeleDon
$id=$don->id;
}
// Definition de $dir et $file
// Definition of $dir and $file
if (! empty($don->specimen))
{
$dir = $conf->don->dir_output;
@ -121,8 +122,8 @@ class html_cerfafr extends ModeleDon
{
$formclass = new Form($this->db);
//This is not the proper way to do it but $formclass->form_modes_reglement
//prints the translation instead of returning it
// This is not the proper way to do it but $formclass->form_modes_reglement
// prints the translation instead of returning it
if ($don->modepaiementid)
{
$formclass->load_cache_types_paiements();
@ -130,7 +131,7 @@ class html_cerfafr extends ModeleDon
}
else $paymentmode = '';
// Defini contenu
// Define contents
$donmodel=DOL_DOCUMENT_ROOT ."/core/modules/dons/html_cerfafr.html";
$form = implode('', file($donmodel));
$form = str_replace('__REF__',$don->id,$form);
@ -143,32 +144,79 @@ class html_cerfafr extends ModeleDon
$form = str_replace('__MAIN_INFO_SOCIETE_ADDRESS__',$mysoc->address,$form);
$form = str_replace('__MAIN_INFO_SOCIETE_ZIP__',$mysoc->zip,$form);
$form = str_replace('__MAIN_INFO_SOCIETE_TOWN__',$mysoc->town,$form);
$form = str_replace('__DONATOR_FIRSTNAME__',$don->firstname,$form);
$form = str_replace('__DONATOR_FIRSTNAME__',$don->firstname,$form);
$form = str_replace('__DONATOR_LASTNAME__',$don->lastname,$form);
$form = str_replace('__DONATOR_ADDRESS__',$don->address,$form);
$form = str_replace('__DONATOR_ZIP__',$don->zip,$form);
$form = str_replace('__DONATOR_TOWN__',$don->town,$form);
$form = str_replace('__PAYMENTMODE_LIB__ ', $paymentmode,$form);
$form = str_replace('__NOW__',dol_print_date($now,'',false,$outputlangs),$form);
$form = str_replace('__NOW__',dol_print_date($now,'day',false,$outputlangs),$form);
$form = str_replace('__DonationRef__',$outputlangs->trans("DonationRef"),$form);
$form = str_replace('__DonationTitle__',$outputlangs->trans("DonationTitle"),$form);
$form = str_replace('__DonationReceipt__',$outputlangs->trans("DonationReceipt"),$form);
$form = str_replace('__DonationRecipient__',$outputlangs->trans("DonationRecipient"),$form);
$form = str_replace('__DatePayment__',$outputlangs->trans("DatePayment"),$form);
$form = str_replace('__PaymentMode__',$outputlangs->trans("PaymentMode"),$form);
$form = str_replace('__DonationDatePayment__',$outputlangs->trans("DonationDatePayment"),$form);
$form = str_replace('__PaymentMode__',$outputlangs->trans("PaymentMode"),$form);
$form = str_replace('__Name__',$outputlangs->trans("Name"),$form);
$form = str_replace('__Address__',$outputlangs->trans("Address"),$form);
$form = str_replace('__Zip__',$outputlangs->trans("Zip"),$form);
$form = str_replace('__Town__',$outputlangs->trans("Town"),$form);
$form = str_replace('__Object__',$outputlangs->trans("Object"),$form);
$form = str_replace('__Donor__',$outputlangs->trans("Donor"),$form);
$form = str_replace('__Date__',$outputlangs->trans("Date"),$form);
$form = str_replace('__Signature__',$outputlangs->trans("Signature"),$form);
$form = str_replace('__ThankYou__',$outputlangs->trans("ThankYou"),$form);
$form = str_replace('__Message__',$outputlangs->trans("Message"),$form);
$form = str_replace('__IConfirmDonationReception__',$outputlangs->trans("IConfirmDonationReception"),$form);
$frencharticle='';
if (preg_match('/fr/i',$outputlangs->defaultlang)) $frencharticle='<font size="+1"><b>(Article 200-5 du Code Général des Impôts)</b></font><br>+ article 238 bis';
$form = str_replace('__DonationMessage__',$conf->global->DONATION_MESSAGE,$form);
$frencharticle='';
if (preg_match('/fr/i',$outputlangs->defaultlang)) $frencharticle='<font size="+1">Article 200, 238 bis et 885-0 V bis A du code général des impôts (CGI)</font>';
$form = str_replace('__FrenchArticle__',$frencharticle,$form);
$frencheligibility='';
if (preg_match('/fr/i',$outputlangs->defaultlang)) $frencheligibility='Le bénéficiaire certifie sur l\'honneur que les dons et versements qu\'il reçoit ouvrent droit à la réduction d\'impôt prévue à l\'article :';
$form = str_replace('__FrenchEligibility__',$frencheligibility,$form);
$art200='';
if (preg_match('/fr/i',$outputlangs->defaultlang)) {
if ($conf->global->DONATION_ART200 >= 1)
{
$art200='<input type="checkbox" checked="checked">200 du CGI';
}
else
{
$art200='<input type="checkbox">200 du CGI';
}
}
$form = str_replace('__ARTICLE200__',$art200,$form);
// Sauve fichier sur disque
$art238='';
if (preg_match('/fr/i',$outputlangs->defaultlang)) {
if ($conf->global->DONATION_ART238 >= 1)
{
$art238='<input type="checkbox" checked="checked">238 bis du CGI';
}
else
{
$art238='<input type="checkbox">238 bis du CGI';
}
}
$form = str_replace('__ARTICLE238__',$art238,$form);
$art885='';
if (preg_match('/fr/i',$outputlangs->defaultlang)) {
if ($conf->global->DONATION_ART885 >= 1)
{
$art885='<input type="checkbox" checked="checked">885-0 V bis du CGI';
}
else
{
$art885='<input type="checkbox">885-0 V bis du CGI';
}
}
$form = str_replace('__ARTICLE885__',$art885,$form);
// Save file on disk
dol_syslog("html_cerfafr::write_file $file");
$handle=fopen($file,"w");
fwrite($handle,$form);
@ -190,7 +238,7 @@ class html_cerfafr extends ModeleDon
return 0;
}
$this->error=$langs->trans("ErrorUnknown");
return 0; // Erreur par defaut
return 0; // Error by default
}
}

View File

@ -134,6 +134,7 @@ abstract class ModeleNumRefDons
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -136,6 +136,7 @@ abstract class ModelNumRefExpedition
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -137,6 +137,7 @@ abstract class ModeleNumRefFactures
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -136,6 +136,7 @@ abstract class ModeleNumRefFicheinter
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -139,6 +139,7 @@ abstract class ModeleNumRefDeliveryOrder
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -144,12 +144,12 @@ class mailing_pomme extends MailingTargets
{
global $conf, $langs;
$langs->load("companies");
$cibles = array();
// La requete doit retourner: id, email, fk_contact, lastname, firstname
$sql = "SELECT u.rowid as id, u.email as email, null as fk_contact,";
$sql.= " u.lastname as lastname, u.firstname as firstname, u.civilite as civility_id, u.login, u.office_phone";
$sql.= " u.lastname, u.firstname as firstname, u.civilite as civility_id, u.login, u.office_phone";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
$sql.= " WHERE u.email <> ''"; // u.email IS NOT NULL est implicite dans ce test
$sql.= " AND u.entity IN (0,".$conf->entity.")";

View File

@ -1,7 +1,8 @@
<?php
/* Copyright (C) 2003,2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -19,17 +20,17 @@
/**
* \defgroup don Module donation
* \brief Module pour gerer le suivi des dons
* \brief Module to manage the follow-up of the donations
* \file htdocs/core/modules/modDon.class.php
* \ingroup don
* \brief Fichier de description et activation du module Don
* \brief Description and activation file for module Donation
*/
include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';
/**
* Classe de description et activation du module Don
* Class to describe and enable module Donation
*/
class modDon extends DolibarrModules
{
@ -66,15 +67,43 @@ class modDon extends DolibarrModules
$this->config_page_url = array("dons.php");
// Constants
$this->const = array();
$r=0;
$this->const = array ();
$this->const[$r][0] = "DON_ADDON_MODEL";
$this->const[$r][1] = "chaine";
$this->const[$r][2] = "html_cerfafr";
$this->const[$r][3] = 'Nom du gestionnaire de generation de recu de dons';
$this->const[$r][4] = 0;
$r++;
$this->const[0] = array (
"DON_ADDON_MODEL",
"chaine",
"html_cerfafr",
"Nom du gestionnaire de generation de recu de dons",
"0"
);
$this->const[1] = array (
"DONATION_ART200",
"yesno",
"0",
"Option Française - Eligibilité Art200 du CGI",
"0"
);
$this->const[2] = array (
"DONATION_ART238",
"yesno",
"0",
"Option Française - Eligibilité Art238 bis du CGI",
"0"
);
$this->const[3] = array (
"DONATION_ART885",
"yesno",
"0",
"Option Française - Eligibilité Art885-0 V bis du CGI",
"0"
);
$this->const[4] = array (
"DONATION_MESSAGE",
"chaine",
"Thank you",
"Message affiché sur le récépissé de versements ou dons",
"0"
);
// Boxes
$this->boxes = array();

View File

@ -5,6 +5,7 @@
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Charles-Fr BENKE <charles.fr@benke.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -116,6 +117,11 @@ class modProjet extends DolibarrModules
// Boxes
$this->boxes = array();
$r=0;
$this->boxes[$r][1] = "box_project.php";
$r++;
$this->boxes[$r][1] = "box_task.php";
$r++;
// Permissions
$this->rights = array();

View File

@ -320,9 +320,9 @@ 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.poste'=>'PostOrFunction','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'d.nom'=>'State','p.libelle'=>"Country",'p.code'=>"CountryCode",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.phone_mobile'=>"Mobile",'c.email'=>"EMail",'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.lastname'=>'Text','c.firstname'=>'Text','c.poste'=>'Text','c.datec'=>"Date",'c.priv'=>"Boolean",'c.address'=>"Text",'c.cp'=>"Text",'c.ville'=>"Text",'d.nom'=>'Text','p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'c.phone'=>"Text",'c.fax'=>"Text",'c.email'=>"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
$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",'d.nom'=>'State','p.libelle'=>"Country",'p.code'=>"CountryCode",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.phone_mobile'=>"Mobile",'c.email'=>"EMail",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode", 's.client'=>'Customer 0 (no customer no prospect)/1 (customer)/2 (prospect)/3 (customer and prospect)','s.fournisseur'=>'Supplier 0 or 1');
$this->export_TypeFields_array[$r]=array('c.civilite'=>"List:c_civilite:civilite:code",'c.lastname'=>'Text','c.firstname'=>'Text','c.poste'=>'Text','c.datec'=>"Date",'c.priv'=>"Boolean",'c.address'=>"Text",'c.cp'=>"Text",'c.ville'=>"Text",'d.nom'=>'Text','p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'c.phone'=>"Text",'c.fax'=>"Text",'c.email'=>"Text",'s.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Status",'s.client'=>"Text",'s.fournisseur'=>"Text");
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>"company",'s.code_client'=>"company",'s.code_fournisseur'=>"company", 's.client'=>"company", 's.fournisseur'=>"company"); // We define here only fields that use another picto
if (empty($conf->fournisseur->enabled))
{
unset($this->export_fields_array[$r]['s.code_fournisseur']);

View File

@ -97,6 +97,7 @@ abstract class ModeleProductCode
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}

View File

@ -134,6 +134,7 @@ abstract class ModeleNumRefProjects
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -138,6 +138,7 @@ abstract class ModeleNumRefPropales
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -134,6 +134,7 @@ abstract class ModeleThirdPartyCode
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
@ -303,6 +304,7 @@ abstract class ModeleAccountancyCode
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}

View File

@ -127,6 +127,7 @@ abstract class ModeleNumRefSuppliersInvoices
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -132,6 +132,7 @@ abstract class ModeleNumRefSuppliersOrders
if ($this->version == 'development') return $langs->trans("VersionDevelopment");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
if ($this->version == 'dolibarr') return DOL_VERSION;
if ($this->version) return $this->version;
return $langs->trans("NotAvailable");
}
}

View File

@ -123,7 +123,7 @@
if (! empty($conf->margin->enabled) && empty($user->societe_id)) {
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
?>
<td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo price($line->pa_ht); ?></td>
<td align="right" class="nowrap"><?php $coldisplay++; ?><div class="margininfos"><?php echo price($line->pa_ht); ?></div></td>
<?php if (! empty($conf->global->DISPLAY_MARGIN_RATES) && $user->rights->margins->liretous) {?>
<td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo (($line->pa_ht == 0)?'n/a':price($line->marge_tx, null, null, null, null, $rounding).'%'); ?></td>
<?php

View File

@ -257,10 +257,30 @@ class InterfaceDemo
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_CLONE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_VALIDATE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_DELETE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_APPROVE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_REFUSE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_CANCEL')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_SENTBYMAIL')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
@ -396,6 +416,10 @@ class InterfaceDemo
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'BILL_DELETE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'BILL_PAYED')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
@ -411,6 +435,28 @@ class InterfaceDemo
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
//Supplier Bill
elseif ($action == 'BILL_SUPPLIER_CREATE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'BILL_SUPPLIER_DELETE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'BILL_SUPPLIER_PAYED')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'BILL_SUPPLIER_UNPAYED')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'BILL_SUPPLIER_VALIDATE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'LINEBILL_SUPPLIER_CREATE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
@ -423,7 +469,7 @@ class InterfaceDemo
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
// Payments
elseif ($action == 'PAYMENT_CUSTOMER_CREATE')
{

View File

@ -1573,15 +1573,18 @@ else if ($id || $ref)
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$fileparams = dol_most_recent_file($conf->expedition->dir_output . '/sending/' . $ref, preg_quote($ref,'/'));
$file=$fileparams['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file))
{
// Define output language
$outputlangs = $langs;
$newlang='';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
if (! empty($newlang))
{
$outputlangs = new Translate("",$conf);
@ -1604,6 +1607,7 @@ else if ($id || $ref)
// Cree l'objet formulaire mail
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -701,7 +701,7 @@ if ($action == 'send' && ! GETPOST('cancel','alpha') && (empty($conf->global->MA
$filename = $attachedfiles['names'];
$mimetype = $attachedfiles['mimes'];
// Envoi de la propal
// Send by email
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
$mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,'',$deliveryreceipt,-1);
if ($mailfile->error)
@ -1301,7 +1301,7 @@ else if ($id > 0 || ! empty($ref))
}
}
print "</table><br>";
print "</table>";
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
{
@ -1318,7 +1318,6 @@ else if ($id > 0 || ! empty($ref))
}
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" name="addinter" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="id" value="'.$object->id.'">';
@ -1347,6 +1346,7 @@ else if ($id > 0 || ! empty($ref))
if ($num)
{
print '<br>';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@ -1451,7 +1451,7 @@ else if ($id > 0 || ! empty($ref))
$db->free($resql);
// Add new line
if ($object->statut == 0 && $user->rights->ficheinter->creer && $action <> 'editline')
if ($object->statut == 0 && $user->rights->ficheinter->creer && $action <> 'editline' && empty($conf->global->FICHINTER_DISABLE_DETAILS))
{
if (! $num) print '<br><table class="noborder" width="100%">';
@ -1520,7 +1520,7 @@ else if ($id > 0 || ! empty($ref))
if ($action != 'editdescription' && ($action != 'presend'))
{
// Validate
if ($object->statut == 0 && $user->rights->ficheinter->creer && count($object->lines) > 0)
if ($object->statut == 0 && $user->rights->ficheinter->creer && (count($object->lines) > 0 || ! empty($conf->global->FICHINTER_DISABLE_DETAILS)))
{
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?id='.$object->id.'&action=validate"';
print '>'.$langs->trans("Valid").'</a></div>';
@ -1543,6 +1543,17 @@ else if ($id > 0 || ! empty($ref))
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">'.$langs->trans('SendByMail').'</a></div>';
}
// Proposal
if (! empty($conf->propal->enabled) && $object->statut > 0)
{
$langs->load("propal");
if ($object->statut < 2)
{
if ($user->rights->propal->creer) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/comm/propal.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->socid.'">'.$langs->trans("AddProp").'</a></div>';
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("AddProp").'</a></div>';
}
}
// Invoicing
if (! empty($conf->facture->enabled) && $object->statut > 0)
{
@ -1582,7 +1593,7 @@ else if ($id > 0 || ! empty($ref))
/*
* Built documents
*/
*/
$filename=dol_sanitizeFileName($object->ref);
$filedir=$conf->ficheinter->dir_output . "/".$object->ref;
$urlsource=$_SERVER["PHP_SELF"]."?id=".$object->id;
@ -1616,7 +1627,7 @@ else if ($id > 0 || ! empty($ref))
/*
* Action presend
*/
*/
if ($action == 'presend')
{
$ref = dol_sanitizeFileName($object->ref);
@ -1624,14 +1635,17 @@ else if ($id > 0 || ! empty($ref))
$fileparams = dol_most_recent_file($conf->ficheinter->dir_output . '/' . $ref, preg_quote($ref,'/'));
$file=$fileparams['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file))
{
// Define output language
$outputlangs = $langs;
$newlang='';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
if (! empty($newlang))
{
$outputlangs = new Translate("",$conf);
@ -1654,6 +1668,7 @@ else if ($id > 0 || ! empty($ref))
// Create form object
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -29,7 +29,7 @@
* \brief File that include conf.php file and commons lib like functions.lib.php
*/
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.6.0-beta');
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.7.0-alpha');
if (! defined('EURO')) define('EURO',chr(128));
// Define syslog constants

View File

@ -393,7 +393,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ORDER_SUPPLIER_VALIDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -404,9 +410,9 @@ class CommandeFournisseur extends CommonOrder
}
else
{
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
$this->db->rollback();
$this->error=$this->db->lasterror();
return -1;
}
}
@ -666,7 +672,6 @@ class CommandeFournisseur extends CommonOrder
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
return -1;
}
}
@ -701,6 +706,8 @@ class CommandeFournisseur extends CommonOrder
$result = 0;
if ($user->rights->fournisseur->commande->approuver)
{
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = 9";
$sql .= " WHERE rowid = ".$this->id;
@ -715,12 +722,19 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ORDER_SUPPLIER_REFUSE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
}
// Fin appel triggers
}
}
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::refuse Error -1");
$result = -1;
}
@ -777,7 +791,6 @@ class CommandeFournisseur extends CommonOrder
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
return -1;
}
}
@ -961,7 +974,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1212,7 +1231,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1280,7 +1305,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_SUPPLIER_DISPATCH',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1310,6 +1341,7 @@ class CommandeFournisseur extends CommonOrder
}
}
//TODO: Check if there is a current transaction in DB but seems not.
if ($error == 0)
{
$this->db->commit();
@ -1333,18 +1365,15 @@ class CommandeFournisseur extends CommonOrder
*
* @param int $idline Id of line to delete
* @param int $notrigger 1=Disable call to triggers
* @return 0 if Ok, <0 ik Ko
* @return >=0 if OK, <0 if KO
*/
function deleteline($idline, $notrigger=0)
{
if ($this->statut == 0)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idline;
$resql=$this->db->query($sql);
$this->db->begin();
dol_syslog(get_class($this)."::deleteline sql=".$sql);
if (!$notrigger && $resql)
if (! $notrigger)
{
// Appel des triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
@ -1357,14 +1386,29 @@ class CommandeFournisseur extends CommonOrder
// Fin appel triggers
}
if ($resql)
if (! $error)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idline;
$resql=$this->db->query($sql);
dol_syslog(get_class($this)."::deleteline sql=".$sql);
if (! $resql)
{
$this->error=$this->db->lasterror();
$error++;
}
}
if (! $error)
{
$result=$this->update_price();
$this->db->commit();
return 0;
}
else
{
$this->error=$this->db->error();
{
$this->db->rollback();
return -1;
}
}
@ -1402,11 +1446,13 @@ class CommandeFournisseur extends CommonOrder
{
if ($this->db->affected_rows($resql) < 1)
{
$this->error=$this->db->lasterror();
$error++;
}
}
else
{
$this->error=$this->db->lasterror();
$error++;
}
@ -1469,7 +1515,6 @@ class CommandeFournisseur extends CommonOrder
}
else
{
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
$this->db->rollback();
return -$error;
@ -1670,7 +1715,7 @@ class CommandeFournisseur extends CommonOrder
$resql = $this->db->query($sql);
if ($resql)
{
//TODO: Add trigger for status modification
}
else
{
@ -1794,7 +1839,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_SUPPLIER_UPDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1917,7 +1968,7 @@ class CommandeFournisseur extends CommonOrder
$this->nbtodo=$this->nbtodolate=0;
$clause = " WHERE";
$sql = "SELECT c.rowid, c.date_creation as datec, c.fk_statut";
$sql = "SELECT c.rowid, c.date_creation as datec, c.fk_statut,c.date_livraison as delivery_date";
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as c";
if (!$user->rights->societe->client->voir && !$user->societe_id)
{
@ -1935,7 +1986,9 @@ class CommandeFournisseur extends CommonOrder
while ($obj=$this->db->fetch_object($resql))
{
$this->nbtodo++;
if ($obj->fk_statut != 3 && $this->db->jdate($obj->datec) < ($now - $conf->commande->fournisseur->warning_delay)) $this->nbtodolate++;
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->fournisseur->warning_delay)) $this->nbtodolate++;
}
return 1;
}

View File

@ -676,7 +676,10 @@ class FactureFournisseur extends CommonInvoice
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('BILL_SUPPLIER_DELETE',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1129,7 +1132,13 @@ class FactureFournisseur extends CommonInvoice
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEBILL_SUPPLIER_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1219,6 +1228,8 @@ class FactureFournisseur extends CommonInvoice
$product_type = $type;
}
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn_det SET";
$sql.= " description ='".$this->db->escape($desc)."'";
$sql.= ", pu_ht = ".price2num($pu_ht);
@ -1254,17 +1265,26 @@ class FactureFournisseur extends CommonInvoice
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEBILL_SUPPLIER_UPDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
// Update total price into invoice record
$result=$this->update_price('','auto');
$this->db->commit();
return $result;
}
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::updateline error=".$this->error, LOG_ERR);
return -1;

View File

@ -485,7 +485,7 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fourn
setEventMessage($object->error, 'errors');
}
// If we have permission, and if we don't need to provide th idwarehouse, we go directly on approved step
// If we have permission, and if we don't need to provide the idwarehouse, we go directly on approved step
if ($user->rights->fournisseur->commande->approuver && ! (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $object->hasProductsOrServices(1)))
{
$action='confirm_approve';
@ -496,8 +496,18 @@ else if ($action == 'confirm_approve' && $confirm == 'yes' && $user->rights->fou
{
$idwarehouse=GETPOST('idwarehouse', 'int');
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $object->hasProductsOrServices(1))
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $qualified_for_stock_change)
{
if (! $idwarehouse || $idwarehouse == -1)
{
@ -929,7 +939,7 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
if ($error)
{
dol_print_error($db);
setEventMessage($object->error, 'errors');
}
else
{
@ -1055,6 +1065,7 @@ if ($action=="create")
print_fiche_titre($langs->trans('NewOrder'));
dol_htmloutput_mesg($mesg);
dol_htmloutput_events();
$societe='';
if ($socid>0)
@ -1205,8 +1216,18 @@ elseif (! empty($object->id))
*/
if ($action == 'approve')
{
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
$formquestion=array();
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $object->hasProductsOrServices(1))
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $qualified_for_stock_change)
{
$langs->load("stocks");
require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
@ -1968,14 +1989,17 @@ elseif (! empty($object->id))
$fileparams = dol_most_recent_file($conf->fournisseur->commande->dir_output . '/' . $ref, preg_quote($ref,'/'));
$file=$fileparams['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file))
{
// Define output language
$outputlangs = $langs;
$newlang='';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
if (! empty($newlang))
{
$outputlangs = new Translate("",$conf);
@ -1999,6 +2023,7 @@ elseif (! empty($object->id))
// Cree l'objet formulaire mail
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -33,6 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formorder.class.php';
$langs->load("orders");
$langs->load("sendings");
$search_ref=GETPOST('search_ref');
@ -84,7 +85,7 @@ $offset = $conf->liste_limit * $page ;
*/
$sql = "SELECT s.rowid as socid, s.nom, cf.date_commande as dc,";
$sql.= " cf.rowid,cf.ref, cf.ref_supplier, cf.fk_statut, cf.total_ttc, cf.fk_user_author,";
$sql.= " cf.rowid,cf.ref, cf.ref_supplier, cf.fk_statut, cf.total_ttc, cf.fk_user_author,cf.date_livraison,";
$sql.= " u.login";
$sql.= " FROM (".MAIN_DB_PREFIX."societe as s,";
$sql.= " ".MAIN_DB_PREFIX."commande_fournisseur as cf";
@ -166,6 +167,7 @@ if ($resql)
print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"],"u.login","",$param,'',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"total_ttc","",$param,$sortfield,$sortorder);
print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"dc","",$param,'align="center"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans('DateDeliveryPlanned'),$_SERVER["PHP_SELF"],'cf.date_livraison','',$param, 'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"cf.fk_statut","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre('');
print "</tr>\n";
@ -178,6 +180,7 @@ if ($resql)
print '<td class="liste_titre"><input type="text" class="flat" name="search_user" value="'.$search_user.'"></td>';
print '<td class="liste_titre"><input type="text" class="flat" name="search_ttc" value="'.$search_ttc.'"></td>';
print '<td class="liste_titre">&nbsp;</td>';
print '<td class="liste_titre">&nbsp;</td>';
print '<td class="liste_titre" align="right">';
$formorder->selectSupplierOrderStatus($search_status,1,'search_status');
print '</td>';
@ -236,6 +239,12 @@ if ($resql)
}
print '</td>';
// Delivery date
print '<td align="right">';
print dol_print_date($db->jdate($obj->date_livraison), 'day');
print '</td>';
// Statut
print '<td align="right" colspan="2">'.$commandestatic->LibStatut($obj->fk_statut, 5).'</td>';

View File

@ -131,7 +131,7 @@ elseif ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fourni
}
// Check parameters
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $qualified_for_stock_change)
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $qualified_for_stock_change)
{
$langs->load("stocks");
if (! $idwarehouse || $idwarehouse == -1)
@ -181,6 +181,8 @@ elseif ($action == 'confirm_delete_line' && $confirm == 'yes' && $user->rights->
else
{
$mesg='<div class="error">'.$object->error.'</div>';
/* Fix bug 1485 : Reset action to avoid asking again confirmation on failure */
$action='';
}
}
@ -188,6 +190,10 @@ elseif ($action == 'confirm_paid' && $confirm == 'yes' && $user->rights->fournis
{
$object->fetch($id);
$result=$object->set_paid($user);
if ($result<0)
{
setEventMessage($object->error,'errors');
}
}
// Set supplier ref
@ -516,6 +522,10 @@ elseif ($action == 'update_line' && $user->rights->fournisseur->facture->creer)
{
unset($_POST['label']);
}
else
{
setEventMessage($object->error,'errors');
}
}
}
@ -1105,6 +1115,7 @@ if ($action == 'create')
print_fiche_titre($langs->trans('NewBill'));
dol_htmloutput_mesg($mesg);
dol_htmloutput_events();
$societe='';
if ($_GET['socid'])
@ -1508,7 +1519,17 @@ else
}*/
$formquestion=array();
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $object->hasProductsOrServices(1))
$qualified_for_stock_change=0;
if (empty($conf->global->STOCK_SUPPORTS_SERVICES))
{
$qualified_for_stock_change=$object->hasProductsOrServices(2);
}
else
{
$qualified_for_stock_change=$object->hasProductsOrServices(1);
}
if (! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $qualified_for_stock_change)
{
$langs->load("stocks");
require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
@ -2227,15 +2248,18 @@ else
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$fileparams = dol_most_recent_file($conf->fournisseur->facture->dir_output.'/'.get_exdir($object->id,2).$ref, preg_quote($ref,'/'));
$file=$fileparams['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
$newlang = $_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
$newlang = $object->client->default_lang;
// Build document if it not exists
if (! $file || ! is_readable($file))
{
// Define output language
$outputlangs = $langs;
$newlang='';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
if (! empty($newlang))
{
$outputlangs = new Translate("",$conf);
@ -2258,6 +2282,7 @@ else
// Cree l'objet formulaire mail
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
$formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang);
$formmail->fromtype = 'user';
$formmail->fromid = $user->id;
$formmail->fromname = $user->getFullName($langs);

View File

@ -61,8 +61,8 @@ if(empty($year)) {
}
$sql = "SELECT cp.rowid, cp.fk_user, cp.date_debut, cp.date_fin, cp.halfday";
$sql.= " FROM llx_holiday cp";
$sql.= " LEFT JOIN llx_user u ON cp.fk_user = u.rowid";
$sql.= " FROM " . MAIN_DB_PREFIX . "holiday cp";
$sql.= " LEFT JOIN " . MAIN_DB_PREFIX . "user u ON cp.fk_user = u.rowid";
$sql.= " WHERE cp.statut = 3"; // Approved
// TODO Use BETWEEN instead of date_format
$sql.= " AND (date_format(cp.date_debut, '%Y-%c') = '$year-$month' OR date_format(cp.date_fin, '%Y-%c') = '$year-$month')";

View File

@ -31,251 +31,503 @@
--
-- delete from llx_c_pays;
insert into llx_c_pays (rowid,code,libelle) values (0, '' , '-' );
insert into llx_c_pays (rowid,code,libelle) values (1, 'FR', 'France' );
insert into llx_c_pays (rowid,code,libelle) values (2, 'BE', 'Belgium' );
insert into llx_c_pays (rowid,code,libelle) values (3, 'IT', 'Italy' );
insert into llx_c_pays (rowid,code,libelle) values (4, 'ES', 'Spain' );
insert into llx_c_pays (rowid,code,libelle) values (5, 'DE', 'Germany' );
insert into llx_c_pays (rowid,code,libelle) values (6, 'CH', 'Switzerland' );
insert into llx_c_pays (rowid,code,libelle) values (7, 'GB', 'United Kingdom' );
insert into llx_c_pays (rowid,code,libelle) values (8, 'IE', 'Irland' );
insert into llx_c_pays (rowid,code,libelle) values (9, 'CN', 'China' );
insert into llx_c_pays (rowid,code,libelle) values (10, 'TN', 'Tunisia' );
insert into llx_c_pays (rowid,code,libelle) values (11, 'US', 'United States' );
insert into llx_c_pays (rowid,code,libelle) values (12, 'MA', 'Maroc' );
insert into llx_c_pays (rowid,code,libelle) values (13, 'DZ', 'Algeria' );
insert into llx_c_pays (rowid,code,libelle) values (14, 'CA', 'Canada' );
insert into llx_c_pays (rowid,code,libelle) values (15, 'TG', 'Togo' );
insert into llx_c_pays (rowid,code,libelle) values (16, 'GA', 'Gabon' );
insert into llx_c_pays (rowid,code,libelle) values (17, 'NL', 'Nerderland' );
insert into llx_c_pays (rowid,code,libelle) values (18, 'HU', 'Hongrie' );
insert into llx_c_pays (rowid,code,libelle) values (19, 'RU', 'Russia' );
insert into llx_c_pays (rowid,code,libelle) values (20, 'SE', 'Sweden' );
insert into llx_c_pays (rowid,code,libelle) values (21, 'CI', 'Côte d''Ivoire' );
insert into llx_c_pays (rowid,code,libelle) values (22, 'SN', 'Senegal' );
insert into llx_c_pays (rowid,code,libelle) values (23, 'AR', 'Argentine' );
insert into llx_c_pays (rowid,code,libelle) values (24, 'CM', 'Cameroun' );
insert into llx_c_pays (rowid,code,libelle) values (25, 'PT', 'Portugal' );
insert into llx_c_pays (rowid,code,libelle) values (26, 'SA', 'Saudi Arabia' );
insert into llx_c_pays (rowid,code,libelle) values (27, 'MC', 'Monaco' );
insert into llx_c_pays (rowid,code,libelle) values (28, 'AU', 'Australia' );
insert into llx_c_pays (rowid,code,libelle) values (29, 'SG', 'Singapour' );
insert into llx_c_pays (rowid,code,libelle) values (30, 'AF', 'Afghanistan' );
insert into llx_c_pays (rowid,code,libelle) values (31, 'AX', 'Iles Aland' );
insert into llx_c_pays (rowid,code,libelle) values (32, 'AL', 'Albanie' );
insert into llx_c_pays (rowid,code,libelle) values (33, 'AS', 'Samoa américaines');
insert into llx_c_pays (rowid,code,libelle) values (34, 'AD', 'Andorre' );
insert into llx_c_pays (rowid,code,libelle) values (35, 'AO', 'Angola' );
insert into llx_c_pays (rowid,code,libelle) values (36, 'AI', 'Anguilla' );
insert into llx_c_pays (rowid,code,libelle) values (37, 'AQ', 'Antarctique' );
insert into llx_c_pays (rowid,code,libelle) values (38, 'AG', 'Antigua-et-Barbuda');
insert into llx_c_pays (rowid,code,libelle) values (39, 'AM', 'Arménie' );
insert into llx_c_pays (rowid,code,libelle) values (40, 'AW', 'Aruba' );
insert into llx_c_pays (rowid,code,libelle) values (41, 'AT', 'Autriche' );
insert into llx_c_pays (rowid,code,libelle) values (42, 'AZ', 'Azerbaïdjan' );
insert into llx_c_pays (rowid,code,libelle) values (43, 'BS', 'Bahamas' );
insert into llx_c_pays (rowid,code,libelle) values (44, 'BH', 'Bahreïn' );
insert into llx_c_pays (rowid,code,libelle) values (45, 'BD', 'Bangladesh' );
insert into llx_c_pays (rowid,code,libelle) values (46, 'BB', 'Barbade' );
insert into llx_c_pays (rowid,code,libelle) values (47, 'BY', 'Biélorussie' );
insert into llx_c_pays (rowid,code,libelle) values (48, 'BZ', 'Belize' );
insert into llx_c_pays (rowid,code,libelle) values (49, 'BJ', 'Bénin' );
insert into llx_c_pays (rowid,code,libelle) values (50, 'BM', 'Bermudes' );
insert into llx_c_pays (rowid,code,libelle) values (51, 'BT', 'Bhoutan' );
insert into llx_c_pays (rowid,code,libelle) values (52, 'BO', 'Bolivie' );
insert into llx_c_pays (rowid,code,libelle) values (53, 'BA', 'Bosnie-Herzégovine');
insert into llx_c_pays (rowid,code,libelle) values (54, 'BW', 'Botswana' );
insert into llx_c_pays (rowid,code,libelle) values (55, 'BV', 'Ile Bouvet' );
insert into llx_c_pays (rowid,code,libelle) values (56, 'BR', 'Brazil' );
insert into llx_c_pays (rowid,code,libelle) values (57, 'IO', 'Territoire britannique de l''Océan Indien');
insert into llx_c_pays (rowid,code,libelle) values (58, 'BN', 'Brunei' );
insert into llx_c_pays (rowid,code,libelle) values (59, 'BG', 'Bulgarie' );
insert into llx_c_pays (rowid,code,libelle) values (60, 'BF', 'Burkina Faso' );
insert into llx_c_pays (rowid,code,libelle) values (61, 'BI', 'Burundi' );
insert into llx_c_pays (rowid,code,libelle) values (62, 'KH', 'Cambodge' );
insert into llx_c_pays (rowid,code,libelle) values (63, 'CV', 'Cap-Vert' );
insert into llx_c_pays (rowid,code,libelle) values (64, 'KY', 'Iles Cayman' );
insert into llx_c_pays (rowid,code,libelle) values (65, 'CF', 'République centrafricaine');
insert into llx_c_pays (rowid,code,libelle) values (66, 'TD', 'Tchad' );
insert into llx_c_pays (rowid,code,libelle) values (67, 'CL', 'Chili' );
insert into llx_c_pays (rowid,code,libelle) values (68, 'CX', 'Ile Christmas' );
insert into llx_c_pays (rowid,code,libelle) values (69, 'CC', 'Iles des Cocos (Keeling)');
insert into llx_c_pays (rowid,code,libelle) values (70, 'CO', 'Colombie' );
insert into llx_c_pays (rowid,code,libelle) values (71, 'KM', 'Comores' );
insert into llx_c_pays (rowid,code,libelle) values (72, 'CG', 'Congo' );
insert into llx_c_pays (rowid,code,libelle) values (73, 'CD', 'République démocratique du Congo');
insert into llx_c_pays (rowid,code,libelle) values (74, 'CK', 'Iles Cook' );
insert into llx_c_pays (rowid,code,libelle) values (75, 'CR', 'Costa Rica' );
insert into llx_c_pays (rowid,code,libelle) values (76, 'HR', 'Croatie' );
insert into llx_c_pays (rowid,code,libelle) values (77, 'CU', 'Cuba' );
insert into llx_c_pays (rowid,code,libelle) values (78, 'CY', 'Chypre' );
insert into llx_c_pays (rowid,code,libelle) values (79, 'CZ', 'République Tchèque');
insert into llx_c_pays (rowid,code,libelle) values (80, 'DK', 'Danemark' );
insert into llx_c_pays (rowid,code,libelle) values (81, 'DJ', 'Djibouti' );
insert into llx_c_pays (rowid,code,libelle) values (82, 'DM', 'Dominique' );
insert into llx_c_pays (rowid,code,libelle) values (83, 'DO', 'République Dominicaine');
insert into llx_c_pays (rowid,code,libelle) values (84, 'EC', 'Equateur' );
insert into llx_c_pays (rowid,code,libelle) values (85, 'EG', 'Egypte' );
insert into llx_c_pays (rowid,code,libelle) values (86, 'SV', 'Salvador' );
insert into llx_c_pays (rowid,code,libelle) values (87, 'GQ', 'Guinée Equatoriale');
insert into llx_c_pays (rowid,code,libelle) values (88, 'ER', 'Erythrée' );
insert into llx_c_pays (rowid,code,libelle) values (89, 'EE', 'Estonia' );
insert into llx_c_pays (rowid,code,libelle) values (90, 'ET', 'Ethiopie' );
insert into llx_c_pays (rowid,code,libelle) values (91, 'FK', 'Iles Falkland' );
insert into llx_c_pays (rowid,code,libelle) values (92, 'FO', 'Iles Féroé' );
insert into llx_c_pays (rowid,code,libelle) values (93, 'FJ', 'Iles Fidji' );
insert into llx_c_pays (rowid,code,libelle) values (94, 'FI', 'Finlande' );
insert into llx_c_pays (rowid,code,libelle) values (95, 'GF', 'Guyane française');
insert into llx_c_pays (rowid,code,libelle) values (96, 'PF', 'Polynésie française');
insert into llx_c_pays (rowid,code,libelle) values (97, 'TF', 'Terres australes françaises');
insert into llx_c_pays (rowid,code,libelle) values (98, 'GM', 'Gambie' );
insert into llx_c_pays (rowid,code,libelle) values (99, 'GE', 'Georgia' );
insert into llx_c_pays (rowid,code,libelle) values (100, 'GH', 'Ghana' );
insert into llx_c_pays (rowid,code,libelle) values (101, 'GI', 'Gibraltar' );
insert into llx_c_pays (rowid,code,libelle) values (102, 'GR', 'Greece' );
insert into llx_c_pays (rowid,code,libelle) values (103, 'GL', 'Groenland' );
insert into llx_c_pays (rowid,code,libelle) values (104, 'GD', 'Grenade' );
--insert into llx_c_pays (rowid,code,libelle) values (105, 'GP', 'Guadeloupe' );
insert into llx_c_pays (rowid,code,libelle) values (106, 'GU', 'Guam' );
insert into llx_c_pays (rowid,code,libelle) values (107, 'GT', 'Guatemala' );
insert into llx_c_pays (rowid,code,libelle) values (108, 'GN', 'Guinea' );
insert into llx_c_pays (rowid,code,libelle) values (109, 'GW', 'Guinea-Bissao' );
--insert into llx_c_pays (rowid,code,libelle) values (110, 'GY', 'Guyana' );
insert into llx_c_pays (rowid,code,libelle) values (111, 'HT', 'Haiti' );
insert into llx_c_pays (rowid,code,libelle) values (112, 'HM', 'Iles Heard et McDonald');
insert into llx_c_pays (rowid,code,libelle) values (113, 'VA', 'Saint-Siège (Vatican)');
insert into llx_c_pays (rowid,code,libelle) values (114, 'HN', 'Honduras' );
insert into llx_c_pays (rowid,code,libelle) values (115, 'HK', 'Hong Kong' );
insert into llx_c_pays (rowid,code,libelle) values (116, 'IS', 'Islande' );
insert into llx_c_pays (rowid,code,libelle) values (117, 'IN', 'India' );
insert into llx_c_pays (rowid,code,libelle) values (118, 'ID', 'Indonésie' );
insert into llx_c_pays (rowid,code,libelle) values (119, 'IR', 'Iran' );
insert into llx_c_pays (rowid,code,libelle) values (120, 'IQ', 'Iraq' );
insert into llx_c_pays (rowid,code,libelle) values (121, 'IL', 'Israel' );
insert into llx_c_pays (rowid,code,libelle) values (122, 'JM', 'Jamaïque' );
insert into llx_c_pays (rowid,code,libelle) values (123, 'JP', 'Japon' );
insert into llx_c_pays (rowid,code,libelle) values (124, 'JO', 'Jordanie' );
insert into llx_c_pays (rowid,code,libelle) values (125, 'KZ', 'Kazakhstan' );
insert into llx_c_pays (rowid,code,libelle) values (126, 'KE', 'Kenya' );
insert into llx_c_pays (rowid,code,libelle) values (127, 'KI', 'Kiribati' );
insert into llx_c_pays (rowid,code,libelle) values (128, 'KP', 'North Corea' );
insert into llx_c_pays (rowid,code,libelle) values (129, 'KR', 'South Corea' );
insert into llx_c_pays (rowid,code,libelle) values (130, 'KW', 'Koweït' );
insert into llx_c_pays (rowid,code,libelle) values (131, 'KG', 'Kirghizistan' );
insert into llx_c_pays (rowid,code,libelle) values (132, 'LA', 'Laos' );
insert into llx_c_pays (rowid,code,libelle) values (133, 'LV', 'Lettonie' );
insert into llx_c_pays (rowid,code,libelle) values (134, 'LB', 'Liban' );
insert into llx_c_pays (rowid,code,libelle) values (135, 'LS', 'Lesotho' );
insert into llx_c_pays (rowid,code,libelle) values (136, 'LR', 'Liberia' );
insert into llx_c_pays (rowid,code,libelle) values (137, 'LY', 'Libye' );
insert into llx_c_pays (rowid,code,libelle) values (138, 'LI', 'Liechtenstein' );
insert into llx_c_pays (rowid,code,libelle) values (139, 'LT', 'Lituanie' );
insert into llx_c_pays (rowid,code,libelle) values (140, 'LU', 'Luxembourg' );
insert into llx_c_pays (rowid,code,libelle) values (141, 'MO', 'Macao' );
insert into llx_c_pays (rowid,code,libelle) values (142, 'MK', 'ex-République yougoslave de Macédoine');
insert into llx_c_pays (rowid,code,libelle) values (143, 'MG', 'Madagascar' );
insert into llx_c_pays (rowid,code,libelle) values (144, 'MW', 'Malawi' );
insert into llx_c_pays (rowid,code,libelle) values (145, 'MY', 'Malaisie' );
insert into llx_c_pays (rowid,code,libelle) values (146, 'MV', 'Maldives' );
insert into llx_c_pays (rowid,code,libelle) values (147, 'ML', 'Mali' );
insert into llx_c_pays (rowid,code,libelle) values (148, 'MT', 'Malte' );
insert into llx_c_pays (rowid,code,libelle) values (149, 'MH', 'Iles Marshall' );
--insert into llx_c_pays (rowid,code,libelle) values (150, 'MQ', 'Martinique' );
insert into llx_c_pays (rowid,code,libelle) values (151, 'MR', 'Mauritanie' );
insert into llx_c_pays (rowid,code,libelle) values (152, 'MU', 'Maurice' );
insert into llx_c_pays (rowid,code,libelle) values (153, 'YT', 'Mayotte' );
insert into llx_c_pays (rowid,code,libelle) values (154, 'MX', 'Mexique' );
insert into llx_c_pays (rowid,code,libelle) values (155, 'FM', 'Micronésie' );
insert into llx_c_pays (rowid,code,libelle) values (156, 'MD', 'Moldavie' );
insert into llx_c_pays (rowid,code,libelle) values (157, 'MN', 'Mongolie' );
insert into llx_c_pays (rowid,code,libelle) values (158, 'MS', 'Monserrat' );
insert into llx_c_pays (rowid,code,libelle) values (159, 'MZ', 'Mozambique' );
insert into llx_c_pays (rowid,code,libelle) values (160, 'MM', 'Birmanie (Myanmar)' );
insert into llx_c_pays (rowid,code,libelle) values (161, 'NA', 'Namibie' );
insert into llx_c_pays (rowid,code,libelle) values (162, 'NR', 'Nauru' );
insert into llx_c_pays (rowid,code,libelle) values (163, 'NP', 'Népal' );
insert into llx_c_pays (rowid,code,libelle) values (164, 'AN', 'Antilles néerlandaises');
insert into llx_c_pays (rowid,code,libelle) values (165, 'NC', 'Nouvelle-Calédonie');
insert into llx_c_pays (rowid,code,libelle) values (166, 'NZ', 'Nouvelle-Zélande');
insert into llx_c_pays (rowid,code,libelle) values (167, 'NI', 'Nicaragua' );
insert into llx_c_pays (rowid,code,libelle) values (168, 'NE', 'Niger' );
insert into llx_c_pays (rowid,code,libelle) values (169, 'NG', 'Nigeria' );
insert into llx_c_pays (rowid,code,libelle) values (170, 'NU', 'Nioué' );
insert into llx_c_pays (rowid,code,libelle) values (171, 'NF', 'Ile Norfolk' );
insert into llx_c_pays (rowid,code,libelle) values (172, 'MP', 'Mariannes du Nord');
insert into llx_c_pays (rowid,code,libelle) values (173, 'NO', 'Norvège' );
insert into llx_c_pays (rowid,code,libelle) values (174, 'OM', 'Oman' );
insert into llx_c_pays (rowid,code,libelle) values (175, 'PK', 'Pakistan' );
insert into llx_c_pays (rowid,code,libelle) values (176, 'PW', 'Palaos' );
insert into llx_c_pays (rowid,code,libelle) values (177, 'PS', 'Territoire Palestinien Occupé');
insert into llx_c_pays (rowid,code,libelle) values (178, 'PA', 'Panama' );
insert into llx_c_pays (rowid,code,libelle) values (179, 'PG', 'Papouasie-Nouvelle-Guinée');
insert into llx_c_pays (rowid,code,libelle) values (180, 'PY', 'Paraguay' );
insert into llx_c_pays (rowid,code,libelle) values (181, 'PE', 'Peru' );
insert into llx_c_pays (rowid,code,libelle) values (182, 'PH', 'Philippines' );
insert into llx_c_pays (rowid,code,libelle) values (183, 'PN', 'Iles Pitcairn' );
insert into llx_c_pays (rowid,code,libelle) values (184, 'PL', 'Pologne' );
insert into llx_c_pays (rowid,code,libelle) values (185, 'PR', 'Porto Rico' );
insert into llx_c_pays (rowid,code,libelle) values (186, 'QA', 'Qatar' );
--insert into llx_c_pays (rowid,code,libelle) values (187, 'RE', 'Réunion' );
insert into llx_c_pays (rowid,code,libelle) values (188, 'RO', 'Roumanie' );
insert into llx_c_pays (rowid,code,libelle) values (189, 'RW', 'Rwanda' );
insert into llx_c_pays (rowid,code,libelle) values (190, 'SH', 'Sainte-Hélène' );
insert into llx_c_pays (rowid,code,libelle) values (191, 'KN', 'Saint-Christophe-et-Niévès');
insert into llx_c_pays (rowid,code,libelle) values (192, 'LC', 'Sainte-Lucie' );
insert into llx_c_pays (rowid,code,libelle) values (193, 'PM', 'Saint-Pierre-et-Miquelon');
insert into llx_c_pays (rowid,code,libelle) values (194, 'VC', 'Saint-Vincent-et-les-Grenadines');
insert into llx_c_pays (rowid,code,libelle) values (195, 'WS', 'Samoa' );
insert into llx_c_pays (rowid,code,libelle) values (196, 'SM', 'Saint-Marin' );
insert into llx_c_pays (rowid,code,libelle) values (197, 'ST', 'Sao Tomé-et-Principe');
insert into llx_c_pays (rowid,code,libelle) values (198, 'RS', 'Serbie' );
insert into llx_c_pays (rowid,code,libelle) values (199, 'SC', 'Seychelles' );
insert into llx_c_pays (rowid,code,libelle) values (200, 'SL', 'Sierra Leone' );
insert into llx_c_pays (rowid,code,libelle) values (201, 'SK', 'Slovaquie' );
insert into llx_c_pays (rowid,code,libelle) values (202, 'SI', 'Slovénie' );
insert into llx_c_pays (rowid,code,libelle) values (203, 'SB', 'Iles Salomon' );
insert into llx_c_pays (rowid,code,libelle) values (204, 'SO', 'Somalie' );
insert into llx_c_pays (rowid,code,libelle) values (205, 'ZA', 'Afrique du Sud');
insert into llx_c_pays (rowid,code,libelle) values (206, 'GS', 'Iles Géorgie du Sud et Sandwich du Sud');
insert into llx_c_pays (rowid,code,libelle) values (207, 'LK', 'Sri Lanka' );
insert into llx_c_pays (rowid,code,libelle) values (208, 'SD', 'Soudan' );
insert into llx_c_pays (rowid,code,libelle) values (209, 'SR', 'Suriname' );
insert into llx_c_pays (rowid,code,libelle) values (210, 'SJ', 'Iles Svalbard et Jan Mayen');
insert into llx_c_pays (rowid,code,libelle) values (211, 'SZ', 'Swaziland' );
insert into llx_c_pays (rowid,code,libelle) values (212, 'SY', 'Syrie' );
insert into llx_c_pays (rowid,code,libelle) values (213, 'TW', 'Taïwan' );
insert into llx_c_pays (rowid,code,libelle) values (214, 'TJ', 'Tadjikistan' );
insert into llx_c_pays (rowid,code,libelle) values (215, 'TZ', 'Tanzanie' );
insert into llx_c_pays (rowid,code,libelle) values (216, 'TH', 'Thaïlande' );
insert into llx_c_pays (rowid,code,libelle) values (217, 'TL', 'Timor Oriental');
insert into llx_c_pays (rowid,code,libelle) values (218, 'TK', 'Tokélaou' );
insert into llx_c_pays (rowid,code,libelle) values (219, 'TO', 'Tonga' );
insert into llx_c_pays (rowid,code,libelle) values (220, 'TT', 'Trinité-et-Tobago');
insert into llx_c_pays (rowid,code,libelle) values (221, 'TR', 'Turquie' );
insert into llx_c_pays (rowid,code,libelle) values (222, 'TM', 'Turkménistan' );
insert into llx_c_pays (rowid,code,libelle) values (223, 'TC', 'Iles Turks-et-Caicos');
insert into llx_c_pays (rowid,code,libelle) values (224, 'TV', 'Tuvalu' );
insert into llx_c_pays (rowid,code,libelle) values (225, 'UG', 'Ouganda' );
insert into llx_c_pays (rowid,code,libelle) values (226, 'UA', 'Ukraine' );
insert into llx_c_pays (rowid,code,libelle) values (227, 'AE', 'Émirats arabes unis');
insert into llx_c_pays (rowid,code,libelle) values (228, 'UM', 'Iles mineures éloignées des États-Unis');
insert into llx_c_pays (rowid,code,libelle) values (229, 'UY', 'Uruguay' );
insert into llx_c_pays (rowid,code,libelle) values (230, 'UZ', 'Ouzbékistan' );
insert into llx_c_pays (rowid,code,libelle) values (231, 'VU', 'Vanuatu' );
insert into llx_c_pays (rowid,code,libelle) values (232, 'VE', 'Vénézuela' );
insert into llx_c_pays (rowid,code,libelle) values (233, 'VN', 'Viêt Nam' );
insert into llx_c_pays (rowid,code,libelle) values (234, 'VG', 'Iles Vierges britanniques');
insert into llx_c_pays (rowid,code,libelle) values (235, 'VI', 'Iles Vierges américaines');
insert into llx_c_pays (rowid,code,libelle) values (236, 'WF', 'Wallis-et-Futuna');
insert into llx_c_pays (rowid,code,libelle) values (237, 'EH', 'Sahara occidental');
insert into llx_c_pays (rowid,code,libelle) values (238, 'YE', 'Yémen' );
insert into llx_c_pays (rowid,code,libelle) values (239, 'ZM', 'Zambie' );
insert into llx_c_pays (rowid,code,libelle) values (240, 'ZW', 'Zimbabwe' );
insert into llx_c_pays (rowid,code,libelle) values (241, 'GG', 'Guernesey' );
insert into llx_c_pays (rowid,code,libelle) values (242, 'IM', 'Ile de Man' );
insert into llx_c_pays (rowid,code,libelle) values (243, 'JE', 'Jersey' );
insert into llx_c_pays (rowid,code,libelle) values (244, 'ME', 'Monténégro' );
insert into llx_c_pays (rowid,code,libelle) values (245, 'BL', 'Saint-Barthélemy');
insert into llx_c_pays (rowid,code,libelle) values (246, 'MF', 'Saint-Martin' );
insert into llx_c_pays (rowid,code,libelle) values (247, 'BU', 'Burundi' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (0, '' , null, '-' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (1, 'FR', null, 'France' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (2, 'BE', null, 'Belgium' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (3, 'IT', null, 'Italy' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (4, 'ES', null, 'Spain' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (5, 'DE', null, 'Germany' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (6, 'CH', null, 'Switzerland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (7, 'GB', null, 'United Kingdom' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (8, 'IE', null, 'Irland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (9, 'CN', null, 'China' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (10, 'TN', null, 'Tunisia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (11, 'US', null, 'United States' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (12, 'MA', null, 'Maroc' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (13, 'DZ', null, 'Algeria' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (14, 'CA', null, 'Canada' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (15, 'TG', null, 'Togo' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (16, 'GA', null, 'Gabon' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (17, 'NL', null, 'Nerderland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (18, 'HU', null, 'Hongrie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (19, 'RU', null, 'Russia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (20, 'SE', null, 'Sweden' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (21, 'CI', null, 'Côte d''Ivoire' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (22, 'SN', null, 'Senegal' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (23, 'AR', null, 'Argentine' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (24, 'CM', null, 'Cameroun' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (25, 'PT', null, 'Portugal' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (26, 'SA', null, 'Saudi Arabia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (27, 'MC', null, 'Monaco' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (28, 'AU', null, 'Australia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (29, 'SG', null, 'Singapour' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (30, 'AF', null, 'Afghanistan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (31, 'AX', null, 'Iles Aland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (32, 'AL', null, 'Albanie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (33, 'AS', null, 'Samoa américaines');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (34, 'AD', null, 'Andorre' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (35, 'AO', null, 'Angola' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (36, 'AI', null, 'Anguilla' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (37, 'AQ', null, 'Antarctique' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (38, 'AG', null, 'Antigua-et-Barbuda');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (39, 'AM', null, 'Arménie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (40, 'AW', null, 'Aruba' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (41, 'AT', null, 'Autriche' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (42, 'AZ', null, 'Azerbaïdjan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (43, 'BS', null, 'Bahamas' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (44, 'BH', null, 'Bahreïn' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (45, 'BD', null, 'Bangladesh' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (46, 'BB', null, 'Barbade' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (47, 'BY', null, 'Biélorussie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (48, 'BZ', null, 'Belize' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (49, 'BJ', null, 'Bénin' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (50, 'BM', null, 'Bermudes' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (51, 'BT', null, 'Bhoutan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (52, 'BO', null, 'Bolivie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (53, 'BA', null, 'Bosnie-Herzégovine');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (54, 'BW', null, 'Botswana' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (55, 'BV', null, 'Ile Bouvet' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (56, 'BR', null, 'Brazil' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (57, 'IO', null, 'Territoire britannique de l''Océan Indien');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (58, 'BN', null, 'Brunei' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (59, 'BG', null, 'Bulgarie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (60, 'BF', null, 'Burkina Faso' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (61, 'BI', null, 'Burundi' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (62, 'KH', null, 'Cambodge' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (63, 'CV', null, 'Cap-Vert' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (64, 'KY', null, 'Iles Cayman' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (65, 'CF', null, 'République centrafricaine');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (66, 'TD', null, 'Tchad' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (67, 'CL', null, 'Chili' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (68, 'CX', null, 'Ile Christmas' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (69, 'CC', null, 'Iles des Cocos (Keeling)');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (70, 'CO', null, 'Colombie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (71, 'KM', null, 'Comores' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (72, 'CG', null, 'Congo' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (73, 'CD', null, 'République démocratique du Congo');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (74, 'CK', null, 'Iles Cook' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (75, 'CR', null, 'Costa Rica' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (76, 'HR', null, 'Croatie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (77, 'CU', null, 'Cuba' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (78, 'CY', null, 'Chypre' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (79, 'CZ', null, 'République Tchèque');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (80, 'DK', null, 'Danemark' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (81, 'DJ', null, 'Djibouti' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (82, 'DM', null, 'Dominique' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (83, 'DO', null, 'République Dominicaine');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (84, 'EC', null, 'Equateur' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (85, 'EG', null, 'Egypte' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (86, 'SV', null, 'Salvador' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (87, 'GQ', null, 'Guinée Equatoriale');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (88, 'ER', null, 'Erythrée' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (89, 'EE', null, 'Estonia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (90, 'ET', null, 'Ethiopie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (91, 'FK', null, 'Iles Falkland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (92, 'FO', null, 'Iles Féroé' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (93, 'FJ', null, 'Iles Fidji' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (94, 'FI', null, 'Finlande' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (95, 'GF', null, 'Guyane française');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (96, 'PF', null, 'Polynésie française');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (97, 'TF', null, 'Terres australes françaises');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (98, 'GM', null, 'Gambie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (99, 'GE', null, 'Georgia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (100,'GH', null, 'Ghana' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (101,'GI', null, 'Gibraltar' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (102,'GR', null, 'Greece' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (103,'GL', null, 'Groenland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (104,'GD', null, 'Grenade' );
--insert into llx_c_pays (rowid,code,code_iso,libelle) values (105,'GP', null, 'Guadeloupe' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (106,'GU', null, 'Guam' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (107,'GT', null, 'Guatemala' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (108,'GN', null, 'Guinea' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (109,'GW', null, 'Guinea-Bissao' );
--insert into llx_c_pays (rowid,code,code_iso,libelle) values (110,'GY', null, 'Guyana' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (111,'HT', null, 'Haiti' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (112,'HM', null, 'Iles Heard et McDonald');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (113,'VA', null, 'Saint-Siège (Vatican)');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (114,'HN', null, 'Honduras' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (115,'HK', null, 'Hong Kong' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (116,'IS', null, 'Islande' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (117,'IN', null, 'India' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (118,'ID', null, 'Indonésie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (119,'IR', null, 'Iran' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (120,'IQ', null, 'Iraq' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (121,'IL', null, 'Israel' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (122,'JM', null, 'Jamaïque' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (123,'JP', null, 'Japon' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (124,'JO', null, 'Jordanie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (125,'KZ', null, 'Kazakhstan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (126,'KE', null, 'Kenya' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (127,'KI', null, 'Kiribati' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (128,'KP', null, 'North Corea' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (129,'KR', null, 'South Corea' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (130,'KW', null, 'Koweït' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (131,'KG', null, 'Kirghizistan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (132,'LA', null, 'Laos' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (133,'LV', null, 'Lettonie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (134,'LB', null, 'Liban' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (135,'LS', null, 'Lesotho' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (136,'LR', null, 'Liberia' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (137,'LY', null, 'Libye' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (138,'LI', null, 'Liechtenstein' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (139,'LT', null, 'Lituanie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (140,'LU', null, 'Luxembourg' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (141,'MO', null, 'Macao' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (142,'MK', null, 'ex-République yougoslave de Macédoine');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (143,'MG', null, 'Madagascar' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (144,'MW', null, 'Malawi' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (145,'MY', null, 'Malaisie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (146,'MV', null, 'Maldives' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (147,'ML', null, 'Mali' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (148,'MT', null, 'Malte' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (149,'MH', null, 'Iles Marshall' );
--insert into llx_c_pays (rowid,code,code_iso,libelle) values (150,'MQ', null, 'Martinique' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (151,'MR', null, 'Mauritanie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (152,'MU', null, 'Maurice' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (153,'YT', null, 'Mayotte' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (154,'MX', null, 'Mexique' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (155,'FM', null, 'Micronésie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (156,'MD', null, 'Moldavie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (157,'MN', null, 'Mongolie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (158,'MS', null, 'Monserrat' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (159,'MZ', null, 'Mozambique' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (160,'MM', null, 'Birmanie (Myanmar)' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (161,'NA', null, 'Namibie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (162,'NR', null, 'Nauru' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (163,'NP', null, 'Népal' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (164,'AN', null, 'Antilles néerlandaises');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (165,'NC', null, 'Nouvelle-Calédonie');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (166,'NZ', null, 'Nouvelle-Zélande');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (167,'NI', null, 'Nicaragua' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (168,'NE', null, 'Niger' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (169,'NG', null, 'Nigeria' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (170,'NU', null, 'Nioué' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (171,'NF', null, 'Ile Norfolk' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (172,'MP', null, 'Mariannes du Nord');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (173,'NO', null, 'Norvège' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (174,'OM', null, 'Oman' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (175,'PK', null, 'Pakistan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (176,'PW', null, 'Palaos' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (177,'PS', null, 'Territoire Palestinien Occupé');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (178,'PA', null, 'Panama' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (179,'PG', null, 'Papouasie-Nouvelle-Guinée');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (180,'PY', null, 'Paraguay' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (181,'PE', null, 'Peru' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (182,'PH', null, 'Philippines' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (183,'PN', null, 'Iles Pitcairn' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (184,'PL', null, 'Pologne' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (185,'PR', null, 'Porto Rico' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (186,'QA', null, 'Qatar' );
--insert into llx_c_pays (rowid,code,code_iso,libelle) values (187,'RE', null, 'Réunion' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (188,'RO', null, 'Roumanie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (189,'RW', null, 'Rwanda' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (190,'SH', null, 'Sainte-Hélène' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (191,'KN', null, 'Saint-Christophe-et-Niévès');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (192,'LC', null, 'Sainte-Lucie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (193,'PM', null, 'Saint-Pierre-et-Miquelon');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (194,'VC', null, 'Saint-Vincent-et-les-Grenadines');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (195,'WS', null, 'Samoa' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (196,'SM', null, 'Saint-Marin' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (197,'ST', null, 'Sao Tomé-et-Principe');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (198,'RS', null, 'Serbie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (199,'SC', null, 'Seychelles' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (200,'SL', null, 'Sierra Leone' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (201,'SK', null, 'Slovaquie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (202,'SI', null, 'Slovénie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (203,'SB', null, 'Iles Salomon' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (204,'SO', null, 'Somalie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (205,'ZA', null, 'Afrique du Sud');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (206,'GS', null, 'Iles Géorgie du Sud et Sandwich du Sud');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (207,'LK', null, 'Sri Lanka' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (208,'SD', null, 'Soudan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (209,'SR', null, 'Suriname' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (210,'SJ', null, 'Iles Svalbard et Jan Mayen');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (211,'SZ', null, 'Swaziland' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (212,'SY', null, 'Syrie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (213,'TW', null, 'Taïwan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (214,'TJ', null, 'Tadjikistan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (215,'TZ', null, 'Tanzanie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (216,'TH', null, 'Thaïlande' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (217,'TL', null, 'Timor Oriental');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (218,'TK', null, 'Tokélaou' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (219,'TO', null, 'Tonga' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (220,'TT', null, 'Trinité-et-Tobago');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (221,'TR', null, 'Turquie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (222,'TM', null, 'Turkménistan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (223,'TC', null, 'Iles Turks-et-Caicos');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (224,'TV', null, 'Tuvalu' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (225,'UG', null, 'Ouganda' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (226,'UA', null, 'Ukraine' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (227,'AE', null, 'Émirats arabes unis');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (228,'UM', null, 'Iles mineures éloignées des États-Unis');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (229,'UY', null, 'Uruguay' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (230,'UZ', null, 'Ouzbékistan' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (231,'VU', null, 'Vanuatu' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (232,'VE', null, 'Vénézuela' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (233,'VN', null, 'Viêt Nam' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (234,'VG', null, 'Iles Vierges britanniques');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (235,'VI', null, 'Iles Vierges américaines');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (236,'WF', null, 'Wallis-et-Futuna');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (237,'EH', null, 'Sahara occidental');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (238,'YE', null, 'Yémen' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (239,'ZM', null, 'Zambie' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (240,'ZW', null, 'Zimbabwe' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (241,'GG', null, 'Guernesey' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (242,'IM', null, 'Ile de Man' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (243,'JE', null, 'Jersey' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (244,'ME', null, 'Monténégro' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (245,'BL', null, 'Saint-Barthélemy');
insert into llx_c_pays (rowid,code,code_iso,libelle) values (246,'MF', null, 'Saint-Martin' );
insert into llx_c_pays (rowid,code,code_iso,libelle) values (247,'BU', null, 'Burundi' );
UPDATE llx_c_pays SET code_iso = 'AFG' WHERE code = 'AF';
UPDATE llx_c_pays SET code_iso = 'ALA' WHERE code = 'AX';
UPDATE llx_c_pays SET code_iso = 'ALB' WHERE code = 'AL';
UPDATE llx_c_pays SET code_iso = 'DZA' WHERE code = 'DZ';
UPDATE llx_c_pays SET code_iso = 'ASM' WHERE code = 'AS';
UPDATE llx_c_pays SET code_iso = 'AND' WHERE code = 'AD';
UPDATE llx_c_pays SET code_iso = 'AGO' WHERE code = 'AO';
UPDATE llx_c_pays SET code_iso = 'AIA' WHERE code = 'AI';
UPDATE llx_c_pays SET code_iso = 'ATA' WHERE code = 'AQ';
UPDATE llx_c_pays SET code_iso = 'ATG' WHERE code = 'AG';
UPDATE llx_c_pays SET code_iso = 'ARG' WHERE code = 'AR';
UPDATE llx_c_pays SET code_iso = 'ARM' WHERE code = 'AM';
UPDATE llx_c_pays SET code_iso = 'ABW' WHERE code = 'AW';
UPDATE llx_c_pays SET code_iso = 'AUS' WHERE code = 'AU';
UPDATE llx_c_pays SET code_iso = 'AUT' WHERE code = 'AT';
UPDATE llx_c_pays SET code_iso = 'AZE' WHERE code = 'AZ';
UPDATE llx_c_pays SET code_iso = 'BHS' WHERE code = 'BS';
UPDATE llx_c_pays SET code_iso = 'BHR' WHERE code = 'BH';
UPDATE llx_c_pays SET code_iso = 'BGD' WHERE code = 'BD';
UPDATE llx_c_pays SET code_iso = 'BRB' WHERE code = 'BB';
UPDATE llx_c_pays SET code_iso = 'BLR' WHERE code = 'BY';
UPDATE llx_c_pays SET code_iso = 'BEL' WHERE code = 'BE';
UPDATE llx_c_pays SET code_iso = 'BLZ' WHERE code = 'BZ';
UPDATE llx_c_pays SET code_iso = 'BEN' WHERE code = 'BJ';
UPDATE llx_c_pays SET code_iso = 'BMU' WHERE code = 'BM';
UPDATE llx_c_pays SET code_iso = 'BTN' WHERE code = 'BT';
UPDATE llx_c_pays SET code_iso = 'BOL' WHERE code = 'BO';
UPDATE llx_c_pays SET code_iso = 'BES' WHERE code = 'BQ';
UPDATE llx_c_pays SET code_iso = 'BIH' WHERE code = 'BA';
UPDATE llx_c_pays SET code_iso = 'BWA' WHERE code = 'BW';
UPDATE llx_c_pays SET code_iso = 'BVT' WHERE code = 'BV';
UPDATE llx_c_pays SET code_iso = 'BRA' WHERE code = 'BR';
UPDATE llx_c_pays SET code_iso = 'IOT' WHERE code = 'IO';
UPDATE llx_c_pays SET code_iso = 'BRN' WHERE code = 'BN';
UPDATE llx_c_pays SET code_iso = 'BGR' WHERE code = 'BG';
UPDATE llx_c_pays SET code_iso = 'BFA' WHERE code = 'BF';
UPDATE llx_c_pays SET code_iso = 'BDI' WHERE code = 'BI';
UPDATE llx_c_pays SET code_iso = 'KHM' WHERE code = 'KH';
UPDATE llx_c_pays SET code_iso = 'CMR' WHERE code = 'CM';
UPDATE llx_c_pays SET code_iso = 'CAN' WHERE code = 'CA';
UPDATE llx_c_pays SET code_iso = 'CPV' WHERE code = 'CV';
UPDATE llx_c_pays SET code_iso = 'CYM' WHERE code = 'KY';
UPDATE llx_c_pays SET code_iso = 'CAF' WHERE code = 'CF';
UPDATE llx_c_pays SET code_iso = 'TCD' WHERE code = 'TD';
UPDATE llx_c_pays SET code_iso = 'CHL' WHERE code = 'CL';
UPDATE llx_c_pays SET code_iso = 'CHN' WHERE code = 'CN';
UPDATE llx_c_pays SET code_iso = 'CXR' WHERE code = 'CX';
UPDATE llx_c_pays SET code_iso = 'CCK' WHERE code = 'CC';
UPDATE llx_c_pays SET code_iso = 'COL' WHERE code = 'CO';
UPDATE llx_c_pays SET code_iso = 'COM' WHERE code = 'KM';
UPDATE llx_c_pays SET code_iso = 'COG' WHERE code = 'CG';
UPDATE llx_c_pays SET code_iso = 'COD' WHERE code = 'CD';
UPDATE llx_c_pays SET code_iso = 'COK' WHERE code = 'CK';
UPDATE llx_c_pays SET code_iso = 'CRI' WHERE code = 'CR';
UPDATE llx_c_pays SET code_iso = 'CIV' WHERE code = 'CI';
UPDATE llx_c_pays SET code_iso = 'HRV' WHERE code = 'HR';
UPDATE llx_c_pays SET code_iso = 'CUB' WHERE code = 'CU';
UPDATE llx_c_pays SET code_iso = 'CUW' WHERE code = 'CW';
UPDATE llx_c_pays SET code_iso = 'CYP' WHERE code = 'CY';
UPDATE llx_c_pays SET code_iso = 'CZE' WHERE code = 'CZ';
UPDATE llx_c_pays SET code_iso = 'DNK' WHERE code = 'DK';
UPDATE llx_c_pays SET code_iso = 'DJI' WHERE code = 'DJ';
UPDATE llx_c_pays SET code_iso = 'DMA' WHERE code = 'DM';
UPDATE llx_c_pays SET code_iso = 'DOM' WHERE code = 'DO';
UPDATE llx_c_pays SET code_iso = 'ECU' WHERE code = 'EC';
UPDATE llx_c_pays SET code_iso = 'EGY' WHERE code = 'EG';
UPDATE llx_c_pays SET code_iso = 'SLV' WHERE code = 'SV';
UPDATE llx_c_pays SET code_iso = 'GNQ' WHERE code = 'GQ';
UPDATE llx_c_pays SET code_iso = 'ERI' WHERE code = 'ER';
UPDATE llx_c_pays SET code_iso = 'EST' WHERE code = 'EE';
UPDATE llx_c_pays SET code_iso = 'ETH' WHERE code = 'ET';
UPDATE llx_c_pays SET code_iso = 'FLK' WHERE code = 'FK';
UPDATE llx_c_pays SET code_iso = 'FRO' WHERE code = 'FO';
UPDATE llx_c_pays SET code_iso = 'FJI' WHERE code = 'FJ';
UPDATE llx_c_pays SET code_iso = 'FIN' WHERE code = 'FI';
UPDATE llx_c_pays SET code_iso = 'FRA' WHERE code = 'FR';
UPDATE llx_c_pays SET code_iso = 'GUF' WHERE code = 'GF';
UPDATE llx_c_pays SET code_iso = 'PYF' WHERE code = 'PF';
UPDATE llx_c_pays SET code_iso = 'ATF' WHERE code = 'TF';
UPDATE llx_c_pays SET code_iso = 'GAB' WHERE code = 'GA';
UPDATE llx_c_pays SET code_iso = 'GMB' WHERE code = 'GM';
UPDATE llx_c_pays SET code_iso = 'GEO' WHERE code = 'GE';
UPDATE llx_c_pays SET code_iso = 'DEU' WHERE code = 'DE';
UPDATE llx_c_pays SET code_iso = 'GHA' WHERE code = 'GH';
UPDATE llx_c_pays SET code_iso = 'GIB' WHERE code = 'GI';
UPDATE llx_c_pays SET code_iso = 'GRC' WHERE code = 'GR';
UPDATE llx_c_pays SET code_iso = 'GRL' WHERE code = 'GL';
UPDATE llx_c_pays SET code_iso = 'GRD' WHERE code = 'GD';
UPDATE llx_c_pays SET code_iso = 'GLP' WHERE code = 'GP';
UPDATE llx_c_pays SET code_iso = 'GUM' WHERE code = 'GU';
UPDATE llx_c_pays SET code_iso = 'GTM' WHERE code = 'GT';
UPDATE llx_c_pays SET code_iso = 'GGY' WHERE code = 'GG';
UPDATE llx_c_pays SET code_iso = 'GIN' WHERE code = 'GN';
UPDATE llx_c_pays SET code_iso = 'GNB' WHERE code = 'GW';
UPDATE llx_c_pays SET code_iso = 'GUY' WHERE code = 'GY';
UPDATE llx_c_pays SET code_iso = 'HTI' WHERE code = 'HT';
UPDATE llx_c_pays SET code_iso = 'HMD' WHERE code = 'HM';
UPDATE llx_c_pays SET code_iso = 'VAT' WHERE code = 'VA';
UPDATE llx_c_pays SET code_iso = 'HND' WHERE code = 'HN';
UPDATE llx_c_pays SET code_iso = 'HKG' WHERE code = 'HK';
UPDATE llx_c_pays SET code_iso = 'HUN' WHERE code = 'HU';
UPDATE llx_c_pays SET code_iso = 'ISL' WHERE code = 'IS';
UPDATE llx_c_pays SET code_iso = 'IND' WHERE code = 'IN';
UPDATE llx_c_pays SET code_iso = 'IDN' WHERE code = 'ID';
UPDATE llx_c_pays SET code_iso = 'IRN' WHERE code = 'IR';
UPDATE llx_c_pays SET code_iso = 'IRQ' WHERE code = 'IQ';
UPDATE llx_c_pays SET code_iso = 'IRL' WHERE code = 'IE';
UPDATE llx_c_pays SET code_iso = 'IMN' WHERE code = 'IM';
UPDATE llx_c_pays SET code_iso = 'ISR' WHERE code = 'IL';
UPDATE llx_c_pays SET code_iso = 'ITA' WHERE code = 'IT';
UPDATE llx_c_pays SET code_iso = 'JAM' WHERE code = 'JM';
UPDATE llx_c_pays SET code_iso = 'JPN' WHERE code = 'JP';
UPDATE llx_c_pays SET code_iso = 'JEY' WHERE code = 'JE';
UPDATE llx_c_pays SET code_iso = 'JOR' WHERE code = 'JO';
UPDATE llx_c_pays SET code_iso = 'KAZ' WHERE code = 'KZ';
UPDATE llx_c_pays SET code_iso = 'KEN' WHERE code = 'KE';
UPDATE llx_c_pays SET code_iso = 'KIR' WHERE code = 'KI';
UPDATE llx_c_pays SET code_iso = 'PRK' WHERE code = 'KP';
UPDATE llx_c_pays SET code_iso = 'KOR' WHERE code = 'KR';
UPDATE llx_c_pays SET code_iso = 'KWT' WHERE code = 'KW';
UPDATE llx_c_pays SET code_iso = 'KGZ' WHERE code = 'KG';
UPDATE llx_c_pays SET code_iso = 'LAO' WHERE code = 'LA';
UPDATE llx_c_pays SET code_iso = 'LVA' WHERE code = 'LV';
UPDATE llx_c_pays SET code_iso = 'LBN' WHERE code = 'LB';
UPDATE llx_c_pays SET code_iso = 'LSO' WHERE code = 'LS';
UPDATE llx_c_pays SET code_iso = 'LBR' WHERE code = 'LR';
UPDATE llx_c_pays SET code_iso = 'LBY' WHERE code = 'LY';
UPDATE llx_c_pays SET code_iso = 'LIE' WHERE code = 'LI';
UPDATE llx_c_pays SET code_iso = 'LTU' WHERE code = 'LT';
UPDATE llx_c_pays SET code_iso = 'LUX' WHERE code = 'LU';
UPDATE llx_c_pays SET code_iso = 'MAC' WHERE code = 'MO';
UPDATE llx_c_pays SET code_iso = 'MKD' WHERE code = 'MK';
UPDATE llx_c_pays SET code_iso = 'MDG' WHERE code = 'MG';
UPDATE llx_c_pays SET code_iso = 'MWI' WHERE code = 'MW';
UPDATE llx_c_pays SET code_iso = 'MYS' WHERE code = 'MY';
UPDATE llx_c_pays SET code_iso = 'MDV' WHERE code = 'MV';
UPDATE llx_c_pays SET code_iso = 'MLI' WHERE code = 'ML';
UPDATE llx_c_pays SET code_iso = 'MLT' WHERE code = 'MT';
UPDATE llx_c_pays SET code_iso = 'MHL' WHERE code = 'MH';
UPDATE llx_c_pays SET code_iso = 'MTQ' WHERE code = 'MQ';
UPDATE llx_c_pays SET code_iso = 'MRT' WHERE code = 'MR';
UPDATE llx_c_pays SET code_iso = 'MUS' WHERE code = 'MU';
UPDATE llx_c_pays SET code_iso = 'MYT' WHERE code = 'YT';
UPDATE llx_c_pays SET code_iso = 'MEX' WHERE code = 'MX';
UPDATE llx_c_pays SET code_iso = 'FSM' WHERE code = 'FM';
UPDATE llx_c_pays SET code_iso = 'MDA' WHERE code = 'MD';
UPDATE llx_c_pays SET code_iso = 'MCO' WHERE code = 'MC';
UPDATE llx_c_pays SET code_iso = 'MNG' WHERE code = 'MN';
UPDATE llx_c_pays SET code_iso = 'MNE' WHERE code = 'ME';
UPDATE llx_c_pays SET code_iso = 'MSR' WHERE code = 'MS';
UPDATE llx_c_pays SET code_iso = 'MAR' WHERE code = 'MA';
UPDATE llx_c_pays SET code_iso = 'MOZ' WHERE code = 'MZ';
UPDATE llx_c_pays SET code_iso = 'MMR' WHERE code = 'MM';
UPDATE llx_c_pays SET code_iso = 'NAM' WHERE code = 'NA';
UPDATE llx_c_pays SET code_iso = 'NRU' WHERE code = 'NR';
UPDATE llx_c_pays SET code_iso = 'NPL' WHERE code = 'NP';
UPDATE llx_c_pays SET code_iso = 'NLD' WHERE code = 'NL';
UPDATE llx_c_pays SET code_iso = 'NCL' WHERE code = 'NC';
UPDATE llx_c_pays SET code_iso = 'NZL' WHERE code = 'NZ';
UPDATE llx_c_pays SET code_iso = 'NIC' WHERE code = 'NI';
UPDATE llx_c_pays SET code_iso = 'NER' WHERE code = 'NE';
UPDATE llx_c_pays SET code_iso = 'NGA' WHERE code = 'NG';
UPDATE llx_c_pays SET code_iso = 'NIU' WHERE code = 'NU';
UPDATE llx_c_pays SET code_iso = 'NFK' WHERE code = 'NF';
UPDATE llx_c_pays SET code_iso = 'MNP' WHERE code = 'MP';
UPDATE llx_c_pays SET code_iso = 'NOR' WHERE code = 'NO';
UPDATE llx_c_pays SET code_iso = 'OMN' WHERE code = 'OM';
UPDATE llx_c_pays SET code_iso = 'PAK' WHERE code = 'PK';
UPDATE llx_c_pays SET code_iso = 'PLW' WHERE code = 'PW';
UPDATE llx_c_pays SET code_iso = 'PSE' WHERE code = 'PS';
UPDATE llx_c_pays SET code_iso = 'PAN' WHERE code = 'PA';
UPDATE llx_c_pays SET code_iso = 'PNG' WHERE code = 'PG';
UPDATE llx_c_pays SET code_iso = 'PRY' WHERE code = 'PY';
UPDATE llx_c_pays SET code_iso = 'PER' WHERE code = 'PE';
UPDATE llx_c_pays SET code_iso = 'PHL' WHERE code = 'PH';
UPDATE llx_c_pays SET code_iso = 'PCN' WHERE code = 'PN';
UPDATE llx_c_pays SET code_iso = 'POL' WHERE code = 'PL';
UPDATE llx_c_pays SET code_iso = 'PRT' WHERE code = 'PT';
UPDATE llx_c_pays SET code_iso = 'PRI' WHERE code = 'PR';
UPDATE llx_c_pays SET code_iso = 'QAT' WHERE code = 'QA';
UPDATE llx_c_pays SET code_iso = 'REU' WHERE code = 'RE';
UPDATE llx_c_pays SET code_iso = 'ROU' WHERE code = 'RO';
UPDATE llx_c_pays SET code_iso = 'RUS' WHERE code = 'RU';
UPDATE llx_c_pays SET code_iso = 'RWA' WHERE code = 'RW';
UPDATE llx_c_pays SET code_iso = 'BLM' WHERE code = 'BL';
UPDATE llx_c_pays SET code_iso = 'SHN' WHERE code = 'SH';
UPDATE llx_c_pays SET code_iso = 'KNA' WHERE code = 'KN';
UPDATE llx_c_pays SET code_iso = 'LCA' WHERE code = 'LC';
UPDATE llx_c_pays SET code_iso = 'MAF' WHERE code = 'MF';
UPDATE llx_c_pays SET code_iso = 'SPM' WHERE code = 'PM';
UPDATE llx_c_pays SET code_iso = 'VCT' WHERE code = 'VC';
UPDATE llx_c_pays SET code_iso = 'WSM' WHERE code = 'WS';
UPDATE llx_c_pays SET code_iso = 'SMR' WHERE code = 'SM';
UPDATE llx_c_pays SET code_iso = 'STP' WHERE code = 'ST';
UPDATE llx_c_pays SET code_iso = 'SAU' WHERE code = 'SA';
UPDATE llx_c_pays SET code_iso = 'SEN' WHERE code = 'SN';
UPDATE llx_c_pays SET code_iso = 'SRB' WHERE code = 'RS';
UPDATE llx_c_pays SET code_iso = 'SYC' WHERE code = 'SC';
UPDATE llx_c_pays SET code_iso = 'SLE' WHERE code = 'SL';
UPDATE llx_c_pays SET code_iso = 'SGP' WHERE code = 'SG';
UPDATE llx_c_pays SET code_iso = 'SXM' WHERE code = 'SX';
UPDATE llx_c_pays SET code_iso = 'SVK' WHERE code = 'SK';
UPDATE llx_c_pays SET code_iso = 'SVN' WHERE code = 'SI';
UPDATE llx_c_pays SET code_iso = 'SLB' WHERE code = 'SB';
UPDATE llx_c_pays SET code_iso = 'SOM' WHERE code = 'SO';
UPDATE llx_c_pays SET code_iso = 'ZAF' WHERE code = 'ZA';
UPDATE llx_c_pays SET code_iso = 'SGS' WHERE code = 'GS';
UPDATE llx_c_pays SET code_iso = 'SSD' WHERE code = 'SS';
UPDATE llx_c_pays SET code_iso = 'ESP' WHERE code = 'ES';
UPDATE llx_c_pays SET code_iso = 'LKA' WHERE code = 'LK';
UPDATE llx_c_pays SET code_iso = 'SDN' WHERE code = 'SD';
UPDATE llx_c_pays SET code_iso = 'SUR' WHERE code = 'SR';
UPDATE llx_c_pays SET code_iso = 'SJM' WHERE code = 'SJ';
UPDATE llx_c_pays SET code_iso = 'SWZ' WHERE code = 'SZ';
UPDATE llx_c_pays SET code_iso = 'SWE' WHERE code = 'SE';
UPDATE llx_c_pays SET code_iso = 'CHE' WHERE code = 'CH';
UPDATE llx_c_pays SET code_iso = 'SYR' WHERE code = 'SY';
UPDATE llx_c_pays SET code_iso = 'TWN' WHERE code = 'TW';
UPDATE llx_c_pays SET code_iso = 'TJK' WHERE code = 'TJ';
UPDATE llx_c_pays SET code_iso = 'TZA' WHERE code = 'TZ';
UPDATE llx_c_pays SET code_iso = 'THA' WHERE code = 'TH';
UPDATE llx_c_pays SET code_iso = 'TLS' WHERE code = 'TL';
UPDATE llx_c_pays SET code_iso = 'TGO' WHERE code = 'TG';
UPDATE llx_c_pays SET code_iso = 'TKL' WHERE code = 'TK';
UPDATE llx_c_pays SET code_iso = 'TON' WHERE code = 'TO';
UPDATE llx_c_pays SET code_iso = 'TTO' WHERE code = 'TT';
UPDATE llx_c_pays SET code_iso = 'TUN' WHERE code = 'TN';
UPDATE llx_c_pays SET code_iso = 'TUR' WHERE code = 'TR';
UPDATE llx_c_pays SET code_iso = 'TKM' WHERE code = 'TM';
UPDATE llx_c_pays SET code_iso = 'TCA' WHERE code = 'TC';
UPDATE llx_c_pays SET code_iso = 'TUV' WHERE code = 'TV';
UPDATE llx_c_pays SET code_iso = 'UGA' WHERE code = 'UG';
UPDATE llx_c_pays SET code_iso = 'UKR' WHERE code = 'UA';
UPDATE llx_c_pays SET code_iso = 'ARE' WHERE code = 'AE';
UPDATE llx_c_pays SET code_iso = 'GBR' WHERE code = 'GB';
UPDATE llx_c_pays SET code_iso = 'USA' WHERE code = 'US';
UPDATE llx_c_pays SET code_iso = 'UMI' WHERE code = 'UM';
UPDATE llx_c_pays SET code_iso = 'URY' WHERE code = 'UY';
UPDATE llx_c_pays SET code_iso = 'UZB' WHERE code = 'UZ';
UPDATE llx_c_pays SET code_iso = 'VUT' WHERE code = 'VU';
UPDATE llx_c_pays SET code_iso = 'VEN' WHERE code = 'VE';
UPDATE llx_c_pays SET code_iso = 'VNM' WHERE code = 'VN';
UPDATE llx_c_pays SET code_iso = 'VGB' WHERE code = 'VG';
UPDATE llx_c_pays SET code_iso = 'VIR' WHERE code = 'VI';
UPDATE llx_c_pays SET code_iso = 'WLF' WHERE code = 'WF';
UPDATE llx_c_pays SET code_iso = 'ESH' WHERE code = 'EH';
UPDATE llx_c_pays SET code_iso = 'YEM' WHERE code = 'YE';
UPDATE llx_c_pays SET code_iso = 'ZMB' WHERE code = 'ZM';
UPDATE llx_c_pays SET code_iso = 'ZWE' WHERE code = 'ZW';

File diff suppressed because it is too large Load Diff

View File

@ -1200,5 +1200,4 @@ ALTER TABLE llx_c_type_resource ADD UNIQUE INDEX uk_c_type_resource_id (label, c
-- Fix: Missing instruction not correctly done into 3.5
-- VPGSQL8.2 ALTER TABLE llx_facture_fourn ALTER fk_mode_reglement DROP NOT NULL;
-- VPGSQL8.2 ALTER TABLE llx_facture_fourn ALTER fk_cond_reglement DROP NOT NULL;
-- VPGSQL8.2 ALTER TABLE llx_facture_fourn ALTER fk_cond_reglement DROP NOT NULL;

View File

@ -0,0 +1,21 @@
--
-- Be carefull to requests order.
-- This file must be loaded by calling /install/index.php page
-- when current version is 3.7.0 or higher.
--
-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new;
-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol;
-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60);
-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname;
-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60);
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
-- To restrict request to Mysql version x.y use -- VMYSQLx.y
-- To restrict request to Pgsql version x.y use -- VPGSQLx.y
-- To make pk to be auto increment (mysql): VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
-- To make pk to be auto increment (postgres) VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE
-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user);
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
ALTER TABLE llx_c_paiement ADD COLUMN accountancy_code varchar(32) DEFAULT NULL AFTER active;

View File

@ -1,6 +1,7 @@
-- ========================================================================
-- Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2004 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
@ -26,12 +27,13 @@
create table llx_c_paiement
(
id integer PRIMARY KEY,
code varchar(6) NOT NULL,
libelle varchar(30),
type smallint,
active tinyint DEFAULT 1 NOT NULL,
module varchar(32) NULL
id integer PRIMARY KEY,
code varchar(6) NOT NULL,
libelle varchar(30),
type smallint,
active tinyint DEFAULT 1 NOT NULL,
accountancy_code varchar(32) NULL,
module varchar(32) NULL
)ENGINE=innodb;

View File

@ -0,0 +1,11 @@
# Dolibarr language file - Source file is en_US - companies
JuridicalStatus600=Einzelfirma
JuridicalStatus601=Einfache Gesellschaft
JuridicalStatus602=Kollektivgesellschaft
JuridicalStatus603=Kommanditgesellschaft
JuridicalStatus604=Aktiengesellschaft (AG)
JuridicalStatus605=Kommanditaktiengesellschaft
JuridicalStatus606=Gesellschaft mit beschränkter Haftung (GmbH)
JuridicalStatus607=Genossenschaft
JuridicalStatus608=Verein
JuridicalStatus609=Stiftung

View File

@ -0,0 +1,20 @@
# Dolibarr language file - Source file is en_US - main
DIRECTION=ltr
FONTFORPDF=helvetica
FONTSIZEFORPDF=10
SeparatorDecimal=,
SeparatorThousand=None
FormatDateShort=%d/%m/%Y
FormatDateShortInput=%d/%m/%Y
FormatDateShortJava=dd/MM/yyyy
FormatDateShortJavaInput=dd/MM/yyyy
FormatDateShortJQuery=dd/MM/yy
FormatDateShortJQueryInput=dd/MM/yy
FormatHourShort=%H:%M
FormatHourShortDuration=%H:%M
FormatDateTextShort=%d %b %Y
FormatDateText=%d %B %Y
FormatDateHourShort=%d/%m/%Y %H:%M
FormatDateHourSecShort=%d/%m/%Y %H:%M:%S
FormatDateHourTextShort=%d %b %Y %H:%M
FormatDateHourText=%d %B %Y %H:%M

View File

@ -25,12 +25,15 @@ ListOfEvents= List of Dolibarr events
ActionsAskedBy=Events reported by
ActionsToDoBy=Events assigned to
ActionsDoneBy=Events done by
ActionsForUser=Events for user
ActionsForUsersGroup=Events for all users of group
AllMyActions= All my events/tasks
AllActions= All events/tasks
ViewList=List view
ViewCal=Month view
ViewDay=Day view
ViewWeek=Week view
ViewPerUser=Per user
ViewWithPredefinedFilters= View with predefined filters
AutoActions= Automatic filling
AgendaAutoActionDesc= Define here events for which you want Dolibarr to create automatically an event in agenda. If nothing is checked (by default), only manual actions will be included in agenda.

View File

@ -400,7 +400,7 @@ UniqueThirdParties=Total of unique third parties
InActivity=Open
ActivityCeased=Closed
ActivityStateFilter=Activity status
ProductsIntoElements=List of products into
ProductsIntoElements=List of products into %s
CurrentOutstandingBill=Current outstanding bill
OutstandingBill=Max. for outstanding bill
OutstandingBillReached=Reached max. for outstanding bill

View File

@ -10,6 +10,7 @@ Language_da_DA=Danish
Language_da_DK=Danish
Language_de_DE=German
Language_de_AT=German (Austria)
Language_de_CH=German (Switzerland)
Language_el_GR=Greek
Language_en_AU=English (Australia)
Language_en_GB=English (United Kingdom)

View File

@ -356,6 +356,7 @@ ActionNotApplicable=Not applicable
ActionRunningNotStarted=To start
ActionRunningShort=Started
ActionDoneShort=Finished
ActionUncomplete=Uncomplete
CompanyFoundation=Company/Foundation
ContactsForCompany=Contacts for this third party
ContactsAddressesForCompany=Contacts/addresses for this third party
@ -507,7 +508,7 @@ NbOfCustomers=Number of customers
NbOfLines=Number of lines
NbOfObjects=Number of objects
NbOfReferers=Number of referrers
Referers=Consumption
Referers=Refering objects
TotalQuantity=Total quantity
DateFromTo=From %s to %s
DateFrom=From %s

View File

@ -25,6 +25,8 @@ ListOfEvents= Liste des événements Dolibarr
ActionsAskedBy=Événements enregistrés par
ActionsToDoBy=Événements affectés à
ActionsDoneBy=Événements réalisés par
ActionsForUser=Evénements de l'utilisateur
ActionsForUsersGroup=Evénements de tous les utilisateurs du groupe
AllMyActions= Tous mes événements
AllActions= Tous les événements
ViewList=Vue liste

View File

@ -1,7 +1,7 @@
# Dolibarr language file - Source file is en_US - donations
Donation=Don
Donations=Dons
DonationRef=Réf. donation
DonationRef=Numéro d'ordre du reçu
Donor=Donateur
Donors=Donateurs
AddDonation=Ajouter don
@ -22,11 +22,19 @@ DonationStatusPromiseNotValidatedShort=Non validée
DonationStatusPromiseValidatedShort=Validée
DonationStatusPaidShort=Payé
ValidPromess=Valider promesse
DonationReceipt=Reçu de dons
DonationTitle=Reçu au titre des dons
DonationReceipt=Reçu au titre des dons<br>à certains organismes d'intéret général
DonationDatePayment=Date de versement ou du don
BuildDonationReceipt=Créer reçu
DonationsModels=Modèles de documents de bon de réception de dons
LastModifiedDonations=Les %s derniers dons modifiés
SearchADonation=Rechercher un don
DonationRecipient=Bénéficiaire des versements
ThankYou=Merci
IConfirmDonationReception=Le bénéficiaire reconnait avoir reçu au titre des versements ouvrant droit à réduction d'impôt, la somme de
FreeTextOnDonations=Message affiché sur le récépissé de versements ou dons
IConfirmDonationReception=Le bénéficiaire reconnait avoir reçu au titre des dons et versements ouvrant droit à réduction d'impôt, la somme de
# French Options
FrenchOptions=Options éligibles en France
DONATION_ART200=Les dons ou versements reçus sont éligibles à l'article 200 du CGI
DONATION_ART238=Les dons ou versements reçus sont éligibles à l'article 238bis du CGI
DONATION_ART885=Les dons ou versements reçus sont éligibles à l'article 885-0 V bis A du CGI

View File

@ -10,6 +10,7 @@ Language_da_DA=Danois
Language_da_DK=Danois
Language_de_DE=Allemand
Language_de_AT=Allemand (Autriche)
Language_de_CH=Allemand (Suisse)
Language_el_GR=Grèque
Language_en_AU=Anglais (Australie)
Language_en_GB=Anglais (Royaume-Uni)

View File

@ -356,6 +356,7 @@ ActionNotApplicable=Non applicable
ActionRunningNotStarted=A réaliser
ActionRunningShort=En cours
ActionDoneShort=Terminé
ActionUncomplete=Incomplets
CompanyFoundation=Société ou institution
ContactsForCompany=Contacts de ce tiers
ContactsAddressesForCompany=Contacts/adresses de ce tiers
@ -507,7 +508,7 @@ NbOfCustomers=Nombre de clients
NbOfLines=Nombre de lignes
NbOfObjects=Nombre d'objets
NbOfReferers=Nombre de références
Referers=Consommation
Referers=Objets référant
TotalQuantity=Quantité totale
DateFromTo=Du %s au %s
DateFrom=A partir du %s

View File

@ -38,10 +38,10 @@ Notify_BILL_SUPPLIER_CANCELED=Facture founisseur annulée
Notify_CONTRACT_VALIDATE=Validation contrat
Notify_FICHEINTER_VALIDATE=Validation fiche d'intervention
Notify_SHIPPING_VALIDATE=Validation expédition
Notify_SHIPPING_SENTBYMAIL=Envoi expedition par email
Notify_SHIPPING_SENTBYMAIL=Envoi expédition par email
Notify_MEMBER_VALIDATE=Validation adhérent
Notify_MEMBER_MODIFY=Adhérent modifié
Notify_MEMBER_SUBSCRIPTION=Adhérension
Notify_MEMBER_SUBSCRIPTION=Adhésion
Notify_MEMBER_RESILIATE=Résiliation adhérent
Notify_MEMBER_DELETE=Suppression adhérent
Notify_PROJECT_CREATE=Création de projet

View File

@ -1,5 +1,5 @@
# Dolibarr language file - Source file is en_US - shop
FailedConnectDBCheckModuleSetup=Failed to connect to oscommerce database. Check your module setup
FailedConnectDBCheckModuleSetup=Impossible de se connecter à la base de données oscommerce. Vérifiez la configuration du module
Shop=Boutique
ShopWeb=Boutique Web
LastOrders=Dernières commandes

View File

@ -1,6 +1,6 @@
# Dolibarr language file - Source file is en_US - admin
Foundation=Empresa/Instituição
VersionProgram=Versão Programa
VersionProgram=Versão do programa
VersionLastInstall=Versão da instalação inicial
VersionLastUpgrade=Versão da última atualização
SessionId=ID da sessao
@ -33,14 +33,15 @@ IfModuleEnabled=Nota: Sim só é eficaz se o módulo <b>%s</b> estiver ativado
RemoveLock=Exclua o arquivo <b>%s</ b> se tem permissão da ferramenta de atualização.
RestoreLock=Substituir o arquivo <b>%s</b> e apenas dar direito de ler a esse arquivo, a fim de proibir novas atualizações.
ErrorModuleRequireDolibarrVersion=Erro, este módulo requer uma versão %s ou superior do ERP
DictionarySetup=Dictionary setup
Dictionary=Dictionaries
DictionarySetup=Configuração Dicionário
ErrorReservedTypeSystemSystemAuto=Valores 'system' e 'systemauto' para o tipo é reservado. Você pode usar "usuário" como valor para adicionar seu próprio registro
ErrorCodeCantContainZero=Código não pode conter valor 0
DisableJavascript=Desativar as funções Javascript e AJax
ConfirmAjax=Utilizar os popups de confirmação Ajax
UseSearchToSelectCompanyTooltip=Além disso, se você tem um grande número de terceiros (> 100 000), você pode aumentar a velocidade, definindo COMPANY_DONOTSEARCH_ANYWHERE constante a 1 em Setup-> Outro. Busca, então, ser limitada até o início da string.
UseSearchToSelectCompany=Use campos de completação automática para escolher terceiros em vez de usar uma caixa de listagem.
ActivityStateToSelectCompany=Adicionar uma opção de filtro para exibir / ocultar thirdparties que estão atualmente em atividade ou deixou de ativar
UseSearchToSelectContactTooltip=Além disso, se você tem um grande número de terceiros (> 100 000), você pode aumentar a velocidade, definindo CONTACT_DONOTSEARCH_ANYWHERE constante a 1 em Setup-> Outro. Busca, então, ser limitada até o início da string.
UseSearchToSelectContact=Use campos de completação automática para escolher de contato (em vez de usar uma caixa de lista).
SearchFilter=Opções de filtro para pesquisa
NumberOfKeyToSearch=Número de caracteres para iniciar a pesquisa: %s
@ -49,8 +50,10 @@ UsePopupCalendar=Utilizar popups para a introdução das datas
UsePreviewTabs=Use guias de visualização
ShowPreview=Ver Preview
ThemeCurrentlyActive=Tema Atualmente Ativo
CurrentTimeZone=Zona Horária atual
CurrentTimeZone=Fuso horário PHP (servidor)
NextValueForInvoices=Próximo Valor (Faturas)
NextValueForDeposit=Próxima valor (depósito)
NextValueForReplacements=Próxima valor (substituições)
MustBeLowerThanPHPLimit=Observação: Parâmetros PHP limita o tamanho a <b>%s</b> %s de máximo, qualquer que seja o valor deste parâmetros
NoMaxSizeByPHPLimit=Nota: Não há limite definido em sua configuração do PHP
UseCaptchaCode=Utilização do Captcha no login
@ -70,19 +73,24 @@ Active=Ativo
SetupShort=Configuracao
OtherSetup=Outras configuracoes
CurrentValueSeparatorThousand=Separador milhar
Destination=Destino
IdModule=Módulo ID
IdPermissions=Permissão ID
ModulesCommon=Módulos Principais
ModulesInterfaces=Módulos de interface
ModulesSpecial=Módulos muito específico
ClientTZ=Fuso horário do cliente (usuário).
ClientHour=Horário do cliente (usuário)
OSTZ=Fuso horário do sistema operacional do servidor
PHPTZ=Fuso horário do servidor PHP
PHPServerOffsetWithGreenwich=Offset com Greenwich (segundos)
ClientOffsetWithGreenwich=Largura do Browser/Cleinte compesa Greenwich(segundos)
DaylingSavingTime=Horário de verão
CurrentHour=PHP Time (servidor)
CompanyTZ=Fuso Horario da empresa(empresa principal)
CompanyHour=Tempo empresa(empresa principal)
CurrentHour=Horário PHP (servidor)
CompanyTZ=Fuso Horário da empresa (empresa principal)
CompanyHour=Horário na empresa (empresa principal)
CurrentSessionTimeOut=Tempo limite da sessão atual
YouCanEditPHPTZ=Para definir um fuso horário diferente PHP (não obrigatório), você pode tentar adicionar um arquivo. Htacces com uma linha como esta "SetEnv TZ Europa / Paris"
OSEnv=OS Ambiente
MaxNbOfLinesForBoxes=Numero de linhas máximo para as caixas
PositionByDefault=Posição por padrao
@ -164,6 +172,9 @@ OfficialWebSite=Site oficial do Dolibarr
OfficialWebSiteFr=site web oficial falado/escrito em francês
OfficialDemo=Demo online ERP
OfficialMarketPlace=Loja Oficial para módulos / addons externos
OfficialWebHostingService=Serviços de hospedagem web referenciados (Hospedagem em nuvem)
ReferencedPreferredPartners=Parceiro preferido
OtherResources=Outros recursos
ForDocumentationSeeWiki=Para a documentação de usuário, programador ou Perguntas Frequentes (FAQ), consulte o wiki do ERP: <br><b><a href"%s" target="_blank">%s</a></b>
ForAnswersSeeForum=Para outras questões ou realizar as suas próprias consultas, pode utilizar o fórum do ERP: <br><b><a href="%s" target="_blank">%s</a></b>
HelpCenterDesc1=Esta área permite ajudá-lo a obter um serviço de suporte do ERP.
@ -206,73 +217,93 @@ CurrentVersion=Versão atual do ERP
CallUpdatePage=Chamar a página de atualização da estrutura e dados da base de dados %s.
LastStableVersion=Ultima Versão estável
GenericMaskCodes=Pode introduzir qualquer máscara numérica. Nesta máscara, pode utilizar as seguintes etiquetas:<br><b>{000000} </b> corresponde a um número que se incrementa em cada um de %s. Introduza tantos zeros como longitude que deseje mostrar. O contador completarse-á a partir de zeros pela esquerda com o fim de ter tantos zeros como a máscara. <br> <b> {000000+000}</ b> Igual que o anterior, com uma compensação correspondente ao número da direita do sinal + aplica-se a partir do primeiro %s. <br> <b> {000000@x}</b> igual que o anterior, mas o contador restabelece-se a zero quando se chega a x meses (x entre 1 e 12). Se esta opção se utiliza e x é de 2 ou superior, então a seq<65>ência {yy}{mm} ou {yyyy}{mm} também é necessário. <br> <b> {dd} </b> dias (01 a 31). <br><b> {mm}</b> mês (01 a 12). <br><b>{yy}</b>, <b>{yyyy}</b> ou <b>{e}</b> ano em 2, 4 ou 1 figura.<br>
GenericMaskCodes2=O código do cliente no caracteres Cccc000</b> o código do cliente em caracteres n é seguido por um contador dedicado para o cliente. Este contador dedicado ao cliente é reposto ao mesmo tempo do que o contador global. O código do tipo de empresa em n caracteres (ver tipos dicionário da empresa).
GenericMaskCodes3=qualquer outro caracter0 na máscara se fica sem alterações. <br>Não é permitido espaços <br>
GenericMaskCodes4a=<u>Exemplo em 99 <20> %s o Fornecedor a Empresa realizada em 31/03/2007: </u><br>
GenericMaskCodes4b=<u>Exemplo sobre um Fornecedor criado em 31/03/2007:</u><br>
GenericMaskCodes4c=<u>Exemplo de produto criado em 2007-03-01:</u><br>
GenericMaskCodes5=<b>ABC {yy} {mm} - {000000}</b> dará <b>ABC0701-000099</b> <br> <b>{0000 100 @ 1}-ZZZ / dd {} / XXX</b> dará <b>0199-ZZZ/31/XXX</b>
GenericNumRefModelDesc=Devolve um número criado na linha em uma máscara definida.
ServerAvailableOnIPOrPort=Servidor disponível não endereço <b>%s</b> na porta <b>%s</b>
ServerNotAvailableOnIPOrPort=Servidor não disponível não endereço <b>%s</b> na Porta <b>%s</b>
DoTestSend=Teste envio
DoTestSendHTML=Teste envio HTML
ErrorCantUseRazIfNoYearInMask=Erro, não pode usar a opção para redefinir @ contador a cada ano se sequência {yy} ou {aaaa} não está na máscara.
ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Erro, não se pode usar opção @ se a seq<65>ência {yy}{mm} ou {yyyy}{mm} não se encontra a máscara.
UMask=Parâmetro UMask de novos arquivos em Unix/Linux/BSD.
UMaskExplanation=Este parâmetro determina os direitos dos arquivos criados não servidor do ERP (durante o carregamento, por Exemplo).<br>Este deve ter o valor octal (por Exemplo, 0666 significa leitura / escrita para todos).<br>Este parâmetro não tem nenhum efeito sobre um servidor Windows.
SeeWikiForAllTeam=Veja o wiki para mais detalhes de todos os autores e da sua organização
UseACacheDelay=Delay for caching export response in seconds (0 or empty for no cache)
DisableLinkToHelpCenter=Hide link "<b>Need help or support</b>" on login page
DisableLinkToHelp=Hide link "<b>%s Online help</b>" on left menu
AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea.
UseACacheDelay=Atraso para a resposta cache em segundos (0 ou vazio para nenhum cache)
DisableLinkToHelpCenter=Esconde link <b> Precisa ajuda ou suporte </b>" na página de login
DisableLinkToHelp=Esconde link "<b>%s Ajuda online </b>" no menu esquerdo
AddCRIfTooLong=Não há envolvimento automático, por isso, se linha está fora da página em documentos, porque por muito tempo, você deve adicionar-se os retornos de carro no testar área.
ModuleDisabled=Módulo desabilitado
ModuleDisabledSoNoEvent=Módulo desabilitado, portanto, o evento não será criado.
ConfirmPurge=Are you sure you want to execute this purge ?<br>This will delete definitely all your data files with no way to restore them (ECM files, attached files...).
ConfirmPurge=Você tem certeza que quer executar esta limpeza?<br>Isso deletará definitivamente todos os seus arquivos sem meios para restaurá-los (arquivo ECM, arquivos anexados)
MinLength=Tamanho mínimo
LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory
ExamplesWithCurrentSetup=Examples with current running setup
ListOfDirectories=List of OpenDocument templates directories
ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.<br><br>Put here full path of directories.<br>Add a carriage return between eah directory.<br>To add a directory of the GED module, add here <b>DOL_DATA_ROOT/ecm/yourdirectoryname</b>.<br><br>Files in those directories must end with <b>.odt</b>.
ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\mydir<br>/home/mydir<br>DOL_DATA_ROOT/ecm/ecmdir
FollowingSubstitutionKeysCanBeUsed=<br>To know how to create your odt document templates, before storing them in those directories, read wiki documentation:
FirstnameNamePosition=Position of Name/Lastname
DescWeather=The following pictures will be shown on dashboard when number of late actions reach the following values:
KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices)
TestSubmitForm=Input test form
ThisForceAlsoTheme=Using this menu manager will also use its own theme whatever is user choice. Also this menu manager specialized for smartphones does not works on all smartphone. Use another menu manager if you experience problems on yours.
LanguageFilesCachedIntoShmopSharedMemory=Arquivos .lang transferidos na memória compartilhada
ExamplesWithCurrentSetup=Exemplos com a configuração atual em execução
ListOfDirectories=Lista de OpenDocument de modelos de diretórios
ListOfDirectoriesForModelGenODT=Lista de diretórios contendo modelos de arquivos com formato OpenDocument.<br><br>Coloque aqui o caminho completo do diretório.<br>Adicione um procedimento de retorno entre cada diretório.<br>Para adicionar um diretório de módulo GED, adicione aqui <b>DOL_DATA_ROOT/ecm/yourdirectoryname</b>.<br><br>Arquivos neste diretório devem ter final <b>.odt</b>.
NumberOfModelFilesFound=Números de arquivos de modelos ODT/ODS encontrados neste diretório
ExampleOfDirectoriesForModelGen=Exemplos de sintaxe:<br>c:\\mydir<br>/home/mydir<br>DOL_DATA_ROOT/ecm/ecmdir
FollowingSubstitutionKeysCanBeUsed=Para saber como criar seu documento seu modelo de documento odt, antes de armazená-lo naquele diretório, leia a documentação wiki
FirstnameNamePosition=Posição do Nome/Sobrenome
DescWeather=As imagens a seguir será mostrado no painel quando o número de ações final atingir os seguintes valores:
KeyForWebServicesAccess=A chave para usar Web Services (parâmetro "dolibarrkey" em webservices)
TestSubmitForm=Formulário teste de entrada
ThisForceAlsoTheme=Usando este gestor de menu também utilizará seu próprio tema independente da escolha do usuário. Este gestor de menu também é especializado para smartphones que não funcionam em todos smartphones. Use outro gestor de menu se você encontrar problemas no seu.
ThemeDir=Diretório de Skins
ConnectionTimeout=Tempo de conexão esgotado
ResponseTimeout=Tempo de resposta esgotado
SmsTestMessage=Test message from __PHONEFROM__ to __PHONETO__
ModuleMustBeEnabledFirst=Module <b>%s</b> must be enabled first before using this feature.
SmsTestMessage=Mensagem de teste a partir de __ para __ PHONEFROM__ PHONETO__
ModuleMustBeEnabledFirst=Módulo deve ser ativado antes de usar este recurso.
SecurityToken=Chave para URLs seguras
NoSmsEngine=No SMS sender manager available. SMS sender manager are not installed with default distribution (because they depends on an external supplier) but you can find some on %s
PDFDesc=You can set each global options related to the PDF generation
PDFAddressForging=Rules to forge address boxes
HideAnyVATInformationOnPDF=Hide all information related to VAT on generated PDF
HideDescOnPDF=Hide products description on generated PDF
HideRefOnPDF=Hide products ref. on generated PDF
UrlGenerationParameters=Parameters to secure URLs
SecurityTokenIsUnique=Use a unique securekey parameter for each URL
EnterRefToBuildUrl=Enter reference for object %s
GetSecuredUrl=Get calculated URL
ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons
OldVATRates=Old VAT rate
NewVATRates=New VAT rate
TextLong=Long text
Int=Integer
Float=Float
DateAndTime=Date and hour
Unique=Unique
Boolean=Boolean (Checkbox)
ExtrafieldSelect =Select list
ExtrafieldSelectList =Select from table
ExtrafieldSeparator=Separator
ExtrafieldCheckBox=Checkbox
ExtrafieldRadio=Radio button
LibraryToBuildPDF=Library used to build PDF
NoSmsEngine=No SMS gerente disponível remetente. Gerente de SMS do remetente não são instalados com a distribuição padrão (porque depende de um fornecedor externo), mas você pode encontrar em alguns.
PDFDesc=Você pode definir cada uma das opções globais relacionadas com a geração de PDF
PDFAddressForging=Regras de estabelecimento de caixas de endereço
HideAnyVATInformationOnPDF=Esconder todas as informações relativas ao IVA em PDF gerados
HideDescOnPDF=Esconder descrição dos produtos em PDF gerados
HideRefOnPDF=Esconder ref. dos produtos em PDF gerados
HideDetailsOnPDF=Ocultar artigos linhas detalhes sobre PDF gerado
UrlGenerationParameters=Parâmetros para proteger URLs
SecurityTokenIsUnique=Use um parâmetro SecureKey exclusivo para cada URL
EnterRefToBuildUrl=Digite referência para o objeto
GetSecuredUrl=Obter URL calculado
ButtonHideUnauthorized=Ocultar botões para ações não autorizadas em vez de mostrar os botões com deficiência
OldVATRates=Taxa de VAt anterior
NewVATRates=Nova taxa do VAT
PriceBaseTypeToChange=Modificar sobre os preços com valor de referência de base definida em
MassConvert=Inicie a conversão em massa
Float=Flutuar
Boolean=Booleano (Caixa de seleção)
ExtrafieldSelect =Selecionar lista
ExtrafieldSelectList =Selecione da tabela
ExtrafieldCheckBox=Caixa de seleção
ExtrafieldRadio=Botão de opção
ExtrafieldParamHelpselect=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor1 2, valor2 < 3, value3 ... A fim de ter a lista dependendo outro: 1, valor1 | parent_list_code: parent_key 2, valor2 | parent_list_code: parent_key
ExtrafieldParamHelpcheckbox=Lista de parâmetros tem que ser como chave, valor <br><br> por exemplo: <br> 1, valor1 <br> 2, valor2 <br> 3, value3 <br> ...
ExtrafieldParamHelpradio=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor 2, valor2 1 3, value3 ...
ExtrafieldParamHelpsellist=Lista Parâmetros vem de uma tabela <br> Sintaxe: table_name: label_field: id_field :: filtro <br> Exemplo: c_typent: libelle: id :: filtro <br><br> filtro pode ser um teste simples (por exemplo, ativo = 1) para exibir apenas o valor ativo <br> se você deseja filtrar extrafields usar syntaxt extra.fieldcode = ... (onde código de campo é o código de extrafield) <br><br> A fim de ter a lista dependendo outro: <br> c_typent: libelle: id: parent_list_code | parent_column: Filtro
LibraryToBuildPDF=Biblioteca utilizada para criar o PDF
WarningUsingFPDF=Atenção: Seu <b>conf.php</b> contém <b>dolibarr_pdf_force_fpdf</b> directiva <b>= 1.</b> Isto significa que você usar a biblioteca FPDF para gerar arquivos PDF. Esta biblioteca é velho e não suporta um monte de recursos (Unicode, a transparência da imagem, cirílicos, árabes e asiáticos, ...), por isso podem ocorrer erros durante a geração de PDF. <br> Para resolver isso e ter um apoio total de geração de PDF, faça o download <a href="http://www.tcpdf.org/" target="_blank">da biblioteca TCPDF</a> , em seguida, comentar ou remover a linha <b>$ dolibarr_pdf_force_fpdf = 1,</b> e adicione ao invés <b>$ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir'</b>
LocalTaxDesc=Alguns países aplicam 2 ou 3 impostos sobre cada linha de nota fiscal. Se este for o caso, escolha o tipo de segundo e terceiro imposto e sua taxa. Tipos possíveis são: <br> 1: impostos locais, aplicar sobre produtos e serviços, sem IVA (IVA não é aplicado sobre o imposto local) <br> 2: impostos locais, aplicar sobre produtos e serviços antes de IVA (IVA é calculado sobre o montante + localtax) <br> 3: impostos locais, aplicar em produtos sem IVA (IVA não é aplicado sobre o imposto local) <br> 4: impostos locais, aplicadas aos produtos antes de IVA (IVA é calculado sobre o montante + localtax) <br> 5: impostos locais, aplicar em serviços sem IVA (IVA não é aplicado sobre o imposto local) <br> 6: impostos locais, aplicar em serviços antes de IVA (IVA é calculado sobre o montante + localtax)
SMS=Mensagem de texto
RefreshPhoneLink=Refresh link
KeepEmptyToUseDefault=Keep empty to use default value
DefaultLink=Default link
CurrentlyNWithoutBarCode=Currently, you have <strong>%s</strong> records on <strong>%s</strong> %s without barcode defined.
LinkToTestClickToDial=Digite um número de telefone para ligar para mostrar um link para testar a url ClickToDial para o <strong>usuário% s</strong>
LinkToTest=Link clicável gerado para o <strong>usuário% s</strong> (clique número de telefone para testar)
KeepEmptyToUseDefault=Manter em branco para usar o valor padrão
DefaultLink=Link padrão
ValueOverwrittenByUserSetup=Atenção, este valor pode ser substituído por configuração específica do usuário (cada usuário pode definir sua própria url de clicktodial)
ExternalModule=Módulo externo - Instalado no diretório
BarcodeInitForThirdparties=Inicialização de código de barras em massa para clientes
BarcodeInitForProductsOrServices=Inicialização de código de barras em massa ou redefinir de produtos ou serviços
CurrentlyNWithoutBarCode=Atualmente, você tem <strong>registros% s em% s%</strong> s, sem código de barras definido.
InitEmptyBarCode=Valor Init para o próximo registros vazios
EraseAllCurrentBarCode=Apague todos os valores de código de barras atuais
ConfirmEraseAllCurrentBarCode=Tem certeza de que deseja apagar todos os valores de código de barras atuais?
AllBarcodeReset=Todos os valores de código de barras foram removidas
NoBarcodeNumberingTemplateDefined=Nenhum modelo de numeração de código de barras habilitado para configuração do módulo de código de barras.
NoRecordWithoutBarcodeDefined=Sem registro, sem valor de código de barras definido.
Module0Name=Usuários e Grupos
Module0Desc=Administração de Usuários e Grupos
Module1Name=Fornecedores
@ -281,16 +312,15 @@ Module2Desc=Administração comercial
Module10Desc=Administração simples da Contabilidade (repartição das receitas e pagamentos)
Module20Desc=Administração de Orçamentos/Propostas comerciais
Module22Desc=Administração e envio de E-Mails massivos
Module23Name=Energy
Module23Desc=Monitoring the consumption of energies
Module23Desc=Acompanhamento do consumo de energias
Module25Desc=Administração de pedidos de clientes
Module30Name=Faturas e Recibos
Module30Desc=Administração de faturas e recibos de clientes. Administração de faturas de Fornecedores
Module40Desc=Administração de Fornecedores
Module49Desc=Administração de Editores
Module50Desc=Administração de produtos
Module51Name=Mass mailings
Module51Desc=Mass paper mailing management
Module51Name=Correspondência em massa
Module51Desc=Gestão de correspondência do massa
Module52Name=Estoques de produtos
Module52Desc=Administração de estoques de produtos
Module53Desc=Administração de serviços
@ -307,56 +337,64 @@ Module75Name=Notas de despesas e deslocamentos
Module75Desc=Administração das notas de despesas e deslocamentos
Module80Desc=Administração de Expedições e Recepções
Module85Desc=Administração das contas financeiras de tipo contas bancarias, postais o efetivo
Module100Name=External site
Module100Desc=This module include an external web site or page into Dolibarr menus and view it into a Dolibarr frame
Module105Name=Mailman and SPIP
Module105Desc=Mailman or SPIP interface for member module
Module100Name=Site externo
Module100Desc=Este módulo inclui um web site ou página externa em menus Dolibarr e vê-lo em um quadro Dolibarr
Module105Name=Mailman e SPIP
Module105Desc=Mailman ou interface SPIP para o módulo membro
Module200Desc=sincronização com um anuário LDAP
Module310Desc=Administração de Membros de uma associação
Module330Desc=Administração de Favoritos
Module400Name=Projetos
Module400Desc=Administração dos projetos nos outros módulos
Module410Desc=Interface com calendário Webcalendar
Module510Name=Salaries
Module500Name=Despesas especiais (impostos, contribuições sociais, dividendos)
Module500Desc=Gestão de despesas especiais, como impostos, contribuição social, dividendos e salários
Module510Desc=Gestão de funcionários salários e pagamentos
Module600Desc=Envio de Notificações (por correio eletrônico) sobre os eventos de trabalho Dolibarr
Module700Desc=Administração de Bolsas
Module800Desc=Interface de visualização de uma loja OSCommerce mediante acesso direto à sua base de dados
Module900Desc=Interface de visualização de uma loja OSCommerce mediante Web services.\nEste módulo requer instalar os arquivos de /oscommerce_ws/ws_server em OSCommerce. Leia o Arquivo README da pasta /oscommerce_ws/ws_server.
Module1200Desc=Interface com o sistema de seguimento de incidências Mantis
Module1400Name=Accounting
Module1400Desc=Accounting management (double parties)
Module1400Name=Contabilidade
Module1400Desc=Gestão de Contabilidade (partes duplas)
Module1780Name=Categorias
Module1780Desc=Administração de categorias (produtos, Fornecedores e clientes)
Module2000Name=WYSIWYG editor
Module2000Desc=Allow to edit some text area using an advanced editor
Module2000Name=Editor WYSIWYG
Module2000Desc=Permitir editar alguma área de texto usando um editor avançado
Module2300Desc=Gerenciamento de tarefas agendadas
Module2400Desc=Administração da agenda e das ações
Module2500Name=Administração Eletrônica de Documentos
Module2600Name=Webservices
Module2600Desc=Enable the Dolibarr web services server
Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access
Module2600Desc=Ativar o servidor de serviços web Dolibarr
Module2700Name=Sobrescrito
Module2700Desc=Usar o serviço on-line Gravatar (www.gravatar.com) para mostrar fotos de usuários / membros (que se encontra com os seus e-mails). Precisa de um acesso à Internet
Module2800Desc=Cliente de FTP
Module2900Desc=GeoIP Maxmind conversions capabilities
Module2900Desc=GeoIP Maxmind conversões capacidades
Module3100Desc=Adicionar um botão do Skype no cartão de adeptos / terceiros / contatos
Module5000Name=Multi-Empresa
Module5000Desc=Permite-lhe gerenciar várias empresas
Module6000Name=Workflow
Module6000Desc=Workflow management
Module6000Desc=Gestão de fluxo de trabalho
Module20000Name=Ferias
Module20000Desc=Declare e siga funcionários de férias
Module50000Name=PayBox
Module50000Desc=Module to offer an online payment page by credit card with PayBox
Module50000Desc=Módulo para oferecer uma página de pagamento on-line por cartão de crédito com PayBox
Module50100Desc=Caixa registradora
Module50200Desc=Module to offer an online payment page by credit card with Paypal
Module50200Desc=Módulo para oferecer uma página de pagamento on-line por cartão de crédito com Paypal
Module54000Desc=Imprimir via Cups IPP Impressora.
Module55000Name=Abrir Enquete
Module55000Desc=Módulo para fazer pesquisas on-line (como Doodle, Studs, Rdvz ...)
Module59000Name=Margems
Module59000Desc=Module to manage margins
Module59000Desc=Módulo para gerenciar as margens
Module60000Desc=Módulo para gerenciar comissões
Module150010Name=Número do lote, de comer por data e data de validade
Module150010Desc=Número do lote, prazo de validade de venda gestão de data para o produto
Permission11=Consultar faturas
Permission12=Criar/Modificar faturas
Permission13=Unvalidate customer invoices
Permission13=Faturas de clientes Unvalidate
Permission14=Confirmar faturas
Permission15=Enviar faturas por correio
Permission16=Emitir pagamentos de faturas
Permission19=Eliminar faturas
Permission28=Export commercial proposals
Permission41=Consultar projetos
Permission42=Criar/Modificar projetos
Permission44=Eliminar projetos
@ -365,31 +403,33 @@ Permission92=Criar/Modificar Impostos e ICMS
Permission93=Eliminar Impostos e ICMS
Permission97=Ler linhas de faturas
Permission98=Repartir linhas de faturas
Permission106=Envios de exportação
Permission112=Criar/Modificar quantidade/eliminar registros bancários
Permission113=Configurar contas financeiras (criar, controlar as categorias)
Permission114=Exportar transações e registros bancários
Permission115=Exportar transações e extratos
Permission116=Captar transferências entre contas
Permission117=Gerenciar envio de cheques
Permission141=Read projects (also private i am not contact for)
Permission142=Create/modify projects (also private i am not contact for)
Permission144=Delete projects (also private i am not contact for)
Permission141=Leia projetos (também privado não estou em contato para)
Permission142=Criar / modificar projetos (também privado não estou em contato para)
Permission144=Excluir projetos (também privado não estou em contato para)
Permission146=Consultar Prestadores
Permission151=Consultar Débitos Diretos
Permission152=Configurar Débitos Diretos
Permission153=Consultar Débitos Diretos
Permission154=Credit/refuse standing orders receipts
Permission154=Crédito / recusar ordens permanentes recibos
Permission163=Ativar os serviços de um contrato
Permission164=Desativar os serviços de um contrato
Permission171=Criar/Modificar Deslocamento
Permission172=Eliminar Deslocamento
Permission173=Delete trips
Permission173=apagar viagens
Permission178=Exportar Deslocamento
Permission194=Consultar Linhas da Lagura de Banda
Permission205=Gerenciar Ligações
Permission213=Ativar Linha
Permission222=Criar/Modificar E-Mails (assunto, destinatários, etc.)
Permission223=Confirmar E-Mails (permite o envio)
Permission237=Exibir os destinatários e as informações
Permission238=Envio manual de e-mails
Permission239=Deletar e-mail após o envio
Permission241=Consultar categorias
@ -397,7 +437,6 @@ Permission242=Criar/Modificar categorias
Permission243=Eliminar categorias
Permission244=Ver conteúdo de categorias ocultas
Permission251=Consultar Outros Usuário, grupos e permissões
PermissionAdvanced251=Read other users
Permission252=Criar/Modificar outros usuário, grupos e permissões
Permission253=Modificar a senha de outros usuário
PermissionAdvanced253=Criar ou modificar usuários internos ou externos e suas permissões
@ -424,6 +463,10 @@ Permission401=Consultar ativos
Permission402=Criar/Modificar ativos
Permission403=Confirmar ativos
Permission404=Eliminar ativos
Permission510=Leia Salários
Permission512=Criar / modificar salários
Permission514=Excluir salários
Permission517=Salários de exportação
Permission532=Criar ou modificar serviços
Permission534=Excluir serviços
Permission536=Visualizar ou gerenciar serviços ocultos
@ -444,9 +487,10 @@ Permission1231=Consultar faturas de Fornecedores
Permission1232=Criar faturas de Fornecedores
Permission1233=Confirmar faturas de Fornecedores
Permission1234=Eliminar faturas de Fornecedores
Permission1235=Send supplier invoices by email
Permission1235=Enviar por e-mail faturas de fornecedores
Permission1236=Exportar faturas de Fornecedores, atributos e pagamentos
Permission1251=Run mass imports of external data into database (data load)
Permission1237=Pedidos a fornecedores Export e seus detalhes
Permission1251=Execute as importações em massa de dados externos para o banco de dados (carga de dados)
Permission1321=Exportar faturas a clientes, atributos e cobranças
Permission1421=Exportar faturas de clientes e atributos
Permission23001 =Ler tarefa agendada
@ -455,32 +499,41 @@ Permission23003 =Apagar tarefa agendada
Permission2401=Ler ações (eventos ou tarefas) vinculadas na sua conta
Permission2402=Criar/Modificar/Eliminar ações (eventos ou tarefas) vinculadas na sua conta
Permission2403=Consultar ações (acontecimientos ou tarefas) de outros
Permission2411=Read actions (events or tasks) of others
Permission2412=Create/modify actions (events or tasks) of others
Permission2413=Delete actions (events or tasks) of others
Permission2411=Leia ações (eventos ou tarefas) de outros
Permission2412=Criar / modificar ações (eventos ou tarefas) de outros
Permission2413=Excluir ações (eventos ou tarefas) de outros
Permission2501=Enviar ou eliminar documentos
Permission2502=Baixar documentos
Permission2515=Configuração de diretorios de documentos
Permission2801=Use FTP client in read mode (browse and download only)
Permission2802=Use FTP client in write mode (delete or upload files)
Permission50101=Use Point of sales
Permission50201=Read transactions
Permission50202=Import transactions
Permission54001=Print
DictionaryCompanyType=Thirdparties type
DictionaryRegion=Regions
DictionaryCountry=Countries
DictionaryCurrency=Currencies
DictionaryPaymentConditions=Payment terms
DictionaryPaymentModes=Payment modes
DictionaryTypeContact=Contact/Address types
DictionaryPaperFormat=Paper formats
DictionaryFees=Type of fees
DictionarySendingMethods=Shipping methods
DictionaryStaff=Staff
DictionaryAvailability=Delivery delay
DictionaryOrderMethods=Ordering methods
DictionarySource=Origin of proposals/orders
Permission2801=Use cliente FTP em modo de leitura (navegar e baixar apenas)
Permission2802=Use o cliente FTP no modo de escrita (apagar ou fazer upload de arquivos)
Permission50101=Usar ponto de vendas
Permission50202=Importar transacções
Permission54001=Impressão
Permission55001=Leia urnas
Permission55002=Criar / modificar urnas
Permission59001=Leia margens comerciais
Permission59002=Definir margens comerciais
DictionaryCompanyType=Tipo de clientes
DictionaryCompanyJuridicalType=Tipos jurídicos de thirdparties
DictionaryProspectLevel=Nível potencial Prospect
DictionaryCanton=Estado / cantões
DictionaryCivility=Título Civilidade
DictionaryActions=Tipo de eventos da agenda
DictionarySocialContributions=Contribuições Sociais tipos
DictionaryVAT=Taxas de VAT ou imposto sobre vendas de moeda
DictionaryRevenueStamp=Quantidade de selos fiscais
DictionaryPaymentConditions=As condições de pagamento
DictionaryPaymentModes=Modos de pagamento
DictionaryTypeContact=Tipos Contato / Endereço
DictionaryEcotaxe=Ecotaxa (REEE)
DictionaryPaperFormat=Formatos de papel
DictionarySendingMethods=Métodos do transporte
DictionaryStaff=Pessoal
DictionaryOrderMethods=Métodos de compra
DictionarySource=Origem das propostas / ordens
DictionaryAccountancyplan=Plano de contas
DictionaryAccountancysystem=Modelos para o plano de contas
SetupSaved=configuração guardada
BackToDictionaryList=Voltar para a lista de dicionários
VATReceivedOnly=Impostos especiais não faturaveis
@ -489,27 +542,36 @@ VATIsUsedDesc=o tipo de ICMS proposto por default em criações de Orçamentos,
VATIsNotUsedDesc=o tipo de ICMS proposto por default é 0. Este é o caso de associações, particulares o algunas pequenhas sociedades.
VATIsUsedExampleFR=em Francia, se trata das sociedades u organismos que eligen um regime fiscal general (General simplificado o General normal), regime ao qual se declara o ICMS.
VATIsNotUsedExampleFR=em Francia, se trata de associações exentas de ICMS o sociedades, organismos o profesiones liberales que han eligedo o regime fiscal de módulos (ICMS em franquicia), pagando um ICMS em franquicia sem fazer declaração de ICMS. Esta elecção hace aparecer a anotação "IVA não aplicable - art-293B do CGI" em faturas.
LocalTax1ManagementES=RE Management
LocalTax1IsUsedDescES=The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:<br>If te buyer is not subjected to RE, RE by default=0. End of rule.<br>If the buyer is subjected to RE then the RE by default. End of rule.<br>
LocalTax1IsNotUsedDescES=By default the proposed RE is 0. End of rule.
LocalTax1IsUsedExampleES=In Spain they are professionals subject to some specific sections of the Spanish IAE.
LocalTax1IsNotUsedExampleES=In Spain they are professional and societies and subject to certain sections of the Spanish IAE.
LocalTax2ManagementES=IRPF Management
LocalTax2IsUsedDescES=The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:<br>If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.<br>If the seller is subjected to IRPF then the IRPF by default. End of rule.<br>
LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule.
LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules.
LocalTax2IsNotUsedExampleES=In Spain they are bussines not subject to tax system of modules.
LocalTax1IsUsed=Utilize segundo imposto
LocalTax1IsNotUsed=Não use o segundo imposto
LocalTax1IsUsedDesc=Use um segundo tipo de impostos (excepto o IVA)
LocalTax1IsNotUsedDesc=Não use outro tipo de impostos (excepto o IVA)
LocalTax1Management=Segundo tipo de imposto
LocalTax2IsUsed=Use terceiro imposto
LocalTax2IsNotUsed=Não use terceiro imposto
LocalTax2IsUsedDesc=Use um terceiro tipo de impostos (excepto o VAT)
LocalTax2IsNotUsedDesc=Não use outro tipo de impostos (excepto o VAT)
LocalTax2Management=Terceiro tipo de imposto
LocalTax1IsUsedDescES=A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo: <br> Se te comprador não está sujeito a RE, RP por default = 0. Fim da regra. <br> Se o comprador está sujeito a RE então o RE por padrão. Fim da regra. <br>
LocalTax1IsUsedExampleES=Na Espanha, eles são profissionais sujeitos a algumas seções específicas do IAE espanhol.
LocalTax1IsNotUsedExampleES=Na Espanha, eles são profissionais e sociedades e sujeito a determinadas seções do IAE espanhol.
LocalTax2ManagementES=Gestão IRPF
LocalTax2IsUsedDescES=A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo: <br> Se o vendedor não está sujeito a IRPF, então IRPF por default = 0. Fim da regra. <br> Se o vendedor é submetido a IRPF, em seguida, o IRPF por padrão. Fim da regra. <br>
LocalTax2IsNotUsedDescES=Por padrão, o IRPF proposta é 0. Fim da regra.
LocalTax2IsUsedExampleES=Na Espanha, freelancers e profissionais independentes que prestam serviços e empresas que escolheram o sistema fiscal de módulos.
LocalTax2IsNotUsedExampleES=Na Espanha, eles são bussines não sujeitas ao regime fiscal dos módulos.
NbOfDays=N<> de Dias
AlwaysActive=Sempre Ativo
UpdateRequired=Parâmetros sistema necessita de uma atualização. Para atualizar click em <a href
Upgrade=Atualização
MenuUpgrade=Upgrade / Extend
MenuUpgrade=Atualização / Estender
DataRootServer=Pasta raiz dos arquivos de dados
PearPackages=pacotes Pear
Browser=Navegador
Server=Servidor
DatabaseServer=Database host
DatabaseUser=Database user
DatabasePassword=Database password
DatabaseServer=Hospedeiro do banco de dados
DatabaseUser=Usuário de banco de dados
DatabasePassword=Senha de banco de dados
DatabaseConfiguration=configuração da base de dados
NbOfRecord=N<> Reg.
ConstraintsToShowOrNotEntry=Constrangimento para mostrar não menu de entrada
@ -521,21 +583,18 @@ MenuNewUser=Novo Usuário
MenuTopManager=Administração do menu superior
MenuLeftManager=Administração do menu esquerdo
MenuManager=Administração do menu
MenuSmartphoneManager=Smartphone menu manager
DefaultMenuTopManager=Administração do menu superior
DefaultMenuLeftManager=Administração do menu esquerdo
DefaultMenuManager=Standard menu manager
DefaultMenuSmartphoneManager=Smartphone menu manager
Skin=Tema Visual
DefaultSkin=Tema visual por default
MaxSizeList=Longuitude máxima de listados
DefaultMaxSizeList=Longuitude máxima de listados por default
DefaultLanguage=Idioma por default a utilizar (código idioma)
EnableMultilangInterface=Ativar interface Multi Idioma
EnableShowLogo=Show logo on left menu
EnableShowLogo=Mostrar logotipo no menu à esquerda
SystemSuccessfulyUpdated=a sua sitema está atualizado
CompanyTown=Município
Logo=Logo
Logo=Logotipo
DoNotSuggestPaymentMode=Não sugerenciar
NoActiveBankAccountDefined=Nenhuma conta bancaria ativa definida
BankModuleNotActive=O módulo de contas bancarias não se encontra ativado
@ -544,10 +603,22 @@ DelayBeforeWarning=Prazo antes de alerta
DelaysBeforeWarning=Prazos antes de alerta
DelaysOfToleranceBeforeWarning=Prazos de tolerância antes de alerta
DelaysOfToleranceDesc=Esta janela permite configurar os prazos de tolerância antes de que se alerte com o símbolo %s, sobre cada elemento em atraso.
Delays_MAIN_DELAY_ACTIONS_TODO=Atraso de tolerância (em dias) antes de alerta sobre eventos planejados ainda não realizados
Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Atraso de tolerância (em dias) antes de alerta sobre encomendas ainda não processados
Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Atraso de tolerância (em dias) antes de alerta sobre fornecedores encomendas ainda não processados
Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Atraso de tolerância (em dias) antes de alerta sobre as propostas para fechar
Delays_MAIN_DELAY_PROPALS_TO_BILL=Atraso de tolerância (em dias) antes de alerta sobre as propostas não faturados
Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerância de atraso (em dias) antes de alerta sobre serviços para ativar
Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerância de atraso (em dias) antes de alerta sobre serviços expirados
Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerância de atraso (em dias) antes de alerta em faturas de fornecedores não pagas
Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerância de atraso (em dias) antes de alerta nas faturas dos clientes não remunerados
Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerância de atraso (em dias) antes de alerta sobre pendente reconciliação bancária
Delays_MAIN_DELAY_MEMBERS=Tolerância de atraso (em dias) antes de alerta sobre taxa de adesão adiada
Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerância de atraso (em dias) antes de alerta para cheques depósito para fazer
SetupDescription1=Todas as opções do área de configuração são opções que permitem configurar a Dolibarr antes de começar a sua utilização.
SetupDescription2=Os 2 Passos indispensables da configuração são as 2 primeiroas ao menu esquerdo: a configuração da empresa/Instituição e a configuração dos módulos:
SetupDescription4=A configuração <b>Módulos</b> é indispensável já que Dolibarr não é um ERP/CRM monolítico, é um conjunto de módulos mais ou menos independente. Depois de ativar os módulos que lhe interessem verificar as suas funcionalidades nos menus de Dolibarr.
SetupDescription5=Other menu entries manage optional parameters.
SetupDescription5=Outros itens do menu gerenciar parâmetros opcionais.
InfoDolibarr=Infos Dolibarr
InfoOS=Informações do sistema operacional
InfoWebServer=Informações do Web Server
@ -555,7 +626,7 @@ InfoDatabase=Informações da base de dados
InfoPHP=Informações do PHP
InfoPerf=Infos performances
ListOfSecurityEvents=Listado de eventos de segurança Dolibarr
SecurityEventsPurged=Security events purged
SecurityEventsPurged=Os eventos de segurança expurgados
LogEventDesc=Pode ativar o registo de eventos de segurança Dolibarr aqui. os administradores podem ver o seu conteúdo a travé de menu <b>ferramentas do sistema - Auditoria</b>.Atenção, esta característica pode consumir uma gran quantidade de dados na base de dados.
AreaForAdminOnly=Estas funções só são acessíveis a um Usuário administrador. a função de administrador e as ajudas para os administradores são definidas em Dolibarr por o seguinte símbolo:
SystemInfoDesc=Esta informação do sistema é informação técnica acessíveis só de leitura a aos administradores.
@ -564,6 +635,7 @@ CompanyFundationDesc=Editar nesta página toda a informação conhecida sobre a
DisplayDesc=pode encontrar aqui todos os parâmetros relacionados com a aparência de Dolibarr
AvailableModules=Módulos disponíveis
ToActivateModule=Para ativar os módulos, ir à área de configuração.
SessionTimeOut=Tempo Esgotado para a sessão
SessionExplanation=Asegura que o período de sessões não expirará antes deste momento. sem embargo, a Administração do período de sessões de PHP não garantiza que o período de sessões expira depois deste período: Este será o caso sim um sistema de limpieza do caché de sessões é ativo. <br> Nota: sem mecanismo especial, o mecanismo interno para limpiar o período de sessões de PHP todos os acessos <b>%s/%s</b>, mas só em torno à acesso de Outros períodos de sessões.
TriggersAvailable=Triggers disponíveis
TriggersDesc=os triggers são Arquivos que, une vez depositados na pasta <b>htdocs/core/triggers</b>, modifican o comportamento do workflow de Dolibarr. Realizan ações suplementarias, desencadenadas por os eventos Dolibarr (criação de empresa, validação fatura, fechar contrato, etc).
@ -572,6 +644,7 @@ TriggerDisabledAsModuleDisabled=Triggers deste Arquivo desativados já que o mó
TriggerAlwaysActive=Triggers deste Arquivo sempre ativos, já que os módulos Dolibarr relacionados estão ativados
TriggerActiveAsModuleActive=Triggers deste Arquivo ativos já que o módulo <b>%s</b> está ativado
GeneratedPasswordDesc=Indique aqui que norma quer utilizar para Gerar as Senhas quando queira Gerar uma Nova senha
DictionaryDesc=Defina aqui todas datas de referência. Você pode completar o valor pré-definido com o seu.
ConstDesc=qualquer outro parâmetro não editável em páginas anteriores
OnceSetupFinishedCreateUsers=Atenção, está baixo de uma conta de administrador de Dolibarr. os administradores se utilizam para configurar a Dolibarr. Para um uso corrente de Dolibarr, recomenda-se utilizar uma conta não administrador criada a partir do menu "Usuários e grupos"
MiscellaneousDesc=Defina aqui os Outros parâmetros relacionados com a segurança.
@ -581,9 +654,9 @@ MAIN_MAX_DECIMALS_UNIT=Casas decimais máximas para os preços unitários
MAIN_MAX_DECIMALS_TOT=Casas decimais máximas para os preços totais
MAIN_MAX_DECIMALS_SHOWN=Casas decimais máximas para os valores mostrados em janela (Colocar <b>...</b> depois do máximo quer ver <b>...</b> quando o número se trunque à mostrar em janela)
MAIN_DISABLE_PDF_COMPRESSION=Utilizar a compressão PDF para os Arquivos PDF gerados
MAIN_ROUNDING_RULE_TOT=Size of rounding range (for rare countries where rounding is done on something else than base 10)
UnitPriceOfProduct=Net unit price of a product
TotalPriceAfterRounding=Total price (net/vat/incl tax) after rounding
MAIN_ROUNDING_RULE_TOT=Tamanho da faixa de arredondamento (para os países raros em que o arredondamento é feito em outra coisa do que base 10)
UnitPriceOfProduct=Preço líquido unitário de um produto
TotalPriceAfterRounding=Preço total (imposto net / cuba / manhã) após arredondamento
ParameterActiveForNextInputOnly=parâmetro efetivo somente a partir das próximas sessões
NoEventOrNoAuditSetup=não são registrado eventos de segurança. Esto pode ser normal sim a auditoría não ha sido habilitado na página "configuração->segurança->auditoría".
NoEventFoundWithCriteria=não são encontrado eventos de segurança para tais criterios de pesquisa.
@ -592,57 +665,64 @@ BackupDesc2=* Guardar o conteúdo da pasta de documentos (<b>%s</b>) que contém
BackupDesc3=* Guardar o conteúdo de a sua base de dados em um Arquivo de despejo. Para ele pode utilizar o assistente a continuação.
BackupDescX=O Arquivo gerado deverá localizar-se em um lugar seguro.
BackupDescY=O arquivo gerado devevrá ser colocado em local seguro.
BackupPHPWarning=Backup não pode ser garantida com este método. Prefere uma anterior
RestoreDesc=Para restaurar uma Cópia de segurança de Dolibarr, voçê deve:
RestoreDesc2=* Tomar o Arquivo (Arquivo zip, por Exemplo) da pasta dos documentos e Descompactá-lo na pasta dos documentos de uma Nova Instalação de Dolibarr diretorio o na pasta dos documentos desta Instalação (<b>%s</b>).
RestoreDesc3=* Recargar o Arquivo de despejo guardado na base de dados de uma Nova Instalação de Dolibarr o desta Instalação. Atenção, uma vez realizada a Restaurar, deverá utilizar um login/senha de administrador existente ao momento da Cópia de segurança para conectarse. Para restaurar a base de dados na Instalação atual, pode utilizar o assistente a continuação.
RestoreMySQL=MySQL import
ForcedToByAModule=This rule is forced to <b>%s</b> by an activated module
PreviousDumpFiles=Available database backup dump files
WeekStartOnDay=First day of week
RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Programs version %s differs from database version %s)
YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user <b>%s</b> or you must add -W option at end of command line to provide <b>%s</b> password.
YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP
DownloadMoreSkins=More skins to download
SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence without hole and with no reset
ShowProfIdInAddress=Show professionnal id with addresses on documents
TranslationUncomplete=Partial translation
MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled)
MAIN_DISABLE_METEO=Disable meteo view
TestLoginToAPI=Test login to API
ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it.
ExternalAccess=External access
MAIN_PROXY_USE=Use a proxy server (otherwise direct access to internet)
MAIN_PROXY_HOST=Name/Address of proxy server
MAIN_PROXY_PORT=Port of proxy server
MAIN_PROXY_USER=Login to use the proxy server
MAIN_PROXY_PASS=Password to use the proxy server
DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s.
ExtraFields=Complementary attributes
ExtraFieldsLines=Complementary attributes (lines)
ExtraFieldsThirdParties=Complementary attributes (thirdparty)
ExtraFieldsContacts=Complementary attributes (contact/address)
ExtraFieldsMember=Complementary attributes (member)
ExtraFieldsMemberType=Complementary attributes (member type)
ExtraFieldsCustomerOrders=Complementary attributes (orders)
ExtraFieldsCustomerInvoices=Complementary attributes (invoices)
ExtraFieldsSupplierOrders=Complementary attributes (orders)
ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
ExtraFieldsProject=Complementary attributes (projects)
ExtraFieldsProjectTask=Complementary attributes (tasks)
AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
SendingMailSetup=Setup of sendings by email
SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba).
RestoreMySQL=importar do MySQL
ForcedToByAModule=Esta regra é forçado a por um módulo ativado
PreviousDumpFiles=Arquivos de despejo de backup de banco de dados disponível
RunningUpdateProcessMayBeRequired=A execução do processo de atualização parece ser exigido (Programas versão difere da versão do banco de dado)
YouMustRunCommandFromCommandLineAfterLoginToUser=Você deve executar este comando a partir da linha de comando após o login a um shell com o usuário ou você deve adicionar-W opção no final da linha de comando para fornece a senha.
YourPHPDoesNotHaveSSLSupport=Funções SSL não disponíveis no seu PHP
DownloadMoreSkins=Mais skins para baixar
SimpleNumRefModelDesc=Retorna o número de referência com o formato% syymm-nnnn, onde aa é o ano, mm é o mês e nnnn é uma sequência sem buracos e sem reinicialização
ShowProfIdInAddress=Mostrar ID profissional com endereços em documentos
ShowVATIntaInAddress=Esconder VAT Intra número com endereços em documentos
TranslationUncomplete=Tradução parcial
SomeTranslationAreUncomplete=Alguns idiomas podem ser parcialmente traduzido ou pode conter erros. Se detectar alguma, você pode corrigir arquivos de idioma registrando a <a href="http://transifex.com/projects/p/dolibarr/" target="_blank">http://transifex.com/projects/p/dolibarr/</a> .
MenuUseLayout=Faça cardápio compativel vertical (opção javascript não deve ser desativado)
MAIN_DISABLE_METEO=Desativar vista meteo
TestLoginToAPI=Testar Acesso ao API
ProxyDesc=Algumas características do Dolibarr precisa ter um acesso à Internet ao trabalho. Defina aqui os parâmetros para isso. Se o servidor Dolibarr está atrás de um servidor proxy, esses parâmetros diz Dolibarr como acessar Internet através dele.
MAIN_PROXY_USE=Usar um servidor proxy (caso contrário, o acesso direto a internet)
MAIN_PROXY_HOST=Nome / Endereço do servidor proxy
MAIN_PROXY_PORT=Porto de servidor proxy
MAIN_PROXY_USER=Entre para usar o servidor proxy
DefineHereComplementaryAttributes=Defina aqui todos os atributos, não já disponíveis por padrão, e que pretende ser apoiada por.
ExtraFieldsThirdParties=Atributos complementares (clientes)
ExtraFieldsContacts=Atributos complementares (contato / endereço)
ExtraFieldsCustomerOrders=Atributos complementares (ordens)
ExtraFieldsSupplierOrders=Atributos complementares (ordens)
ExtraFieldHasWrongValue=Atributo% s tem um valor errado.
AlphaNumOnlyCharsAndNoSpace=apenas alfanuméricos caracteres sem espaço
AlphaNumOnlyLowerCharsAndNoSpace=apenas alfanumérico e minúsculas, sem espaço
SendingMailSetup=Configuração de envios por e-mail
SendmailOptionNotComplete=Atenção, em alguns sistemas Linux, para enviar e-mail de seu e-mail, sendmail instalação execução must contém opção-ba (mail.force_extra_parameters parâmetros no seu arquivo php.ini). Se alguns destinatários não receber e-mails, tentar editar este parâmetro PHP com mail.force_extra_parameters =-ba).
PathToDocuments=Rotas de acesso a documentos
SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages.
TranslationSetup=Configuration de la traduction
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b>
YouMustEnableOneModule=You must at least enable 1 module
YesInSummer=Yes in summer
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
SearchOptim=Search optimization
FixTZ=TimeZone fix
GetBarCode=Get barcode
EmptyNumRefModelDesc=The code is free. This code can be modified at any time.
SendmailOptionMayHurtBuggedMTA=Recurso para enviar e-mails usando o método "PHP mail direto" irá gerar uma mensagem de correio que pode não ser corretamente analisado por alguns servidores de correio de recepção. Resultado é que alguns e-mails não podem ser lidos por pessoas, alojadas pela thoose plataformas escutas. É caso para alguns provedores de Internet (Ex: Laranja na França). Este não é um problema em Dolibarr nem em PHP, mas para receber servidor de correio. No entanto, pode adicionar a opção MAIN_FIX_FOR_BUGGED_MTA a 1 no setup - outro para modificar Dolibarr para evitar isso. No entanto, você pode experimentar problemas com outros servidores que respeitem rigorosamente o padrão SMTP. A outra solução (recommanded) é usar o método de "biblioteca de tomada de SMTP" que não tem desvantagens.
TranslationSetup=Configuração de tradução
TranslationDesc=Escolha da língua visível na tela pode ser modificado: * A nível mundial a partir do menu strong Home - Setup - Exibição* Para o usuário apenas de guia de exibição do usuário de cartão de usuário (clique sobre o login no topo da tela).
TotalNumberOfActivatedModules=Número total de módulos de recursos ativados:
YouMustEnableOneModule=Você deve, pelo menos, permitir que um módulo
ClassNotFoundIntoPathWarning=A classe não foi encontrado em caminho PHP
OnlyFollowingModulesAreOpenedToExternalUsers=Note-se, apenas seguintes módulos são abertos a usuários externos (o que quer que sejam permissão desses usuários):
SuhosinSessionEncrypt=Armazenamento de sessão criptografada pelo Suhosin
ConditionIsCurrently=Condição é atualmente
YouUseBestDriver=Você usa o driverque é o melhor driver disponível atualmente.
YouDoNotUseBestDriver=Você usa drive mas recomendado.
NbOfProductIsLowerThanNoPb=Você tem produtos / serviços somente no banco de dados. Isso não exigida qualquer otimização particular.
SearchOptim=Pesquisa otimização
YouHaveXProductUseSearchOptim=Você tem produto no banco de dados. Você deve adicionar o PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 em Home-Setup-Outros, você limitar a pesquisa ao início de cordas que fazem possível para banco de dados para usar o índice e você deve obter uma resposta imediata.
BrowserIsOK=Você está usando o navegador. Este navegador é ok para segurança e desempenho.
BrowserIsKO=Você está usando o navegador web% s. Este navegador é conhecido por ser uma má escolha para a segurança, desempenho e confiabilidade. Aconselhamos que você use o Firefox, Chrome, Opera ou Safari.
XDebugInstalled=XDebug é carregado.
XCacheInstalled=XCache é carregado.
AddRefInList=Mostrar ao cliente / fornecedor ref em lista (lista ou combobox selecionar) e mais de hiperlink
FieldEdition=Edição de campo
FixTZ=Correção de fuso horário
FillThisOnlyIfRequired=Exemplo: 2 (preencher somente se deslocamento de fuso horário problemas são experientes)
EmptyNumRefModelDesc=O código é livre. Este código pode ser modificado a qualquer momento.
PasswordGenerationStandard=Devolve uma senha generada por o algoritmo interno Dolibarr: 8 caracteres, números e caracteres em minúsculas mescladas.
PasswordGenerationNone=não oferece Senhas. a senha se introduce manualmente.
UserGroupSetup=Configuração Módulo Usuários e Grupos
@ -651,8 +731,8 @@ RuleForGeneratedPasswords=Norma para a geração das Senhas Propostas
DoNotSuggest=não propor
EncryptedPasswordInDatabase=Permitir encriptação das Senhas na base de dados
DisableForgetPasswordLinkOnLogonPage=não mostrar o link "senha esquecida" na página de login
UsersSetup=Users module setup
UserMailRequired=EMail required to create a new user
UsersSetup=Configuração do módulo Usuários
UserMailRequired=EMail necessário para criar um novo usuário
CompanySetup=configuração do módulo empresas
CompanyCodeChecker=Módulo de geração e control dos códigos de Fornecedores (clientes/Fornecedores)
AccountCodeManager=Módulo de geração dos códigos contabíls (clientes/Fornecedores)
@ -660,12 +740,12 @@ ModuleCompanyCodeAquarium=Devolve um código contabíl composto de %s seguido do
ModuleCompanyCodePanicum=Devolve um código contabíl vazio.
ModuleCompanyCodeDigitaria=Devolve um código contabíl composto seguindo o código de Fornecedor. o código está formado por caracter0 ' C ' em primeiroa posição seguido dos 5 primeiroos caracteres do código Fornecedor.
NotificationsDesc=a função das Notificações permite enviar automaticamente um correio eletrônico para um determinado evento Dolibarr em empresas configuradas para ele
ModelModules=Documents templates
WatermarkOnDraft=Watermark on draft document
CompanyIdProfChecker=Rules on Professional Ids
MustBeUnique=Must be unique ?
MustBeMandatory=Mandatory to create third parties ?
MustBeInvoiceMandatory=Mandatory to validate invoices ?
ModelModules=Modelos de documentos
DocumentModelOdt=Gere documentos a partir de modelos OpenDocuments (. ODT ou. Arquivos ODS para OpenOffice, KOffice, TextEdit, ...)
WatermarkOnDraft=Marca d'água sobre o projeto de documento
CompanyIdProfChecker=Regras sobre profissional Ids
MustBeMandatory=Obrigatório para criar terceiros?
MustBeInvoiceMandatory=Obrigatório para validar faturas?
WebCalSetup=configuração de link com o calendário Webcalendar
WebCalSyncro=Integrar os eventos Dolibarr em WebCalendar
WebCalYesByDefault=Consultar (sim por default)
@ -674,6 +754,7 @@ WebCalURL=endereço (URL) de acesso ao calendário
WebCalServer=Servidor da base de dados do calendário
WebCalUser=Usuário com acesso e a base
WebCalSetupSaved=os dados de link são guardado corretamente.
WebCalTestOk=A ligação ao servidor no banco de dados com o usuário de sucesso.
WebCalTestKo1=a login à servidor '%s' ha sido satisfactoria, mas a base '%s' não se ha podido comTeste.
WebCalTestKo2=a login à servidor '%s' por o Usuário '%s' ha falhado.
WebCalErrorConnectOkButWrongDatabase=a login salió bien mas a base não parece ser uma base Webcalendar.
@ -697,6 +778,7 @@ EnableEditDeleteValidInvoice=Ativar a possibilidade de editar/eliminar uma fatur
SuggestPaymentByRIBOnAccount=Sugerenciar o pagamento por transfência em conta
SuggestPaymentByChequeToAddress=Sugerenciar o pagamento por cheque a
FreeLegalTextOnInvoices=Texto livre em faturas
WatermarkOnDraftInvoices=Marca d'água sobre o projeto de faturas (nenhum se estiver vazio)
PropalSetup=configuração do módulo Orçamentos
CreateForm=criação formulário
ClassifiedInvoiced=Classificar faturado
@ -704,19 +786,25 @@ HideTreadedPropal=Ocultar os Orçamentos processados do listado
AddShippingDateAbility=possibilidade de determinar uma data de entregas
AddDeliveryAddressAbility=possibilidade de selecionar uma endereço de envio
UseOptionLineIfNoQuantity=uma linha de produto/serviço que tem uma quantidade nula se considera como uma Opção
WatermarkOnDraftProposal=Marca d'água em projetos de propostas comerciais (nenhum se estiver vazio)
OrdersSetup=configuração do módulo pedidos
OrdersModelModule=Modelos de documentos de pedidos
HideTreadedOrders=Esconder as ordens tratados ou cancelados na lista
WatermarkOnDraftOrders=Marca d'água em projetos de ordem (nenhum se estiver vazio)
ClickToDialSetup=configuração do módulo Click To Dial
ClickToDialUrlDesc=Url de chamada fazendo click ao ícone telefone. <br>a 'url completa chamada será: URL?login
Bookmark4uSetup=configuração do módulo Bookmark4u
InterventionsSetup=configuração do módulo Intervenções
FreeLegalTextOnInterventions=Free text on intervention documents
ContractsSetup=Contracts module setup
ContractsNumberingModules=Contracts numbering modules
FreeLegalTextOnInterventions=Texto livre em documentos de intervenção
WatermarkOnDraftInterventionCards=Marca d'água em documentos de cartão de intervenção (nenhum se estiver vazio)
ContractsSetup=Configuração do módulo Contratos
ContractsNumberingModules=Contratos numeração módulos
TemplatePDFContracts=Modelos de documentos Contratos
FreeLegalTextOnContracts=Texto livre em contratos
WatermarkOnDraftContractCards=Marca d'água em projetos de contratos (nenhum se estiver vazio)
MembersSetup=configuração do módulo associações
MemberMainOptions=opções principales
AddSubscriptionIntoAccount=Registar honorários em conta bancaria ou Caixa do módulo bancario
AdherentLoginRequired=Manage a Login for each member
AdherentMailRequired=E-Mail obrigatório para criar um membro novo
MemberSendInformationByMailByDefault=Caixa de verificação para enviar o correio de confirmação a os Membros é por default "sí"
LDAPSetup=Configuracón do módulo LDAP
@ -752,13 +840,15 @@ LDAPContactObjectClassListExample=Lista de objectClass que definem os atributos
LDAPTestConnect=Teste a login LDAP
LDAPTestSynchroContact=Teste a sincronização de contatos
LDAPTestSynchroUser=Teste a sincronização de Usuário
LDAPTestSearch=Test a LDAP search
LDAPTestSearch=Teste uma pesquisa LDAP
LDAPSynchroOK=Prueba de sincronização realizada corretamente
LDAPSynchroKO=Prueba de sincronização errada
LDAPSynchroKOMayBePermissions=Error da prueba de sincronização. verifique que a login à servidor sea correta e que permite as atualizaciones LDAP
LDAPTCPConnectOK=login TCP à servidor LDAP efetuada (Servidor
LDAPTCPConnectKO=Fallo de login TCP à servidor LDAP (Servidor
LDAPBindOK=Ligue / authentificate ao servidor LDAP sucesso (Server =% s, Port =% s, Admin =% s, Password =% s)
LDAPBindKO=Fallo de login/autentificação à servidor LDAP (Servidor
LDAPUnbindSuccessfull=Desconecte sucesso
LDAPConnectToDNSuccessfull=login a DN (%s) realizada
LDAPConnectToDNFailed=Connexión a DN (%s) falhada
LDAPDolibarrMapping=Mapping Dolibarr
@ -780,12 +870,11 @@ LDAPFieldZip=Código Postal
LDAPFieldZipExample=Exemplo : postalcode
LDAPFieldTown=Município
LDAPFieldDescriptionExample=Exemplo : description
LDAPFieldGroupMembers=Group members
LDAPFieldGroupMembersExample=Example : uniqueMember
LDAPFieldGroupMembersExample=Exemplo: uniqueMember
LDAPFieldBirthdate=data de nascimento
LDAPFieldSidExample=Exemplo : objectsid
LDAPFieldEndLastSubscription=data finalização como membro
LDAPFieldTitleExample=Example: title
LDAPParametersAreStillHardCoded=Parâmetros LDAP ainda são codificados (na classe de contato)
LDAPSetupNotComplete=configuração LDAP incompleta (a completar em Outras pestanhas)
LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Administrador o senha não indicados. os acessos LDAP serão anônimos e em só leitura.
LDAPDescContact=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos contatos Dolibarr.
@ -793,33 +882,46 @@ LDAPDescUsers=Esta página permite definir o Nome dos atributos da árvore LDAP
LDAPDescGroups=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos grupos Usuários Dolibarr.
LDAPDescMembers=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos Membros do módulo associações Dolibarr.
LDAPDescValues=os valores de Exemplos se adaptan a <b>OpenLDAP</b> com os schemas carregados: <b>core.schema, cosine.schema, inetorgperson.schema</b>). sim voçê utiliza os a valores sugeridos e OpenLDAP, modifique a sua arquivo de configuração LDAP <b>slapd.conf</b> para tener todos estos schemas ativos.
NotInstalled=Not installed, so your server is not slow down by this.
HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript)
FilesOfTypeCached=Files of type %s are cached by HTTP server
FilesOfTypeNotCached=Files of type %s are not cached by HTTP server
FilesOfTypeCompressed=Files of type %s are compressed by HTTP server
FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
CompressionOfResources=Compression of HTTP responses
PerfDolibarr=Relatório de configuração Desempenho / otimização
YouMayFindPerfAdviceHere=Você vai encontrar nesta página algumas verificações ou conselhos relacionados com o desempenho.
NotInstalled=Não instalado, por que o seu servidor não está mais lento por isso.
ApplicativeCache=Cache de aplicativo
MemcachedNotAvailable=No cache de aplicativo encontrado. Você pode melhorar o desempenho através da instalação de um servidor de cache Memcached e um módulo capaz de usar este servidor cache. Mais informações aqui <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN" http://wiki.dolibarr.org/index.php/Module_MemCached_EN/a . Note-se que um monte de provedor de hospedagem web não fornecer a servidor cache.
MemcachedModuleAvailableButNotSetup=Módulo memcached para cache de aplicativo encontrado, mas a configuração do módulo não está completa.
MemcachedAvailableAndSetup=Memcached módulo dedicado a usar o servidor memcached está habilitado.
OPCodeCache=Opcode cache
NoOPCodeCacheFound=No cache de código de operação encontrado. Pode ser que você use outro opcode cache de XCache ou eAccelerator (bom), pode ser que você não tem cache de código de operação (muito ruim).
HTTPCacheStaticResources=Cache de HTTP para recursos estáticos (css, img, javascript)
FilesOfTypeCached=Arquivos do tipo são armazenados em cache pelo servidor HTTP
FilesOfTypeNotCached=Arquivos do tipo não são armazenados em cache pelo servidor HTTP
FilesOfTypeCompressed=Arquivos do tipo são comprimidas pelo servidor HTTP
FilesOfTypeNotCompressed=Arquivos do tipo não são compactados pelo servidor HTTP
CacheByServer=Cache por servidor
CacheByClient=Cache pelo navegador
CompressionOfResources=A compressão das respostas HTTP
ProductSetup=configuração do módulo produtos
ServiceSetup=Services module setup
ProductServiceSetup=Products and Services modules setup
ServiceSetup=Configuração do módulo Serviços
ProductServiceSetup=Configuração de Produtos e Serviços módulos
NumberOfProductShowInSelect=N<> de produtos max em listas (0
ConfirmDeleteProductLineAbility=confirmação de eliminação de uma linha de produzido nos formulários
ModifyProductDescAbility=Personalização das descripciones dos produtos nos formulários
ViewProductDescInFormAbility=visualização das descripciones dos produtos nos formulários
ViewProductDescInThirdpartyLanguageAbility=Visualization of products descriptions in the thirdparty language
ViewProductDescInThirdpartyLanguageAbility=Visualização de produtos descrições no idioma thirdparty
UseSearchToSelectProductTooltip=Além disso, se você tem um grande número de produtos (> 100 000), você pode aumentar a velocidade, definindo PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 em Setup Outro. Busca, então, ser limitada até o início da string.
UseSearchToSelectProduct=Use um formulário de pesquisa para escolher um produto (em vez de uma lista drop-down).
UseEcoTaxeAbility=Asumir ecotaxa (DEEE)
SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por default para os produtos
SetDefaultBarcodeTypeThirdParties=Tipo de código de barras utilizado por default para os Fornecedores
ProductOtherConf=Product / Service configuration
ProductCodeChecker=Módulo para geração de código do produto e verificação (produto ou serviço)
ProductOtherConf=A configuração do produto / serviço
SyslogOutput=Saída do log
SyslogLevel=Nível
SyslogSimpleFile=Arquivo
SyslogFilename=Nome e Rota do Arquivo
YouCanUseDOL_DATA_ROOT=pode utilizar DOL_DATA_ROOT/dolibarr.log para um log na pasta 'documentos' de Dolibarr.
ErrorUnknownSyslogConstant=a constante %s não é uma constante syslog conhecida
OnlyWindowsLOG_USER=Somente para Windows suporta LOG_USER
DonationsSetup=configuração do módulo Bolsas
DonationsReceiptModel=Template of donation receipt
BarcodeSetup=configuração dos códigos de barra
BarcodeEncodeModule=Módulos de codificação dos códigos de barra
CodeBarGenerator=gerador do código
@ -830,26 +932,25 @@ BarcodeDescUPC=Códigos de barra tipo UPC
BarcodeDescISBN=Códigos de barra tipo ISBN
BarcodeDescC39=Códigos de barra tipo C39
BarcodeDescC128=Códigos de barra tipo C128
BarcodeInternalEngine=Internal engine
BarCodeNumberManager=Gerente de auto definir números de código de barras
WithdrawalsSetup=configuração do módulo Débitos Diretos
ExternalRSSSetup=configuração das importações do fluxos RSS
NewRSS=Sindicação de um Novo fluxos RSS
RSSUrl=RSS URL
RSSUrlExample=An interesting RSS feed
MailingEMailError=Return EMail (Errors-to) for emails with errors
MailingEMailError=Voltar E-mail (Erros-to) para e-mails com erros
NotificationSetup=configuração do módulo Notificações
ListOfAvailableNotifications=List of available notifications (This list depends on activated modules)
SendingsSetup=configuração do módulos envios
SendingsNumberingModules=Sendings numbering modules
SendingsNumberingModules=Expedição de numeração de módulos
SendingsAbility=Fretes pagos pelo cliente
NoNeedForDeliveryReceipts=na maioria dos casos, as entregas utilizam como nota de entregas ao cliente (lista de produtos a enviar), se recebem e assinam por o cliente. Por o tanto, a hoja de entregas de produtos é uma característica duplicada e rara vez é ativada.
FreeLegalTextOnShippings=Free text on shippings
DeliveryOrderModel=Modelo de ordem de envio
DeliveriesOrderAbility=Fretes pagos por o cliente
AdvancedEditor=Advanced editor
AdvancedEditor=Formatação avançada
ActivateFCKeditor=Ativar FCKeditor para :
FCKeditorForCompany=Criação/Edição WYSIWIG da descrição e notas dos Fornecedores
FCKeditorForProductDetails=Criação/Edição WYSIWIG das linhas de detalhe dos produtos (em pedidos, Orçamentos, faturas, etc.)
FCKeditorForUserSignature=WYSIWIG criação / edição da assinatura do usuário
FCKeditorForMail=Criação WYSIWIG / edição para todos os emails (exceto Outils-> e-mail)
OSCommerceErrorConnectOkButWrongDatabase=a login se ha estabelecido, mas a base de dados não parece de OSCommerce.
OSCommerceTestOk=a login à servidor '%s' sobre a base '%s' por o Usuário '%s' é correta.
OSCommerceTestKo1=a login à servidor '%s' sobre a base '%s' por o Usuário '%s' não se pode efetuar.
@ -858,7 +959,7 @@ StockSetup=configuração do módulo Estoque
UserWarehouse=Utilizar os estoques personais de Usuário
Menu=Seleção dos menus
MenuHandler=Gerente de menus
HideUnauthorizedMenu=Hide unauthorized menus (gray)
HideUnauthorizedMenu=Esconder menus não autorizadas (cinza)
DetailMenuHandler=Nome do gerente de menus
DetailMenuModule=Nome do módulo sim a entrada do menu é resultante de um módulo
DetailType=Tipo de menu (superior o izquierdp)
@ -866,7 +967,7 @@ DetailTitre=Etiqueta de menu
DetailMainmenu=Grupo à qual pertence (obsoleto)
DetailUrl=URL da página fazia a qual o menu aponta
DetailLeftmenu=Condição de visualização o não (obsoleto)
DetailEnabled=Condition to show or not entry
DetailEnabled=Condição para mostrar ou não entrada
DetailRight=Condição de visualização completa o cristálida
DetailLangs=Arquivo langs para a tradução do título
DetailTarget=Objetivo
@ -877,51 +978,55 @@ ConfirmDeleteLine=Tem certeza que quer eliminar esta linha?
OptionVatMode=Opção de carga de ICMS
OptionVatDefaultDesc=a carga do ICMS é: <br>-ao envio dos bens <br>-sobre o pagamento por os serviços
OptionVatDebitOptionDesc=a carga do ICMS é: <br>-ao envio dos bens <br>-sobre o faturamento dos serviços
OnDelivery=On delivery
OnPayment=On payment
OnInvoice=On invoice
SupposedToBePaymentDate=Payment date used
SupposedToBeInvoiceDate=Invoice date used
Buy=Buy
Sell=Sell
InvoiceDateUsed=Invoice date used
YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup.
AccountancyCode=Accountancy Code
SummaryOfVatExigibilityUsedByDefault=Hora do VTA exigibilidade por padrão de acordo com a opção escolhida:
OnPayment=Mediante o pagamento
OnInvoice=Na fatura
SupposedToBePaymentDate=Data de pagamento usado
SupposedToBeInvoiceDate=Data da fatura usado
InvoiceDateUsed=Data da fatura usado
YourCompanyDoesNotUseVAT=Sua empresa foi definido para não usar de IVA (Home - Configuração - Empresa / Fundação), então não há nenhuma opção de VAT a configuração.
AccountancyCodeSell=Conta Venda. código
AccountancyCodeBuy=Compre conta. código
AgendaSetup=Módulo configuração de ações e agenda
PasswordTogetVCalExport=Chave de autorização vcal export link
PastDelayVCalExport=Do not export event older than
PastDelayVCalExport=Não exportar evento mais antigo que
AGENDA_USE_EVENT_TYPE=Use eventos tipos (geridos em Setup Menu -> Dicionário -> Tipo de eventos da agenda)
ClickToDialDesc=Este módulo permite agregar um ícone depois do número de telefone de contatos Dolibarr. um clic neste ícone, Chama a um servidor com uma URL que se indica a continuação. Esto pode ser usado para Chamar à sistema call center de Dolibarr que pode Chamar à número de telefone em um sistema SIP, por Exemplo.
CashDeskSetup=configuração do módulo de Caixa registradora
CashDeskThirdPartyForSell=Fornecedor genérico a usar para a venda
CashDeskBankAccountForSell=conta de efetivo que se utilizará para as vendas
CashDeskBankAccountForCheque=Default account to use to receive payments by cheque
CashDeskBankAccountForCB=Default account to use to receive payments by credit cards
CashDeskBankAccountForCheque=Padrão conta para usar a receber pagamentos por cheque
CashDeskBankAccountForCB=Padrão conta para usar a receber pagamentos por cartões de crédito
CashDeskIdWareHouse=Almoxarifado que se utiliza para as vendas
BookmarkSetup=Configuração do Módulo de Favoritos
BookmarkDesc=Este módulo lhe permite Gerenciar os links e acessos diretos. também permite Adicionar qualquer página de Dolibarr o link web ao menu de acesso rápido da esquerda.
NbOfBoomarkToShow=Número máximo de marcadores que se mostrará ao menu
WebServicesSetup=Webservices module setup
WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services.
WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here
EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at Url
BankSetupModule=Bank module setup
FreeLegalTextOnChequeReceipts=Free text on cheque receipts
BankOrderShow=Display order of bank accounts for countries using "detailed bank number"
WebServicesSetup=Configuração do módulo Webservices
WebServicesDesc=Ao habilitar este módulo, Dolibarr se tornar um servidor web service para fornecer serviços web diversos.
WSDLCanBeDownloadedHere=Arquivos descritores WSDL dos serviços prestados pode ser baixado aqui
EndPointIs=Clientes SOAP devem enviar seus pedidos para o terminal Dolibarr Disponível em URL
BankSetupModule=Configuração do módulo Banco
FreeLegalTextOnChequeReceipts=Texto livre em recibos de verificação
BankOrderShow=Ordem de apresentação das contas bancárias para os países usando o "número do banco detalhada"
BankOrderGlobal=General
BankOrderGlobalDesc=General display order
BankOrderES=Espanhol
BankOrderESDesc=Spanish display order
MultiCompanySetup=Multi-company module setup
BankOrderESDesc=Ordem de exibição Espanhol
MultiCompanySetup=Configuração do módulo Multi-empresa
SuppliersSetup=Configuração Módulo Fornecedor
SuppliersCommandModel=Complete template of supplier order (logo...)
SuppliersInvoiceModel=Complete template of supplier invoice (logo...)
GeoIPMaxmindSetup=GeoIP Maxmind module setup
NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions).
YouCanDownloadFreeDatFileTo=You can download a <b>free demo version</b> of the Maxmind GeoIP country file at %s.
YouCanDownloadAdvancedDatFileTo=You can also download a more <b>complete version, with updates,</b> of the Maxmind GeoIP country file at %s.
TestGeoIPResult=Test of a conversion IP -> country
ProjectsNumberingModules=Projects numbering module
ProjectsSetup=Project module setup
ProjectsModelModule=Project reports document model
TasksNumberingModules=Tasks numbering module
ECMSetup =GED Setup
SuppliersCommandModel=Modelo completo de ordem fornecedor (logo. ..)
SuppliersInvoiceModel=Modelo completo da fatura do fornecedor (logo. ..)
SuppliersInvoiceNumberingModel=Faturas de fornecedores de numeração modelos
GeoIPMaxmindSetup=Configuração do módulo GeoIP Maxmind
PathToGeoIPMaxmindCountryDataFile=Caminho para o arquivo que contém a tradução Maxmind ip país. Exemplos: / Usr / local / share / GeoIP / GeoIP.dat / Usr / share / GeoIP / GeoIP.dat
NoteOnPathLocation=Note-se que o seu ip para o arquivo de dados do país devem estar dentro de um diretório do seu PHP pode ler (Verifique se o seu PHP open_basedir configuração e as permissões do sistema de arquivos).
YouCanDownloadFreeDatFileTo=Você pode baixar uma versão demo gratuita do arquivo país Maxmind GeoIP em.
YouCanDownloadAdvancedDatFileTo=Você também pode baixar uma versão,mais completa, com atualizações, do arquivo país em Maxmind GeoIP.
TestGeoIPResult=Teste de um IP de conversão -> país
ProjectsNumberingModules=Projetos de numeração módulo
ProjectsSetup=Configuração do módulo de Projetos
ProjectsModelModule=Os relatórios do projeto modelo de documento
TasksNumberingModules=Módulo de numeração de Tarefas
TaskModelModule=Relatórios Tarefas modelo de documento
ECMSetup =Instalar GED
ECMAutoTree =Pasta árvore automática e documento
Format=Formato

View File

@ -1,58 +1,61 @@
# Dolibarr language file - Source file is en_US - agenda
IdAgenda=ID evento
Actions=Eventos
ActionsArea=Área de Ações (Eventos e Tarefas)
DoneBy=Feito por
ActionsArea=Área de eventos (Atividades e Tarefas)
DoneBy=Concluído por
EventsNb=Numero de eventos
EventOnFullDay=Evento para todos os dia(s)
SearchAnAction=Procurar uma ação / tarefa
MenuToDoActions=Todas as ações incompletas
MenuDoneActions=Todas a ações completas
MenuToDoMyActions=As minhas ações incompletas
MenuDoneMyActions=As minhas ações completas
EventOnFullDay=Evento durante todo o dia (s)
SearchAnAction=Procurar um evento/tarefa
MenuToDoActions=Todos os eventos incompletos
MenuDoneActions=Todas os eventos completos
MenuToDoMyActions=Os meus eventos incompletas
MenuDoneMyActions=Os meus eventos completos
ListOfEvents=Lista de eventos Dolibarr
ActionsAskedBy=Ações registradas pelo
ActionsToDoBy=Ações afetando o
ActionsDoneBy=Ações terminadas por
AllMyActions=Todas as minhas ações/tarefas
AllActions=Todas a ações/tarefas
ViewList=Ver lista
ViewDay=Vista diaria
ViewWeek=Vista semanal
AutoActions=Carregamento automático da ordem do dia
AgendaAutoActionDesc=Defina aqui eventos para os quais deseja que o Dolibarr crie automaticamente uma ação na agenda. Se nada está marcado (por padrão), apenas ações manuais serão incluídas na agenda.
AgendaSetupOtherDesc=Esta página permite configurar outros parâmetros do módulo de agenda.
AgendaExtSitesDesc=Esta pagina permite declarar fontes externas dos calendarios para ver os eventos na agenda do Dolibarr.
ActionsEvents=Eventos para o Dolibarr que irá criar uma ação na agenda automaticamente.
PropalValidatedInDolibarr=Proposta validada
InvoiceValidatedInDolibarr=Fatura validada
ActionsAskedBy=Eventos registrados por
ActionsToDoBy=Eventos atribuídos à
ActionsDoneBy=Eventos concluído por
AllMyActions=Todos meus eventos/tarefas
AllActions=Todas os eventos/tarefas
ViewList=Exibir lista
ViewCal=Exibir Calendário
ViewDay=Exibir dia
ViewWeek=Exibir semana
ViewWithPredefinedFilters=Exibir com filtros predefinidos
AgendaAutoActionDesc=Defina aqui quais os eventos que deseja que o Dolibarr adicione automaticamente na sua agenda. Se nada estiver marcado (por padrão), sera incluído só eventos manualmente na agenda.
AgendaSetupOtherDesc=Esta página fornece opções para permitir a exportação de seus eventos do Dolibarr para um calendário externo (thunderbird, google agenda, ...)
AgendaExtSitesDesc=Esta página permite importar calendários de fontes externas para sua agenda de eventos no Dolibarr.
ActionsEvents=Para qual eventos o Dolibarr irá criar uma atividade na agenda automaticamente
PropalValidatedInDolibarr=Proposta %s validada
InvoiceValidatedInDolibarr=Fatura %s validada
InvoiceBackToDraftInDolibarr=Fatura %s volta ao estado de rascunho
OrderValidatedInDolibarr=Ordem validada
OrderValidatedInDolibarr=Pedido %s validado
OrderApprovedInDolibarr=Pedido %s aprovado
OrderRefusedInDolibarr=Pedido %s recusado
OrderBackToDraftInDolibarr=Pedido %s volta ao estado de rascunho
OrderCanceledInDolibarr=Pedido %s cancelado
InterventionValidatedInDolibarr=Intervençao %s validada
ProposalSentByEMail=Proposta comercial %s enviada por e-mail
OrderSentByEMail=Pedido cliente %s enviado por e-mail
InvoiceSentByEMail=Fatura cliente %s enviada por e-mail
SupplierOrderSentByEMail=Pedido fornecedor %s enviado por e-mail
SupplierInvoiceSentByEMail=Fatura fornecedor %s enviada por e-mail
ShippingSentByEMail=Envio %s enviado por e-mail
InterventionSentByEMail=Intervençao %s enviada por e-mail
NewCompanyToDolibarr=Fornecedor Criado
DateActionPlannedStart=Planejada a data de início
DateActionPlannedEnd=Planejada a data de fim
OrderSentByEMail=Pedido do cliente %s enviado por e-mail
InvoiceSentByEMail=Fatura do cliente %s enviada por e-mail
SupplierOrderSentByEMail=Pedido do fornecedor %s enviado por e-mail
SupplierInvoiceSentByEMail=Fatura do fornecedor %s enviada por e-mail
ShippingSentByEMail=Entrega %s enviado por e-mail
ShippingValidated=Envio %s validado
InterventionSentByEMail=Intervenção %s enviada por e-mail
NewCompanyToDolibarr=Fornecedor criado
DateActionPlannedStart=Data de início do planejamento
DateActionPlannedEnd=Data final do planejamento
DateActionDoneStart=Data real de início
DateActionDoneEnd=Data real de fim
AgendaUrlOptions2=<b>login
AgendaUrlOptions3=<b>logina
AgendaUrlOptions4=<b>logint
AgendaUrlOptions5=<b>logind
AgendaShowBirthdayEvents=Mostrar Aniversários dos Contatos
AgendaHideBirthdayEvents=Esconder Aniversários dos Contatos
ExportCal=Exportar calendario
ExtSites=Importar calendarios externos
ExtSitesEnableThisTool=Mostrar calendarios externos na agenda
ExtSitesNbOfAgenda=Numero de calendarios
AgendaExtNb=Calendario nr. %s
DateActionEnd=Data de término
AgendaUrlOptions1=Você também pode adicionar os seguintes parâmetros para filtrar o resultado:
AgendaUrlOptions2=<b>Usuário=%s</b> permitir apenas resultados para atividades atribuídas, criadas ou concluídas pelo usuário <b>%s</b>.
AgendaUrlOptions3=<b>Usuário=%s</b> permitir resultados apenas para atividades criadas pelo usuário <b>%s</b>
AgendaUrlOptions4=<b>Usuário=%s</b> permitir apenas resultados para atividades atribuídas ao usuário <b>%s</b>.
AgendaUrlOptions5=<b>Usuário=%s</b> não permitir resultados para atividades concluídas pelo usuário <b>%s</b>.
AgendaShowBirthdayEvents=Visualizar aniversários dos contatos
AgendaHideBirthdayEvents=Esconder aniversários dos contatos
ExportDataset_event1=Lista de eventos na agenda
ExtSitesEnableThisTool=Visualizar calendários externos na agenda
AgendaExtNb=Calendário nr. %s
ExtSiteUrlAgenda=URL para acessar arquivos .ical
ExtSiteNoLabel=Sem descriçao
ExtSiteNoLabel=Sem descrição

View File

@ -1,4 +1,5 @@
# Dolibarr language file - Source file is en_US - banks
MenuBankCash=Banco/Caixa
MenuSetupBank=Configuração Banco/Caixa
BankName=Nome do Banco
BankAccount=Conta Bancaria
@ -17,6 +18,7 @@ BankBalanceBefore=Sldo anterior
BankBalanceAfter=Saldo depois
CurrentBalance=Saldo atual
ShowAllTimeBalance=Mostrar Balanço Desde do Inicio
AllTime=Do inicio
RIB=Conta Bancaria
AccountStatement=Extrato da Conta
AccountStatementShort=Extrato
@ -89,6 +91,7 @@ CashBudget=Orçamento de Tesouraria
PlannedTransactions=Transações Previstas
Graph=Graficos
ExportDataset_banque_1=Transação Bancaria e Extrato de Conta
ExportDataset_banque_2=comprovante de depósito
TransactionOnTheOtherAccount=Transação Sobre Outra Conta
TransactionWithOtherAccount=Transferencia de Conta
PaymentNumberUpdateSucceeded=Numero de pagamento modificado
@ -105,3 +108,9 @@ EventualyAddCategory=Posivelmente especificar a categoria para se clasificar os
ToConciliate=A se conciliar ?
ThenCheckLinesAndConciliate=Verificar as linhas presentes no relatorio do banco e clickar
BankDashboard=Somario de contas bancarias
DefaultRIB=BAN padrao
AllRIB=Todos BAN
LabelRIB=Etiqueta BAN
NoBANRecord=Nao tem registro BAN
DeleteARib=Apagar registro BAN
ConfirmDeleteRib=Voce tem certeza que quer apagar este registro BAN ?

View File

@ -23,9 +23,12 @@ InvoiceProFormaAsk=Fatura Pro-Forma
InvoiceProFormaDesc=<b>Fatura Pro-Forma</b> é uma verdadeira imagem de uma fatura, mas não tem valor contábil.
InvoiceReplacement=Fatura Retificativa
InvoiceReplacementAsk=Fatura Retificativa da Fatura
InvoiceReplacementDesc=A <b>fatura retificativa</b> serve para cancelar e para substituir uma fatura existente em que ainda não existe pagamentos.<br><br>Nota: só uma fatura sem nenhum pagamento pode retificarse. Sim esta última não está fechada, passará automaticamente ao estado'abandonada'.
InvoiceReplacementDesc=A <b>fatura retificada</b> serve para cancelar e para substituir uma fatura existente em que ainda não existe pagamentos.<br><br>Nota: só uma fatura sem nenhum pagamento pode retificar se. Sim esta última não está fechada, passará automaticamente ao estado 'abandonada'.
InvoiceAvoirAsk=Nota de Crédito para Corrigir a Fatura
InvoiceAvoirDesc=A <b>Nota de Crédito</b> é uma fatura negativa destinada a compensar um valor de uma fatura que difere do valor realmente pago (por ter pago a mais ou por devolução de produtos, por Exemplo).<br><br>Nota: Tenha em conta que a fatura original a corrigir deve ter sido fechada (' paga' ou ' paga parcialmente ') para poder realizar uma nota de crédito.
invoiceAvoirWithLines=Criar Nota de Crédito conforme a fatura original
invoiceAvoirWithPaymentRestAmount=Criar Nota de Crédito com o montante dos pagamentos da fatura de origem
invoiceAvoirLineWithPaymentRestAmount=Nota de Crédito de pagamentos fatura
ReplaceInvoice=Retificar a Fatura %s
ReplacementInvoice=Substituição da Fatura
ReplacedByInvoice=Substituído por Fatura %s
@ -57,6 +60,7 @@ ConfirmDeletePayment=Tem certeza que quer eliminar este pagamento?
ConfirmConvertToReduc=Quer converter este deposito numa redução futura?<br>O valor deste deposito ficará guardado para este cliente. Poderá utiliza-lo para reduzir o valor de uma próxima fatura do cliente.
ReceivedPayments=Pagamentos Recebidos
ReceivedCustomersPayments=Pagamentos Recebidos de Cliente
PayedSuppliersPayments=Pagamentos pago ao fornecedores
ReceivedCustomersPaymentsToValid=Pagamentos Recebidos de Cliente a Confirmar
PaymentsReportsForYear=Relatórios de Pagamentos de %s
PaymentsReports=Relatórios de Pagamentos
@ -66,12 +70,14 @@ PaymentRule=Regra de pagamento
PaymentAmount=Valor a Pagar
ValidatePayment=Validar Pagamento
HelpPaymentHigherThanReminderToPay=Atenção, o valor de uma fatura ou mais faturas e maior do que o que resta a pagar.<br>Editar a sua entrada ou confirme e pense em criar uma nota de credito para o excesso recebido por cada fatura paga alem do valor da mesma.
HelpPaymentHigherThanReminderToPaySupplier=Atenção, o valor do pagamento de uma ou mais contas é maior do que o resto a pagar. <br> Edite sua entrada, caso contrário, confirmar.
ClassifyPaid=Clasificar 'pago'
ClassifyPaidPartially=Clasificar 'parcialmente pago'
ClassifyCanceled=Classificar 'Cancelado'
ClassifyClosed=Classificar 'Encerrado'
CreateBill=Criar Fatura
AddBill=Criar Fatura ou Deposito
AddToDraftInvoices=Nenhuma Outra Fatura Rascunho
DeleteBill=Eliminar Fatura
SearchACustomerInvoice=Procurar uma fatura de cliente
SearchASupplierInvoice=Procurar uma fatura de fornecedor
@ -128,7 +134,20 @@ ConfirmCancelBill=Tem certeza que quer anular a fatura <b>%s</b> ?
ConfirmCancelBillQuestion=Por qué Razão quer abandonar a fatura?
ConfirmClassifyPaidPartially=Tem certeza de que deseja voltar a fatura: <b> %s </b> ao status de paga ?
ConfirmClassifyPaidPartiallyQuestion=Esta fatura não foi paga em completo. Qual as razoes para fecha-la ?
ConfirmClassifyPaidPartiallyReasonAvoir=Restante a pagar <b> (% s% s) </ b> é um desconto concedido porque foi feita antes de prazo de pagamento. Regularizar o IVA, com uma nota de crédito.
ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Restante a pagar <b> (% s% s) </ b> é um desconto concedido porque foi feita antes de prazo de pagamento. Eu aceito perder o IVA sobre este desconto.
ConfirmClassifyPaidPartiallyReasonDiscountVat=Restante a pagar <b> (% s% s) </ b> é um desconto concedido porque foi feita antes do prazo de pagamento. Recuperar o IVA sobre este desconto, sem uma nota de crédito.
ConfirmClassifyPaidPartiallyReasonBadCustomer=mau serviço ao cliente
ConfirmClassifyPaidPartiallyReasonProductReturned=Produtos parcialmente devolvidos
ConfirmClassifyPaidPartiallyReasonOther=Valor abandonado por outra razão
ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Esta escolha é possível, se a sua fatura tiver sido fornecida adequada. (Exemplo "Somente o imposto correspondente ao preço pago que forem realmente dá direito à dedução")
ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=Em alguns países, esta escolha pode ser possível apenas se a sua fatura contém nota correta.
ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use esta opção se todos os outros não der certo
ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=Um mau cliente, é um cliente que se recusa a pagar a sua dívida.
ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Esta escolha é utilizado quando o pagamento não está completo, porque alguns dos produtos foram devolvidos
ConfirmClassifyPaidPartiallyReasonOtherDesc=Use esta opção se todos os outros não se adequar, por exemplo, na seguinte situação: <br> - pagamento não está completo porque alguns produtos foram enviados de volta <br> - montante reclamado muito importante porque um desconto foi esquecido <br> Em todos os casos, a quantidade deve ser corrigido no sistema de contabilidade, criando uma nota de crédito.
ConfirmClassifyAbandonReasonOtherDesc=Esta eleição será para qualquer outro caso. Por Exemplo a raíz da intenção de Criar uma fatura retificativa.
ConfirmSupplierPayment=Confirma o processo deste pagamento de <b>%s</b> %s ?
ConfirmValidatePayment=Tem certeza que quer Confirmar este pagamento (Nenhuma modificação é possível uma vez o pagamento este validado)?
ValidateBill=Confirmar Fatura
UnvalidateBill=Desaprovar Fatura
@ -144,8 +163,12 @@ ShowInvoiceAvoir=Ver Deposito
ShowInvoiceDeposit=Ver Fatura Depositada
ShowPayment=Ver Pagamento
File=Arquivo
AlreadyPaid=Pago
AlreadyPaidBack=Pagamento voltou
AlreadyPaidNoCreditNotesNoDeposits=Já pago (sem notas de crédito e depósitos)
RemainderToPay=Falta a Pagar
RemainderToTake=Falta Cobrar
RemainderToPayBack=Restante a pagar
AmountExpected=Valor Reclamado
ExcessReceived=Recebido em Excesso
SendBillRef=Enviar Fatura %s
@ -154,6 +177,7 @@ StandingOrders=Débitos Diretos
StandingOrder=Débito Direto
NoDraftBills=Nenhuma Fatura Rascunho
NoOtherDraftBills=Nenhuma Outra Fatura Rascunho
NoDraftInvoices=Nenhuma Fatura Rascunho
RefBill=Ref. Fatura
ToBill=A Faturar
RemainderToBill=Falta Faturar
@ -185,12 +209,14 @@ EditRelativeDiscount=Alterar Desconto Relativo
AddGlobalDiscount=Adicionar Desconto Fixo
EditGlobalDiscounts=Alterar Descontos Globais
ShowDiscount=Ver o Depósito
ShowReduc=Mostrar a dedução
RelativeDiscount=Desconto Relativo
GlobalDiscount=Desconto Fixo
CreditNote=Depósito
DiscountFromDeposit=Pagamentos a partir de depósito na fatura %s
AbsoluteDiscountUse=Este tipo de crédito não pode ser usado em um projeto antes da sua validação
CreditNoteDepositUse=O projeto deve ser validado para utilizar este tipo de crédito
NewRelativeDiscount=Novo desconto relacionado
BillAddress=Endereço de Faturação
HelpEscompte=Um <b>Desconto</b> é um desconto acordado sobre uma fatura dada, a um cliente que realizou o seu pagamento muito antes do vencimiento.
HelpAbandonBadCustomer=Este valor foi esquecido (cliente classificado como devedor) e considera-se como uma perda excepcional.
@ -202,11 +228,20 @@ InvoiceRef=Ref. Fatura
InvoiceDateCreation=Data de Criação da Fatura
InvoiceStatus=Estado Fatura
InvoiceNote=Nota Fatura
InvoicePaid=Fatura paga
PaymentNumber=Número de Pagamento
WatermarkOnDraftBill=Marca de água em faturas rascunho (nada se está vazia)
InvoiceNotChecked=Não há notas fiscais selecionadas
CloneInvoice=Clonar Fatura
ConfirmCloneInvoice=Tem certeza que quer clonar esta fatura?
DisabledBecauseReplacedInvoice=Ação desativada porque é uma fatura substituida
DescTaxAndDividendsArea=Esta área apresenta um resumo de todos os pagamentos feitos para despesas especiais. Somente os registros com pagamento durante o ano estão incluídos aqui.
NbOfPayments=valores para pagamentos
SplitDiscount=Desconto dividido em dois
ConfirmSplitDiscount=Tem certeza que dividir este desconto em duas vezes
TypeAmountOfEachNewDiscount=Quantidade de entrada para cada uma das duas partes:
TotalOfTwoDiscountMustEqualsOriginal=Total de dois novos desconto deve ser igual ao valor do desconto inicial.
ConfirmRemoveDiscount=Você tem certeza que deseja remover este desconto?
RelatedBill=Fatura Anexo
RelatedBills=Faturas Anexos
PaymentConditionShort30D=30 Dias
@ -217,6 +252,11 @@ PaymentConditionShort60D=60 Dias
PaymentCondition60D=Pagamento a 60 Dias
PaymentConditionShort60DENDMONTH=60 Dias Fim de Mês
PaymentCondition60DENDMONTH=Pagamento a 60 Dias até ao Fim do Mês
PaymentConditionShortPT_ORDER=Em ordem
PaymentConditionPT_ORDER=Em ordem
PaymentConditionPT_5050=50 por cento adiantado, 50 por cento na entrega
FixAmount=Quantidade fixa
VarAmount=Quantidade variável
PaymentTypeVIR=Transferência Bancaria
PaymentTypePRE=Débito Direto Bancario
PaymentTypeShortPRE=Débito Direto
@ -258,13 +298,28 @@ UsBillingContactAsIncoiveRecipientIfExist=Utilizar o endereço do contato de cli
ShowUnpaidAll=Mostrar todas as faturas
ShowUnpaidLateOnly=Mostrar apenas faturas em Atraso
PaymentInvoiceRef=Pagamento Fatura %s
ClosePaidInvoicesAutomatically=Classificar como "Pago".
AllCompletelyPayedInvoiceWillBeClosed=Todos os pagamentos que continuam sem pagar vão ser automaticamente fechados com status "Pago"
ValidateInvoice=Validar a fatura
Cash=em dinheiro
DisabledBecausePayments=Não é possível uma vez já que existem alguns pagamentos
CantRemovePaymentWithOneInvoicePaid=Não é possível remover o pagamento já que há pelo menos uma fatura classificada como pago
ExpectedToPay=Esperando pagamento
PayedByThisPayment=Pago
ClosePaidInvoicesAutomatically=Classifique "Paid" todas as faturas padrão ou a substituição inteiramente paga.
ClosePaidCreditNotesAutomatically=Classificar "pagou" todas as notas de crédito totalmente pago de volta.
AllCompletelyPayedInvoiceWillBeClosed=Todos fatura que permanecer sem pagar será automaticamente fechada ao status de "Paid".
ToMakePaymentBack=pagar tudo
NoteListOfYourUnpaidInvoices=Atenção: Esta lista inclue somente faturas para terceiros para as quais voce esta conectado como vendedor.
PDFCrabeDescription=Modelo de fatura completo (ICMS, método de pagamento a mostrar, logotipo...)
RevenueStamp=Selo da receita
YouMustCreateInvoiceFromThird=Esta opção só está disponível ao criar fatura de terceiros
PDFCrabeDescription=Modelo de fatura completo (ICMS, método de pagamento a mostrar, logotipo...)
TerreNumRefModelDesc1=Mostrarr número com formato %syymm-nnnn padrão para faturas e %syymm-nnnn para notas de crédito onde yy é o ano, mm mês e nnnn é uma sequência, sem interrupção e não pode mostrar o valor 0
MarsNumRefModelDesc1=Mostrar número com formato %syymm-nnnn padrão para faturas e %syymm-nnnn para notas de crédito onde yy é o ano, mm mês e nnnn é uma sequência, sem interrupção e não pode mostrar o valor 0
TerreNumRefModelError=O projeto começa começado por $syymm já existe e não é compatível com este modelo de seq<65>ência. Remova-o ou renomei-o para ativar este módulo.
TypeContact_facture_internal_SALESREPFOLL=Responsável do acompanhamento da fatura do cliente
TypeContact_facture_external_BILLING=Contato fatura cliente
TypeContact_facture_external_SHIPPING=Contato envio cliente
TypeContact_facture_external_SERVICE=Contato da fatura cliente
TypeContact_invoice_supplier_internal_SALESREPFOLL=Representante seguindo a fatura do fornecedor
TypeContact_invoice_supplier_external_BILLING=Contato da Fatura de Fornecedor
TypeContact_invoice_supplier_external_SHIPPING=Contato de envio do fornecedor
TypeContact_invoice_supplier_external_SERVICE=Contato de servico do fornecedor

View File

@ -1,11 +1,13 @@
# Dolibarr language file - Source file is en_US - bookmarks
ShowBookmark=Mostrar Favorito
OpenANewWindow=Abrir uma nova janela
ShowBookmark=Visualizar Favorito
OpenANewWindow=Abrir em uma nova janela
BookmarkTargetNewWindowShort=Uma nova janela
BookmarkTargetReplaceWindowShort=Na janela atual
BookmarkTitle=Título do favorito
BehaviourOnClick=Comportamento à fazer quando clickamos na URL
BehaviourOnClick=Comportamento ao clicar em uma URL
CreateBookmark=Criar favorito
SetHereATitleForLink=Indicar aqui um título do favorito
UseAnExternalHttpLinkOrRelativeDolibarrLink=Indicar um http URL externo ou URL Dolibarr relativo
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Escolher se a página aberta pelo link tem que aparecer na janela atual ou uma nova janela
BookmarksManagement=Administração de favoritos
SetHereATitleForLink=Definir um título para ao favorito
UseAnExternalHttpLinkOrRelativeDolibarrLink=Usar uma URL de HTTP externa ou uma URL relativa do Dolibarr
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Escolha se a página aberta pelo link deve aparecer na janela atual ou na nova
BookmarksManagement=Administração dos favoritos
ListOfBookmarks=Lista de favoritos

View File

@ -2,26 +2,38 @@
BoxProductsAlertStock=Produtos em alerta de estoque
BoxLastSupplierBills=Últimas faturas de Fornecedores
BoxLastCustomerBills=Últimas faturas a Clientes
BoxOldestUnpaidCustomerBills=Primeira fatura pendente do cliente
BoxOldestUnpaidSupplierBills=Primeira fatura pendentes do fornecedor
BoxLastActions=Últimas ações
BoxLastContracts=Últimos contratos
BoxLastContacts=Últimos contatos/endereços
BoxFicheInter=Últimas intervenções
BoxCurrentAccounts=Saldos contas correntes
BoxCurrentAccounts=Abrir saldo das contas
BoxTotalUnpaidCustomerBills=Total de faturas pendentes de clientes
BoxTotalUnpaidSuppliersBills=Total de faturas pendentes de fornecedores
BoxTitleLastRssInfos=As %s últimas Infos de %s
BoxTitleLastProducts=Os %s últimos Produtos/Serviços Registados
BoxTitleProductsAlertStock=Produtos em alerta de estoque
BoxTitleLastModifiedSuppliers=Últimos %s fornecedores modificados
BoxTitleLastModifiedCustomers=Últimos clientes
BoxTitleLastCustomerBills=As %s últimas faturas a clientes registradas
BoxTitleLastSupplierBills=As %s últimas faturas de Fornecedores registradas
BoxTitleLastModifiedProspects=Últimos clientes potenciais modificados
BoxTitleLastModifiedMembers=os %s últimos Membros modificados
BoxTitleCurrentAccounts=Saldos das contas correntes
BoxTitleLastFicheInter=As últimas % s intervenções modificadas
BoxTitleOldestUnpaidCustomerBills=Primeira %s fatura pendente do cliente
BoxTitleOldestUnpaidSupplierBills=Primeira %s fatura pendente do fornecedor
BoxTitleCurrentAccounts=Abrir saldo das contas
BoxTitleTotalUnpaidCustomerBills=Faturas de Clientes Pendentes de Cobrança
BoxTitleTotalUnpaidSuppliersBills=Faturas de Fornecedores Pendentes de Pagamento
BoxTitleLastModifiedContacts=Últimos %s contatos/endereços
BoxMyLastBookmarks=Os meus últimos Favoritos
BoxOldestExpiredServices=Primeiro serviços expirados ativos
BoxLastExpiredServices=Últimos %s contatos com os serviços expirados ativos
BoxTitleLastActionsToDo=As %s últimas ações a realizar
BoxTitleLastModifiedDonations=As ultimas %s doações modificadaas
BoxTitleLastModifiedExpenses=Últimas despesas modificadas
BoxGlobalActivity=Atividade geral (notas fiscais, propostas, ordens)
FailedToRefreshDataInfoNotUpToDate=Erro na atualização do fluxos RSS. Data da última atualização: %s
LastRefreshDate=Data da última atualização
ClickToAdd=Clique aqui para adicionar
@ -36,6 +48,7 @@ NoRecordedProducts=Nenhum Produto/Serviço registado
NoRecordedProspects=Nenhums prespéctiva registrada
NoContractedProducts=Nenhum Produto/Serviço contratado
NoRecordedContracts=Nenhum contrato registrado
NoRecordedInterventions=Não há intervenções gravadas
BoxLatestSupplierOrders=Últimos pedidos a forcecedores
BoxTitleLatestSupplierOrders=%s últimos pedidos a forcecedores
NoSupplierOrder=Nenhum pedido a fornecedor registrado
@ -44,4 +57,7 @@ BoxSuppliersInvoicesPerMonth=Faturas de fornecedor por mês
BoxCustomersOrdersPerMonth=Pedidos de clientes por mês
BoxSuppliersOrdersPerMonth=Pedidos de fornecedor por mês
NoTooLowStockProducts=Nenhum produto abaixo do limite de estoque
BoxProductDistribution=Produtos / Serviços e distribuição
BoxProductDistributionFor=Distribuição de para
ForCustomersInvoices=Faturas de Clientes
ForCustomersOrders=Ordem de clientes

View File

@ -2,6 +2,17 @@
CashDesks=Caixa
CashDeskBank=Conta Bancaria
CashDeskStock=Estoque
CashDeskOn=Ligado
CashDeskThirdParty=Fornecedor
CashdeskDashboard=Ponto de acesso venda
NewSell=Nova venda
AddThisArticle=Adicione este artigo
RestartSelling=Volte para vendas
SellFinished=Venda acabada
PrintTicket=Cupom impresso
TotalTicket=Ticket total
Change=Recebido em Excesso
CashDeskSetupStock=Você pede para diminuir do estoque com a criação de faturas, mas não foi definido armazém para isso <br> Alterar configuração do módulo de estoque, ou escolha um armazém
BankToPay=Carregue Conta
ShowCompany=Mostar Empresa
FilterRefOrLabelOrBC=Busca (Ref/Etiqueta)

View File

@ -5,6 +5,7 @@ categories=Categorias
In=Em
ThirdPartyCategoriesArea=Área Categorias de Fornecedores
MembersCategoriesArea=Área categorias membros
ContactsCategoriesArea=Contatos area categorias
NoSubCat=Esta categoria não contém Nenhuma subcategoria.
ErrSameCatSelected=Selecionou a mesma categoria varias vezes
ErrForgotCat=Esqueceu de escolher a categoria
@ -13,26 +14,36 @@ ErrCatAlreadyExists=Este nome esta sendo utilizado
ImpossibleAddCat=Impossível Adicionar a categoria
ObjectAlreadyLinkedToCategory=O elemento já está associado a esta categoria
MemberIsInCategories=Este membro deve as seguintes categorias de membros
ContactIsInCategories=Este contato pertence as seguentes categorias contatos
CompanyHasNoCategory=Esta empresa não se encontra em Nenhuma categoria em particular
MemberHasNoCategory=Este membro nao esta em nenhuma categoria
ContactHasNoCategory=Este contato nao esta em nenhuma categoria
ClassifyInCategory=Esta categoria não contém clientes
ContentsVisibleByAll=O Conteúdo Será Visivel por Todos?
ContentsVisibleByAllShort=Conteúdo visivel por todos
ContentsNotVisibleByAllShort=Conteúdo não visivel por todos
CategoriesTree=Tipos de categoria
ConfirmDeleteCategory=Tem certeza que quer eliminar esta categoria?
RemoveFromCategoryConfirm=Tem certeza que quer eliminar o link entre a transação e a categoria?
MembersCategoryShort=Categoria de membros
MembersCategoriesShort=Categoria de membros
ContactCategoriesShort=Categorias contatos
ThisCategoryHasNoProduct=Esta categoria não contém nenhum produto.
ThisCategoryHasNoSupplier=Esta categoria não contém a nenhum fornecedor.
ThisCategoryHasNoCustomer=Esta categoria não contém a nenhum cliente.
ThisCategoryHasNoMember=Esta categoria nao contem nenhum membro.
ThisCategoryHasNoContact=Esta categoria nao contem nenhum contato.
CatSupList=Lista de categorias de fornecedores
CatCusList=Lista de Categorias de Clientes/Perspectivas
CatProdList=Lista de Categorias de Produtos
CatMemberList=Lista de membros categorias
CatContactList=Lista de categorias contatos e do contato
CatSupLinks=Linkes entre fornecedores e catogorias
CatCusLinks=Linkes entre clientes/prospetivas e categorias
CatProdLinks=Linkes entre produtos/servicos e categorias
CatMemberLinks=Linkes entre membros e categorias
DeleteFromCat=Excluir da categoria
ExtraFieldsCategories=atributos complementares
CategoriesSetup=Configuração de categorias
CategorieRecursiv=Ligação com a categoria automaticamente
CategorieRecursivHelp=Se ativado, o produto também será ligada a categoria original quando adicionando em uma subcategoria

View File

@ -1,17 +1,21 @@
# Dolibarr language file - Source file is en_US - commercial
CommercialArea=Área Comercial
DeleteAction=Eliminar uma Ação
NewAction=Nova Ação
AddAction=Criar Ação
AddAnAction=Criar uma Ação
ConfirmDeleteAction=Tem certeza que quer eliminar esta ação?
CardAction=Ficha da Ação
ActionOnCompany=Ação Relativa à Empresa
ActionOnContact=Ação Relativa ao Contato
ShowTask=Ver Tarefa
ShowAction=Ver Ação
ActionsReport=Relatório de Ações
DeleteAction=Eliminar um evento/tarefa
NewAction=Novo evento/tarefa
AddAction=Adicionar evento/tarefa
AddAnAction=Adicionar um evento/tarefa
AddActionRendezVous=Criar uma reunião
ConfirmDeleteAction=Você tem certeza que deseja excluir este evento/tarefa?
CardAction=Ficha de evento
PercentDone=Percentual completo
ActionOnCompany=Tarefa relativa à empresa
ActionOnContact=Tarefa relativa a um contato
ShowTask=Visualizar tarefa
ShowAction=Visualizar evento
ActionsReport=Relatório de eventos
ThirdPartiesOfSaleRepresentative=Terceiros com representantes
SalesRepresentative=Representante de vendas
SalesRepresentatives=Os representantes de vendas
SalesRepresentativeFollowUp=Comercial (Seguimento)
SalesRepresentativeSignature=Comercial (Assinatura)
CommercialInterlocutor=Interlocutor Comercial

View File

@ -1,42 +1,81 @@
# Dolibarr language file - Source file is en_US - companies
ErrorCompanyNameAlreadyExists=o Nome da emprea %s já existe. Indique outro.
ErrorPrefixAlreadyExists=o Prefixooo %s já existe. Indique outro.
ErrorSetACountryFirst=Defina em primeiro localização o país
DeleteThirdParty=Eliminar um Fornecedor
ConfirmDeleteCompany=? Tem certeza que quer eliminar esta empresa e toda a informação dela pendente?
DeleteContact=Eliminar um contato
ConfirmDeleteContact=? Tem certeza que quer eliminar este contato e toda a sua informação inerente?
MenuNewThirdParty=Novo Fornecedor
NewThirdParty=Novo Fornecedor (Cliente Potencial, Cliente, Fornecedor)
ErrorCompanyNameAlreadyExists=Nome da empresa %s já existe. Indique outro.
ErrorPrefixAlreadyExists=Prefixo %s já existe. Indique outro.
ErrorSetACountryFirst=Primeiro defina o Pais
SelectThirdParty=Selecione um Terceiro
DeleteThirdParty=Excluir um Terceiro
ConfirmDeleteCompany=Tem certeza que quer excluir esta empresa e toda a informação dela pendente?
DeleteContact=Excluir um contato
ConfirmDeleteContact=Tem certeza que quer excluir este contato e toda a sua informação inerente?
NewSocGroup=Novo grupo de empresas
CreateDolibarrThirdPartySupplier=Criar um terceiro(Fornecedor)
SocGroup=Agrupamento de empresas
IdThirdParty=ID Fornecedor
IdContact=Id Contato
Contacts=Contatos
ThirdPartyContacts=Contatos de Fornecedores
ThirdPartyContact=Contato de Fornecedor
StatusContactValidated=Estado do Contato
CountryIsInEEC=País da Comunidadeee Económica Europeia
ThirdPartyName=Nome do fornecedor
ThirdParty=Fornecedor
ThirdParties=Empresas
ThirdPartyAll=Fornecedores (Todos)
ThirdPartyType=Tipo de Fornecedor
ToCreateContactWithSameName=Criar automaticamente um contato fisico com a mesma informação
ParentCompany=Casa Mãe
Subsidiary=Subsidiário
Subsidiaries=Subsidiários
NoSubsidiary=Sem subsidiário
RegisteredOffice=Domicilio Social
Address=Endereço
CountryCode=Código País
CountryId=ID do país
Call=Ligar
PhonePerso=Telef. Particular
No_Email=Não envie e-mails em massa
Zip=Código Postal
Town=Município
DefaultLang=Linguagem por padrão
VATIsUsed=Sujeito a ICMS
VATIsNotUsed=Não Sujeito a ICMS
CopyAddressFromSoc=Preencha o endereço com o endereço do fornecedor
NoEmailDefined=Não tem email definido
LocalTax1IsUsedES=Sujeito a RE
LocalTax1IsNotUsedES=Não sujeito a RE
LocalTax2IsUsedES=Sujeito a IRPF
LocalTax2IsNotUsedES=Não sujeito a IRPF
WrongCustomerCode=Código cliente incorreto
WrongSupplierCode=Código fornecedor incorreto
ProfId5Short=Prof. id 5
ProfId6Short=Prof. id 6
ProfId5=ID profesional 5
ProfId6=ID profesional 6
ProfId1AR=Prof Id 1 (CUIT/CUIL)
ProfId2AR=Prof Id 2 (Receitas brutas)
ProfId1BE=Núm da Ordem
ProfId1CL=Prof Id 1 (R.U.T.)
ProfId1CO=Prof Id 1 (R.U.T.)
ProfId2DE=Prof Id 2 (USt.-Nr)
ProfId3DE=Prof Id 3 (Handelsregister-Nr.)
ProfId1ES=Prof Id 1 (CIF/NIF)
ProfId2ES=Prof Id 2 (Número do seguro social)
ProfId3ES=Prof Id 3 (CNAE)
ProfId4ES=Prof Id 4 (Collegiate number)
ProfId5FR=-
ProfId2IN=Prof Id 2 (PAN)
ProfId3IN=Prof Id 3 (Taxa de Serviço)
ProfId1MA=Id prof. 1 (R.C.)
ProfId3MA=Id prof. 3 (I.F.)
ProfId4MA=Id prof. 4 (C.N.S.S.)
ProfId1MX=Prof Id 1 (R.F.C).
ProfId2MX=Prof Id 2 (R..P. IMSS)
ProfId3MX=Prof Id 3 (Carta Profissional)
ProfId1NL=KVK nummer
ProfId4NL=Burgerservicenummer (BSN)
ProfId1RU=Id prof 1 (I.E.)
ProfId2RU=Id prof 2 (I.M.)
ProfId3RU=Id prof. 3 (CGC)
ProfId4RU=Id prof. 4 (Livre)
VATIntra=Cadastro Nacional Pessoa Juridica - CNPJ
CompanyHasRelativeDiscount=Este cliente tem um Desconto por default de <b>%s%%</b>
CompanyHasNoRelativeDiscount=Este cliente não tem Descontos relativos por default
@ -48,7 +87,11 @@ DefaultDiscount=Desconto por Fefeito
AvailableGlobalDiscounts=Descontos Fixos Disponíveis
AddContact=Criar Contato
AddContactAddress=Novo Contato/Endereço
EditContact=Editar contato
EditContactAddress=Editar contato/endereco
Contact=Contato
ContactsAddresses=Contatos/Enderecos
NoContactDefinedForThirdParty=Nenhum contato definido para este terceiro
NoContactDefined=Nenhum contato definido para este fornecedor
DefaultContact=Contato por Padrao
AddThirdParty=Criar Fornecedor
@ -73,8 +116,8 @@ NoContactForAnyContract=Este contato não é contato de nenhum contrato
NoContactForAnyInvoice=Este contato não é contato de nenhuma fatura
NewContact=Novo Contato
NewContactAddress=Novo Contato/Endereço
LastContacts=Ultimos contatos
MyContacts=Os Meus Contatos
LastContacts=Últimos contatos
MyContacts=Meus Contatos
EditDeliveryAddress=Modificar Endereço de Envio
ThisUserIsNot=Este usuário nem é um cliente potencial, nem um cliente, nem um fornecedor
VATIntraCheckDesc=o link <b>%s</b> permite consultar à serviço europeo de control de números de ICMS intracomunitario. Se requer acesso a internet para que o serviço funcione
@ -94,8 +137,10 @@ NbOfAttachedFiles=N de Arquivos Anexos
AttachANewFile=Adicionar um Novo Arquivo
ExportCardToFormat=Exportar Ficha para o Formato
ContactNotLinkedToCompany=Contato não Vinculado a um Fornecedor
ExportDataset_company_1=Fornecedor (Empresas/Instituciones) e Atributos
ExportDataset_company_1=Terceiros (Empresas/Fondacoes/Pessoas Fisicas) e propriedades
ExportDataset_company_2=Contatos de Fornecedor e Atributos
ImportDataset_company_1=Terceiros (Empresas/Fondacoes/Pessoas Fisicas) e propriedades
ImportDataset_company_2=Contatos/Enderecos (dos terceiros e nao) e atributos
ImportDataset_company_3=Dados Bancários
PriceLevel=Nível de Preços
DeliveriesAddress=Endereço(ões) de Envio
@ -111,10 +156,21 @@ SupplierCategory=Categoria de Fornecedor
JuridicalStatus200=Estado Juridico
DeleteFile=Apagar um Arquivo
ConfirmDeleteFile=? Tem certeza que quer eliminar este Arquivo?
AllocateCommercial=Assinado ao representate de vendas
SelectCountry=Selecionar um País
SelectCompany=Selecionar um Fornecedor
AutomaticallyGenerated=Gerado Automaticamente
YouMustCreateContactFirst=E obrigatorio cadastrar contatos email para um terceiro para ser possivel adicionar notificacoes por email.
ListSuppliersShort=Lista de Fornecedores
ListProspectsShort=Lista de Clientes Potenciais
ListCustomersShort=Lista de Clientes
ThirdPartiesArea=Area terceiros
LastModifiedThirdParties=Os ultimos %s terceiros modificados
UniqueThirdParties=Total de terceiros unicos
ActivityStateFilter=Status das atividades
ProductsIntoElements=Lista de produtos para %s
CurrentOutstandingBill=Notas aberta correntes
OutstandingBill=Max. permitido para uma nota aberta
OutstandingBillReached=Chegou ao max permitido para nostas abertas
MonkeyNumRefModelDesc=Devolve um número baixo o formato %syymm-nnnn para os códigos de clientes e %syymm-nnnn para os códigos dos Fornecedores, donde yy é o ano, mm o mês e nnnn um contador seq<65>êncial sem ruptura e sem Voltar a 0.
ManagingDirectors=Nome do Representante(CEO,Diretor,Presidente...)

View File

@ -1,24 +1,49 @@
# Dolibarr language file - Source file is en_US - compta
TaxModuleSetupToModifyRules=Vá para <a href="%s">configuração do módulo Impostos</a> para modificar regras de cálculo
OptionMode=Opção de Administração Contabilidade
OptionModeTrue=Opção Depositos/Despesas
OptionModeTrueDesc=Neste método, o balanço calcula-se sobre a base das faturas pagas.\nA validade dos valores não está garantida pois a Administração da Contabilidade pasa rigurosamente pelas entradas/saidas das contas mediante as faturas.\nNota : Nesta Versão, Dolibarr utiliza a data da fatura ao estado ' Validada ' e não a data do estado ' paga '.
OptionModeVirtualDesc=neste método, o balanço se calcula sobre a base das faturas validadas. pagas o não, aparecen ao resultado em quanto sejam discolocaçãos.
FeatureIsSupportedInInOutModeOnly=função disponível somente ao modo contas CREDITOS-dividas (Véase a configuração do módulo contas)
VATReportBuildWithOptionDefinedInModule=Os valores aqui apresentados são calculados usando as regras definidas pela configuração do módulo Fiscal.
RemainingAmountPayment=Pagamento montante remanescente:
AmountToBeCharged=O valor total a pagar:
Accountparent=Conta pai
Accountsparent=Contas pai
BillsForSuppliers=Faturas de Fornecedores
Income=Depositos
PaymentsNotLinkedToInvoice=pagamentos vinculados a Nenhuma fatura, por o que nenhum Fornecedor
PaymentsNotLinkedToUser=pagamentos não vinculados a um usuário
Piece=Contabilidade Doc.
AmountHTVATRealPaid=líquido pago
VATSummary=Resumo ICMS
LT2SummaryES=IRPF Saldo
VATPaid=IVA pago
SalaryPaid=Salários pagos
LT2PaidES=IRPF pago
LT2CustomerES=IRPF de vendas
LT2SupplierES=IRPF de compras
ToGet=Para restituir
SpecialExpensesArea=Área para todos os pagamentos especiais
MenuSpecialExpenses=Despesas especiais
PaymentCustomerInvoice=Cobrança fatura a cliente
PaymentSupplierInvoice=Pagamento fatura de fornecedor
PaymentSocialContribution=pagamento gasto social
PaymentVat=Pagamento ICMS
PaymentSalary=Pagamento de salário
DateStartPeriod=Período de início e data
DateEndPeriod=Período e data final
NewVATPayment=Novo Pagamento de ICMS
newLT2PaymentES=Novo pagamento do IRPF
LT2PaymentES=Pagamento de IRPF
LT2PaymentsES=Pagamentos de IRPF
VATPayment=Pagamento ICMS
VATPayments=Pagamentos ICMS
SocialContributionsPayments=Pagamento de contribuições sociais
ShowVatPayment=Ver Pagamentos ICMS
TotalVATReceived=Total do ICMS Recebido
AccountNumberShort=N<> de conta
SalesTurnoverMinimum=Volume de negócios mínimo de vendas
ByThirdParties=Por Fornecedor
ByUserAuthorOfInvoice=Por autor da fatura
AccountancyExport=exportação Contabilidade
@ -26,17 +51,67 @@ ErrorWrongAccountancyCodeForCompany=Código contabilidade incorreto para %s
NbOfCheques=N<> de Cheques
ConfirmPaySocialContribution=? Tem certeza que quer classificar esta gasto social como paga?
ConfirmDeleteSocialContribution=? Tem certeza que quer eliminar esta gasto social?
CalcModeVATDebt=<b>Modo% S VAT compromisso da contabilidade% s.</b>
CalcModeVATEngagement=<b>Modo% SVAT sobre os rendimentos e as despesas% s.</b>
CalcModeDebt=Modo <b>% s declarações de dívidas% s </ b> diz <b> Compromisso da contabilidade </ b>.
CalcModeEngagement=Modo <b>% s rendimentos e as despesas% s </ b> contabilidade do caixa <b> </ b>>
AnnualSummaryDueDebtMode=Balanço de receitas e despesas, resumo anual
AnnualSummaryInputOutputMode=Balanço de receitas e despesas, resumo anual
AnnualByCompaniesDueDebtMode=balanço de depositos e despesas, desglosado por Fornecedores, em modo <b>%sCréditos-dividas%s</b> chamada <b>Contabilidade de compromisso</b>.
AnnualByCompaniesInputOutputMode=balanço de depositos e despesas, desglosado por Fornecedores, em modo <b>%sdepositos-despesas%s</b> chamada <b>Contabilidade de Caixa</b>.
SeeReportInInputOutputMode=Ver o Relatório <b>%sdepositos-despesas%s</b> chamado <b>Contabilidade de Caixa</b> para um cálculo sobre as faturas pagas
SeeReportInDueDebtMode=Ver o Relatório <b>%sCréditos-dividas%s</b> chamada <b>Contabilidade de compromisso</b> para um cálculo das faturas Pendentes de pagamento
RulesAmountWithTaxIncluded=- Valores apresentados estão com todos os impostos incluídos
RulesResultDue=- os montantes mostrados são montantes totais<br>- Inclui as faturas, gastos e ICMS debidos, que estão pagas ou não.<br>- Baseia-se na data de validação para as faturas e o ICMS e na data de vencimento para as gastos.<br>
RulesResultInOut=- os montantes mostrados são montantes totais<br>- Inclui os pagamentos realizados para as faturas, gastos e ICMS.<br>- Baseia-se na data de pagamento das mismas.<br>
RulesResultInOut=- Inclui os pagamentos feitos em reais em notas fiscais, despesas e IVA. <br> - Baseia-se as datas de pagamento das faturas, despesas e IVA.
RulesCADue=- Inclui as faturas a clientes, estejam pagas ou não.<br>- Baseia-se na data de validação das mesmas.<br>
RulesCAIn=- Inclui os pagamentos efetuados das faturas a clientes.<br>- Baseia-se na data de pagamento das mesmas<br>
DepositsAreNotIncluded=- Faturas e depósito não estão incluído
DepositsAreIncluded=- Faturas de Depósito estão incluídos
LT2ReportByCustomersInInputOutputModeES=Relatório de fornecedores do IRPF
VATReportByCustomersInInputOutputMode=Relatório do IVA cliente recolhido e pago
VATReportByCustomersInDueDebtMode=Relatório do IVA cliente recolhido e pago
VATReportByQuartersInInputOutputMode=Relatório da taxa do IVA cobrado e pago
VATReportByQuartersInDueDebtMode=Relatório da taxa do IVA cobrado e pago
SeeVATReportInDueDebtMode=Ver o Relatório <b>%sIVA a dever%s</b> para um modo de cálculo com a opção sobre a divida
RulesVATInServices=- No caso dos serviços, o relatório inclui os regulamentos IVA efetivamente recebidas ou emitidas com base na data de pagamento.
RulesVATInProducts=- Para os bens materiais, que inclui as notas fiscais de IVA com base na data da fatura.
RulesVATDueServices=- No caso dos serviços, o relatório inclui faturas de IVA devido, remunerado ou não, com base na data da fatura.
RulesVATDueProducts=- Para os bens materiais, que inclui as notas fiscais de IVA, com base na data da fatura.
OptionVatInfoModuleComptabilite=Nota: Para os bens materiais, sería necessário utilizar a data de entregas para para ser mais justo.
PercentOfInvoice=%%/fatura
NotUsedForGoods=Bens não utilizados
ProposalStats=As estatísticas sobre as propostas
OrderStats=Estatísticas de comandos
InvoiceStats=As estatísticas sobre as contas
ThirdPartyMustBeEditAsCustomer=Fornecedor deve ser definido como um cliente
SellsJournal=Diário de Vendas
PurchasesJournal=Diário de Compras
DescSellsJournal=Diário de Vendas
DescPurchasesJournal=Diário de Compras
CodeNotDef=Não Definida
AddRemind=Exibir o valor disponível
RemainToDivide=Saldo disponível
WarningDepositsNotIncluded=Depósitos faturas não estão incluídos nesta versão com este módulo de contabilidade.
DatePaymentTermCantBeLowerThanObjectDate=Data Prazo de pagamento não pode ser inferior a data da compra ou aquisição
Pcg_version=Versão Pcg
Pcg_type=Tipo Pcg
Pcg_subtype=PCG subtipo
InvoiceLinesToDispatch=Linhas de nota fiscal para envio
InvoiceDispatched=Faturas remetidas
AccountancyDashboard=Resumo Contabilidade
ByProductsAndServices=Por produtos e serviços
RefExt=Ref externo
ToCreateAPredefinedInvoice=Para criar uma nota fiscal predefinido, criar uma fatura padrão, em seguida, sem validá-lo, clique no botão "Convert to fatura pré-definido".
LinkedOrder=ligado ao pedido
CalculationRuleDesc=Para calcular o total do VAT, há dois métodos: <br> Método 1 é arredondamento cuba em cada linha, em seguida, soma-los. <br> Método 2 é somando tudo cuba em cada linha, em seguida, o arredondamento resultado. <br> Resultado final pode difere de alguns centavos. O modo padrão é o <b>modo% s.</b>
CalculationRuleDescSupplier=De acordo com o fornecedor, escolher o método adequado aplicar mesma regra de cálculo e obter mesmo resultado esperado pelo seu fornecedor.
TurnoverPerProductInCommitmentAccountingNotRelevant=Relatório Volume de negócios por produto, quando se usa um modo de <b>contabilidade de caixa</b> não é relevante. Este relatório está disponível somente quando utilizar o modo de <b>contabilidade engajamento</b> (ver configuração do módulo de contabilidade).
COMPTA_PRODUCT_BUY_ACCOUNT=Código de contabilidade padrão para comprar produtos
COMPTA_PRODUCT_SOLD_ACCOUNT=Código de contabilidade padrão para vender produtos
COMPTA_SERVICE_BUY_ACCOUNT=Código de contabilidade padrão para comprar serviços
COMPTA_SERVICE_SOLD_ACCOUNT=Código de contabilidade padrão para vender serviços
COMPTA_VAT_ACCOUNT=Código de contabilidade padrão para cobrança do VAT
COMPTA_VAT_BUY_ACCOUNT=Código de contabilidade padrão para pagar o VAT
COMPTA_ACCOUNT_CUSTOMER=Código Contabilidade por padrão para fornecedores de clientes
COMPTA_ACCOUNT_SUPPLIER=Código da contabilidade por padrão para fornecedor

View File

@ -69,6 +69,8 @@ ListOfServicesToExpireWithDuration=Lista de servicos a vencer em %s dias
ListOfServicesToExpireWithDurationNeg=Lista de serviços expirados a mais de %s dias
ListOfServicesToExpire=Lista de servicos a vencer
NoteListOfYourExpiredServices=Esta lista contém apenas contratos de serviços de terceiros as quais você está ligado como representante de vendas.
StandardContractsTemplate=Modelo de contratos simples
ContactNameAndSignature=Para %s, nome e assinatura:
TypeContact_contrat_external_BILLING=Contato cliente de faturação do contrato
TypeContact_contrat_external_CUSTOMER=Contato cliente seguimento do contrato
TypeContact_contrat_external_SALESREPSIGN=Contato cliente assinante do contrato

View File

@ -1,6 +1,13 @@
# Dolibarr language file - Source file is en_US - errors
NoErrorCommitIsDone=Nenhum erro, cometemos
ErrorButCommitIsDone=Erros encontrados, mas que, apesar disso validar
ErrorBadEMail=EMail% s está errado
ErrorBadUrl=Url% s está errado
ErrorLoginAlreadyExists=o login %s já existe.
ErrorGroupAlreadyExists=o grupo %s já existe.
ErrorRecordNotFound=Registro não encontrado.
ErrorFailToCopyFile=Falha ao copiar o arquivo <b>'% s'</b> para <b>'% s'.</b>
ErrorFailToRenameFile=Falha ao renomear o arquivo <b>'% s'</b> para <b>'% s'.</b>
ErrorFailToDeleteFile=Error à eliminar o Arquivo '<b>%s</b>'.
ErrorFailToCreateFile=Erro ao criar o arquivo '<b<%s</b>'
ErrorFailToRenameDir=Error à renombar a pasta '<b>%s</b>' a '<b>%s</b>'.
@ -9,10 +16,18 @@ ErrorFailedToDeleteJoinedFiles=impossível eliminar a entidade já que tem Arqui
ErrorThisContactIsAlreadyDefinedAsThisType=Este contato já está definido como contato para este tipo.
ErrorFromToAccountsMustDiffers=a conta origem e destino devem ser diferentes.
ErrorBadThirdPartyName=Nome de Fornecedor incorreto
ErrorProdIdIsMandatory=Obrigatório
ErrorBadCustomerCodeSyntax=a sintaxis do código cliente é incorreta
ErrorBadBarCodeSyntax=A sintaxe do código de barras esta incorreta
ErrorBarCodeRequired=Código de barras necessário
ErrorBarCodeAlreadyUsed=Código de barras já utilizado
ErrorUrlNotValid=O Endereço do Site está incorreta
ErrorBadSupplierCodeSyntax=a sintaxis do código fornecedor é incorreta
ErrorBadParameters=parâmetros incorretos
ErrorBadValueForParameter=Valor errado, parâmetro incorreto
ErrorBadImageFormat=O arquivo de imagem não tem um formato suportado
ErrorBadDateFormat=Valor tem o formato de data errada
ErrorWrongDate=A data não está correta!
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.
@ -23,17 +38,46 @@ ErrorFeatureNeedJavascript=Esta Funcionalidade precisa de javascript ativo para
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)
ErrorDirNotFound=<b>Diretório% s</b> não encontrado (Bad caminho, permissões erradas ou acesso negado por OpenBasedir PHP ou parâmetro safe_mode)
ErrorFunctionNotAvailableInPHP=a função <b>%s</b> é 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.
ErrorFileAlreadyExists=Um arquivo com este nome já existe.
ErrorPartialFile=O servidor não recebeu o arquivo completamente.
ErrorNoTmpDir=Diretório não existe.
ErrorUploadBlockedByAddon=Carregar bloqueado por um plug-in PHP / Apache.
ErrorFileSizeTooLarge=Tamanho de arquivo é muito grande.
ErrorSizeTooLongForIntType=Tamanho muito longo (máximo dígitos% s)
ErrorSizeTooLongForVarcharType=Tamanho muito longo (% s caracteres no máximo)
ErrorNoValueForSelectType=Por favor, preencha valor para lista de seleção
ErrorNoValueForCheckBoxType=Por favor, preencha valor para a lista de caixa de seleção
ErrorNoValueForRadioType=Por favor, preencha valor para a lista de rádio
ErrorBadFormatValueList=O valor da lista não pode ter mais do que um <u>vir:% s,</u> mas precisa de pelo menos um: chave ou valores
ErrorFieldCanNotContainSpecialCharacters=o campo <b>%s</b> não deve contener caracter0es especiais
ErrorFieldCanNotContainSpecialNorUpperCharacters=O <b>campo% s</b> não deve contém caracteres especiais, nem caracteres maiúsculos.
ErrorNoAccountancyModuleLoaded=Módulo de Contabilidade não ativado
ErrorExportDuplicateProfil=o Nome do perfil já existe para este lote de exportação
ErrorExportDuplicateProfil=Este nome de 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
ErrorRecordHasChildren=não se pode eliminar o registo porque tem hijos.
ErrorRecordIsUsedCantDelete=Não é possível excluir registro. Ele já é usado ou incluídos em outro objeto.
ErrorModuleRequireJavascript=Javascript não deve ser desativado para ter esse recurso funcionando. Para ativar / desativar o Javascript, vá ao menu Home-> Configuração-> Display.
ErrorContactEMail=Um erro técnico ocorrido. Por favor, contate o administrador para seguinte <b>e-mail% s</b> en fornecer o código de <b>erro% s</b> em sua mensagem, ou ainda melhor, adicionando uma cópia de tela da página.
ErrorWrongValueForField=Valor errado para o número do <b>campo% s</b> (valor <b>'% s'</b> não corresponde <b>regra% s)</b>
ErrorFieldValueNotIn=Valor errado para o número do <b>campo% s</b> (valor <b>'% s'</b> não é um valor disponível no <b>campo% s</b> da <b>tabela% s)</b>
ErrorFieldRefNotIn=Valor errado para o número do <b>campo% s</b> (valor <b>'% s'</b> não é <b>um% s</b> ref existente)
ErrorsOnXLines=Erros no registro de <b>origem% s</b> (s)
ErrorSpecialCharNotAllowedForField=Os caracteres especiais não são permitidos para o campo "% s"
ErrorDatabaseParameterWrong=Parâmetro de configuração do banco de dados <b>'% s'</b> tem um valor não é compatível para usar Dolibarr (deve ter o valor <b>'% s').</b>
ErrorNumRefModel=Uma referência existe no banco de dados (% s) e não é compatível com esta regra de numeração. Remover registro ou referência renomeado para ativar este módulo.
ErrorQtyTooLowForThisSupplier=Quantidade insuficiente para este fornecedor
ErrorModuleSetupNotComplete=Configuração do módulo parece ser incompleto. Vá em Setup - Módulos para ser concluído.
ErrorBadMaskFailedToLocatePosOfSequence=Erro, máscara sem número de sequência
ErrorBadMaskBadRazMonth=Erro, valor de redefinição ruim
ErrorProductWithRefNotExist=O produto com referência não existem <i>'% s'</i>
ErrorDeleteNotPossibleLineIsConsolidated=Não e possívelexcluir porque registro está ligada a uma transação bancária que está conciliada
ErrorProdIdAlreadyExist=% S é atribuída a outro terço
ErrorFailedToSendPassword=Erro ao enviar a senha
ErrorPasswordDiffers=As Senhas não são identicas, volte a introduzi-las
ErrorForbidden=acesso não autorizado.<br>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.
@ -50,8 +94,39 @@ ErrorFailedToChangePassword=Error na modificação da senha
ErrorLoginDoesNotExists=a conta de usuário de <b>%s</b> 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 \ttentar com um Novo valor...
ErrorBothFieldCantBeNegative=Campos% se% s não pode ser tanto negativo
ErrorWebServerUserHasNotPermission=Conta de usuário usado para executar servidor não tem permissão
ErrUnzipFails=Falha ao descompactar com ZipArchive
ErrNoZipEngine=Não esta instaladoo programa para descompactar o arquivo% s neste PHP
ErrorFileMustBeADolibarrPackage=O arquivo deve ser um pacote zip Dolibarr
ErrorFileRequired=É preciso um arquivo de pacote Dolibarr
ErrorPhpCurlNotInstalled=O PHP CURL não está instalado, isto é essencial para conversar com Paypal
ErrorFailedToAddToMailmanList=Falha ao adicionar registro% s para% s Mailman lista ou base SPIP
ErrorFailedToRemoveToMailmanList=Falha ao remover registro% s para% s Mailman lista ou base SPIP
ErrorNewValueCantMatchOldValue=O novo valor não pode ser igual ao anterior
ErrorFailedToValidatePasswordReset=Falha ao reinicializar senha. Pode ser o reinit já foi feito (este link pode ser usado apenas uma vez). Se não, tente reiniciar o processo reinit.
ErrorToConnectToMysqlCheckInstance=Conecte-se ao banco de dados falhar. Verifique servidor MySQL está rodando (na maioria dos casos, você pode iniciá-lo a partir de linha de comando com o "sudo / etc / init.d / mysql start ').
ErrorDateMustBeBeforeToday=A data não pode ser maior do que hoje
ErrorPaymentModeDefinedToWithoutSetup=A modalidade de pagamento foi definido para tipo% s mas a configuração do módulo de fatura não foi concluída para definir as informações para mostrar para esta modalidade de pagamento.
ErrorPHPNeedModule=Erro, o PHP deve ter <b>módulo% s</b> instalado para usar este recurso.
ErrorOpenIDSetupNotComplete=Você arquivo de configuração Dolibarr configuração para permitir a autenticação OpenID, mas a URL de serviço OpenID não está definido em constante% s
ErrorWarehouseMustDiffers=A conta origem e destino devem ser diferentes
ErrorBadFormat=Formato ruim!
ErrorPaymentDateLowerThanInvoiceDate=Data de Pagamento (% s) não pode "ser antes da data da fatura para faturar.
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Erro, esse membro ainda não está vinculado a qualquer fornecedor. Fazer a ligação membro a um terceiro existente ou criar uma novo fornecedor antes de criar assinatura com nota fiscal.
ErrorThereIsSomeDeliveries=Erro, há algumas entregas ligados a este envio. Supressão recusou.
WarningMandatorySetupNotComplete=Parâmetros de configuração obrigatórios ainda não estão definidos
WarningSafeModeOnCheckExecDir=Atenção, a opção PHP <b>safe_mode</b> está em modo de comando devem ser armazenados dentro de um diretório declarado pelo php parâmetro <b>safe_mode_exec_dir.</b>
WarningAllowUrlFopenMustBeOn=o parâmetro <b>allow_url_fopen</b> deve ser especificado a <b>on</b> ao Arquivo <b>php.ini</b> para discolocar deste módulo completamente ativo. deve modificar este Arquivo manualmente
WarningBuildScriptNotRunned=o script <b>%s</b> 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.
WarningConfFileMustBeReadOnly=Atenção, o seu arquivo de configuração <b>(htdocs / conf / conf.php)</b> pode ser substituído pelo servidor web. Esta é uma falha de segurança grave. Modificar permissões em arquivos para estar no modo de somente leitura para 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=Advertências sobre registro de <b>origem% s</b> (s)
WarningNoDocumentModelActivated=Não existe um modelo, para a geração de documentos, foi ativado. A modelo será escolhida por padrão até que você verifique a sua 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 <b>install.lock</b> arquivo no <b>diretório% s.</b> Faltando este arquivo é uma falha de segurança.
WarningUntilDirRemoved=Esta alerta seguirá ativa mientras a pasta exista (alerta visivel para Os Usuários admin somente).
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=Configuraçã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

View File

@ -1,19 +1,19 @@
# Dolibarr language file - Source file is en_US - exports
ExportsArea=Área Exportações
ImportableDatas=Conjunto de dados importaveis
SelectExportDataSet=Escolha um conjunto predefinido de dados que deseja exportar...
SelectImportDataSet=Escolha um conjunto predefinido de dados que deseja importar...
NotImportedFields=Fields of source file not imported
SelectImportFields=Escolha campos de arquivo de fonte que você deseja importar e seu campo de destino no banco de dados, movendo-os para cima e para baixo com a seta, ou selecione um perfil de importação pré-definido:
NotImportedFields=Os campos de arquivo de origem não importado
SaveImportModel=Guardar este perfil de importação assim pode reutiliza-lo posteriormente...
ImportModelName=Nome do perfil de importação
ImportModelSaved=Perfil de importação guardado com o nome de <b>%s</b>.
ImportableFields=Campos Importáveis
ImportedFields=Campos a Importar
DatasetToImport=Conjunto de dados a importar
NoDiscardedFields=No fields in source file are discarded
FieldOrder=Field order
FieldTitle=Field title
NoDiscardedFields=Não há campos em arquivo de origem são descartados
FieldOrder=Ordem de campo
NowClickToGenerateToBuildExportFile=Agora, faça click em "Gerar" para gerar o arquivo exportação...
LibraryShort=Library
LibraryUsed=Bibliotéca Utilizada
FormatedImportDesc2=O primeiro passo consiste em escolher o tipo de dado que deve importar, logo o arquivo e a continuação escolher os campos que deseja importar.
FormatedExportDesc2=O primeiro passo consiste em escolher um dos conjuntos de dados predefinidos, a continuação escolher os campos que quer exportar para o arquivo e em que ordem.
@ -30,59 +30,63 @@ LineTotalHT=Valor do HT por linha
LineTotalTTC=Acrescido de ICMS da linha
LineTotalVAT=Valor ICMS por Linha
TypeOfLineServiceOrProduct=Tipo de Linha (0
FileWithDataToImport=File with data to import
FileToImport=Source file to import
FileMustHaveOneOfFollowingFormat=File to import must have one of following format
DownloadEmptyExample=Download example of empty source file
ChooseFormatOfFileToImport=Choose file format to use as import file format by clicking on picto %s to select it...
ChooseFileToImport=Upload file then click on picto %s to select file as source import file...
SourceFileFormat=Source file format
FieldsInSourceFile=Fields in source file
FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory)
Field=Field
NoFields=No fields
MoveField=Move field column number %s
ExampleOfImportFile=Example_of_import_file
SaveImportProfile=Save this import profile
ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name.
ImportSummary=Import setup summary
TablesTarget=Targeted tables
FieldsTarget=Targeted fields
TableTarget=Targeted table
FieldTarget=Targeted field
FieldSource=Source field
DoNotImportFirstLine=Do not import first line of source file
NbOfSourceLines=Number of lines in source file
NowClickToTestTheImport=Check import parameters you have defined. If they are correct, click on button "<b>%s</b>" to launch a simulation of import process (no data will be changed in your database, it's only a simulation for the moment)...
RunSimulateImportFile=Launch the import simulation
SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file
InformationOnSourceFile=Information on source file
InformationOnTargetTables=Information on target fields
SelectAtLeastOneField=Switch at least one source field in the column of fields to export
SelectFormat=Choose this import file format
RunImportFile=Launch import file
NowClickToRunTheImport=Check result of import simulation. If everything is ok, launch the definitive import.
DataLoadedWithId=All data will be loaded with the following import id: <b>%s<b>
ErrorMissingMandatoryValue=Mandatory data is empty in source file for field <b>%s</b>.
TooMuchErrors=There is still <b>%s</b> other source lines with errors but output has been limited.
TooMuchWarnings=There is still <b>%s</b> other source lines with warnings but output has been limited.
EmptyLine=Empty line (will be discarded)
CorrectErrorBeforeRunningImport=You must first correct all errors before running definitive import.
FileWasImported=File was imported with number <b>%s</b>.
YouCanUseImportIdToFindRecord=You can find all imported records in your database by filtering on field <b>import_key='%s'</b>.
NbOfLinesOK=Number of lines with no errors and no warnings: <b>%s</b>.
NbOfLinesImported=Number of lines successfully imported: <b>%s</b>.
DataComeFromNoWhere=Value to insert comes from nowhere in source file.
DataComeFromFileFieldNb=Value to insert comes from field number <b>%s</b> in source file.
DataComeFromIdFoundFromRef=Value that comes from field number <b>%s</b> of source file will be used to find id of parent object to use (So the objet <b>%s</b> that has the ref. from source file must exists into Dolibarr).
DataIsInsertedInto=Data coming from source file will be inserted into the following field:
DataIDSourceIsInsertedInto=The id of parent object found using the data in source file, will be inserted into the following field:
DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field:
SourceRequired=Data value is mandatory
SourceExample=Example of possible data value
ExampleAnyRefFoundIntoElement=Any ref found for element <b>%s</b>
CSVFormatDesc=<b>Comma Separated Value</b> file format (.csv).<br>This is a text file format where fields are separated by separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ].
CsvOptions=Csv Options
Separator=Separator
SpecialCode=Special code
FilteredFieldsValues=Value for filter
FileToImport=Arquivo de origem de importação
FileMustHaveOneOfFollowingFormat=Arquivo para importação deve ter um dos seguinte formato
DownloadEmptyExample=Baixar exemplo de arquivo de origem vazio
ChooseFormatOfFileToImport=Escolha o formato de arquivo a ser usado como formato de arquivo de importação clicando no para selecioná-lo ...
ChooseFileToImport=Carregar arquivo e clique no picto% s para selecionar o arquivo como arquivo de importação de fonte ...
FieldsInSourceFile=Campos em arquivo de origem
FieldsInTargetDatabase=Campos de destino no banco de dados Dolibarr (negrito = obrigatório)
MoveField=Mover campo número da colunas
ExampleOfImportFile=Exemplo de arquivo de importação
SaveImportProfile=Guardar este perfil de importação
ErrorImportDuplicateProfil=Falha ao salvar este perfil de importação com este nome. Um perfil existente já existe com este nome.
ImportSummary=Resumo da configuração de importação
TablesTarget=Mesas alvejados
FieldsTarget=Alvo
TableTarget=Alvo
FieldTarget=Campo de destino
FieldSource=Campo Fonte
DoNotImportFirstLine=Não importar primeira linha de arquivo de origem
NowClickToTestTheImport=Verifique os parâmetros de importação que você definiu. Se eles estiverem corretos, clique no botão <b>"% s"</b> para iniciar uma simulação do processo de importação (os dados não serão alterados em seu banco de dados, é apenas uma simulação para o momento) ...
FieldNeedSource=Este campo requer dados do arquivo de origem
SomeMandatoryFieldHaveNoSource=Alguns campos obrigatórios não têm nenhuma fonte de arquivo de dados
InformationOnSourceFile=Informações sobre arquivo de origem
SelectAtLeastOneField=Mude pelo menos um campo de origem na coluna de campos para exportar
SelectFormat=Escolha este formato de arquivo de importação
RunImportFile=Arquivo de importação de lançamento
NowClickToRunTheImport=Verifique o resultado da simulação de importação. Se tudo estiver ok, inicie a importação definitiva.
DataLoadedWithId=Todos os dados serão carregados com o seguinte ID de <b>importação:% s</b>
ErrorMissingMandatoryValue=Dados obrigatórios esta vazio no arquivo de origem para o campo.
TooMuchErrors=Há ainda outras linhas de origem com erros mas a produção tem sido limitado.
TooMuchWarnings=Há ainda outras linhas de origem com avisos, mas a produção tem sido limitado.
EmptyLine=Linha vazia (serão descartados)
FileWasImported=O arquivo foi importado com o números.
YouCanUseImportIdToFindRecord=Você pode encontrar todos os registros importados em seu banco de dados, filtrando em campo import_key.
NbOfLinesOK=Número de linhas sem erros e sem avisos:
NbOfLinesImported=Número de linhas de importados com sucesso:
DataComeFromNoWhere=Valor para inserir vem do erro,no arquivo de origem.
DataComeFromFileFieldNb=Valor para inserir vem do campo de número do arquivo de origem.
DataComeFromIdFoundFromRef=Valor que vem do campo de número do arquivo de origem, será usado para encontrar id do objeto. (Então o objeto que tem a ref. De arquivo de origem deve existir em Dolibarr).
DataComeFromIdFoundFromCodeId=O código que vem de número do campo do arquivo de origem será usado para encontrar id do objeto pai de usar (Assim, o código do arquivo de origem deve existe no dicionário). Note que, se você sabe id, você também pode usá-lo em arquivo de origem em vez de código. Importação deve trabalhar em ambos os casos.
DataIsInsertedInto=Dados provenientes do arquivo de origem será inserido o seguinte campo:
DataIDSourceIsInsertedInto=O id do objeto pai encontrado usando os dados em arquivo de origem, será inserido o seguinte campo:
DataCodeIDSourceIsInsertedInto=O ID da linha pai encontrado a partir do código, será inserido no campo a seguir:
SourceExample=Exemplo de possível valor dos dados
ExampleAnyRefFoundIntoElement=Qualquer ref encontrada para o elemento
ExampleAnyCodeOrIdFoundIntoDictionary=Qualquer código (ou id) encontrado em dicionário
CSVFormatDesc=Formato de arquivo de valores separados por vírgulas . Este é um formato de arquivo de texto, onde os campos são separados pelo separador. Se separador é encontrado dentro de um conteúdo de campo, o campo é arredondado pelo caráter rodada . Fuja personagem para escapar caráter rodada é
Excel95FormatDesc=Formato de arquivo do Excel. (Xls) Este é o formato Excel 95 nativa (BIFF5).
Excel2007FormatDesc=Formato de arquivo do Excel (. Xlsx) Este é o formato Excel 2007 nativo (SpreadsheetML).
TsvFormatDesc=Formato de arquivo Tab Separated Value (. TSV) Este é um formato de arquivo de texto, onde os campos são separados por um tabulador [Tab].
ExportFieldAutomaticallyAdded=O campo foi adicionado automaticamente. Ele vai evitar que você tenha linhas semelhantes a serem tratados como registros duplicados (com este campo adicionado, todas as linhas serão possuem seu próprio ID e será diferente).
CsvOptions=Opções csv
Enclosure=Recinto
SuppliersProducts=Fornecedores Produtos
SpecialCode=Código especial
ExportStringFilter=Permite substituir um ou mais caracteres no texto
ExportDateFilter='AAAA' YYYYMM 'AAAAMMDD': filtros em um ano / mês / dia <br> 'AAAA + AAAA' YYYYMM + YYYYMM 'AAAAMMDD + AAAAMMDD': filtros mais uma série de anos / meses / dias <br> > AAAA ''> YYYYMM ''> AAAAMMDD ': filtros nos seguintes anos / meses / dias <br> '<AAAA' '<YYYYMM' '<AAAAMMDD': filtros nos anos / meses / dias anteriores
ExportNumericFilter=filtros "NNNNN" por um valor <br> filtros "NNNNN + NNNNN 'mais de uma faixa de valores <br> '> NNNNN' filtros por valores mais baixos <br> '> NNNNN' filtros por valores mais elevados
SelectFilterFields=Se você deseja filtrar alguns valores, apenas os valores de entrada aqui.
FilteredFields=Campos filtrados
FilteredFieldsValues=Valor para o filtro

View File

@ -1,8 +1,25 @@
# Dolibarr language file - Source file is en_US - help
CommunitySupport=Fórum/Wiki suporte
EMailSupport=E-mails de suporte
RemoteControlSupport=Suporte em tempo real / remoto
OtherSupport=Outros suportes
ToSeeListOfAvailableRessources=Entrar em contato com/consulte os recursos disponíveis:
ClickHere=Clickque aqui
HelpCenter=Central de ajuda
DolibarrHelpCenter=Centro de suporte e ajuda Dolibarr
ToGoBackToDolibarr=Caso contrário, clique aqui para usar Dolibarr
TypeOfSupport=Fonte de suporte
NeedHelpCenter=Precisa de ajuda ou suporte ?
Efficiency=eficiência
TypeHelpOnly=Somente ajuda
TypeHelpDev=Ajuda+Desenvolvimento
TypeHelpDevForm=Ajuda+Desenvolvimento+Formação
ToGetHelpGoOnSparkAngels1=Algumas empresas podem prover um suporte online rápido (às vezes imediato) e mais eficiente ao assumirem o controle de seu computador. Tais ajudantes podem ser encontrados na página <b>%s</b>:
ToGetHelpGoOnSparkAngels3=Você também pode acessar a lista de todos os treinadores disponíveis para o Dolibarr, para isto clique no botão
ToGetHelpGoOnSparkAngels2=Às vezes, não há nenhuma empresa disponível no momento de fazer sua pesquisa, por isso acho que para mudar o filtro para procurar "tudo disponibilidade". Você será capaz de enviar mais pedidos.
BackToHelpCenter=Caso contrário, clique aqui para ir para trás para ajudar a home page .
LinkToGoldMember=Você pode ligar para um dos técnicos pré-selecionada por Dolibarr para o seu idioma, clicando em seu Widget (status e preço máximo são atualizados automaticamente):
PossibleLanguages=Os idiomas suportados
MakeADonation=Ajude o projeto Dolibarr, faça uma doação
SubscribeToFoundation=Ajuda projeto Dolibarr, assine a fundação
SeeOfficalSupport=Para obter suporte oficial do Dolibarr no seu idioma: <br><b><a href="%s" target="_blank">%s</a></b>

View File

@ -4,14 +4,14 @@ Holidays=Ferias
CPTitreMenu=Ferias
MenuReportMonth=Relatorio mensal
MenuAddCP=Aplicar para ferias
NotActiveModCP=Voce tem que abilitar o modulo de ferias para ver esta pagina.
NotConfigModCP=Voce precisa configurar o modulo de ferias para ver esta pagina. Para faze-lo, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> clickque aqui </ a>.
NotActiveModCP=Vocẽ tem que habilitar o modulo de ferias para ver esta pagina.
NotConfigModCP=Você precisa configurar o modulo de ferias para ver esta pagina. Para faze-lo, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> clickque aqui </ a>.
NoCPforUser=Voce nao tem demandado as ferias.
AddCP=Aplique-se para as ferias.
DateDebCP=Data inicio
DateFinCP=Data fim
DateCreateCP=Data criacão
ToReviewCP=Awaiting approval
ToReviewCP=Aguardando aprovação
RefuseCP=Negado
ValidatorCP=Aprovador
ListeCP=Lista de feriados
@ -20,25 +20,29 @@ SendRequestCP=Criando demanda para ferias
DelayToRequestCP=Demandas para ferias teram que ser feitas no minimo <b>%s dias</b> antes.
MenuConfCP=Editar balancete das ferias
UpdateAllCP=Atualizar ferias
SoldeCPUser=Equilíbrio dos feriados dias.
ErrorEndDateCP=Você deve selecionar uma data final posterior à data inicial.
ErrorSQLCreateCP=An SQL error occurred during the creation:
ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
ErrorSQLCreateCP=Ocorreu um erro no SQL durante a criação:
ErrorIDFicheCP=Ocorreu um erro, no pedido de ferias não existe.
ReturnCP=Retorne à página anterior
ErrorUserViewCP=Você não está autorizado a ler essa requisição de férias.
InfosCP=Information of the demand of holidays
InfosCP=Informações da demanda das férias
InfosWorkflowCP=Fluxo de Trabalho de Informação
RequestByCP=Requisitado por
NbUseDaysCP=Número de dias utilizados das férias
DeleteCP=Eliminar
ActionValidCP=Confirmar
ActionRefuseCP=Não autorizar
TitleDeleteCP=Apagar a requisição de férias
ConfirmDeleteCP=Confirm the deletion of this request for holidays?
ConfirmDeleteCP=Confirme a eliminação deste pedido para férias?
ErrorCantDeleteCP=Você não tem privilégios para apanhar essa requisição de férias
CantCreateCP=Você não tem o direito de aplicar para férias.
InvalidValidatorCP=Você deve escolher um aprovador ao seu pedido de férias.
UpdateButtonCP=Modificar
CantUpdate=You cannot update this request of holidays.
CantUpdate=Você não pode atualizar esta solicitação de férias.
NoDateDebut=Você deve selecionar uma data inicial.
NoDateFin=Você deve selecionar uma data final.
ErrorDureeCP=Your request for holidays does not contain working day.
ErrorDureeCP=O seu pedido de férias não contém dia de trabalho.
TitleValidCP=Aprovar a requisição de férias
ConfirmValidCP=Você tem certeza que deseja aprovar a requisição de férias?
TitleToValidCP=Enviar requisição de férias
@ -48,32 +52,77 @@ ConfirmRefuseCP=Você tem certeza que não deseja autorizar a requisição de f
NoMotifRefuseCP=Você deve selecionar uma razão para não autorizar a requisição.
TitleCancelCP=Cancelar a requisição de férias
ConfirmCancelCP=Você tem certeza que deseja cancelar a requisição de férias?
DetailRefusCP=Reason for refusal
DateRefusCP=Date of refusal
DetailRefusCP=Motivo da recusa
DateRefusCP=Data da recusa
DateCancelCP=Data do cancelamento
DefineEventUserCP=Atribuir uma licença excepcional para um usuário
addEventToUserCP=atribuir férias
MotifCP=Razão
UserCP=Usuário
ActionByCP=Performed by
UserUpdateCP=For the user
ErrorAddEventToUserCP=Ocorreu um erro ao adicionar a licença excepcional.
AddEventToUserOkCP=A adição da licença excepcional tenha sido concluída.
MenuLogCP=Ver registos de ferias
LogCP=Calculo de atualizações de ferias
ActionByCP=Interpretada por
PrevSoldeCP=Balanço anterior
NewSoldeCP=Novo Balanco
alreadyCPexist=Um pedido de ferias já foi feito neste período.
UserName=Apelidos
FirstDayOfHoliday=First day of holiday
LastDayOfHoliday=Last day of holiday
HolidaysMonthlyUpdate=Monthly update
ManualUpdate=Manual update
HolidaysCancelation=Holidays cancelation
HolidaysMonthlyUpdate=A atualização mensal
ManualUpdate=Atualização manual
HolidaysCancelation=Feriados cancelados
ConfCP=A configuração do módulo de ferias
DescOptionCP=Descrição da opção
ValueOptionCP=Valor
GroupToValidateCP=Grupo com a capacidade de aprovar ferias
ConfirmConfigCP=Validar a configuração
LastUpdateCP=Última atualização automática das férias
UpdateConfCPOK=Atualizado com sucesso.
ErrorUpdateConfCP=Ocorreu um erro durante a atualização, por favor, tente novamente.
AddCPforUsers=Por favor, adicione o balanço dos feriados de usuários, define_ferias" estilo="fonte -weight: normal; color: vermelha; texto decoração: sublinhar; clicando aqui .
DelayForSubmitCP=Prazo para solicitar feriados
AlertapprobatortorDelayCP=Impedir a approvação se o pedido de férias não coincidir com a data limite
AlertValidatorDelayCP=Prevenir o aprovador se o pedido de férias exceder atraso
AlertValidorSoldeCP=Impedir a aprovador se o pedido de férias exceder o equilíbrio
nbUserCP=Número de usuários suportados nas férias de módulo
nbHolidayDeductedCP=Número de feriados a ser deduzido por dia de feriado tomado
nbHolidayEveryMonthCP=Número de feriados adicionados a cada mês
Module27130Name=Gestão das férias
Module27130Desc=Gestão das férias
TitleOptionMainCP=Principais configurações de ferias
TitleOptionEventCP=Configurações de feriados relacionados a eventos
ValidEventCP=Confirmar
UpdateEventCP=Eventos de atualização
NameEventCP=Nome do evento
OkCreateEventCP=A adição do evento correu bem.
ErrorCreateEventCP=Erro ao criar o evento.
UpdateEventOkCP=A atualização do evento correu bem.
ErrorUpdateEventCP=Erro ao atualizar o evento.
DeleteEventCP=Excluir Evento
DeleteEventOkCP=O evento foi excluído.
ErrorDeleteEventCP=Erro ao excluir o evento.
TitleDeleteEventCP=Excluir uma licença excepcional
TitleCreateEventCP=Criar uma licença excepcional
TitleUpdateEventCP=Editar ou excluir uma licença excepcional
DeleteEventOptionCP=Eliminar
UpdateEventOptionCP=Modificar
TitleAdminCP=Configuration of Holidays
Hello=Hello
HolidaysToValidate=Validate holidays
HolidaysToValidateBody=Below is a request for holidays to validate
HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
HolidaysValidated=Validated holidays
HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
HolidaysRefused=Denied holidays
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
HolidaysCanceled=Canceled holidays
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
ErrorMailNotSend=Ocorreu um erro durante o envio de e-mail:
NoCPforMonth=Não deixe este mês.
nbJours=Número de dias
HolidaysToValidate=Validar feriados
HolidaysToValidateBody=Abaixo está um pedido de férias para validar
HolidaysToValidateDelay=Este pedido de ferias terá lugar dentro de um período de menos dias.
HolidaysToValidateAlertSolde=O usuário que fez o pedido de feriados não têm número suficiente de dias disponíveis.
HolidaysValidated=Feriados validados
HolidaysValidatedBody=O seu pedido de ferias foi validado.
HolidaysRefused=Feriados negados
HolidaysRefusedBody=O seu pedido de ferias foi negado pelo seguinte motivo:
HolidaysCanceled=Feriados cancelados
HolidaysCanceledBody=O seu pedido de ferias foi cancelada.
Permission20000=Leia você próprios feriados
Permission20001=Criar / modificar as suas férias
Permission20002=Criar / modificar feriados para todos
Permission20003=Excluir pedidos férias
Permission20004=Usuários de configuração ferias
Permission20005=Revisão dos feriados modificados
Permission20006=Leia feriados relatório mensal

View File

@ -125,3 +125,5 @@ MigrationProjectUserResp=Dados da migração do campo fk_user_resp de llx_projet
MigrationProjectTaskTime=Atualizar tempo gasto em sgundos
MigrationActioncommElement=Atualizar dados nas ações
MigrationPaymentMode=Migração de dados para o modo de pagamento
ShowNotAvailableOptions=Mostrar as opções não disponíveis
HideNotAvailableOptions=Esconder as opção não disponível

View File

@ -3,6 +3,7 @@ Language_ar_AR=Arabe
Language_ar_SA=Arabe
Language_bg_BG=Bulgaro
Language_ca_ES=Catalao
Language_cs_CZ=Tcheco
Language_da_DA=Danes
Language_da_DK=Danes
Language_de_DE=Alemao
@ -13,6 +14,8 @@ Language_en_IN=Ingles (India)
Language_en_NZ=Ingles (Nova Zelandia)
Language_en_SA=Ingles (Arabia Saudita)
Language_en_US=Ingles (Estados Unidos)
Language_es_DO=Espanhol (República Dominicana)
Language_es_CL=Espanhol (Chile)
Language_es_MX=Espanhol (Mexico)
Language_et_EE=Estone
Language_fa_IR=Persio
@ -23,6 +26,7 @@ Language_fr_CH=Françes (Suiça)
Language_fr_FR=Françes
Language_he_IL=Ebreo
Language_hu_HU=Ungeres
Language_id_ID=Indonésio
Language_is_IS=Islandes
Language_ja_JP=Japones
Language_nb_NO=Norveges (Bokmal)
@ -31,5 +35,6 @@ Language_pl_PL=Polones
Language_pt_BR=Portugues (Brasil)
Language_pt_PT=Portugues
Language_ru_UA=Russo (Ukrania)
Language_th_TH=Thai
Language_zh_CN=Chines
Language_zh_TW=Chines (Tradicional)

View File

@ -34,6 +34,14 @@ MailtoEMail=Hyper-link ao e-mail
ActivateCheckRead=Permitir uso do atalho "Desenscrever"
ActivateCheckReadKey=Chave principal para criptar URL de uso para funções "Ler destinatario" e "Desenscrever"
EMailSentToNRecipients=E-mail enviado para %s destinatarios.
XTargetsAdded=<b>%s </b> destinatários adicionados à lista de destino
EachInvoiceWillBeAttachedToEmail=Documento usando o modelo de fatura padrão que será criado e anexado a cada e-mail.
MailTopicSendRemindUnpaidInvoices=Lembrete da fatura %s (%s)
SendRemind=Enviar lembrete por e-mails
RemindSent=%s lembrete(s) de envio
AllRecipientSelectedForRemind=Todos os endereços de e-mails dos representantes selecionados (note que será enviada uma mensagem por fatura)
NoRemindSent=Sem lembrete de e-mail enviado
ResultOfMassSending=Resultado do lembretes de envio em massa de e-mails
MailingModuleDescContactCompanies=Contatos de Fornecedores (clientes potenciais, clientes, Fornecedores...)
MailingModuleDescDolibarrUsers=Usuários de Dolibarr que tem e-mail
MailingModuleDescEmailsFromFile=E-Mails de um Arquivo (e-mail;Nome;Vários)
@ -57,6 +65,7 @@ LimitSendingEmailing=Observação: Envios online de mailings em massa são limit
ToClearAllRecipientsClickHere=Para limpar a lista dos destinatários deste mailing, faça click ao botão
ToAddRecipientsChooseHere=Para Adicionar destinatários, escoja os que figuran em listas a continuação
NbOfEMailingsReceived=Mailings em massa recebidos
NbOfEMailingsSend=E-mails em massa enviados
YouCanUseCommaSeparatorForSeveralRecipients=Pode usar o caracter0 de separação <b>coma </b> para especificar multiplos destinatários.
TagCheckMail=Seguir quando o e-mail sera lido
TagUnsubscribe=Atalho para se desenscrever

Some files were not shown because too many files have changed in this diff Show More