mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-02-10 18:02:34 +01:00
Compare commits
87 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2d0f83fa0 | ||
|
|
54f963f8ae | ||
|
|
013b7eca10 | ||
|
|
d590aa56eb | ||
|
|
1a62cdfbe8 | ||
|
|
c0e5cacafc | ||
|
|
ed85869394 | ||
|
|
a5181a06e4 | ||
|
|
36e99e100b | ||
|
|
63e3b5742c | ||
|
|
1ac78d0e83 | ||
|
|
95c9d19d5e | ||
|
|
010207532f | ||
|
|
72effa3f25 | ||
|
|
d6c18c1789 | ||
|
|
55856bdc36 | ||
|
|
6fc57fb90d | ||
|
|
96013ba9a6 | ||
|
|
82297f52c9 | ||
|
|
2d09eb6f8c | ||
|
|
5ed94ae9be | ||
|
|
d4621c3921 | ||
|
|
c83691e35a | ||
|
|
bb2776f4cc | ||
|
|
9c1f70996a | ||
|
|
b88d261c90 | ||
|
|
5c4b537a65 | ||
|
|
fe072d992c | ||
|
|
dd248e9d58 | ||
|
|
979a36e941 | ||
|
|
06e931632d | ||
|
|
710ea872a9 | ||
|
|
633a15f10d | ||
|
|
f620e6948f | ||
|
|
a6ce7bb428 | ||
|
|
44698fcde0 | ||
|
|
63e1b724cb | ||
|
|
e97ca67c4a | ||
|
|
668249a195 | ||
|
|
a0803e758e | ||
|
|
a3244a4b47 | ||
|
|
25fa2254c1 | ||
|
|
9d047d740b | ||
|
|
1f0dbc698c | ||
|
|
617a71478b | ||
|
|
d5822b7fbd | ||
|
|
ae2355fda5 | ||
|
|
555b3a1199 | ||
|
|
f86cad0580 | ||
|
|
c0d2ee19f5 | ||
|
|
f793ed83f6 | ||
|
|
ae1e0dff87 | ||
|
|
931b556b69 | ||
|
|
b0212fc8e6 | ||
|
|
924d01249c | ||
|
|
0f576181be | ||
|
|
81a06507fa | ||
|
|
b16b8f9ff3 | ||
|
|
b2763bab15 | ||
|
|
0cb5b3f50c | ||
|
|
ac1ff205a4 | ||
|
|
e98b2e2ee1 | ||
|
|
9106a74426 | ||
|
|
0d0c1e8c14 | ||
|
|
7952a1f1a5 | ||
|
|
dcf76d7bcb | ||
|
|
16ad99f8c5 | ||
|
|
d9b7886ef9 | ||
|
|
d190e924b3 | ||
|
|
8b244b0d61 | ||
|
|
47c89dfd8e | ||
|
|
f2371be191 | ||
|
|
283aeb2945 | ||
|
|
18aff92366 | ||
|
|
c4948ea3db | ||
|
|
af6bb94ff3 | ||
|
|
44b5b98308 | ||
|
|
ae154ed9a3 | ||
|
|
b5d2a378fa | ||
|
|
6b50ddf6ec | ||
|
|
dd7411593e | ||
|
|
3b45cffafa | ||
|
|
20522148f2 | ||
|
|
aa473fa3e3 | ||
|
|
fbff66a907 | ||
|
|
723c46ec42 | ||
|
|
3687b29a7b |
11
ChangeLog
11
ChangeLog
@@ -3,6 +3,17 @@ English Dolibarr ChangeLog
|
||||
--------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 3.3.1 compared to 3.3 *****
|
||||
|
||||
- Fix: [ bug #733 ] Mass emailing tools do not support <style HTML tag
|
||||
- Fix: Package for launchpad
|
||||
- Fix: [ bug #736 ] Missing column in llx_c_chargesociales
|
||||
- Fix: Localtax2 for Spain must be based into buyer
|
||||
- Fix: [ bug #762 ] Bad profit calculation in Reporting
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 3.3 compared to 3.2.3 *****
|
||||
For users:
|
||||
- New: Add holiday module, to declare and follow holidays of your employees.
|
||||
|
||||
2
README
2
README
@@ -108,7 +108,7 @@ Other modules:
|
||||
- RSS
|
||||
|
||||
Miscellanous:
|
||||
- Mutli-user, with several permissions levels for each feature.
|
||||
- Multi-user, with several permissions levels for each feature.
|
||||
- Serveral menu managers (can be used by internal users, as a back-office,
|
||||
with a particular menu, or by external users, as a front-office, with
|
||||
another menu and permissions).
|
||||
|
||||
@@ -122,7 +122,7 @@ V - CE QUE DOLIBARR NE PEUT PAS FAIRE (TACHES A FAIRE)
|
||||
Voici un liste de fonctionnalites pas encore gérées par Dolibarr:
|
||||
- Pas de compta analytique (uniquement gestion de trésorerie).
|
||||
- Dolibarr ne gère qu'une seule monnaie à la fois (mono-devise).
|
||||
- Dolibarr ne gère en standard qu'une société/institution/association (mono-société). Pour en gérer plusieurs (comme vos filiales), il faut, soit faire plusieurs installations de Dolibarr, soit installer le module MutliCompany qui permet de gérer n société/institutions/associations dans une seule instance par une isolation logique des données.
|
||||
- Dolibarr ne gère en standard qu'une société/institution/association (mono-société). Pour en gérer plusieurs (comme vos filiales), il faut, soit faire plusieurs installations de Dolibarr, soit installer le module MultiCompany qui permet de gérer n société/institutions/associations dans une seule instance par une isolation logique des données.
|
||||
- Ne gère pas la double tva (Fédérale / provinciale) du canada.
|
||||
- Dolibarr ne contient pas de module de Gestion de la paie.
|
||||
- Les taches du module de gestion de projets n'ont pas de dépendance entre elle.
|
||||
|
||||
@@ -105,7 +105,7 @@ See ChangeLog file found into package.
|
||||
|
||||
### Miscellanous:
|
||||
|
||||
- Mutli-user, with several permissions levels for each feature.
|
||||
- Multi-user, with several permissions levels for each feature.
|
||||
- Serveral menu managers (can be used by internal users, as a back-office, with a particular menu, or by external users, as a front-office, with another menu and permissions).
|
||||
- Very user friendly and easy to use.
|
||||
- Optional WYSIWYG forms, optional Ajax forms.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
dolibarr (3.3.0+nmu1) unstable; urgency=low
|
||||
dolibarr (3.3.1+nmu1) unstable; urgency=low
|
||||
|
||||
* Non-maintainer upload.
|
||||
* New upstream release.
|
||||
closes: bug#634783
|
||||
|
||||
-- Dolibarr team <contact@dolibarr.org> Mon, 10 Aug 2011 12:00:00 +0100
|
||||
-- Dolibarr team <contact@dolibarr.org> Sat, 2 Mar 2013 12:00:00 +0100
|
||||
|
||||
# For a changelog file dedicated to end users, see /usr/share/doc/dolibarr/ChangeLog.gz
|
||||
# For a changelog file dedicated to end users, see /usr/share/doc/dolibarr/ChangeLog.gz
|
||||
@@ -17,9 +17,9 @@
|
||||
; ----- Change this -----
|
||||
AppName=DoliWamp
|
||||
; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
AppVerName=DoliWamp-3.3.0
|
||||
AppVerName=DoliWamp-3.3.1
|
||||
; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
OutputBaseFilename=DoliWamp-3.3.0
|
||||
OutputBaseFilename=DoliWamp-3.3.1
|
||||
; Define full path from wich all relative path are defined
|
||||
; You must modify this to put here your dolibarr root directory
|
||||
;SourceDir=C:\Documents and Settings\ldestailleur\git\dolibarr_old
|
||||
|
||||
@@ -10,7 +10,7 @@ use Cwd;
|
||||
$PROJECT="dolibarr";
|
||||
$MAJOR="3";
|
||||
$MINOR="3";
|
||||
$BUILD="0"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
|
||||
$BUILD="1"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
|
||||
$RPMSUBVERSION="auto"; # auto use value found into BUILD
|
||||
|
||||
@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||
|
||||
@@ -333,5 +333,5 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.0-0.3
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.1-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -522,5 +522,5 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.0-0.3
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.1-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -322,5 +322,5 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.0-0.3
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.1-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -333,5 +333,5 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.0-0.3
|
||||
* Sun Feb 17 2013 Laurent Destailleur 3.3.1-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -228,6 +228,7 @@ class modMyModule extends DolibarrModules
|
||||
// $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'facture as f, '.MAIN_DB_PREFIX.'facturedet as fd, '.MAIN_DB_PREFIX.'societe as s)';
|
||||
// $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)';
|
||||
// $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_facture';
|
||||
// $this->export_sql_order[$r] .=' ORDER BY s.nom';
|
||||
// $r++;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -157,7 +157,7 @@ jQuery(document).ready(function() {
|
||||
jQuery("#delconst").show();
|
||||
jQuery("#action").val('delete');
|
||||
});
|
||||
jQuery(".inputforupdate").keypress(function() {
|
||||
jQuery(".inputforupdate").keyup(function() { // keypress does not support back
|
||||
var field_id = jQuery(this).attr("id");
|
||||
var row_num = field_id.split("_");
|
||||
jQuery("#updateconst").show();
|
||||
|
||||
@@ -392,9 +392,9 @@ if (GETPOST("id") == 10)
|
||||
"3" => $langs->trans("Yes").' ('.$langs->trans("Type")." 3)", //$langs->trans("%ageOnProductsWithoutVAT"),
|
||||
"4" => $langs->trans("Yes").' ('.$langs->trans("Type")." 4)", //$langs->trans("%ageOnProductsBeforeVAT"),
|
||||
"5" => $langs->trans("Yes").' ('.$langs->trans("Type")." 5)", //$langs->trans("%ageOnServiceWithoutVAT"),
|
||||
"6" => $langs->trans("Yes").' ('.$langs->trans("Type")." 6)", //$langs->trans("%ageOnServiceBeforeVAT"),
|
||||
"7" => $langs->trans("Yes").' ('.$langs->trans("Type")." 7)" //$langs->trans("AmountOnOrder") // We will enable this later. For the moment, work only of invoice localtype
|
||||
"6" => $langs->trans("Yes").' ('.$langs->trans("Type")." 6)" //$langs->trans("%ageOnServiceBeforeVAT"),
|
||||
);
|
||||
if (! empty($conf->global->MAIN_USE_LOCALTAX_TYPE_7)) $localtax_typeList["7"]= $langs->trans("Yes").' ('.$langs->trans("Type")." 7)"; //$langs->trans("AmountOnOrder") // We will enable this later. For the moment, work only of invoice localtype
|
||||
}
|
||||
$msg='';
|
||||
|
||||
@@ -1292,4 +1292,4 @@ function fieldList($fieldlist,$obj='',$tabname='')
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -65,9 +65,9 @@ if ($action == 'updateMask')
|
||||
if (isset($res))
|
||||
{
|
||||
if ($res < 0)
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
else
|
||||
setEventMessage($langs->trans("Error"), 'errors');
|
||||
else
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,9 +77,9 @@ else if ($action == 'set_SHIPPING_FREE_TEXT')
|
||||
$res = dolibarr_set_const($db, "SHIPPING_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
|
||||
|
||||
if ($res < 0)
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
else
|
||||
setEventMessage($langs->trans("Error"), 'errors');
|
||||
else
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
}
|
||||
|
||||
else if ($action == 'set_SHIPPING_DRAFT_WATERMARK')
|
||||
@@ -88,9 +88,9 @@ else if ($action == 'set_SHIPPING_DRAFT_WATERMARK')
|
||||
$res = dolibarr_set_const($db, "SHIPPING_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
|
||||
|
||||
if ($res < 0)
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
else
|
||||
setEventMessage($langs->trans("Error"), 'errors');
|
||||
else
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
}
|
||||
|
||||
else if ($action == 'specimen')
|
||||
@@ -173,7 +173,12 @@ else if ($action == 'setdoc')
|
||||
|
||||
else if ($action == 'setmodel')
|
||||
{
|
||||
dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity);
|
||||
$res = dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity);
|
||||
|
||||
if ($res < 0)
|
||||
setEventMessage($langs->trans("Error"), 'errors');
|
||||
else
|
||||
setEventMessage($langs->trans("SetupSaved"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -140,6 +140,9 @@ if (($action == 'send' || $action == 'sendhtml') && GETPOST('cancel'))
|
||||
if (($action == 'send' || $action == 'sendhtml') && ! GETPOST('addfile') && ! GETPOST('addfilehtml') && ! GETPOST('removedfile') && ! GETPOST('cancel'))
|
||||
{
|
||||
$error=0;
|
||||
|
||||
|
||||
|
||||
|
||||
$email_from='';
|
||||
if (! empty($_POST["fromname"])) $email_from=$_POST["fromname"].' ';
|
||||
@@ -152,7 +155,12 @@ if (($action == 'send' || $action == 'sendhtml') && ! GETPOST('addfile') && ! GE
|
||||
$subject = $_POST['subject'];
|
||||
$body = $_POST['message'];
|
||||
$deliveryreceipt= $_POST["deliveryreceipt"];
|
||||
|
||||
|
||||
//Check if we have to decode HTML
|
||||
if (!empty($conf->global->FCKEDITOR_ENABLE_MAILING) && dol_textishtml(dol_html_entity_decode($body, ENT_COMPAT | ENT_HTML401))) {
|
||||
$body=dol_html_entity_decode($body, ENT_COMPAT | ENT_HTML401);
|
||||
}
|
||||
|
||||
// Create form object
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||
$formmail = new FormMail($db);
|
||||
|
||||
@@ -118,7 +118,7 @@ class Facturation
|
||||
}
|
||||
|
||||
// Define part of HT, VAT, TTC
|
||||
$resultarray=calcul_price_total($this->qte,$this->prix(),$this->remisePercent(),$vat_rate,0,0,0,'HT',$product->type);
|
||||
$resultarray=calcul_price_total($this->qte,$this->prix(),$this->remisePercent(),$vat_rate,0,0,0,'HT',$product->type,0);
|
||||
|
||||
// Calcul du total ht sans remise
|
||||
$total_ht = $resultarray[0];
|
||||
|
||||
@@ -459,7 +459,8 @@ class ActionComm extends CommonObject
|
||||
|
||||
//print 'eeea'.$this->datep.'-'.(strval($this->datep) != '').'-'.$this->db->idate($this->datep);
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."actioncomm ";
|
||||
$sql.= " SET percent='".$this->percentage."'";
|
||||
$sql.= " SET percent = '".$this->percentage."'";
|
||||
if ($this->fk_action > 0) $sql.= ", fk_action = '".$this->fk_action."'";
|
||||
$sql.= ", label = ".($this->label ? "'".$this->db->escape($this->label)."'":"null");
|
||||
$sql.= ", datep = ".(strval($this->datep)!='' ? "'".$this->db->idate($this->datep)."'" : 'null');
|
||||
$sql.= ", datep2 = ".(strval($this->datef)!='' ? "'".$this->db->idate($this->datef)."'" : 'null');
|
||||
|
||||
@@ -311,6 +311,7 @@ if ($action == 'update')
|
||||
$datep=dol_mktime($fulldayevent?'00':$aphour, $fulldayevent?'00':$apmin, 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]);
|
||||
$datef=dol_mktime($fulldayevent?'23':$p2hour, $fulldayevent?'59':$p2min, $fulldayevent?'59':'0', $_POST["p2month"], $_POST["p2day"], $_POST["p2year"]);
|
||||
|
||||
$actioncomm->fk_action = dol_getIdFromCode($db, $_POST["actioncode"], 'c_actioncomm');
|
||||
$actioncomm->label = $_POST["label"];
|
||||
$actioncomm->datep = $datep;
|
||||
$actioncomm->datef = $datef;
|
||||
@@ -467,16 +468,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>';
|
||||
if (GETPOST("actioncode"))
|
||||
{
|
||||
print '<input type="hidden" name="actioncode" value="'.GETPOST("actioncode").'">'."\n";
|
||||
$cactioncomm->fetch(GETPOST("actioncode"));
|
||||
print $cactioncomm->getNomUrl();
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlactions->select_type_actions($actioncomm->type_code, "actioncode","systemauto");
|
||||
}
|
||||
$htmlactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$actioncomm->type_code, "actioncode","systemauto");
|
||||
print '</td></tr>';
|
||||
}
|
||||
else print '<input type="hidden" name="actioncode" value="AC_OTH">';
|
||||
@@ -739,7 +731,9 @@ if ($id > 0)
|
||||
// Type
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td colspan="3">';
|
||||
$htmlactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$act->type_code, "actioncode","systemauto");
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// Title
|
||||
|
||||
@@ -88,6 +88,7 @@ if (GETPOST('viewday')) {
|
||||
$action='show_day'; $day=($day?$day:date("d"));
|
||||
} // View by day
|
||||
|
||||
$langs->load("agenda");
|
||||
$langs->load("other");
|
||||
$langs->load("commercial");
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/action/rapport.pdf.php';
|
||||
|
||||
$langs->load("commercial");
|
||||
$langs->load("agenda");
|
||||
$langs->load("commercial");
|
||||
|
||||
$action=GETPOST('action','alpha');
|
||||
$month=GETPOST('month');
|
||||
|
||||
@@ -179,6 +179,8 @@ class Mailing extends CommonObject
|
||||
*/
|
||||
function fetch($rowid)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT m.rowid, m.titre, m.sujet, m.body, m.bgcolor, m.bgimage";
|
||||
$sql.= ", m.email_from, m.email_replyto, m.email_errorsto";
|
||||
$sql.= ", m.statut, m.nbemail";
|
||||
@@ -203,8 +205,14 @@ class Mailing extends CommonObject
|
||||
$this->statut = $obj->statut;
|
||||
$this->nbemail = $obj->nbemail;
|
||||
$this->titre = $obj->titre;
|
||||
$this->sujet = $obj->sujet;
|
||||
$this->body = $obj->body;
|
||||
|
||||
$this->sujet = $obj->sujet;
|
||||
if (!empty($conf->global->FCKEDITOR_ENABLE_MAILING) && dol_textishtml(dol_html_entity_decode($obj->body, ENT_COMPAT | ENT_HTML401))) {
|
||||
$this->body = dol_html_entity_decode($obj->body, ENT_COMPAT | ENT_HTML401);
|
||||
}else {
|
||||
$this->body = $obj->body;
|
||||
}
|
||||
|
||||
$this->bgcolor = $obj->bgcolor;
|
||||
$this->bgimage = $obj->bgimage;
|
||||
|
||||
|
||||
@@ -63,8 +63,8 @@ $object->substitutionarray=array(
|
||||
'__OTHER3__' => 'Other3',
|
||||
'__OTHER4__' => 'Other4',
|
||||
'__OTHER5__' => 'Other5',
|
||||
'__SIGNATURE__' => 'TagSignature',
|
||||
//'__PERSONALIZED__' => 'Personalized' // Hidden because not used yet
|
||||
'__SIGNATURE__' => 'TagSignature'
|
||||
//,'__PERSONALIZED__' => 'Personalized' // Hidden because not used yet
|
||||
);
|
||||
if (! empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE))
|
||||
{
|
||||
@@ -88,8 +88,8 @@ $object->substitutionarrayfortest=array(
|
||||
'__OTHER3__' => 'TESTOther3',
|
||||
'__OTHER4__' => 'TESTOther4',
|
||||
'__OTHER5__' => 'TESTOther5',
|
||||
'__SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))?$user->signature:''),
|
||||
//'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
|
||||
'__SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))?$user->signature:'')
|
||||
//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
|
||||
);
|
||||
if (!empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE))
|
||||
{
|
||||
|
||||
@@ -641,7 +641,7 @@ else if ($action == "addline" && $user->rights->propal->creer)
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")), 'errors');
|
||||
$error++;
|
||||
}
|
||||
if ((empty($idprod) || GETPOST('usenewaddlineform')) && (!($price_ht >= 0) || $price_ht == '')) // Unit price can be 0 but not ''
|
||||
if ((empty($idprod) || GETPOST('usenewaddlineform')) && (!($price_ht != 0) || $price_ht == '')) // Unit price can be 0 but not ''. Also price can be negative for proposal.
|
||||
{
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("UnitPriceHT")), 'errors');
|
||||
$error++;
|
||||
@@ -745,7 +745,7 @@ else if ($action == "addline" && $user->rights->propal->creer)
|
||||
if (! empty($prod->customcode) && ! empty($prod->country_code)) $tmptxt.=' - ';
|
||||
if (! empty($prod->country_code)) $tmptxt.=$langs->transnoentitiesnoconv("CountryOrigin").': '.getCountry($prod->country_code,0,$db,$langs,0);
|
||||
$tmptxt.=')';
|
||||
$desc.= dol_concatdesc($desc, $tmptxt);
|
||||
$desc= dol_concatdesc($desc, $tmptxt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -919,7 +919,7 @@ else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('sa
|
||||
GETPOST('fk_parent_line'),
|
||||
0,
|
||||
$fournprice,
|
||||
$buying_price,
|
||||
$buyingprice,
|
||||
$label,
|
||||
$type
|
||||
);
|
||||
|
||||
@@ -52,19 +52,19 @@ $object = new Prospect($db);
|
||||
|
||||
if ($action == 'cstc')
|
||||
{
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm = ".$_GET["stcomm"];
|
||||
$sql .= " WHERE rowid = ".$socid;
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm = ".$db->escape(GETPOST('stcomm'));
|
||||
$sql.= " WHERE rowid = ".$socid;
|
||||
$db->query($sql);
|
||||
}
|
||||
// set prospect level
|
||||
if ($action == 'setprospectlevel' && $user->rights->societe->creer)
|
||||
{
|
||||
$object->fetch($socid);
|
||||
$object->fk_prospectlevel=$_POST['prospect_level_id'];
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_prospectlevel='".$_POST['prospect_level_id'];
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_prospectlevel='".$db->escape(GETPOST('prospect_level_id'))."'";
|
||||
$sql.= " WHERE rowid = ".$socid;
|
||||
$result = $db->query($sql);
|
||||
if (! $result) dol_print_error($result);
|
||||
else $object->fk_prospectlevel=GETPOST('prospect_level_id');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -660,7 +660,7 @@ else if ($action == 'addline' && $user->rights->commande->creer)
|
||||
if (! empty($prod->customcode) && ! empty($prod->country_code)) $tmptxt.=' - ';
|
||||
if (! empty($prod->country_code)) $tmptxt.=$langs->transnoentitiesnoconv("CountryOrigin").': '.getCountry($prod->country_code,0,$db,$langs,0);
|
||||
$tmptxt.=')';
|
||||
$desc.= dol_concatdesc($desc, $tmptxt);
|
||||
$desc= dol_concatdesc($desc, $tmptxt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -725,6 +725,8 @@ else if ($action == 'addline' && $user->rights->commande->creer)
|
||||
|
||||
if ($result > 0)
|
||||
{
|
||||
$ret=$object->fetch($object->id); // Reload to get new records
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||
{
|
||||
// Define output language
|
||||
@@ -737,7 +739,6 @@ else if ($action == 'addline' && $user->rights->commande->creer)
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
|
||||
$ret=$object->fetch($object->id); // Reload to get new records
|
||||
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref, $hookmanager);
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,8 @@ if ($viewstatut <> '')
|
||||
{
|
||||
if ($viewstatut < 4 && $viewstatut > -3)
|
||||
{
|
||||
$sql.= ' AND c.fk_statut ='.$viewstatut; // brouillon, validee, en cours, annulee
|
||||
if ($viewstatut == 1 && empty($conf->expedition->enabled)) $sql.= ' AND c.fk_statut IN (1,2)'; // If module expedition disabled, we include order with status 'sending in process' into 'validated'
|
||||
else $sql.= ' AND c.fk_statut = '.$viewstatut; // brouillon, validee, en cours, annulee
|
||||
if ($viewstatut == 3)
|
||||
{
|
||||
$sql.= ' AND c.facture = 0'; // need to create invoice
|
||||
@@ -222,7 +223,7 @@ if ($resql)
|
||||
if ($viewstatut == -2)
|
||||
$title.=' - '.$langs->trans('StatusOrderToProcessShort');
|
||||
if ($viewstatut == -3)
|
||||
$title.=' - '.$langs->trans('StatusOrderValidated').', '.$langs->trans("StatusOrderSent").', '.$langs->trans('StatusOrderToBill');
|
||||
$title.=' - '.$langs->trans('StatusOrderValidated').', '.(empty($conf->expedition->enabled)?'':$langs->trans("StatusOrderSent").', ').$langs->trans('StatusOrderToBill');
|
||||
|
||||
$param='&socid='.$socid.'&viewstatut='.$viewstatut;
|
||||
if ($ordermonth) $param.='&ordermonth='.$ordermonth;
|
||||
|
||||
@@ -1100,7 +1100,7 @@ else if (($action == 'addline' || $action == 'addline_predef') && $user->rights-
|
||||
if (! empty($prod->customcode) && ! empty($prod->country_code)) $tmptxt.=' - ';
|
||||
if (! empty($prod->country_code)) $tmptxt.=$langs->transnoentitiesnoconv("CountryOrigin").': '.getCountry($prod->country_code,0,$db,$langs,0);
|
||||
$tmptxt.=')';
|
||||
$desc.= dol_concatdesc($desc, $tmptxt);
|
||||
$desc= dol_concatdesc($desc, $tmptxt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -555,7 +555,7 @@ for ($annee = $year_start ; $annee <= $year_end ; $annee++)
|
||||
if (isset($totentrees[$annee]) || isset($totsorties[$annee]))
|
||||
{
|
||||
$in=(isset($totentrees[$annee])?price2num($totentrees[$annee], 'MT'):0);
|
||||
$out=(isset($totsorties[$annee])?price2num($totsorties[$annee],' MT'):0);
|
||||
$out=(isset($totsorties[$annee])?price2num($totsorties[$annee],'MT'):0);
|
||||
print price($in-$out).'</td>';
|
||||
// print '<td> </td>';
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ class Contact extends CommonObject
|
||||
$sql .= ", priv = '".$this->priv."'";
|
||||
$sql .= ", fk_user_modif=".($user->id > 0 ? "'".$user->id."'":"null");
|
||||
$sql .= ", default_lang=".($this->default_lang?"'".$this->default_lang."'":"null");
|
||||
$sql .= ", no_email=".($this->no_email?"'".$this->no_email."'":"null");
|
||||
$sql .= ", no_email=".($this->no_email?"'".$this->no_email."'":"0");
|
||||
$sql .= " WHERE rowid=".$id;
|
||||
|
||||
dol_syslog(get_class($this)."::update sql=".$sql,LOG_DEBUG);
|
||||
|
||||
@@ -299,7 +299,7 @@ else if ($action == 'addline' && $user->rights->contrat->creer)
|
||||
{
|
||||
$pu_ht=GETPOST('price_ht');
|
||||
$price_base_type = 'HT';
|
||||
$tva_tx=str_replace('*','',GETPOST('tva_tx'));
|
||||
$tva_tx=GETPOST('tva_tx')?str_replace('*','',GETPOST('tva_tx')):0; // tva_tx field may be disabled, so we use vat rate 0
|
||||
$tva_npr=preg_match('/\*/',GETPOST('tva_tx'))?1:0;
|
||||
$desc=GETPOST('dp_desc');
|
||||
}
|
||||
@@ -396,7 +396,7 @@ else if ($action == 'updateligne' && $user->rights->contrat->creer && ! GETPOST(
|
||||
$objectline->subprice=GETPOST('elprice');
|
||||
$objectline->qty=GETPOST('elqty');
|
||||
$objectline->remise_percent=GETPOST('elremise_percent');
|
||||
$objectline->tva_tx=GETPOST('eltva_tx');
|
||||
$objectline->tva_tx=GETPOST('eltva_tx')?GETPOST('eltva_tx'):0; // Field may be disabled, so we use vat rate 0
|
||||
$objectline->localtax1_tx=$localtax1_tx;
|
||||
$objectline->localtax2_tx=$localtax2_tx;
|
||||
$objectline->date_ouverture_prevue=$date_start_update;
|
||||
|
||||
@@ -722,9 +722,10 @@ abstract class CommonObject
|
||||
* @param string $table To force other table element or element line
|
||||
* @param int $id To force other object id
|
||||
* @param string $format Data format ('text' by default, 'date')
|
||||
* @param string $id_field To force rowid field name
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function setValueFrom($field, $value, $table='', $id='', $format='text')
|
||||
function setValueFrom($field, $value, $table='', $id='', $format='text', $id_field='rowid')
|
||||
{
|
||||
global $conf;
|
||||
|
||||
@@ -736,7 +737,7 @@ abstract class CommonObject
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET ";
|
||||
if ($format == 'text') $sql.= $field." = '".$this->db->escape($value)."'";
|
||||
else if ($format == 'date') $sql.= $field." = '".$this->db->idate($value)."'";
|
||||
$sql.= " WHERE rowid = ".$id;
|
||||
$sql.= " WHERE ".$id_field." = ".$id;
|
||||
|
||||
dol_syslog(get_class($this)."::setValueFrom sql=".$sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@@ -169,6 +169,9 @@ class DolEditor
|
||||
//$skin='office2003';
|
||||
//$skin='v2';
|
||||
$skin='kama';
|
||||
|
||||
if ($this->toolbarname=='dolibarr_mailings') {$htmlencode_force='true';}
|
||||
else {$htmlencode_force='false';}
|
||||
|
||||
$out.= '<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
@@ -177,6 +180,7 @@ class DolEditor
|
||||
CKEDITOR.replace(\''.$this->htmlname.'\',
|
||||
{
|
||||
customConfig : ckeditorConfig,
|
||||
htmlEncodeOutput :'.$htmlencode_force.',
|
||||
toolbar: \''.$this->toolbarname.'\',
|
||||
toolbarStartupExpanded: '.($this->toolbarstartexpanded ? 'true' : 'false').',
|
||||
width: '.($this->width ? '\''.$this->width.'\'' : '\'\'').',
|
||||
|
||||
@@ -621,7 +621,7 @@ class Translate
|
||||
$newdir=dol_osencode($dir);
|
||||
|
||||
// Check if directory exists
|
||||
if (! dol_is_dir($dir)) continue;
|
||||
if (! is_dir($newdir)) continue; // We must not use dol_is_dir here, function may not be loaded
|
||||
|
||||
$fonc='numberwords';
|
||||
if (file_exists($newdir.'/functions_'.$fonc.'.lib.php'))
|
||||
@@ -691,4 +691,4 @@ class Translate
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -1147,19 +1147,21 @@ function showModulesExludedForExternal($modules)
|
||||
$text=$langs->trans("OnlyFollowingModulesAreOpenedToExternalUsers");
|
||||
$listofmodules=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
||||
$i=0;
|
||||
foreach($modules as $module)
|
||||
{
|
||||
$moduleconst=$module->const_name;
|
||||
$modulename=strtolower($module->name);
|
||||
//print 'modulename='.$modulename;
|
||||
|
||||
//if (empty($conf->global->$moduleconst)) continue;
|
||||
if (! in_array($modulename,$listofmodules)) continue;
|
||||
|
||||
if ($i > 0) $text.=', ';
|
||||
else $text.=' ';
|
||||
$i++;
|
||||
$text .= $langs->trans('Module'.$module->numero.'Name');
|
||||
if (!empty($modules)) {
|
||||
foreach($modules as $module)
|
||||
{
|
||||
$moduleconst=$module->const_name;
|
||||
$modulename=strtolower($module->name);
|
||||
//print 'modulename='.$modulename;
|
||||
|
||||
//if (empty($conf->global->$moduleconst)) continue;
|
||||
if (! in_array($modulename,$listofmodules)) continue;
|
||||
|
||||
if ($i > 0) $text.=', ';
|
||||
else $text.=' ';
|
||||
$i++;
|
||||
$text .= $langs->trans('Module'.$module->numero.'Name');
|
||||
}
|
||||
}
|
||||
return img_picto($langs->trans('InfoAdmin'), 'star').' '.$text;
|
||||
}
|
||||
|
||||
@@ -2687,10 +2687,10 @@ function get_localtax($tva, $local, $thirdparty_buyer="", $thirdparty_seller="")
|
||||
dol_syslog("get_localtax tva=".$tva." local=".$local." thirdparty_buyer id=".(is_object($thirdparty_buyer)?$thirdparty_buyer->id:'')." thirdparty_seller id=".$thirdparty_seller->id);
|
||||
|
||||
// Some test to guess with no need to make database access
|
||||
if ($mysoc->country_code == 'ES') // For spain and localtaxes 1, tax is qualified if buyer use local taxe
|
||||
if ($mysoc->country_code == 'ES') // For spain localtaxes 1 and 2, tax is qualified if buyer use local taxe
|
||||
{
|
||||
if ($local == 1 && ! $thirdparty_buyer->localtax1_assuj) return 0;
|
||||
if ($local == 2 && ! $thirdparty_seller->localtax2_assuj) return 0;
|
||||
if ($local == 2 && ! $thirdparty_buyer->localtax2_assuj) return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4147,7 +4147,7 @@ function printCommonFooter($zone='private')
|
||||
{
|
||||
$micro_end_time=dol_microtime_float(true);
|
||||
print "\n".'<script type="text/javascript">'."\n";
|
||||
print 'console.log("';
|
||||
print 'window.console && console.log("';
|
||||
if (! empty($conf->global->MEMCACHED_SERVER)) print 'MEMCACHED_SERVER='.$conf->global->MEMCACHED_SERVER.' - ';
|
||||
print 'MAIN_OPTIMIZE_SPEED='.(isset($conf->global->MAIN_OPTIMIZE_SPEED)?$conf->global->MAIN_OPTIMIZE_SPEED:'off');
|
||||
print ' - Build time: '.ceil(1000*($micro_end_time-$micro_start_time)).' ms';
|
||||
|
||||
@@ -857,7 +857,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
|
||||
if ($leftmenu=="orders") $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=0", $langs->trans("StatusOrderDraftShort"), 2, $user->rights->commande->lire);
|
||||
if ($leftmenu=="orders") $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=1", $langs->trans("StatusOrderValidated"), 2, $user->rights->commande->lire);
|
||||
if ($leftmenu=="orders" && ! empty($conf->expedition->enabled)) $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=2", $langs->trans("StatusOrderOnProcessShort"), 2, $user->rights->commande->lire);
|
||||
if ($leftmenu=="orders") $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=".($conf->expedition->enabled?"3":"-2"), $langs->trans("StatusOrderToBill"), 2, $user->rights->commande->lire);
|
||||
if ($leftmenu=="orders") $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=3", $langs->trans("StatusOrderToBill"), 2, $user->rights->commande->lire); // The translation key is StatusOrderToBill but it means StatusDelivered. TODO We should renamed this later
|
||||
if ($leftmenu=="orders") $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=4", $langs->trans("StatusOrderProcessed"), 2, $user->rights->commande->lire);
|
||||
if ($leftmenu=="orders") $newmenu->add("/commande/liste.php?leftmenu=orders&viewstatut=-1", $langs->trans("StatusOrderCanceledShort"), 2, $user->rights->commande->lire);
|
||||
$newmenu->add("/commande/stats/index.php?leftmenu=orders", $langs->trans("Statistics"), 1, $user->rights->commande->lire);
|
||||
|
||||
@@ -378,10 +378,8 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
// TODO : store local taxes types into object lines and remove this
|
||||
$localtax1_array=getLocalTaxesFromRate($vatrate,1,$mysoc);
|
||||
$localtax2_array=getLocalTaxesFromRate($vatrate,2,$mysoc);
|
||||
if (empty($localtax1_type))
|
||||
$localtax1_type = $localtax1_array[0];
|
||||
if (empty($localtax2_type))
|
||||
$localtax2_type = $localtax2_array[0];
|
||||
if (! isset($localtax1_type)) $localtax1_type = $localtax1_array[0];
|
||||
if (! isset($localtax2_type)) $localtax2_type = $localtax2_array[0];
|
||||
//end TODO
|
||||
|
||||
// retrieve global local tax
|
||||
@@ -390,9 +388,9 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
if ($localtax2_type == '7')
|
||||
$localtax2_rate = $localtax2_array[1];
|
||||
|
||||
if ($localtax1ligne != 0 || $localtax1_type == '7')
|
||||
if ($localtax1_type && ($localtax1ligne != 0 || $localtax1_type == '7'))
|
||||
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;
|
||||
if ($localtax2ligne != 0 || $localtax2_type == '7')
|
||||
if ($localtax2_type && ($localtax2ligne != 0 || $localtax2_type == '7'))
|
||||
$this->localtax2[$localtax2_type][$localtax2_rate]+=$localtax2ligne;
|
||||
|
||||
if (($object->lines[$i]->info_bits & 0x01) == 0x01) $vatrate.='*';
|
||||
@@ -720,12 +718,11 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
else
|
||||
{
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
@@ -741,8 +738,8 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -750,14 +747,13 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
@@ -775,8 +771,8 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -785,7 +781,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
// VAT
|
||||
foreach($this->tva as $tvakey => $tvaval)
|
||||
{
|
||||
@@ -812,15 +808,15 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -833,7 +829,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
@@ -842,7 +838,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
@@ -850,17 +846,17 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -873,7 +869,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
@@ -882,7 +878,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -891,7 +887,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
// Total TTC
|
||||
$index++;
|
||||
|
||||
@@ -380,10 +380,8 @@ class pdf_crabe extends ModelePDFFactures
|
||||
// TODO : store local taxes types into object lines and remove this
|
||||
$localtax1_array=getLocalTaxesFromRate($vatrate,1,$mysoc);
|
||||
$localtax2_array=getLocalTaxesFromRate($vatrate,2,$mysoc);
|
||||
if (empty($localtax1_type))
|
||||
$localtax1_type = $localtax1_array[0];
|
||||
if (empty($localtax2_type))
|
||||
$localtax2_type = $localtax2_array[0];
|
||||
if (! isset($localtax1_type)) $localtax1_type = $localtax1_array[0];
|
||||
if (! isset($localtax2_type)) $localtax2_type = $localtax2_array[0];
|
||||
//end TODO
|
||||
|
||||
// retrieve global local tax
|
||||
@@ -392,9 +390,9 @@ class pdf_crabe extends ModelePDFFactures
|
||||
if ($localtax2_type == '7')
|
||||
$localtax2_rate = $localtax2_array[1];
|
||||
|
||||
if ($localtax1ligne != 0 || $localtax1_type == '7')
|
||||
if ($localtax1_type && ($localtax1ligne != 0 || $localtax1_type == '7'))
|
||||
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;
|
||||
if ($localtax2ligne != 0 || $localtax2_type == '7')
|
||||
if ($localtax2_type && ($localtax2ligne != 0 || $localtax2_type == '7'))
|
||||
$this->localtax2[$localtax2_type][$localtax2_rate]+=$localtax2ligne;
|
||||
|
||||
if (($object->lines[$i]->info_bits & 0x01) == 0x01) $vatrate.='*';
|
||||
@@ -850,12 +848,11 @@ class pdf_crabe extends ModelePDFFactures
|
||||
else
|
||||
{
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
@@ -872,8 +869,8 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -881,14 +878,13 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
@@ -907,8 +903,8 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -917,7 +913,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
// VAT
|
||||
foreach($this->tva as $tvakey => $tvaval)
|
||||
{
|
||||
@@ -944,15 +940,15 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -965,7 +961,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
@@ -974,7 +970,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
@@ -982,10 +978,10 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
@@ -993,7 +989,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
// retrieve global local tax
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -1006,7 +1002,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
@@ -1015,7 +1011,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -1023,7 +1019,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
// Total TTC
|
||||
|
||||
@@ -214,7 +214,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
$pdf->SetTextColor(0,0,0);
|
||||
|
||||
$tab_top = 90;
|
||||
$tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)?42:10);
|
||||
$tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)?22:10);
|
||||
$tab_height = 130;
|
||||
$tab_height_newpage = 150;
|
||||
|
||||
@@ -252,7 +252,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
$pdf->SetTextColor(0,0,0);
|
||||
|
||||
$pdf->setTopMargin($tab_top_newpage);
|
||||
$pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext+$heightforinfotot); // The only function to edit the bottom margin of current page to set it.
|
||||
$pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext); // The only function to edit the bottom margin of current page to set it.
|
||||
$pageposbefore=$pdf->getPage();
|
||||
|
||||
// Description of product line
|
||||
@@ -355,12 +355,12 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
// Show square
|
||||
if ($pagenb == 1)
|
||||
{
|
||||
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 0, 0);
|
||||
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 0);
|
||||
$bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfooter + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 1, 0);
|
||||
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 1);
|
||||
$bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfooter + 1;
|
||||
}
|
||||
|
||||
@@ -472,35 +472,43 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
// Rect prend une longueur en 3eme param
|
||||
$pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height);
|
||||
// line prend une position y en 3eme param
|
||||
$pdf->line($this->marge_gauche, $tab_top+6, $this->page_largeur-$this->marge_droite, $tab_top+6);
|
||||
if (empty($hidetop))
|
||||
$pdf->line($this->marge_gauche, $tab_top+6, $this->page_largeur-$this->marge_droite, $tab_top+6);
|
||||
|
||||
$pdf->SetTextColor(0,0,0);
|
||||
$pdf->SetFont('','', $default_font_size - 1);
|
||||
|
||||
$pdf->SetXY($this->posxdesc-1, $tab_top+1);
|
||||
$pdf->MultiCell(80,2, $outputlangs->transnoentities("Designation"),'','L');
|
||||
if (empty($hidetop)) {
|
||||
$pdf->SetXY($this->posxdesc-1, $tab_top+1);
|
||||
$pdf->MultiCell(80,2, $outputlangs->transnoentities("Designation"),'','L');
|
||||
}
|
||||
|
||||
// Modif SEB pour avoir une col en plus pour les commentaires clients
|
||||
$pdf->line($this->posxcomm, $tab_top, $this->posxcomm, $tab_top + $tab_height);
|
||||
$pdf->SetXY($this->posxcomm, $tab_top+1);
|
||||
$pdf->MultiCell(80,2, $outputlangs->transnoentities("Comments"),'','L');
|
||||
if (empty($hidetop)) {
|
||||
$pdf->SetXY($this->posxcomm, $tab_top+1);
|
||||
$pdf->MultiCell(80,2, $outputlangs->transnoentities("Comments"),'','L');
|
||||
}
|
||||
|
||||
// Qty
|
||||
$pdf->line($this->posxqty-1, $tab_top, $this->posxqty-1, $tab_top + $tab_height);
|
||||
$pdf->SetXY($this->posxqty-1, $tab_top+1);
|
||||
$pdf->MultiCell(30, 2, $outputlangs->transnoentities("QtyShipped"),'','R');
|
||||
if (empty($hidetop)) {
|
||||
$pdf->SetXY($this->posxqty-1, $tab_top+1);
|
||||
$pdf->MultiCell(30, 2, $outputlangs->transnoentities("QtyShipped"),'','R');
|
||||
}
|
||||
|
||||
// Modif Seb cadres signatures
|
||||
$pdf->SetFont('','', $default_font_size);
|
||||
$larg_sign = ($this->page_largeur-$this->marge_gauche-$this->marge_droite)/3;
|
||||
$pdf->Rect($this->marge_gauche, ($tab_top + $tab_height + 3), $larg_sign, 25);
|
||||
$pdf->SetXY($this->marge_gauche + 2, $tab_top + $tab_height + 5);
|
||||
$pdf->MultiCell($larg_sign,2, $outputlangs->trans("For").' '.$outputlangs->convToOutputCharset($mysoc->name).":",'','L');
|
||||
|
||||
$pdf->Rect(2*$larg_sign+$this->marge_gauche, ($tab_top + $tab_height + 3), $larg_sign, 25);
|
||||
$pdf->SetXY(2*$larg_sign+$this->marge_gauche + 2, $tab_top + $tab_height + 5);
|
||||
$pdf->MultiCell($larg_sign,2, $outputlangs->trans("ForCustomer").':','','L');
|
||||
if (empty($hidebottom)) {
|
||||
// Modif Seb cadres signatures
|
||||
$pdf->SetFont('','', $default_font_size);
|
||||
$larg_sign = ($this->page_largeur-$this->marge_gauche-$this->marge_droite)/3;
|
||||
$pdf->Rect($this->marge_gauche, ($tab_top + $tab_height + 3), $larg_sign, 25);
|
||||
$pdf->SetXY($this->marge_gauche + 2, $tab_top + $tab_height + 5);
|
||||
$pdf->MultiCell($larg_sign,2, $outputlangs->trans("For").' '.$outputlangs->convToOutputCharset($mysoc->name).":",'','L');
|
||||
|
||||
$pdf->Rect(2*$larg_sign+$this->marge_gauche, ($tab_top + $tab_height + 3), $larg_sign, 25);
|
||||
$pdf->SetXY(2*$larg_sign+$this->marge_gauche + 2, $tab_top + $tab_height + 5);
|
||||
$pdf->MultiCell($larg_sign,2, $outputlangs->trans("ForCustomer").':','','L');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -159,7 +159,7 @@ class modBanque extends DolibarrModules
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON bu.url_id = s.rowid';
|
||||
$this->export_sql_end[$r] .=' WHERE ba.rowid = b.fk_account';
|
||||
$this->export_sql_end[$r] .=' AND ba.entity = '.$conf->entity;
|
||||
$this->export_sql_end[$r] .=' ORDER BY b.datev, b.num_releve';
|
||||
$this->export_sql_order[$r] .=' ORDER BY b.datev, b.num_releve';
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -80,14 +80,14 @@ class modCommande extends DolibarrModules
|
||||
$this->const[$r][0] = "COMMANDE_ADDON_PDF";
|
||||
$this->const[$r][1] = "chaine";
|
||||
$this->const[$r][2] = "einstein";
|
||||
$this->const[$r][3] = 'Nom du gestionnaire de generation des commandes en PDF';
|
||||
$this->const[$r][3] = 'Name of PDF model of order';
|
||||
$this->const[$r][4] = 0;
|
||||
|
||||
$r++;
|
||||
$this->const[$r][0] = "COMMANDE_ADDON";
|
||||
$this->const[$r][1] = "chaine";
|
||||
$this->const[$r][2] = "mod_commande_marbre";
|
||||
$this->const[$r][3] = 'Nom du gestionnaire de numerotation des commandes';
|
||||
$this->const[$r][3] = 'Name of numbering numerotation rules of order';
|
||||
$this->const[$r][4] = 0;
|
||||
|
||||
$r++;
|
||||
|
||||
@@ -78,11 +78,15 @@ class modFacture extends DolibarrModules
|
||||
$this->const[$r][0] = "FACTURE_ADDON_PDF";
|
||||
$this->const[$r][1] = "chaine";
|
||||
$this->const[$r][2] = "crabe";
|
||||
$this->const[$r][3] = 'Name of PDF model of invoice';
|
||||
$this->const[$r][4] = 0;
|
||||
$r++;
|
||||
|
||||
$this->const[$r][0] = "FACTURE_ADDON";
|
||||
$this->const[$r][1] = "chaine";
|
||||
$this->const[$r][2] = "terre";
|
||||
$this->const[$r][2] = "mod_facture_terre";
|
||||
$this->const[$r][3] = 'Name of numbering numerotation rules of invoice';
|
||||
$this->const[$r][4] = 0;
|
||||
$r++;
|
||||
|
||||
$this->const[$r][0] = "FACTURE_ADDON_PDF_ODT_PATH";
|
||||
|
||||
@@ -375,10 +375,8 @@ class pdf_azur extends ModelePDFPropales
|
||||
// TODO : store local taxes types into object lines and remove this
|
||||
$localtax1_array=getLocalTaxesFromRate($vatrate,1,$mysoc);
|
||||
$localtax2_array=getLocalTaxesFromRate($vatrate,2,$mysoc);
|
||||
if (empty($localtax1_type))
|
||||
$localtax1_type = $localtax1_array[0];
|
||||
if (empty($localtax2_type))
|
||||
$localtax2_type = $localtax2_array[0];
|
||||
if (! isset($localtax1_type)) $localtax1_type = $localtax1_array[0];
|
||||
if (! isset($localtax2_type)) $localtax2_type = $localtax2_array[0];
|
||||
//end TODO
|
||||
|
||||
// retrieve global local tax
|
||||
@@ -387,9 +385,9 @@ class pdf_azur extends ModelePDFPropales
|
||||
if ($localtax2_type == '7')
|
||||
$localtax2_rate = $localtax2_array[1];
|
||||
|
||||
if ($localtax1ligne != 0 || $localtax1_type == '7')
|
||||
if ($localtax1_type && ($localtax1ligne != 0 || $localtax1_type == '7'))
|
||||
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;
|
||||
if ($localtax2ligne != 0 || $localtax2_type == '7')
|
||||
if ($localtax2_type && ($localtax2ligne != 0 || $localtax2_type == '7'))
|
||||
$this->localtax2[$localtax2_type][$localtax2_rate]+=$localtax2ligne;
|
||||
|
||||
if (($object->lines[$i]->info_bits & 0x01) == 0x01) $vatrate.='*';
|
||||
@@ -753,12 +751,11 @@ class pdf_azur extends ModelePDFPropales
|
||||
else
|
||||
{
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
@@ -775,8 +772,8 @@ class pdf_azur extends ModelePDFPropales
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -784,14 +781,13 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
@@ -810,8 +806,8 @@ class pdf_azur extends ModelePDFPropales
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT2".$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -820,7 +816,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
// VAT
|
||||
foreach($this->tva as $tvakey => $tvaval)
|
||||
{
|
||||
@@ -847,15 +843,15 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -868,7 +864,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
@@ -877,7 +873,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
@@ -885,17 +881,17 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -908,7 +904,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
@@ -917,7 +913,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
@@ -926,7 +922,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
// Total TTC
|
||||
$index++;
|
||||
|
||||
@@ -529,7 +529,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
{
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT1".$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), 0, 'R', 1);
|
||||
}
|
||||
@@ -539,19 +539,19 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
{
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT2".$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
//Local tax 1
|
||||
foreach( $this->localtax1 as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -564,22 +564,22 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
//Local tax 2
|
||||
foreach( $this->localtax2 as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -592,15 +592,15 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
$useborder=0;
|
||||
|
||||
@@ -697,7 +697,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
{
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT1".$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), $useborder, 'R', 1);
|
||||
}
|
||||
@@ -707,19 +707,19 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
{
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT2".$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code), 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), $useborder, 'R', 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
//{
|
||||
//Local tax 1
|
||||
foreach( $this->localtax1 as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -732,22 +732,22 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat =$outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
//{
|
||||
//Local tax 2
|
||||
foreach( $this->localtax2 as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey != 0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@@ -760,15 +760,15 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$totalvat =$outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
// Total TTC
|
||||
|
||||
@@ -80,8 +80,8 @@ if (! empty($conf->margin->enabled)) {
|
||||
'origin_price_ht_cache' => 'price_ht',
|
||||
'origin_tva_tx_cache' => 'tva_tx',
|
||||
'origin_price_ttc_cache' => 'price_ttc',
|
||||
'qty' => 'qty',
|
||||
'remise_percent' => 'discount'
|
||||
'qty' => 'qty'
|
||||
//'remise_percent' => 'discount'
|
||||
),
|
||||
'update_textarea' => array(
|
||||
'product_desc' => 'desc'
|
||||
@@ -242,7 +242,7 @@ $(document).ready(function() {
|
||||
$('#select_type').val(data.type).attr('disabled','disabled').trigger('change');
|
||||
//$('#price_base_type_area').show();
|
||||
$('#qty').val(data.qty);
|
||||
$('#remise_percent').val(data.discount);
|
||||
//$('#remise_percent').val(data.discount);
|
||||
|
||||
if (typeof CKEDITOR == "object" && typeof CKEDITOR.instances != "undefined" && CKEDITOR.instances['product_desc'] != "undefined") {
|
||||
CKEDITOR.instances['product_desc'].setData(data.desc).focus();
|
||||
|
||||
@@ -583,6 +583,7 @@ class InterfaceActionsAuto
|
||||
$ret=$actioncomm->add($user); // User qui saisit l'action
|
||||
if ($ret > 0)
|
||||
{
|
||||
$_SESSION['LAST_ACTION_CREATED'] = $ret;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -34,7 +34,9 @@ class Export
|
||||
var $array_export_code=array(); // Tableau de "idmodule_numlot"
|
||||
var $array_export_module=array(); // Tableau de "nom de modules"
|
||||
var $array_export_label=array(); // Tableau de "libelle de lots"
|
||||
var $array_export_sql=array(); // Tableau des "requetes sql"
|
||||
var $array_export_sql_start=array(); // Tableau des "requetes sql"
|
||||
var $array_export_sql_end=array(); // Tableau des "requetes sql"
|
||||
var $array_export_sql_order=array(); // Tableau des "requetes sql"
|
||||
var $array_export_fields=array(); // Tableau des listes de champ+libelle a exporter
|
||||
var $array_export_TypeFields=array(); // Tableau des listes de champ+Type de filtre
|
||||
var $array_export_FilterValue=array(); // Tableau des listes de champ+Valeur a filtrer
|
||||
@@ -177,6 +179,7 @@ class Export
|
||||
// Requete sql du dataset
|
||||
$this->array_export_sql_start[$i]=$module->export_sql_start[$r];
|
||||
$this->array_export_sql_end[$i]=$module->export_sql_end[$r];
|
||||
$this->array_export_sql_order[$i]=$module->export_sql_order[$r];
|
||||
//$this->array_export_sql[$i]=$module->export_sql[$r];
|
||||
|
||||
dol_syslog(get_class($this)."::load_arrays loaded for module ".$modulename." with index ".$i.", dataset=".$module->export_code[$r].", nb of fields=".(! empty($module->export_fields_code[$r])?count($module->export_fields_code[$r]):''));
|
||||
@@ -224,16 +227,17 @@ class Export
|
||||
$sql.=$this->array_export_sql_end[$indice];
|
||||
|
||||
//construction du filtrage si le parametrage existe
|
||||
if (is_array($array_filterValue))
|
||||
if (is_array($array_filterValue) && !empty($array_filterValue))
|
||||
{
|
||||
$sqlWhere='';
|
||||
// pour ne pas a gerer le nombre de condition
|
||||
foreach ($array_filterValue as $key => $value)
|
||||
{
|
||||
$sqlWhere.=" and ".$this->build_filterQuery($this->array_export_TypeFields[0][$key], $key, $array_filterValue[$key]);
|
||||
if ($value != '') $sqlWhere.=" and ".$this->build_filterQuery($this->array_export_TypeFields[0][$key], $key, $array_filterValue[$key]);
|
||||
}
|
||||
$sql.=$sqlWhere;
|
||||
}
|
||||
$sql.=$this->array_export_sql_order[$indice];
|
||||
|
||||
return $sql;
|
||||
}
|
||||
@@ -243,7 +247,7 @@ class Export
|
||||
*
|
||||
* @param string $TypeField Type of Field to filter
|
||||
* @param string $NameField Name of the field to filter
|
||||
* @param string $ValueField Initial value of the field to filter
|
||||
* @param string $ValueField Value of the field for filter. Must not be ''
|
||||
* @return string sql string of then field ex : "field='xxx'>"
|
||||
*/
|
||||
function build_filterQuery($TypeField, $NameField, $ValueField)
|
||||
|
||||
@@ -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.3.0');
|
||||
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.3.1');
|
||||
if (! defined('EURO')) define('EURO',chr(128));
|
||||
|
||||
// Define syslog constants
|
||||
|
||||
@@ -297,7 +297,9 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
|
||||
//print "xx".$tva_tx; exit;
|
||||
if ($result > 0)
|
||||
{
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||
$ret=$object->fetch($object->id); // Reload to get new records
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||
{
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
@@ -309,7 +311,6 @@ else if ($action == 'addline' && $user->rights->fournisseur->commande->creer)
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
|
||||
$ret=$object->fetch($object->id); // Reload to get new records
|
||||
supplier_order_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref, $hookmanager);
|
||||
}
|
||||
unset($_POST['qty']);
|
||||
|
||||
@@ -308,7 +308,7 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire)
|
||||
$board->load_board($user);
|
||||
$board->warning_delay=$conf->commande->client->warning_delay/60/60/24;
|
||||
$board->label=$langs->trans("OrdersToProcess");
|
||||
$board->url=DOL_URL_ROOT.'/commande/liste.php?viewstatut=-2';
|
||||
$board->url=DOL_URL_ROOT.'/commande/liste.php?viewstatut=-3';
|
||||
$board->img=img_object($langs->trans("Orders"),"order");
|
||||
$rowspan++;
|
||||
$dashboardlines[]=$board;
|
||||
|
||||
@@ -311,7 +311,7 @@ UPDATE llx_c_tva set localtax1 = 1, localtax1_type = '4', localtax2 = 0.4, local
|
||||
ALTER TABLE llx_c_tva DROP COLUMN accountancy_code;
|
||||
ALTER TABLE llx_c_tva ADD COLUMN accountancy_code_sell varchar(15) DEFAULT NULL AFTER active;
|
||||
ALTER TABLE llx_c_tva ADD COLUMN accountancy_code_buy varchar(15) DEFAULT NULL AFTER accountancy_code_sell;
|
||||
ALTER TABLE llx_c_chargessociales ADD COLUMN accountancy_code varchar(15) DEFAULT NULL AFTER code;
|
||||
ALTER TABLE llx_c_chargesociales ADD COLUMN accountancy_code varchar(15) DEFAULT NULL AFTER code;
|
||||
|
||||
-- Tables for accountancy expert
|
||||
DROP TABLE llx_accountingaccount;
|
||||
@@ -923,3 +923,7 @@ DELETE FROM llx_c_action_trigger WHERE elementtype='withdraw';
|
||||
UPDATE llx_c_action_trigger SET code='FICHINTER_VALIDATE' WHERE code='FICHEINTER_VALIDATE';
|
||||
|
||||
UPDATE llx_c_departements SET ncc='ALAVA', nom='Álava' WHERE code_departement='01' AND fk_region=419;
|
||||
|
||||
ALTER TABLE llx_product_fournisseur_price DROP FOREIGN KEY fk_product_fournisseur;
|
||||
|
||||
UPDATE llx_const set name='PRODUIT_MULTI_PRICES' where name='PRODUIT_MUTLI_PRICES';
|
||||
|
||||
@@ -92,4 +92,4 @@ UPDATE llx_product p SET p.stock= (SELECT SUM(ps.reel) FROM llx_product_stock ps
|
||||
-- DROP TABLE llx_expedition_methode;
|
||||
-- DROP TABLE llx_product_fournisseur;
|
||||
-- ALTER TABLE llx_product_fournisseur_price DROP COLUMN fk_product_fournisseur;
|
||||
|
||||
ALTER TABLE llx_product_fournisseur_price DROP FOREIGN KEY fk_product_fournisseur;
|
||||
|
||||
@@ -213,7 +213,7 @@ ModuleFamilyProducts=إدارة المنتجات
|
||||
ModuleFamilyHr=إدارة الموارد البشرية
|
||||
ModuleFamilyProjects=مشاريع / العمل التعاوني
|
||||
ModuleFamilyOther=أخرى
|
||||
ModuleFamilyTechnic=Mutli بين وحدات وأدوات
|
||||
ModuleFamilyTechnic=Multi بين وحدات وأدوات
|
||||
ModuleFamilyExperimental=نماذج تجريبية
|
||||
ModuleFamilyFinancial=الوحدات المالية (المحاسبة / الخزانة)
|
||||
ModuleFamilyECM=إدارة المحتوى في المؤسسة
|
||||
|
||||
@@ -433,6 +433,6 @@ EditGlobalDiscounts=تعديل الخصومات مطلق
|
||||
AddCreditNote=علما خلق الائتمان
|
||||
InvoiceNotChecked=لا فاتورة مختارة
|
||||
ShowUnpaidAll=وتظهر جميع الفواتير غير المسددة
|
||||
ClosePaidInvoicesAutomatically=تصنيف "سيولي" كل معيار أو الفواتير استبدال سيولي entierely.
|
||||
ClosePaidInvoicesAutomatically=تصنيف "سيولي" كل معيار أو الفواتير استبدال سيولي entirely.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=كل فاتورة مع عدم وجود لا تزال لدفع ستغلق تلقائيا إلى "فياض" الوضع.
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 15:56:17).
|
||||
|
||||
@@ -384,7 +384,7 @@ DisabledBecausePayments=Не е възможно, тъй като има няк
|
||||
CantRemovePaymentWithOneInvoicePaid=Не може да се премахне плащането, тъй като има най-малко една фактура, класифицирани плаща
|
||||
ExpectedToPay=Очаквано плащане
|
||||
PayedByThisPayment=Плаща от това плащане
|
||||
ClosePaidInvoicesAutomatically=Класифицира "ЗАПЛАЩАТ" стандартно или заместващи фактури entierely ЗАПЛАЩАТ.
|
||||
ClosePaidInvoicesAutomatically=Класифицира "ЗАПЛАЩАТ" стандартно или заместващи фактури entirely ЗАПЛАЩАТ.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Всички фактура не остават да плати, ще бъде затворено автоматично статус "Платени".
|
||||
TypeContact_facture_internal_SALESREPFOLL=Представител проследяване клиент фактура
|
||||
TypeContact_facture_external_BILLING=Контакта с клиентите фактура
|
||||
|
||||
@@ -28,11 +28,12 @@ SuppliersOrdersToProcess=Comandes a proveïdors a processar
|
||||
StatusOrderCanceledShort=Anul·lada
|
||||
StatusOrderDraftShort=Esborrany
|
||||
StatusOrderValidatedShort=Validada
|
||||
StatusOrderOnProcessShort=Per rebre
|
||||
StatusOrderOnProcessShort=En procés
|
||||
StatusOrderSentShort=Expedició en curs
|
||||
StatusOrderSent=Enviament en curs
|
||||
StatusOrderProcessedShort=Processada
|
||||
StatusOrderToBillShort=A facturar
|
||||
StatusOrderToBillShort=Emès
|
||||
StatusOrderToBillShort2=A facturar
|
||||
StatusOrderApprovedShort=Aprovada
|
||||
StatusOrderRefusedShort=Rebutjada
|
||||
StatusOrderToProcessShort=A processar
|
||||
@@ -43,7 +44,8 @@ StatusOrderDraft=Esborrany (a validar)
|
||||
StatusOrderValidated=Validada
|
||||
StatusOrderOnProcess=Pendent de rebre
|
||||
StatusOrderProcessed=Processada
|
||||
StatusOrderToBill=A facturar
|
||||
StatusOrderToBill=Emès
|
||||
StatusOrderToBill2=A facturar
|
||||
StatusOrderApproved=Aprovada
|
||||
StatusOrderRefused=Rebutjada
|
||||
StatusOrderReceivedPartially=Rebuda parcialment
|
||||
@@ -82,8 +84,8 @@ NumberOfOrdersByMonth=Nombre de comandes per mes
|
||||
AmountOfOrdersByMonthHT=Import total de comandes per mes (Sense IVA)
|
||||
ListOfOrders=Llistat de comandes
|
||||
CloseOrder=Tancar comanda
|
||||
ConfirmCloseOrder=Esteu segur de voler tancar aquesta comanda? Un cop tancat, haurà de facturar-se
|
||||
ConfirmCloseOrderIfSending=Esteu segur de voler tancar aquesta comanda? No ha de tancar una comanda que encara no té els seus productes enviats
|
||||
ConfirmCloseOrder=Esteu segur que voleu classificar aquesta comanda com a enviat? Un cop enviat una comanda, només podrà facturar-se
|
||||
ConfirmCloseOrderIfSending=Esteu segur que voleu tancar aquesta comanda? Només hauria de tancar una comanda quan aquesta hagi estat enviada completament.
|
||||
ConfirmDeleteOrder=Esteu segur de voler eliminar aquest comanda?
|
||||
ConfirmValidateOrder=Esteu segur de voler validar aquesta comanda sota la referència <b>%s</b> ?
|
||||
ConfirmUnvalidateOrder=Esteu segur de voler restaurar la comanda <b>%s</b> a l'estat esborrany?
|
||||
|
||||
@@ -199,7 +199,7 @@ ModuleFamilyProducts=Produkter Management
|
||||
ModuleFamilyHr=Human Resource Management
|
||||
ModuleFamilyProjects=Projekter / samarbejde
|
||||
ModuleFamilyOther=Anden
|
||||
ModuleFamilyTechnic=Mutli-moduler værktøjer
|
||||
ModuleFamilyTechnic=Multi-moduler værktøjer
|
||||
ModuleFamilyExperimental=Eksperimentel moduler
|
||||
ModuleFamilyFinancial=Finansielle Modules (Regnskabsmæssig / Treasury)
|
||||
ModuleFamilyECM=ECM
|
||||
|
||||
@@ -433,6 +433,6 @@ EditGlobalDiscounts=Rediger absolutte rabatter
|
||||
AddCreditNote=Opret kreditnota
|
||||
InvoiceNotChecked=Ingen valgt faktura
|
||||
ShowUnpaidAll=Vis alle ubetalte fakturaer
|
||||
ClosePaidInvoicesAutomatically=Klassificere "betales" hele standarden eller udskiftning af fakturaer entierely betales.
|
||||
ClosePaidInvoicesAutomatically=Klassificere "betales" hele standarden eller udskiftning af fakturaer entirely betales.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Alle faktura uden mangler at betale, vil automatisk blive lukket for status "betales".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 16:00:06).
|
||||
|
||||
@@ -419,7 +419,7 @@ AddGlobalDiscount=Προσθήκη έκπτωσης
|
||||
AddCreditNote=Δημιουργία πιστωτικό σημείωμα
|
||||
InvoiceNotChecked=Δεν έχει επιλεγεί τιμολόγιο
|
||||
ShowUnpaidAll=Εμφάνιση όλων των απλήρωτων τιμολογίων
|
||||
ClosePaidInvoicesAutomatically=Ταξινομήστε "Πληρωμένες» όλα τα τιμολόγια entierely payed.
|
||||
ClosePaidInvoicesAutomatically=Ταξινομήστε "Πληρωμένες» όλα τα τιμολόγια entirely payed.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Όλα τιμολόγιο χωρίς παραμένουν να πληρώσουν θα κλείσει αυτόματα σε κατάσταση "Πληρωμένες».
|
||||
// STOP - Lines generated via autotranslator.php tool (2011-06-26 15:36:46).
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ ModuleFamilyProducts=Products Management
|
||||
ModuleFamilyHr=Human Resource Management
|
||||
ModuleFamilyProjects=Projects/Collaborative work
|
||||
ModuleFamilyOther=Other
|
||||
ModuleFamilyTechnic=Mutli-modules tools
|
||||
ModuleFamilyTechnic=Multi-modules tools
|
||||
ModuleFamilyExperimental=Experimental modules
|
||||
ModuleFamilyFinancial=Financial Modules (Accounting/Treasury)
|
||||
ModuleFamilyECM=Electronic Content Management (ECM)
|
||||
@@ -288,7 +288,7 @@ GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany done
|
||||
GenericMaskCodes4b=<u>Example on third party created on 2007-03-01:</u><br>
|
||||
GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
|
||||
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
|
||||
GenericNumRefModelDesc=Return a customizable number according to a defined mask.
|
||||
GenericNumRefModelDesc=Returns a customizable number according to a defined mask.
|
||||
ServerAvailableOnIPOrPort=Server is available at address <b>%s</b> on port <b>%s</b>
|
||||
ServerNotAvailableOnIPOrPort=Server is not available at address <b>%s</b> on port <b>%s</b>
|
||||
DoTestServerAvailability=Test server connectivity
|
||||
@@ -910,7 +910,7 @@ RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be requir
|
||||
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=Return 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
|
||||
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
|
||||
SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix <b>.lang</b> text files into directory <b>htdocs/langs</b> and submit them on the forum at <a href="http://www.dolibarr.org/forum" target="_blank">http://www.dolibarr.org</a>.
|
||||
@@ -924,7 +924,7 @@ 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 atributes, not already available by default, and that you want to be supported for %s.
|
||||
DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s.
|
||||
ExtraFields=Complementary attributes
|
||||
ExtraFieldsThirdParties=Complementary attributes (thirdparty)
|
||||
ExtraFieldsContacts=Complementary attributes (contact/address)
|
||||
@@ -967,7 +967,7 @@ NotificationsDesc=EMails notifications feature allows you to silently send autom
|
||||
ModelModules=Documents templates
|
||||
DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT files for OpenOffice, KOffice, TextEdit,...)
|
||||
WatermarkOnDraft=Watermark on draft document
|
||||
CompanyIdProfChecker=Rules ono Professional Ids
|
||||
CompanyIdProfChecker=Rules on Professional Ids
|
||||
MustBeUnique=Must be unique ?
|
||||
MustBeMandatory=Must be mandatory ?
|
||||
Miscellanous=Miscellaneous
|
||||
@@ -998,7 +998,7 @@ WebCalCheckWebcalSetup=Maybe the Webcal module setup is not correct.
|
||||
##### Invoices #####
|
||||
BillsSetup=Invoices module setup
|
||||
BillsDate=Invoices date
|
||||
BillsNumberingModule=Invoices and credit notes numbering module
|
||||
BillsNumberingModule=Invoices and credit notes numbering model
|
||||
BillsPDFModules=Invoice documents models
|
||||
CreditNoteSetup=Credit note module setup
|
||||
CreditNotePDFModules=Credit note document models
|
||||
@@ -1016,7 +1016,7 @@ WatermarkOnDraftInvoices=Watermark on draft invoices (any if empty)
|
||||
PropalSetup=Commercial proposals module setup
|
||||
CreateForm=Create forms
|
||||
NumberOfProductLines=Number of product lines
|
||||
ProposalsNumberingModules=Commercial proposal numbering modules
|
||||
ProposalsNumberingModules=Commercial proposal numbering models
|
||||
ProposalsPDFModules=Commercial proposal documents models
|
||||
ClassifiedInvoiced=Classified invoiced
|
||||
HideTreadedPropal=Hide the treated commercial proposals in the list
|
||||
@@ -1027,7 +1027,7 @@ FreeLegalTextOnProposal=Free text on commercial proposals
|
||||
WatermarkOnDraftProposal=Watermark on draft commercial proposals (any if empty)
|
||||
##### Orders #####
|
||||
OrdersSetup=Order management setup
|
||||
OrdersNumberingModules=Orders numbering modules
|
||||
OrdersNumberingModules=Orders numbering models
|
||||
OrdersModelModule=Order documents models
|
||||
HideTreadedOrders=Hide the treated or canceled orders in the list
|
||||
ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order
|
||||
@@ -1041,7 +1041,7 @@ Bookmark4uSetup=Bookmark4u module setup
|
||||
##### Interventions #####
|
||||
InterventionsSetup=Interventions module setup
|
||||
FreeLegalTextOnInterventions=Free text on intervention documents
|
||||
FicheinterNumberingModules=Intervention numbering modules
|
||||
FicheinterNumberingModules=Intervention numbering models
|
||||
TemplatePDFInterventions=Intervention card documents models
|
||||
WatermarkOnDraftInterventionCards=Watermark on intervention card documents (any if empty)
|
||||
##### Contracts #####
|
||||
@@ -1188,7 +1188,7 @@ LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree f
|
||||
LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups.
|
||||
LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module.
|
||||
LDAPDescValues=Example values are designed for <b>OpenLDAP</b> with following loaded schemas: <b>core.schema, cosine.schema, inetorgperson.schema</b>). If you use thoose values and OpenLDAP, modify your LDAP config file <b>slapd.conf</b> to have all thoose schemas loaded.
|
||||
ForANonAnonymousAccess=For an authenticated acces (for a write access for example)
|
||||
ForANonAnonymousAccess=For an authenticated access (for a write access for example)
|
||||
##### Products #####
|
||||
ProductSetup=Products module setup
|
||||
ServiceSetup=Services module setup
|
||||
@@ -1198,7 +1198,7 @@ ConfirmDeleteProductLineAbility=Confirmation when removing product lines in form
|
||||
ModifyProductDescAbility=Personalization of product descriptions in forms
|
||||
ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip)
|
||||
ViewProductDescInThirdpartyLanguageAbility=Visualization of products descriptions in the thirdparty language
|
||||
UseSearchToSelectProduct=Use a search form to choose a product (instead of using a list box).<br>Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||
UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list).<br>Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||
UseEcoTaxeAbility=Support Eco-Taxe (WEEE)
|
||||
SetDefaultBarcodeTypeProducts=Default barcode type to use for products
|
||||
SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties
|
||||
|
||||
@@ -384,8 +384,8 @@ DisabledBecausePayments=Not possible since there is some payments
|
||||
CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified payed
|
||||
ExpectedToPay=Expected payment
|
||||
PayedByThisPayment=Payed by this payment
|
||||
ClosePaidInvoicesAutomatically=Classify "Payed" all standard or replacement invoices entierely payed.
|
||||
ClosePaidCreditNotesAutomatically=Classify "Payed" all credit notes entierely paid back.
|
||||
ClosePaidInvoicesAutomatically=Classify "Payed" all standard or replacement invoices entirely payed.
|
||||
ClosePaidCreditNotesAutomatically=Classify "Payed" all credit notes entirely paid back.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Payed".
|
||||
ToMakePayment=Pay
|
||||
ToMakePaymentBack=Pay back
|
||||
|
||||
@@ -281,6 +281,8 @@ AmountTTCShort=Amount (inc. tax)
|
||||
AmountHT=Amount (net of tax)
|
||||
AmountTTC=Amount (inc. tax)
|
||||
AmountVAT=Amount tax
|
||||
AmountLT1=Amount tax 2
|
||||
AmountLT2=Amount tax 3
|
||||
AmountLT1ES=Amount RE
|
||||
AmountLT2ES=Amount IRPF
|
||||
AmountTotal=Total amount
|
||||
@@ -298,6 +300,8 @@ TotalHT=Total (net of tax)
|
||||
TotalTTC=Total (inc. tax)
|
||||
TotalTTCToYourCredit=Total (inc. tax) to your credit
|
||||
TotalVAT=Total tax
|
||||
TotalLT1=Total tax 2
|
||||
TotalLT2=Total tax 3
|
||||
TotalLT1ES=Total RE
|
||||
TotalLT2ES=Total IRPF
|
||||
IncludedVAT=Included tax
|
||||
|
||||
@@ -85,7 +85,7 @@ NumberOfOrdersByMonth=Number of orders by month
|
||||
AmountOfOrdersByMonthHT=amount of orders by month (net of tax)
|
||||
ListOfOrders=List of orders
|
||||
CloseOrder=Close order
|
||||
ConfirmCloseOrder=Are you sure you want to close this order ? Once an order is closed, it can only be billed.
|
||||
ConfirmCloseOrder=Are you sure you want to set this order to deliverd ? Once an order is delivered, it can be set to billed.
|
||||
ConfirmCloseOrderIfSending=Are you sure you want to close this order ? You must close an order only when all shipping are done.
|
||||
ConfirmDeleteOrder=Are you sure you want to delete this order ?
|
||||
ConfirmValidateOrder=Are you sure you want to validate this order under name <b>%s</b> ?
|
||||
|
||||
@@ -16,5 +16,5 @@ PAYPAL_CSS_URL=Optionnal Url of CSS style sheet on payment page
|
||||
ThisIsTransactionId=This is id of transaction: <b>%s</b>
|
||||
PAYPAL_ADD_PAYMENT_URL=Add the url of Paypal payment when you send a document by mail
|
||||
PAYPAL_IPN_MAIL_ADDRESS=E-mail address for the instant notification of payment (IPN)
|
||||
PredefinedMailContentLink=You can click on the secure link below to make your payment via PayPal\n\n%s\n\n
|
||||
PredefinedMailContentLink=You can click on the secure link below to make your payment (PayPal) if it is not already done.\n\n%s\n\n
|
||||
YouAreCurrentlyInSandboxMode=You are currently in the "sandbox" mode
|
||||
@@ -28,11 +28,12 @@ SuppliersOrdersToProcess=Pedidos a proveedores a procesar
|
||||
StatusOrderCanceledShort=Anulado
|
||||
StatusOrderDraftShort=Borrador
|
||||
StatusOrderValidatedShort=Validado
|
||||
StatusOrderOnProcessShort=Pdte. Recibir
|
||||
StatusOrderOnProcessShort=En proceso
|
||||
StatusOrderSentShort=Expedición en curso
|
||||
StatusOrderSent=Envío en curso
|
||||
StatusOrderProcessedShort=Procesado
|
||||
StatusOrderToBillShort=A facturar
|
||||
StatusOrderToBillShort=Emitido
|
||||
StatusOrderToBillShort2=A facturar
|
||||
StatusOrderApprovedShort=Aprobado
|
||||
StatusOrderRefusedShort=Rechazado
|
||||
StatusOrderToProcessShort=A procesar
|
||||
@@ -43,7 +44,8 @@ StatusOrderDraft=Borrador (a validar)
|
||||
StatusOrderValidated=Validado
|
||||
StatusOrderOnProcess=Pendiente de recibir
|
||||
StatusOrderProcessed=Procesado
|
||||
StatusOrderToBill=A facturar
|
||||
StatusOrderToBill=Emitido
|
||||
StatusOrderToBill2=A facturar
|
||||
StatusOrderApproved=Aprobado
|
||||
StatusOrderRefused=Rechazado
|
||||
StatusOrderReceivedPartially=Recibido parcialmente
|
||||
@@ -82,8 +84,8 @@ NumberOfOrdersByMonth=Número de pedidos por mes
|
||||
AmountOfOrdersByMonthHT=Importe total de pedidos por mes (sin IVA)
|
||||
ListOfOrders=Listado de pedidos
|
||||
CloseOrder=Cerrar pedido
|
||||
ConfirmCloseOrder=¿Está seguro de querer cerrar este pedido? Una vez cerrado, deberá facturarse
|
||||
ConfirmCloseOrderIfSending=¿Está seguro de querer cerrar este pedido? No debe cerrar un pedido que aún no tiene sus productos enviados
|
||||
ConfirmCloseOrder=¿Está seguro de querer clasificar este pedido como enviado? Una vez enviado un pedido, solo podrá facturarse
|
||||
ConfirmCloseOrderIfSending=¿Está seguro de querer cerrar este pedido? Solamente debería cerrar un pedido cuando este haya sido enviado completamente.
|
||||
ConfirmDeleteOrder=¿Está seguro de querer eliminar este pedido?
|
||||
ConfirmValidateOrder=¿Está seguro de querer validar este pedido bajo la referencia <b>%s</b> ?
|
||||
ConfirmUnvalidateOrder=¿Está seguro de querer restaurar el pedido <b>%s</b> al estado borrador?
|
||||
|
||||
@@ -259,7 +259,7 @@ ModuleFamilyProducts=Tooted juhtimine
|
||||
ModuleFamilyHr=Human Resource Management
|
||||
ModuleFamilyProjects=Projektid / koostööprojektid töö
|
||||
ModuleFamilyOther=Teine
|
||||
ModuleFamilyTechnic=Mutli-moodulid tööriistad
|
||||
ModuleFamilyTechnic=Multi-moodulid tööriistad
|
||||
ModuleFamilyExperimental=Eksperimentaalse moodulid
|
||||
ModuleFamilyFinancial=Financial Modules (Raamatupidamine / Treasury)
|
||||
ModuleFamilyECM=Electronic sisuhaldus (ECM)
|
||||
|
||||
@@ -374,7 +374,7 @@ DisabledBecausePayments=Ole võimalik, sest seal on mõned maksed
|
||||
CantRemovePaymentWithOneInvoicePaid=Ei saa eemaldada makse sest seal on vähemalt üks arve klassifitseeritud payed
|
||||
ExpectedToPay=Oodatud makse
|
||||
PayedByThisPayment=Payed selle makse
|
||||
ClosePaidInvoicesAutomatically=Liigitada "payed" kõik standard või asendamine arved entierely payed.
|
||||
ClosePaidInvoicesAutomatically=Liigitada "payed" kõik standard või asendamine arved entirely payed.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Kõik arve, millel ei ole veel maksma automaatselt suletud olek "payed".
|
||||
TypeContact_facture_internal_SALESREPFOLL=Esindaja järelmeetmeid kliendi arve
|
||||
TypeContact_facture_external_BILLING=Kliendi arve kontaktandmed
|
||||
|
||||
@@ -221,7 +221,7 @@ ModuleFamilyProducts= سیسیتم کالاها
|
||||
ModuleFamilyHr= سیستم استخدامی
|
||||
ModuleFamilyProjects= سیستم پروژه ها
|
||||
ModuleFamilyOther= دیگر سیستم ها
|
||||
ModuleFamilyTechnic=Mutli بين وحدات وأدوات
|
||||
ModuleFamilyTechnic=Multi بين وحدات وأدوات
|
||||
ModuleFamilyExperimental=نماذج تجريبية
|
||||
ModuleFamilyFinancial=الوحدات المالية (المحاسبة / الخزانة)
|
||||
ModuleFamilyECM=تولید محتوی الکترونیکی
|
||||
|
||||
@@ -197,7 +197,7 @@ ModuleFamilyProducts=Tuotteet Management
|
||||
ModuleFamilyHr=Human Resource Management
|
||||
ModuleFamilyProjects=Projektit / Yhteistyöhankkeet työn
|
||||
ModuleFamilyOther=Muu
|
||||
ModuleFamilyTechnic=Mutli-modules työkalut
|
||||
ModuleFamilyTechnic=Multi-modules työkalut
|
||||
ModuleFamilyExperimental=Kokeellinen modules
|
||||
ModuleFamilyFinancial=Financial Modules (kirjanpidon / Treasury)
|
||||
ModuleFamilyECM=ECM
|
||||
|
||||
@@ -431,6 +431,6 @@ EditGlobalDiscounts=Muokkaa absoluuttinen alennukset
|
||||
AddCreditNote=Luo hyvityslasku
|
||||
InvoiceNotChecked=Ei laskun valittu
|
||||
ShowUnpaidAll=Näytä kaikki maksamattomat laskut
|
||||
ClosePaidInvoicesAutomatically=Luokittele "maksanut" kaikki vakio-tai korvaavan laskuja entierely maksanut.
|
||||
ClosePaidInvoicesAutomatically=Luokittele "maksanut" kaikki vakio-tai korvaavan laskuja entirely maksanut.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Kaikki lasku ilman jää maksaa automaattisesti suljettu tila "maksanut".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 16:11:08).
|
||||
|
||||
@@ -283,6 +283,8 @@ AmountTTCShort=Montant TTC
|
||||
AmountHT=Montant HT
|
||||
AmountTTC=Montant TTC
|
||||
AmountVAT=Montant TVA
|
||||
AmountLT1=Montant Tax 2
|
||||
AmountLT2=Montant Tax 3
|
||||
AmountLT1ES=Montant RE
|
||||
AmountLT2ES=Montant IRPF
|
||||
AmountTotal=Montant total
|
||||
@@ -300,6 +302,8 @@ TotalHT=Total HT
|
||||
TotalTTC=Total TTC
|
||||
TotalTTCToYourCredit=Total TTC à votre crédit
|
||||
TotalVAT=Total TVA
|
||||
TotalLT1=Total Taxe 2
|
||||
TotalLT2=Total Taxe 3
|
||||
TotalLT1ES=Total RE
|
||||
TotalLT2ES=Total IRPF
|
||||
IncludedVAT=Dont TVA
|
||||
|
||||
@@ -85,7 +85,7 @@ NumberOfOrdersByMonth=Nombre de commandes par mois
|
||||
AmountOfOrdersByMonthHT=Montant total de commandes par mois (HT)
|
||||
ListOfOrders=Liste des commandes
|
||||
CloseOrder=Clôturer commande
|
||||
ConfirmCloseOrder=Êtes-vous sûr de vouloir clôturer cette commande ? Une fois une commande clôturée, elle peut être facturée.
|
||||
ConfirmCloseOrder=Êtes-vous sûr de vouloir classer cette commande à Délivrée ? Une fois une commande délivrée, elle peut aussi être passée à facturée.
|
||||
ConfirmCloseOrderIfSending=Êtes-vous sûr de vouloir clôturer cette commande ? Vous ne devez clôturer une commande qu'une fois les produits expédiés.
|
||||
ConfirmDeleteOrder=Êtes-vous sûr de vouloir effacer cette commande ?
|
||||
ConfirmValidateOrder=Êtes-vous sûr de vouloir valider cette commande sous la référence <b>%s</b> ?
|
||||
|
||||
@@ -16,5 +16,5 @@ PAYPAL_CSS_URL=Url optionnelle de la feuille de style CSS de la page de paiement
|
||||
ThisIsTransactionId=Voici l'identifiant de la transaction: <b>%s</b>
|
||||
PAYPAL_ADD_PAYMENT_URL=Ajouter l'url de paiement Paypal lors de l'envoi d'un document par mail
|
||||
PAYPAL_IPN_MAIL_ADDRESS=Adresse e-mail pour les notifications instantanées de paiement (IPN)
|
||||
PredefinedMailContentLink=Vous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\n\n%s\n\n
|
||||
PredefinedMailContentLink=Vous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement (Paypal) si ce dernier n'a pas encore été fait.\n\n%s\n\n
|
||||
YouAreCurrentlyInSandboxMode=Vous êtes actuellement dans le mode "sandbox"
|
||||
@@ -259,7 +259,7 @@ ModuleFamilyProducts=מוצרי ניהול
|
||||
ModuleFamilyHr=ניהול משאבי אנוש
|
||||
ModuleFamilyProjects=פרויקטים / עבודה שיתופית
|
||||
ModuleFamilyOther=אחר
|
||||
ModuleFamilyTechnic=Mutli מודולים כלים
|
||||
ModuleFamilyTechnic=Multi מודולים כלים
|
||||
ModuleFamilyExperimental=הניסוי מודולים
|
||||
ModuleFamilyFinancial=מודולים פיננסיים (חשבונאות / משרד האוצר)
|
||||
ModuleFamilyECM=ניהול תוכן אלקטרוני (ECM)
|
||||
|
||||
@@ -374,7 +374,7 @@ DisabledBecausePayments=לא ניתן שכן אין תשלומים מסוימי
|
||||
CantRemovePaymentWithOneInvoicePaid=לא ניתן להסיר תשלום מאז יש לפחות חשבונית אחת מסווגים שילם
|
||||
ExpectedToPay=צפוי התשלום
|
||||
PayedByThisPayment=שילם על ידי תשלום זה
|
||||
ClosePaidInvoicesAutomatically=לסווג "שילם" את כל תקן או חשבוניות החלפת שילם entierely.
|
||||
ClosePaidInvoicesAutomatically=לסווג "שילם" את כל תקן או חשבוניות החלפת שילם entirely.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=כל חשבונית ללא להישאר לשלם ייסגר באופן אוטומטי למצב "שילם".
|
||||
TypeContact_facture_internal_SALESREPFOLL=לקוחות נציג הבאה למעלה החשבונית
|
||||
TypeContact_facture_external_BILLING=חשבונית הלקוח קשר
|
||||
|
||||
@@ -259,7 +259,7 @@ ModuleFamilyProducts=Termékek kezelése
|
||||
ModuleFamilyHr=Az emberi erőforrás menedzsment
|
||||
ModuleFamilyProjects=Projektek / kollaboratív munkát
|
||||
ModuleFamilyOther=Más
|
||||
ModuleFamilyTechnic=Mutli-modulok eszközök
|
||||
ModuleFamilyTechnic=Multi-modulok eszközök
|
||||
ModuleFamilyExperimental=Kísérleti modulok
|
||||
ModuleFamilyFinancial=Pénzügyi modulok (Számviteli / Kincstár)
|
||||
ModuleFamilyECM=Elektronikus Content Management (ECM)
|
||||
|
||||
@@ -374,7 +374,7 @@ DisabledBecausePayments=Nem lehetséges, mert van némi kifizetések
|
||||
CantRemovePaymentWithOneInvoicePaid=Nem lehet eltávolítani a fizetési hiszen legalább egy számlát fizetni osztályozott
|
||||
ExpectedToPay=Várható fizetés
|
||||
PayedByThisPayment=Megfizetni ezt a fizetési
|
||||
ClosePaidInvoicesAutomatically=Classify "fizetni" minden szabványos vagy csere számlák entierely fizetni.
|
||||
ClosePaidInvoicesAutomatically=Classify "fizetni" minden szabványos vagy csere számlák entirely fizetni.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Minden számla nélkül is fizetni fogják automatikusan bezárja az állapota "fizetni".
|
||||
TypeContact_facture_internal_SALESREPFOLL=Reprezentatív nyomon követése vevőszámla
|
||||
TypeContact_facture_external_BILLING=Ügyfél számla Kapcsolat
|
||||
|
||||
@@ -234,7 +234,7 @@ ModuleFamilyProducts=Vörur Stjórn
|
||||
ModuleFamilyHr=Mannauðsstjórnun
|
||||
ModuleFamilyProjects=Verkefni / samvinna vinna
|
||||
ModuleFamilyOther=Önnur
|
||||
ModuleFamilyTechnic=Mutli-einingar verkfæri
|
||||
ModuleFamilyTechnic=Multi-einingar verkfæri
|
||||
ModuleFamilyExperimental=Experimental mát
|
||||
ModuleFamilyFinancial=Financial einingar (Bókhald / ríkissjóðs)
|
||||
ModuleFamilyECM=ECM
|
||||
|
||||
@@ -410,6 +410,6 @@ EditGlobalDiscounts=Breyta hreinum afslætti
|
||||
AddCreditNote=Búa inneignarnótuna
|
||||
InvoiceNotChecked=Engin reikningur valinn
|
||||
ShowUnpaidAll=Sýna alla ógreiddra reikninga
|
||||
ClosePaidInvoicesAutomatically=Flokka "borgað" allt staðall eða skipti reikningar entierely borgað.
|
||||
ClosePaidInvoicesAutomatically=Flokka "borgað" allt staðall eða skipti reikningar entirely borgað.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Allt Reikningar með ekki áfram að borga verður sjálfkrafa lokað til stöðu "borgað".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 16:27:05).
|
||||
|
||||
@@ -259,7 +259,7 @@ ModuleFamilyProducts=製品の管理
|
||||
ModuleFamilyHr=人的資源管理
|
||||
ModuleFamilyProjects=プロジェクト/共同作業
|
||||
ModuleFamilyOther=その他
|
||||
ModuleFamilyTechnic=Mutli-モジュールツール
|
||||
ModuleFamilyTechnic=Multi-モジュールツール
|
||||
ModuleFamilyExperimental=実験的なモジュール
|
||||
ModuleFamilyFinancial=金融モジュール(会計/財務)
|
||||
ModuleFamilyECM=電子コンテンツ管理(ECM)
|
||||
|
||||
@@ -374,7 +374,7 @@ DisabledBecausePayments=いくつかの支払いがあるのでできませ
|
||||
CantRemovePaymentWithOneInvoicePaid=支払った分類少なくとも一つの請求書があるので支払いを削除することはできません
|
||||
ExpectedToPay=予想される支払い
|
||||
PayedByThisPayment=この支払によって支払った
|
||||
ClosePaidInvoicesAutomatically="支払った"すべての標準またはentierely支払った交換用の請求書を分類します。
|
||||
ClosePaidInvoicesAutomatically="支払った"すべての標準またはentirely支払った交換用の請求書を分類します。
|
||||
AllCompletelyPayedInvoiceWillBeClosed=を持たないすべての請求書は自動的にステータスが "支払った"に閉鎖され支払うことに残っています。
|
||||
TypeContact_facture_internal_SALESREPFOLL=代表的なフォローアップ顧客の請求書
|
||||
TypeContact_facture_external_BILLING=顧客の請求書の連絡先
|
||||
|
||||
@@ -438,6 +438,6 @@ EditGlobalDiscounts=Rediger absolutte rabatter
|
||||
AddCreditNote=Lag kreditt notat
|
||||
InvoiceNotChecked=Ingen faktura er valgt
|
||||
ShowUnpaidAll=Vis alle ubetalte fakturaer
|
||||
ClosePaidInvoicesAutomatically=Klassifisere "betalt" alle standard eller utskifting fakturaer entierely utbetales.
|
||||
ClosePaidInvoicesAutomatically=Klassifisere "betalt" alle standard eller utskifting fakturaer entirely utbetales.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Alle faktura uten gjenstår å betale vil bli automatisk stengt for status "betales".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 17:07:28).
|
||||
|
||||
@@ -400,7 +400,7 @@ EditGlobalDiscounts=Edit absolute kortingen
|
||||
AddCreditNote=Maak een credit nota
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Alle factuur zonder te blijven om te betalen zal automatisch worden gesloten om status "Betaald".
|
||||
TerreNumRefModelError=Een wetsvoorstel te beginnen met $ syymm bestaat al en is niet compatibel met dit model van de reeks. Verwijderen of hernoemen naar deze module te activeren.
|
||||
ClosePaidInvoicesAutomatically=Classificeren "Betaalde" alle standaard of vervanging facturen entierely betaald.
|
||||
ClosePaidInvoicesAutomatically=Classificeren "Betaalde" alle standaard of vervanging facturen entirely betaald.
|
||||
// STOP - Lines generated via autotranslator.php tool (2011-10-10 02:25:52).
|
||||
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@ ModuleFamilyProducts=Produkty Management
|
||||
ModuleFamilyHr=Zarządzanie zasobami ludzkimi
|
||||
ModuleFamilyProjects=Projekty / współpracy
|
||||
ModuleFamilyOther=Inny
|
||||
ModuleFamilyTechnic=Mutli-modules narzędzia
|
||||
ModuleFamilyTechnic=Multi-modules narzędzia
|
||||
ModuleFamilyExperimental=Eksperymentalne modules
|
||||
ModuleFamilyFinancial=Moduły finansowe (Księgowość / Skarbu)
|
||||
ModuleFamilyECM=ECM
|
||||
|
||||
@@ -432,6 +432,6 @@ EditGlobalDiscounts=Edytuj bezwzględne zniżki
|
||||
AddCreditNote=Tworzenie noty kredytowej
|
||||
InvoiceNotChecked=Nie wybrano faktura
|
||||
ShowUnpaidAll=Pokaż wszystkie niezapłacone faktury
|
||||
ClosePaidInvoicesAutomatically=Klasyfikowanie "Opłacone" wszystkie standardy lub fakturach zastępczych entierely zapłaci.
|
||||
ClosePaidInvoicesAutomatically=Klasyfikowanie "Opłacone" wszystkie standardy lub fakturach zastępczych entirely zapłaci.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Wszystko faktura bez pozostawać do zapłaty zostanie automatycznie zamknięta do statusu "płatny".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 17:19:17).
|
||||
|
||||
@@ -198,7 +198,7 @@ ModuleFamilyProducts=Produse de Management
|
||||
ModuleFamilyHr=Managementul resurselor umane
|
||||
ModuleFamilyProjects=Proiecte / Colaborativă munca
|
||||
ModuleFamilyOther=Alt
|
||||
ModuleFamilyTechnic=Mutli-module de unelte
|
||||
ModuleFamilyTechnic=Multi-module de unelte
|
||||
ModuleFamilyExperimental=Experimentale module
|
||||
ModuleFamilyFinancial=Module financiar (Contabilitate / Trezoreriei)
|
||||
ModuleFamilyECM=ECM
|
||||
|
||||
@@ -432,6 +432,6 @@ EditGlobalDiscounts=Editare reduceri absolute
|
||||
AddCreditNote=Creaţi note de credit
|
||||
InvoiceNotChecked=Nu factură selectat
|
||||
ShowUnpaidAll=Arata toate facturile neachitate
|
||||
ClosePaidInvoicesAutomatically=Clasifica "platiti", toate facturile standard sau de înlocuire entierely platite.
|
||||
ClosePaidInvoicesAutomatically=Clasifica "platiti", toate facturile standard sau de înlocuire entirely platite.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Toate cu factura nu rămân la plata vor fi închise automat la statutul de "platite".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 17:24:55).
|
||||
|
||||
@@ -197,7 +197,7 @@ ModuleFamilyProducts=Продукты управления
|
||||
ModuleFamilyHr=Кадровый менеджмент
|
||||
ModuleFamilyProjects=Проекты / Совместная работа
|
||||
ModuleFamilyOther=Другой
|
||||
ModuleFamilyTechnic=Mutli-модулей инструменты
|
||||
ModuleFamilyTechnic=Multi-модулей инструменты
|
||||
ModuleFamilyExperimental=Экспериментальный модуль
|
||||
ModuleFamilyFinancial=Финансовые модули (Бухгалтерия / Казначейство)
|
||||
ModuleFamilyECM=ECM
|
||||
|
||||
@@ -409,6 +409,6 @@ EditGlobalDiscounts=Redigera absoluta rabatter
|
||||
AddCreditNote=Skapa kreditnota
|
||||
InvoiceNotChecked=Faktura vald
|
||||
ShowUnpaidAll=Visa alla obetalda fakturor
|
||||
ClosePaidInvoicesAutomatically=Klassificera "betalade" alla standard eller fakturor ersättning entierely betalt.
|
||||
ClosePaidInvoicesAutomatically=Klassificera "betalade" alla standard eller fakturor ersättning entirely betalt.
|
||||
AllCompletelyPayedInvoiceWillBeClosed=Alla fakturor utan återstår att betala kommer automatiskt stängd för status "betald".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 17:32:49).
|
||||
|
||||
@@ -414,6 +414,6 @@ EditGlobalDiscounts=编辑绝对折扣
|
||||
AddCreditNote=创建信用票据
|
||||
InvoiceNotChecked=选择无发票
|
||||
ShowUnpaidAll=显示所有未付发票
|
||||
ClosePaidInvoicesAutomatically=分类“支付最高”的所有entierely支付最高标准或更换发票。
|
||||
ClosePaidInvoicesAutomatically=分类“支付最高”的所有entirely支付最高标准或更换发票。
|
||||
AllCompletelyPayedInvoiceWillBeClosed=所有发票仍然没有支付将被自动关闭状态“支付最高”。
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 17:38:07).
|
||||
|
||||
@@ -414,6 +414,6 @@ EditGlobalDiscounts=編輯絕對折扣
|
||||
AddCreditNote=創建信用票據
|
||||
InvoiceNotChecked=選擇無發票
|
||||
ShowUnpaidAll=顯示所有未付款的發票
|
||||
ClosePaidInvoicesAutomatically=分類“支付最高”的所有entierely支付最高標準或更換發票。
|
||||
ClosePaidInvoicesAutomatically=分類“支付最高”的所有entirely支付最高標準或更換發票。
|
||||
AllCompletelyPayedInvoiceWillBeClosed=所有發票仍然沒有支付將被自動關閉狀態“支付最高”。
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 17:38:07).
|
||||
|
||||
@@ -442,18 +442,12 @@ else
|
||||
$i++;
|
||||
}
|
||||
|
||||
if ($num > $conf->liste_limit)
|
||||
{
|
||||
if ($sref || $snom || $sall || $sbarcode || GETPOST('search'))
|
||||
{
|
||||
print_barre_liste('', $page, "liste.php", "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num);
|
||||
}
|
||||
else
|
||||
{
|
||||
print_barre_liste('', $page, "liste.php", "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":"")."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num);
|
||||
}
|
||||
}
|
||||
|
||||
$param="&sref=".$sref.($sbarcode?"&sbarcode=".$sbarcode:"")."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy;
|
||||
$param.=($fourn_id?"&fourn_id=".$fourn_id:"");
|
||||
$param.=($search_categ?"&search_categ=".$search_categ:"");
|
||||
$param.=isset($type)?"&type=".$type:"";
|
||||
print_barre_liste('', $page, "liste.php", $param, $sortfield, $sortorder,'',$num);
|
||||
|
||||
$db->free($resql);
|
||||
|
||||
print "</table>";
|
||||
|
||||
@@ -539,11 +539,11 @@ if ($resql)
|
||||
print '<td align="right">'.(price2num($obj->pmp)?price(price2num($obj->pmp*$obj->reel,'MT')):'').'</td>'; // Ditto : Show PMP from movement or from product
|
||||
// Sell price
|
||||
print '<td align="right">';
|
||||
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print price(price2num($product->price,'MU'));
|
||||
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price,'MU'));
|
||||
else print $langs->trans("Variable");
|
||||
print '</td>'; // Ditto : Show PMP from movement or from product
|
||||
print '<td align="right">';
|
||||
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print price(price2num($product->price*$obj->reel,'MT')).'</td>'; // Ditto : Show PMP from movement or from product
|
||||
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price*$obj->reel,'MT')).'</td>'; // Ditto : Show PMP from movement or from product
|
||||
else print $langs->trans("Variable");
|
||||
print '</tr>'; ;
|
||||
$total += $obj->reel;
|
||||
@@ -564,11 +564,11 @@ print '<td class="liste_total" align="right">';
|
||||
print price(price2num($totalvalue,'MT'));
|
||||
print '</td>';
|
||||
print '<td class="liste_total" align="right">';
|
||||
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print ($total?price($totalvaluesell/$total):' ');
|
||||
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print ($total?price($totalvaluesell/$total):' ');
|
||||
else print $langs->trans("Variable");
|
||||
print '</td>';
|
||||
print '<td class="liste_total" align="right">';
|
||||
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print price(price2num($totalvaluesell,'MT'));
|
||||
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($totalvaluesell,'MT'));
|
||||
else print $langs->trans("Variable");
|
||||
print '</td>';
|
||||
print "</tr>";
|
||||
|
||||
@@ -30,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||
|
||||
$langs->load("companies");
|
||||
$langs->load("admin");
|
||||
$langs->load("members");
|
||||
|
||||
$extrafields = new ExtraFields($db);
|
||||
$form = new Form($db);
|
||||
|
||||
@@ -327,7 +327,7 @@ div.tmenu {
|
||||
right:0;
|
||||
white-space:nowrap;
|
||||
height:36px;
|
||||
line-height:36px;
|
||||
<?php if ($conf->browser->name != 'ie') echo "line-height:36px; /* disabled for ie9 */ \n"; ?>
|
||||
background:#333333;
|
||||
background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%);
|
||||
background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro.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
|
||||
@@ -190,7 +191,7 @@ if ($action == 'edit')
|
||||
print '<td align="left" nowrap="nowrap" width="20%"><input '.$bc[$var].' name="check_SIZE_LISTE_LIMIT" id="check_SIZE_LISTE_LIMIT" type="checkbox" '.(! empty($fuser->conf->MAIN_SIZE_LISTE_LIMIT)?" checked":"");
|
||||
print ! empty($dolibarr_main_demo)?' disabled="disabled"':''; // Disabled for demo
|
||||
print '> '.$langs->trans("UsePersonalValue").'</td>';
|
||||
print '<td><input class="flat" name="main_size_liste_limit" id="main_size_liste_limit" size="4" value="' . (! empty($fuser->conf->SIZE_LISTE_LIMIT)?$fuser->conf->SIZE_LISTE_LIMIT:'') . '"></td></tr>';
|
||||
print '<td><input class="flat" name="main_size_liste_limit" id="main_size_liste_limit" size="4" value="' . (! empty($fuser->conf->MAIN_SIZE_LISTE_LIMIT)?$fuser->conf->MAIN_SIZE_LISTE_LIMIT:'') . '"></td></tr>';
|
||||
|
||||
print '</table><br>';
|
||||
|
||||
|
||||
@@ -113,15 +113,13 @@ $server->wsdl->addComplexType(
|
||||
|
||||
'price_net' => array('name'=>'price_net','type'=>'xsd:string'),
|
||||
'price' => array('name'=>'price','type'=>'xsd:string'),
|
||||
'price_ttc' => array('name'=>'price_ttc','type'=>'xsd:string'),
|
||||
'price_min_net' => array('name'=>'price_min_net','type'=>'xsd:string'),
|
||||
'price_min' => array('name'=>'price_min','type'=>'xsd:string'),
|
||||
'price_min_ttc' => array('name'=>'price_min_ttc','type'=>'xsd:string'),
|
||||
|
||||
'price_base_type' => array('name'=>'price_base_type','type'=>'xsd:string'),
|
||||
|
||||
'vat_rate' => array('name'=>'vat_rate','type'=>'xsd:string'),
|
||||
'tva_tx' => array('name'=>'tva_tx','type'=>'xsd:string'),
|
||||
'tva_npr' => array('name'=>'tva_npr','type'=>'xsd:string'),
|
||||
'vat_npr' => array('name'=>'vat_npr','type'=>'xsd:string'),
|
||||
'localtax1_tx' => array('name'=>'localtax1_tx','type'=>'xsd:string'),
|
||||
'localtax2_tx' => array('name'=>'localtax2_tx','type'=>'xsd:string'),
|
||||
|
||||
@@ -132,41 +130,44 @@ $server->wsdl->addComplexType(
|
||||
'import_key' => array('name'=>'import_key','type'=>'xsd:string'),
|
||||
|
||||
'dir' => array('name'=>'dir','type'=>'xsd:string'),
|
||||
'photos' => array('name'=>'photos','type'=>'tns:PhotosArray')
|
||||
'images' => array('name'=>'images','type'=>'tns:ImagesArray')
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* Image of product
|
||||
*/
|
||||
*/
|
||||
$server->wsdl->addComplexType(
|
||||
'PhotosArray',
|
||||
'ImagesArray',
|
||||
'complexType',
|
||||
'array',
|
||||
'sequence',
|
||||
'',
|
||||
'SOAP-ENC:Array',
|
||||
array(),
|
||||
array(
|
||||
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:image[]')
|
||||
'image' => array(
|
||||
'name' => 'image',
|
||||
'type' => 'tns:image',
|
||||
'minOccurs' => '0',
|
||||
'maxOccurs' => 'unbounded'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
/*
|
||||
* An image
|
||||
*/
|
||||
*/
|
||||
$server->wsdl->addComplexType(
|
||||
'image',
|
||||
'complexType',
|
||||
'array',
|
||||
'struct',
|
||||
'all',
|
||||
'',
|
||||
'SOAP-ENC:Array',
|
||||
array(),
|
||||
array(
|
||||
'photo' => array('name'=>'photo','type'=>'xsd:string'),
|
||||
'photo_vignette' => array('name'=>'photo_vignette','type'=>'xsd:string'),
|
||||
'imgWidth' => array('name'=>'imgWidth','type'=>'xsd:string'),
|
||||
'imgHeight' => array('name'=>'imgHeight','type'=>'xsd:string')
|
||||
'photo' => array('name'=>'photo','type'=>'xsd:string'),
|
||||
'photo_vignette' => array('name'=>'photo_vignette','type'=>'xsd:string'),
|
||||
'imgWidth' => array('name'=>'imgWidth','type'=>'xsd:string'),
|
||||
'imgHeight' => array('name'=>'imgHeight','type'=>'xsd:string')
|
||||
)
|
||||
);
|
||||
|
||||
@@ -186,7 +187,7 @@ $server->wsdl->addComplexType(
|
||||
)
|
||||
);
|
||||
|
||||
$server->wsdl->addComplexType(
|
||||
/*$server->wsdl->addComplexType(
|
||||
'ProductsArray',
|
||||
'complexType',
|
||||
'array',
|
||||
@@ -197,7 +198,7 @@ $server->wsdl->addComplexType(
|
||||
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:product[]')
|
||||
),
|
||||
'tns:product'
|
||||
);
|
||||
);*/
|
||||
$server->wsdl->addComplexType(
|
||||
'ProductsArray2',
|
||||
'complexType',
|
||||
@@ -272,7 +273,7 @@ $server->register(
|
||||
// Entry values
|
||||
array('authentication'=>'tns:authentication','id'=>'xsd:string'),
|
||||
// Exit values
|
||||
array('result'=>'tns:result','products'=>'ProductsArray'),
|
||||
array('result'=>'tns:result','products'=>'tns:ProductsArray2'),
|
||||
$ns,
|
||||
$ns.'#getProductsForCategory',
|
||||
$styledoc,
|
||||
@@ -345,22 +346,18 @@ function getProductOrService($authentication,$id='',$ref='',$ref_ext='')
|
||||
'country_code' => $product->country_code,
|
||||
'custom_code' => $product->customcode,
|
||||
|
||||
'price_net' => $product->price, // todo : DEPRECATED ?
|
||||
//'price' => ($product->price_ttc-$product->price),
|
||||
'price' => $product->price,
|
||||
'price_ttc' => $product->price_ttc,
|
||||
'price_min' => $product->price_min,
|
||||
'price_min_ttc' => $product->price_min_ttc,
|
||||
'price_net' => $product->price,
|
||||
'price' => $product->price_ttc,
|
||||
'price_min_net' => $product->price_min,
|
||||
'price_min' => $product->price_min_ttc,
|
||||
'price_base_type' => $product->price_base_type,
|
||||
'vat_rate' => $product->tva_tx, // todo : DEPRECATED ?
|
||||
'tva_tx' => $product->tva_tx,
|
||||
'vat_rate' => $product->tva_tx,
|
||||
//! French VAT NPR
|
||||
'tva_npr' => $product->tva_npr,
|
||||
'vat_npr' => $product->tva_npr,
|
||||
//! Spanish local taxes
|
||||
'localtax1_tx' => $product->localtax1_tx,
|
||||
'localtax2_tx' => $product->localtax2_tx,
|
||||
|
||||
'price_ttc' => $product->price_ttc,
|
||||
'price_base_type' => $product->price_base_type,
|
||||
|
||||
'stock_real' => $product->stock_reel,
|
||||
@@ -368,7 +365,7 @@ function getProductOrService($authentication,$id='',$ref='',$ref_ext='')
|
||||
'pmp' => $product->pmp,
|
||||
'import_key' => $product->import_key,
|
||||
'dir' => $pdir,
|
||||
'photos' => $product->liste_photos($dir,$nbmax=10)
|
||||
'images' => $product->liste_photos($dir,$nbmax=10)
|
||||
));
|
||||
}
|
||||
else
|
||||
@@ -651,17 +648,17 @@ function getProductsForCategory($authentication,$id)
|
||||
'custom_code' => $obj->customcode,
|
||||
|
||||
'price_net' => $obj->price,
|
||||
'price' => ($obj->price_ttc-$obj->price),
|
||||
'price' => $obj->price_ttc,
|
||||
'vat_rate' => $obj->tva_tx,
|
||||
'price_ttc' => $obj->price_ttc,
|
||||
'price_base_type' => $obj->price_base_type,
|
||||
|
||||
'price_base_type' => $obj->price_base_type,
|
||||
|
||||
'stock_real' => $obj->stock_reel,
|
||||
'stock_alert' => $obj->seuil_stock_alerte,
|
||||
'pmp' => $obj->pmp,
|
||||
'import_key' => $obj->import_key,
|
||||
'dir' => $pdir,
|
||||
'photos' => $obj->liste_photos($dir,$nbmax=10)
|
||||
'images' => $obj->liste_photos($dir,$nbmax=10)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -109,6 +109,7 @@ $server->wsdl->addComplexType(
|
||||
'pass_indatabase_crypted' => array('name'=>'pass_indatabase_crypted','type'=>'xsd:string'),
|
||||
'datec' => array('name'=>'datec','type'=>'xsd:dateTime'),
|
||||
'datem' => array('name'=>'datem','type'=>'xsd:dateTime'),
|
||||
'fk_thirdparty' => array('name'=>'fk_thirdparty','type'=>'xsd:string'),
|
||||
'fk_socpeople' => array('name'=>'fk_socpeople','type'=>'xsd:string'),
|
||||
'fk_member' => array('name'=>'fk_member','type'=>'xsd:string'),
|
||||
'datelastlogin' => array('name'=>'datelastlogin','type'=>'xsd:dateTime'),
|
||||
@@ -303,8 +304,8 @@ function getUser($authentication,$id,$ref='',$ref_ext='')
|
||||
'pass_indatabase_crypted' => $user->pass_indatabase_crypted,
|
||||
'datec' => dol_print_date($user->datec,'dayhourrfc'),
|
||||
'datem' => dol_print_date($user->datem,'dayhourrfc'),
|
||||
'societe_id' => $user->societe_id,
|
||||
'fk_socpeople' => $user->fk_socpeople,
|
||||
'fk_thirdparty' => $user->societe_id,
|
||||
'fk_socpeople' => $user->contact_id,
|
||||
'fk_member' => $user->fk_member,
|
||||
'webcal_login' => $user->webcal_login,
|
||||
'phenix_login' => $user->phenix_login,
|
||||
|
||||
Reference in New Issue
Block a user