Merge remote-tracking branch 'Upstream/develop' into develop-51
This commit is contained in:
commit
d1111f9b90
@ -35,6 +35,7 @@ For developers:
|
|||||||
- New: Function yn can show a visual checkbox.
|
- New: Function yn can show a visual checkbox.
|
||||||
- New: Introduced select2 jquery plugin.
|
- New: Introduced select2 jquery plugin.
|
||||||
- New: Possibility to add javascript in main login page with "getLoginPageOptions" hook
|
- New: Possibility to add javascript in main login page with "getLoginPageOptions" hook
|
||||||
|
- New: possibility to defined a tab for all entities in module descriptor
|
||||||
|
|
||||||
WARNING: Following changes may create regression for some external modules, but was necessary to make
|
WARNING: Following changes may create regression for some external modules, but was necessary to make
|
||||||
Dolibarr better:
|
Dolibarr better:
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
#------------------------------------------------------
|
#------------------------------------------------------
|
||||||
# Script to push language files to Transifex
|
# Script to push language files to Transifex
|
||||||
#
|
#
|
||||||
# Laurent Destailleur - eldy@users.sourceforge.net
|
# Laurent Destailleur (eldy) - eldy@users.sourceforge.net
|
||||||
#------------------------------------------------------
|
#------------------------------------------------------
|
||||||
# Usage: txpush.sh (source|all|xx_XX) [-r dolibarr.file] [-f]
|
# Usage: txpush.sh (source|xx_XX) [-r dolibarr.file] [-f]
|
||||||
#------------------------------------------------------
|
#------------------------------------------------------
|
||||||
|
|
||||||
# Syntax
|
# Syntax
|
||||||
@ -13,7 +13,7 @@ then
|
|||||||
echo "This push local files to transifex."
|
echo "This push local files to transifex."
|
||||||
echo "Note: If you push a language file (not source), file will be skipped if transifex file is newer."
|
echo "Note: If you push a language file (not source), file will be skipped if transifex file is newer."
|
||||||
echo " Using -f will overwrite translation but not memory."
|
echo " Using -f will overwrite translation but not memory."
|
||||||
echo "Usage: ./dev/translation/txpush.sh (source|all|xx_XX) [-r dolibarr.file] [-f] [--no-interactive]"
|
echo "Usage: ./dev/translation/txpush.sh (source|xx_XX) [-r dolibarr.file] [-f] [--no-interactive]"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -23,20 +23,15 @@ then
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$1" = "xall" ]
|
|
||||||
then
|
|
||||||
for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ka_GE ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW
|
|
||||||
do
|
|
||||||
echo "tx push --skip -t -l $fic $2 $3"
|
|
||||||
tx push --skip -t -l $fic $2 $3
|
|
||||||
done
|
|
||||||
else
|
|
||||||
if [ "x$1" = "xsource" ]
|
if [ "x$1" = "xsource" ]
|
||||||
then
|
then
|
||||||
echo "tx push -s $2 $3"
|
echo "tx push -s $2 $3"
|
||||||
tx push -s $2 $3
|
tx push -s $2 $3
|
||||||
else
|
else
|
||||||
echo "tx push --skip -t -l $1 $2 $3 $4"
|
for file in `find htdocs/langs/$1/*.lang -type f`
|
||||||
tx push --skip -t -l $1 $2 $3 $4
|
do
|
||||||
fi
|
export basefile=`basename $file | sed -s s/\.lang//g`
|
||||||
|
echo "tx push --skip -r dolibarr.$basfile -t -l $1 $2 $3 $4"
|
||||||
|
tx push --skip -r dolibarr.$basefile -t -l $1 $2 $3 $4
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
* Copyright (C) 2013-2015 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -154,7 +154,7 @@ if ($result) {
|
|||||||
print_liste_field_titre($langs->trans("Accountparent"), $_SERVER["PHP_SELF"], "aa.account_parent", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Accountparent"), $_SERVER["PHP_SELF"], "aa.account_parent", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Pcgtype"), $_SERVER["PHP_SELF"], "aa.pcg_type", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Pcgtype"), $_SERVER["PHP_SELF"], "aa.pcg_type", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Pcgsubtype"), $_SERVER["PHP_SELF"], "aa.pcg_subtype", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Pcgsubtype"), $_SERVER["PHP_SELF"], "aa.pcg_subtype", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Active"), $_SERVER["PHP_SELF"], "aa.active", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Activated"), $_SERVER["PHP_SELF"], "aa.active", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",$param,"",'width="60" align="center"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",$param,"",'width="60" align="center"',$sortfield,$sortorder);
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
@ -174,12 +174,17 @@ if ($result) {
|
|||||||
|
|
||||||
$var = true;
|
$var = true;
|
||||||
|
|
||||||
|
$accountstatic=new AccountingAccount($db);
|
||||||
|
|
||||||
while ( $i < min($num, $limit) ) {
|
while ( $i < min($num, $limit) ) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
$var = ! $var;
|
$accountstatic->id=$obj->rowid;
|
||||||
|
$accountstatic->label=$obj->label;
|
||||||
|
$accountstatic->account_number=$obj->account_number;
|
||||||
|
|
||||||
print '<tr ' . $bc[$var] . '>';
|
print '<tr ' . $bc[$var] . '>';
|
||||||
print '<td><a href="./card.php?id=' . $obj->rowid . '">' . $obj->account_number . '</td>';
|
print '<td>' . $accountstatic->getNomUrl(1) . '</td>';
|
||||||
print '<td>' . $obj->label . '</td>';
|
print '<td>' . $obj->label . '</td>';
|
||||||
print '<td>' . $obj->account_parent . '</td>';
|
print '<td>' . $obj->account_parent . '</td>';
|
||||||
print '<td>' . $obj->pcg_type . '</td>';
|
print '<td>' . $obj->pcg_type . '</td>';
|
||||||
@ -210,6 +215,7 @@ if ($result) {
|
|||||||
print '</td>' . "\n";
|
print '</td>' . "\n";
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
$var=!$var;
|
||||||
$i ++;
|
$i ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
* Copyright (C) 2013-2015 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
@ -66,8 +66,7 @@ class AccountingAccount extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function fetch($rowid = null, $account_number = null)
|
function fetch($rowid = null, $account_number = null)
|
||||||
{
|
{
|
||||||
if ($rowid || $account_number)
|
if ($rowid || $account_number) {
|
||||||
{
|
|
||||||
$sql = "SELECT rowid, datec, tms, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, fk_user_author, fk_user_modif, active";
|
$sql = "SELECT rowid, datec, tms, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, fk_user_author, fk_user_modif, active";
|
||||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accountingaccount WHERE";
|
$sql.= " FROM " . MAIN_DB_PREFIX . "accountingaccount WHERE";
|
||||||
if ($rowid) {
|
if ($rowid) {
|
||||||
@ -78,12 +77,10 @@ class AccountingAccount extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this) . "::fetch sql=" . $sql, LOG_DEBUG);
|
dol_syslog(get_class($this) . "::fetch sql=" . $sql, LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result) {
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($result);
|
$obj = $this->db->fetch_object($result);
|
||||||
|
|
||||||
if ($obj)
|
if ($obj) {
|
||||||
{
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->rowid = $obj->rowid;
|
$this->rowid = $obj->rowid;
|
||||||
$this->datec = $obj->datec;
|
$this->datec = $obj->datec;
|
||||||
@ -99,18 +96,13 @@ class AccountingAccount extends CommonObject
|
|||||||
$this->active = $obj->active;
|
$this->active = $obj->active;
|
||||||
|
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($this->db);
|
dol_print_error($this->db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,6 +336,31 @@ class AccountingAccount extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return clicable name (with picto eventually)
|
||||||
|
*
|
||||||
|
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
|
||||||
|
* @return string Chaine avec URL
|
||||||
|
*/
|
||||||
|
function getNomUrl($withpicto=0)
|
||||||
|
{
|
||||||
|
global $langs;
|
||||||
|
|
||||||
|
$result='';
|
||||||
|
|
||||||
|
$link = '<a href="'.DOL_URL_ROOT.'/accountancy/admin/card.php?id='.$this->id.'">';
|
||||||
|
$linkend='</a>';
|
||||||
|
|
||||||
|
$picto='billr';
|
||||||
|
|
||||||
|
$label=$langs->trans("Show").': '.$this->account_number.' - '.$this->label;
|
||||||
|
|
||||||
|
if ($withpicto) $result.=($link.img_object($label,$picto).$linkend);
|
||||||
|
if ($withpicto && $withpicto != 2) $result.=' ';
|
||||||
|
if ($withpicto != 2) $result.=$link.$this->account_number.$linkend;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Information on record
|
* Information on record
|
||||||
*
|
*
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -34,10 +34,12 @@ require '../main.inc.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
|
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
|
$langs->load("resource");
|
||||||
|
|
||||||
$action=GETPOST('action','alpha')?GETPOST('action','alpha'):'view';
|
$action=GETPOST('action','alpha')?GETPOST('action','alpha'):'view';
|
||||||
$confirm=GETPOST('confirm','alpha');
|
$confirm=GETPOST('confirm','alpha');
|
||||||
@ -226,7 +228,7 @@ $tabfield[21]= "code,label";
|
|||||||
$tabfield[22]= "code,label";
|
$tabfield[22]= "code,label";
|
||||||
$tabfield[23]= "country_id,country,taux,accountancy_code_sell,accountancy_code_buy,note";
|
$tabfield[23]= "country_id,country,taux,accountancy_code_sell,accountancy_code_buy,note";
|
||||||
$tabfield[24]= "code,label";
|
$tabfield[24]= "code,label";
|
||||||
$tabfield[25]= "label,type_template,private,position,topic,content";
|
$tabfield[25]= "label,type_template,position,topic,content";
|
||||||
$tabfield[26]= "code,label,short_label";
|
$tabfield[26]= "code,label,short_label";
|
||||||
$tabfield[27]= "code,libelle";
|
$tabfield[27]= "code,libelle";
|
||||||
$tabfield[28]= "code,label,delay,newByMonth,country_id,country";
|
$tabfield[28]= "code,label,delay,newByMonth,country_id,country";
|
||||||
@ -258,7 +260,7 @@ $tabfieldvalue[21]= "code,label";
|
|||||||
$tabfieldvalue[22]= "code,label";
|
$tabfieldvalue[22]= "code,label";
|
||||||
$tabfieldvalue[23]= "country,taux,accountancy_code_sell,accountancy_code_buy,note";
|
$tabfieldvalue[23]= "country,taux,accountancy_code_sell,accountancy_code_buy,note";
|
||||||
$tabfieldvalue[24]= "code,label";
|
$tabfieldvalue[24]= "code,label";
|
||||||
$tabfieldvalue[25]= "label,type_template,private,position,topic,content";
|
$tabfieldvalue[25]= "label,type_template,position,topic,content";
|
||||||
$tabfieldvalue[26]= "code,label,short_label";
|
$tabfieldvalue[26]= "code,label,short_label";
|
||||||
$tabfieldvalue[27]= "code,libelle";
|
$tabfieldvalue[27]= "code,libelle";
|
||||||
$tabfieldvalue[28]= "code,label,delay,newByMonth,country";
|
$tabfieldvalue[28]= "code,label,delay,newByMonth,country";
|
||||||
@ -290,7 +292,7 @@ $tabfieldinsert[21]= "code,label";
|
|||||||
$tabfieldinsert[22]= "code,label";
|
$tabfieldinsert[22]= "code,label";
|
||||||
$tabfieldinsert[23]= "fk_pays,taux,accountancy_code_sell,accountancy_code_buy,note";
|
$tabfieldinsert[23]= "fk_pays,taux,accountancy_code_sell,accountancy_code_buy,note";
|
||||||
$tabfieldinsert[24]= "code,label";
|
$tabfieldinsert[24]= "code,label";
|
||||||
$tabfieldinsert[25]= "label,type_template,private,position,topic,content";
|
$tabfieldinsert[25]= "label,type_template,position,topic,content";
|
||||||
$tabfieldinsert[26]= "code,label,short_label";
|
$tabfieldinsert[26]= "code,label,short_label";
|
||||||
$tabfieldinsert[27]= "code,libelle";
|
$tabfieldinsert[27]= "code,libelle";
|
||||||
$tabfieldinsert[28]= "code,label,delay,newByMonth,fk_country";
|
$tabfieldinsert[28]= "code,label,delay,newByMonth,fk_country";
|
||||||
@ -364,35 +366,35 @@ $tabcond[29]= ! empty($conf->projet->enabled);
|
|||||||
|
|
||||||
// List of help for fields
|
// List of help for fields
|
||||||
$tabhelp=array();
|
$tabhelp=array();
|
||||||
$tabhelp[1] = array();
|
$tabhelp[1] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[2] = array();
|
$tabhelp[2] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[3] = array();
|
$tabhelp[3] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[4] = array();
|
$tabhelp[4] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[5] = array();
|
$tabhelp[5] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[6] = array();
|
$tabhelp[6] = array('code'=>$langs->trans("EnterAnyCode"), 'position'=>$langs->trans("PositionIntoComboList"));
|
||||||
$tabhelp[7] = array();
|
$tabhelp[7] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[8] = array();
|
$tabhelp[8] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[9] = array();
|
$tabhelp[9] = array('code'=>$langs->trans("EnterAnyCode"), 'unicode'=>$langs->trans("UnicodeCurrency"));
|
||||||
$tabhelp[10] = array();
|
$tabhelp[10] = array('taux'=>$langs->trans("SellTaxRate"), 'recuperableonly'=>$langs->trans("RecuperableOnly"), 'localtax1_type'=>$langs->trans("LocalTaxDesc"), 'localtax2_type'=>$langs->trans("LocalTaxDesc"));
|
||||||
$tabhelp[11] = array();
|
$tabhelp[11] = array();
|
||||||
$tabhelp[12] = array();
|
$tabhelp[12] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[13] = array();
|
$tabhelp[13] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[14] = array();
|
$tabhelp[14] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[15] = array();
|
$tabhelp[15] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[16] = array();
|
$tabhelp[16] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[17] = array();
|
$tabhelp[17] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[18] = array();
|
$tabhelp[18] = array('code'=>$langs->trans("EnterAnyCode"), 'tracking'=>$langs->trans("UrlTrackingDesc"));
|
||||||
$tabhelp[19] = array();
|
$tabhelp[19] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[20] = array();
|
$tabhelp[20] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[21] = array();
|
$tabhelp[21] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[22] = array();
|
$tabhelp[22] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[23] = array();
|
$tabhelp[23] = array();
|
||||||
$tabhelp[24] = array();
|
$tabhelp[24] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[25] = array();
|
$tabhelp[25] = array('type_template'=>$langs->trans("TemplateForElement"),'private'=>$langs->trans("TemplateIsVisibleByOwnerOnly"), 'position'=>$langs->trans("PositionIntoComboList"));
|
||||||
$tabhelp[26] = array();
|
$tabhelp[26] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[27] = array();
|
$tabhelp[27] = array('code'=>$langs->trans("EnterAnyCode"));
|
||||||
$tabhelp[28] = array();
|
$tabhelp[28] = array('delay'=>$langs->trans("MinimumNoticePeriod"), 'newByMonth'=>$langs->trans("NbAddedAutomatically"));
|
||||||
$tabhelp[29] = array();
|
$tabhelp[29] = array('code'=>$langs->trans("EnterAnyCode"), 'percent'=>$langs->trans("OpportunityPercent"), 'position'=>$langs->trans("PositionIntoComboList"));
|
||||||
|
|
||||||
// List of check for fields (NOT USED YET)
|
// List of check for fields (NOT USED YET)
|
||||||
$tabfieldcheck=array();
|
$tabfieldcheck=array();
|
||||||
@ -468,6 +470,24 @@ if ($id == 11)
|
|||||||
'external' => $langs->trans('External')
|
'external' => $langs->trans('External')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
if ($id == 25)
|
||||||
|
{
|
||||||
|
// We save list of template type Dolibarr can manage. This list can found by a grep into code on "->param['models']"
|
||||||
|
$elementList = array(
|
||||||
|
'propal_send' => $langs->trans('MailToSendProposal'),
|
||||||
|
'order_send' => $langs->trans('MailToSendOrder'),
|
||||||
|
'facture_send' => $langs->trans('MailToSendInvoice'),
|
||||||
|
|
||||||
|
'shipping_send' => $langs->trans('MailToSendShipment'),
|
||||||
|
'fichinter_send' => $langs->trans('MailToSendIntervention'),
|
||||||
|
|
||||||
|
'askpricesupplier_send' => $langs->trans('MailToSendSupplierRequestForQuotation'),
|
||||||
|
'order_supplier_send' => $langs->trans('MailToSendSupplierOrder'),
|
||||||
|
'invoice_supplier_send' => $langs->trans('MailToSendSupplierInvoice'),
|
||||||
|
|
||||||
|
'thirdparty' => $langs->trans('MailToThirdparty')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Define localtax_typeList (used for dictionary "llx_c_tva")
|
// Define localtax_typeList (used for dictionary "llx_c_tva")
|
||||||
$localtax_typeList = array();
|
$localtax_typeList = array();
|
||||||
@ -814,7 +834,6 @@ if ($action == 'delete')
|
|||||||
*/
|
*/
|
||||||
if ($id)
|
if ($id)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Complete requete recherche valeurs avec critere de tri
|
// Complete requete recherche valeurs avec critere de tri
|
||||||
$sql=$tabsql[$id];
|
$sql=$tabsql[$id];
|
||||||
|
|
||||||
@ -869,9 +888,9 @@ if ($id)
|
|||||||
else $valuetoshow=$langs->trans("Amount");
|
else $valuetoshow=$langs->trans("Amount");
|
||||||
$align='right';
|
$align='right';
|
||||||
}
|
}
|
||||||
if ($fieldlist[$field]=='localtax1_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 2",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
|
if ($fieldlist[$field]=='localtax1_type') { $valuetoshow=$langs->trans("UseLocalTax")." 2"; $align="center"; $sortable=0; }
|
||||||
if ($fieldlist[$field]=='localtax1') { $valuetoshow=$langs->trans("Rate")." 2";}
|
if ($fieldlist[$field]=='localtax1') { $valuetoshow=$langs->trans("Rate")." 2";}
|
||||||
if ($fieldlist[$field]=='localtax2_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 3",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
|
if ($fieldlist[$field]=='localtax2_type') { $valuetoshow=$langs->trans("UseLocalTax")." 3"; $align="center"; $sortable=0; }
|
||||||
if ($fieldlist[$field]=='localtax2') { $valuetoshow=$langs->trans("Rate")." 3";}
|
if ($fieldlist[$field]=='localtax2') { $valuetoshow=$langs->trans("Rate")." 3";}
|
||||||
if ($fieldlist[$field]=='organization') { $valuetoshow=$langs->trans("Organization"); }
|
if ($fieldlist[$field]=='organization') { $valuetoshow=$langs->trans("Organization"); }
|
||||||
if ($fieldlist[$field]=='lang') { $valuetoshow=$langs->trans("Language"); }
|
if ($fieldlist[$field]=='lang') { $valuetoshow=$langs->trans("Language"); }
|
||||||
@ -903,6 +922,7 @@ if ($id)
|
|||||||
if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); }
|
if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); }
|
||||||
if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); }
|
if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); }
|
||||||
if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); }
|
if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); }
|
||||||
|
if ($fieldlist[$field]=='type_template') { $valuetoshow=$langs->trans("TypeOfTemplate"); }
|
||||||
|
|
||||||
if ($id == 2) // Special cas for state page
|
if ($id == 2) // Special cas for state page
|
||||||
{
|
{
|
||||||
@ -924,7 +944,7 @@ if ($id)
|
|||||||
if ($id == 4) print '<td></td>';
|
if ($id == 4) print '<td></td>';
|
||||||
print '<td colspan="4">';
|
print '<td colspan="4">';
|
||||||
print '<input type="hidden" name="id" value="'.$id.'">';
|
print '<input type="hidden" name="id" value="'.$id.'">';
|
||||||
print ' </td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Line to enter new values
|
// Line to enter new values
|
||||||
@ -946,29 +966,43 @@ if ($id)
|
|||||||
$reshook=$hookmanager->executeHooks('createDictionaryFieldlist',$parameters, $obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('createDictionaryFieldlist',$parameters, $obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
|
||||||
$error=$hookmanager->error; $errors=$hookmanager->errors;
|
$error=$hookmanager->error; $errors=$hookmanager->errors;
|
||||||
|
|
||||||
if ($id == 3)
|
if ($id == 3) unset($fieldlist[2]);
|
||||||
|
|
||||||
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
unset($fieldlist[2]);
|
if ($tabname[$id] == MAIN_DB_PREFIX.'c_email_templates' && $action == 'edit')
|
||||||
|
{
|
||||||
|
fieldList($fieldlist,$obj,$tabname[$id],'hide');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fieldList($fieldlist,$obj,$tabname[$id],'add');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($reshook)) fieldList($fieldlist,$obj);
|
|
||||||
|
|
||||||
if ($id == 4) print '<td></td>';
|
if ($id == 4) print '<td></td>';
|
||||||
print '<td colspan="3" align="right"><input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'"></td>';
|
print '<td colspan="3" align="right">';
|
||||||
|
if ($tabname[$id] != MAIN_DB_PREFIX.'c_email_templates' || $action != 'edit')
|
||||||
|
{
|
||||||
|
print '<input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'">';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
$colspan=count($fieldlist)+2;
|
$colspan=count($fieldlist)+2;
|
||||||
if ($id == 4) $colspan++;
|
if ($id == 4) $colspan++;
|
||||||
|
|
||||||
if (! empty($alabelisused)) // Si un des champs est un libelle
|
if (! empty($alabelisused) && $id != 25) // If there is one label among fields, we show legend of *
|
||||||
{
|
{
|
||||||
print '<tr><td colspan="'.$colspan.'">* '.$langs->trans("LabelUsedByDefault").'.</td></tr>';
|
print '<tr><td colspan="'.$colspan.'">* '.$langs->trans("LabelUsedByDefault").'.</td></tr>';
|
||||||
}
|
}
|
||||||
print '<tr><td colspan="'.$colspan.'"> </td></tr>';
|
print '<tr><td colspan="'.$colspan.'"> </td></tr>'; // Keep to have a line with enough height
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// List of available values in database
|
// List of available values in database
|
||||||
dol_syslog("htdocs/admin/dict", LOG_DEBUG);
|
dol_syslog("htdocs/admin/dict", LOG_DEBUG);
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
@ -983,7 +1017,7 @@ if ($id)
|
|||||||
if ($num > $listlimit)
|
if ($num > $listlimit)
|
||||||
{
|
{
|
||||||
print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">';
|
print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">';
|
||||||
print_fleche_navigation($page,$_SERVER["PHP_SELF"],'&id='.$id,($num > $listlimit),$langs->trans("Page").' '.($page+1));
|
print_fleche_navigation($page, $_SERVER["PHP_SELF"], '&id='.$id, ($num > $listlimit), '<li class="pagination"><span>'.$langs->trans("Page").' '.($page+1).'</span></li>');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1013,9 +1047,9 @@ if ($id)
|
|||||||
else $valuetoshow=$langs->trans("Amount");
|
else $valuetoshow=$langs->trans("Amount");
|
||||||
$align='right';
|
$align='right';
|
||||||
}
|
}
|
||||||
if ($fieldlist[$field]=='localtax1_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 2",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
|
if ($fieldlist[$field]=='localtax1_type') { $valuetoshow=$langs->trans("UseLocalTax")." 2"; $align="center"; $sortable=0; }
|
||||||
if ($fieldlist[$field]=='localtax1') { $valuetoshow=$langs->trans("Rate")." 2"; $sortable=0; }
|
if ($fieldlist[$field]=='localtax1') { $valuetoshow=$langs->trans("Rate")." 2"; $sortable=0; }
|
||||||
if ($fieldlist[$field]=='localtax2_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 3",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
|
if ($fieldlist[$field]=='localtax2_type') { $valuetoshow=$langs->trans("UseLocalTax")." 3"; $align="center"; $sortable=0; }
|
||||||
if ($fieldlist[$field]=='localtax2') { $valuetoshow=$langs->trans("Rate")." 3"; $sortable=0; }
|
if ($fieldlist[$field]=='localtax2') { $valuetoshow=$langs->trans("Rate")." 3"; $sortable=0; }
|
||||||
if ($fieldlist[$field]=='organization') { $valuetoshow=$langs->trans("Organization"); }
|
if ($fieldlist[$field]=='organization') { $valuetoshow=$langs->trans("Organization"); }
|
||||||
if ($fieldlist[$field]=='lang') { $valuetoshow=$langs->trans("Language"); }
|
if ($fieldlist[$field]=='lang') { $valuetoshow=$langs->trans("Language"); }
|
||||||
@ -1041,6 +1075,7 @@ if ($id)
|
|||||||
if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); }
|
if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); }
|
||||||
if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); }
|
if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); }
|
||||||
if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); }
|
if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); }
|
||||||
|
if ($fieldlist[$field]=='type_template') { $valuetoshow=$langs->trans("TypeOfTemplate"); }
|
||||||
|
|
||||||
// Affiche nom du champ
|
// Affiche nom du champ
|
||||||
if ($showfield)
|
if ($showfield)
|
||||||
@ -1076,7 +1111,7 @@ if ($id)
|
|||||||
$reshook=$hookmanager->executeHooks('editDictionaryFieldlist',$parameters,$obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('editDictionaryFieldlist',$parameters,$obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
|
||||||
$error=$hookmanager->error; $errors=$hookmanager->errors;
|
$error=$hookmanager->error; $errors=$hookmanager->errors;
|
||||||
|
|
||||||
if (empty($reshook)) fieldList($fieldlist,$obj,$tabname[$id]);
|
if (empty($reshook)) fieldList($fieldlist,$obj,$tabname[$id],'edit');
|
||||||
|
|
||||||
print '<td colspan="3" align="right"><a name="'.(! empty($obj->rowid)?$obj->rowid:$obj->code).'"> </a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">';
|
print '<td colspan="3" align="right"><a name="'.(! empty($obj->rowid)?$obj->rowid:$obj->code).'"> </a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">';
|
||||||
print ' <input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'"></td>';
|
print ' <input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'"></td>';
|
||||||
@ -1096,6 +1131,10 @@ if ($id)
|
|||||||
$showfield=1;
|
$showfield=1;
|
||||||
$align="left";
|
$align="left";
|
||||||
$valuetoshow=$obj->$fieldlist[$field];
|
$valuetoshow=$obj->$fieldlist[$field];
|
||||||
|
if ($value == 'type_template')
|
||||||
|
{
|
||||||
|
$valuetoshow = isset($elementList[$valuetoshow])?$elementList[$valuetoshow]:$valuetoshow;
|
||||||
|
}
|
||||||
if ($value == 'element')
|
if ($value == 'element')
|
||||||
{
|
{
|
||||||
$valuetoshow = isset($elementList[$valuetoshow])?$elementList[$valuetoshow]:$valuetoshow;
|
$valuetoshow = isset($elementList[$valuetoshow])?$elementList[$valuetoshow]:$valuetoshow;
|
||||||
@ -1392,21 +1431,24 @@ $db->close();
|
|||||||
* @param array $fieldlist Array of fields
|
* @param array $fieldlist Array of fields
|
||||||
* @param Object $obj If we show a particular record, obj is filled with record fields
|
* @param Object $obj If we show a particular record, obj is filled with record fields
|
||||||
* @param string $tabname Name of SQL table
|
* @param string $tabname Name of SQL table
|
||||||
|
* @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function fieldList($fieldlist,$obj='',$tabname='')
|
function fieldList($fieldlist, $obj='', $tabname='', $context='')
|
||||||
{
|
{
|
||||||
global $conf,$langs,$db;
|
global $conf,$langs,$db;
|
||||||
global $form;
|
global $form;
|
||||||
global $region_id;
|
global $region_id;
|
||||||
global $elementList,$sourceList,$localtax_typeList;
|
global $elementList,$sourceList,$localtax_typeList;
|
||||||
|
global $bc;
|
||||||
|
|
||||||
$formadmin = new FormAdmin($db);
|
$formadmin = new FormAdmin($db);
|
||||||
$formcompany = new FormCompany($db);
|
$formcompany = new FormCompany($db);
|
||||||
|
|
||||||
foreach ($fieldlist as $field => $value)
|
foreach ($fieldlist as $field => $value)
|
||||||
{
|
{
|
||||||
if ($fieldlist[$field] == 'country') {
|
if ($fieldlist[$field] == 'country')
|
||||||
|
{
|
||||||
if (in_array('region_id',$fieldlist))
|
if (in_array('region_id',$fieldlist))
|
||||||
{
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
@ -1419,7 +1461,8 @@ function fieldList($fieldlist,$obj='',$tabname='')
|
|||||||
print $form->select_country((! empty($obj->country_code)?$obj->country_code:(! empty($obj->country)?$obj->country:'')), $fieldname, '', 28);
|
print $form->select_country((! empty($obj->country_code)?$obj->country_code:(! empty($obj->country)?$obj->country:'')), $fieldname, '', 28);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif ($fieldlist[$field] == 'country_id') {
|
elseif ($fieldlist[$field] == 'country_id')
|
||||||
|
{
|
||||||
if (! in_array('country',$fieldlist)) // If there is already a field country, we don't show country_id (avoid duplicate)
|
if (! in_array('country',$fieldlist)) // If there is already a field country, we don't show country_id (avoid duplicate)
|
||||||
{
|
{
|
||||||
$country_id = (! empty($obj->$fieldlist[$field]) ? $obj->$fieldlist[$field] : 0);
|
$country_id = (! empty($obj->$fieldlist[$field]) ? $obj->$fieldlist[$field] : 0);
|
||||||
@ -1428,22 +1471,32 @@ function fieldList($fieldlist,$obj='',$tabname='')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($fieldlist[$field] == 'region') {
|
elseif ($fieldlist[$field] == 'region')
|
||||||
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$formcompany->select_region($region_id,'region');
|
$formcompany->select_region($region_id,'region');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif ($fieldlist[$field] == 'region_id') {
|
elseif ($fieldlist[$field] == 'region_id')
|
||||||
|
{
|
||||||
$region_id = (! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:0);
|
$region_id = (! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:0);
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$region_id.'">';
|
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$region_id.'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif ($fieldlist[$field] == 'lang') {
|
elseif ($fieldlist[$field] == 'lang')
|
||||||
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT,'lang');
|
print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT,'lang');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
// Le type de template
|
||||||
|
elseif ($fieldlist[$field] == 'type_template')
|
||||||
|
{
|
||||||
|
print '<td>';
|
||||||
|
print $form->selectarray('type_template', $elementList,(! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:''));
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
// Le type de l'element (pour les type de contact)
|
// Le type de l'element (pour les type de contact)
|
||||||
elseif ($fieldlist[$field] == 'element')
|
elseif ($fieldlist[$field] == 'element')
|
||||||
{
|
{
|
||||||
@ -1476,9 +1529,25 @@ function fieldList($fieldlist,$obj='',$tabname='')
|
|||||||
print '<input type="text" class="flat" value="'.(isset($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'" size="3" name="'.$fieldlist[$field].'">';
|
print '<input type="text" class="flat" value="'.(isset($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'" size="3" name="'.$fieldlist[$field].'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif (in_array($fieldlist[$field], array('libelle_facture','content'))) {
|
elseif (in_array($fieldlist[$field], array('libelle_facture'))) {
|
||||||
print '<td><textarea cols="30" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.(! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'</textarea></td>';
|
print '<td><textarea cols="30" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.(! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'</textarea></td>';
|
||||||
}
|
}
|
||||||
|
elseif (in_array($fieldlist[$field], array('content')))
|
||||||
|
{
|
||||||
|
if ($tabname == MAIN_DB_PREFIX.'c_email_templates')
|
||||||
|
{
|
||||||
|
print '<td colspan="4"></td></tr><tr class="pair nohover"><td colspan="5">'; // To create an artificial CR for the current tr we are on
|
||||||
|
}
|
||||||
|
else print '<td>';
|
||||||
|
if ($context != 'hide')
|
||||||
|
{
|
||||||
|
//print '<textarea cols="3" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.(! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'').'</textarea>';
|
||||||
|
$doleditor = new DolEditor($fieldlist[$field], (! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:''), '', 140, 'dolibarr_mailings', 'In', 0, false, true, ROWS_5, '90%');
|
||||||
|
print $doleditor->Create(1);
|
||||||
|
}
|
||||||
|
else print ' ';
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
elseif ($fieldlist[$field] == 'price' || preg_match('/^amount/i',$fieldlist[$field])) {
|
elseif ($fieldlist[$field] == 'price' || preg_match('/^amount/i',$fieldlist[$field])) {
|
||||||
print '<td><input type="text" class="flat" value="'.price((! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'')).'" size="8" name="'.$fieldlist[$field].'"></td>';
|
print '<td><input type="text" class="flat" value="'.price((! empty($obj->$fieldlist[$field])?$obj->$fieldlist[$field]:'')).'" size="8" name="'.$fieldlist[$field].'"></td>';
|
||||||
}
|
}
|
||||||
@ -1507,6 +1576,8 @@ function fieldList($fieldlist,$obj='',$tabname='')
|
|||||||
{
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$size='';
|
$size='';
|
||||||
|
if ($fieldlist[$field]=='code') $size='size="8" ';
|
||||||
|
if ($fieldlist[$field]=='position') $size='size="4" ';
|
||||||
if ($fieldlist[$field]=='libelle') $size='size="32" ';
|
if ($fieldlist[$field]=='libelle') $size='size="32" ';
|
||||||
if ($fieldlist[$field]=='tracking') $size='size="92" ';
|
if ($fieldlist[$field]=='tracking') $size='size="92" ';
|
||||||
if ($fieldlist[$field]=='accountancy_code') $size='size="10" ';
|
if ($fieldlist[$field]=='accountancy_code') $size='size="10" ';
|
||||||
|
|||||||
@ -1768,8 +1768,11 @@ if ($action == 'create')
|
|||||||
$file = $fileparams['fullname'];
|
$file = $fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans('SendAskByMail'));
|
print_fiche_titre($langs->trans('SendAskByMail'));
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Create form object
|
// Create form object
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
||||||
@ -1816,7 +1819,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -131,7 +131,7 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
if ($conf->use_javascript_ajax)
|
if ($conf->use_javascript_ajax)
|
||||||
{
|
{
|
||||||
print '<tr><td align="center" colspan="2">';
|
print '<tr '.$bc[false].'><td align="center" colspan="2">';
|
||||||
$data=array('series'=>$dataseries);
|
$data=array('series'=>$dataseries);
|
||||||
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -992,6 +992,9 @@ else
|
|||||||
|
|
||||||
// Print mail content
|
// Print mail content
|
||||||
print_fiche_titre($langs->trans("EMail"),'','');
|
print_fiche_titre($langs->trans("EMail"),'','');
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Subject
|
// Subject
|
||||||
@ -1042,7 +1045,8 @@ else
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print "<br>";
|
|
||||||
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2005-2013 Laurent Destailleur <eldy@uers.sourceforge.net>
|
* Copyright (C) 2005-2015 Laurent Destailleur <eldy@uers.sourceforge.net>
|
||||||
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
*
|
*
|
||||||
@ -408,20 +408,17 @@ if ($object->fetch($id) >= 0)
|
|||||||
print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"mc.firstname",$param,"","",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"mc.firstname",$param,"","",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("OtherInformations"),$_SERVER["PHP_SELF"],"",$param,"","",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("OtherInformations"),$_SERVER["PHP_SELF"],"",$param,"","",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"],"",$param,"",'align="center"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"],"",$param,"",'align="center"',$sortfield,$sortorder);
|
||||||
|
|
||||||
// Date sending
|
// Date sending
|
||||||
if ($object->statut < 2)
|
if ($object->statut < 2)
|
||||||
{
|
{
|
||||||
print '<td class="liste_titre"> </td>';
|
print_liste_field_titre('');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print_liste_field_titre($langs->trans("DateSending"),$_SERVER["PHP_SELF"],"mc.date_envoi",$param,'','align="center"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("DateSending"),$_SERVER["PHP_SELF"],"mc.date_envoi",$param,'','align="center"',$sortfield,$sortorder);
|
||||||
}
|
}
|
||||||
|
|
||||||
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"mc.statut",$param,'','align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"mc.statut",$param,'','align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Ligne des champs de filtres
|
// Ligne des champs de filtres
|
||||||
@ -458,7 +455,6 @@ if ($object->fetch($id) >= 0)
|
|||||||
//Search Icon
|
//Search Icon
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td class="liste_titre" align="right">';
|
||||||
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||||
print ' ';
|
|
||||||
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Reset"),'searchclear.png','','',1).'" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Reset"),'searchclear.png','','',1).'" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -518,9 +514,6 @@ if ($object->fetch($id) >= 0)
|
|||||||
{
|
{
|
||||||
print '<td align="center"> </td>';
|
print '<td align="center"> </td>';
|
||||||
print '<td align="right" class="nowrap">'.$langs->trans("MailingStatusNotSent");
|
print '<td align="right" class="nowrap">'.$langs->trans("MailingStatusNotSent");
|
||||||
if ($user->rights->mailing->creer && $allowaddtarget) {
|
|
||||||
print '<a href="'.$_SERVER['PHP_SELF'].'?action=delete&rowid='.$obj->rowid.$param.'">'.img_delete($langs->trans("RemoveRecipient"));
|
|
||||||
}
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -532,7 +525,14 @@ if ($object->fetch($id) >= 0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Sreach Icon
|
//Sreach Icon
|
||||||
print '<td></td>';
|
print '<td align="right">';
|
||||||
|
if ($obj->statut == 0)
|
||||||
|
{
|
||||||
|
if ($user->rights->mailing->creer && $allowaddtarget) {
|
||||||
|
print '<a href="'.$_SERVER['PHP_SELF'].'?action=delete&rowid='.$obj->rowid.$param.'">'.img_delete($langs->trans("RemoveRecipient"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
@ -540,7 +540,7 @@ if ($object->fetch($id) >= 0)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr '.$bc[false].'><td colspan="7">'.$langs->trans("NoTargetYet").'</td></tr>';
|
print '<tr '.$bc[false].'><td colspan="8">'.$langs->trans("NoTargetYet").'</td></tr>';
|
||||||
}
|
}
|
||||||
print "</table><br>";
|
print "</table><br>";
|
||||||
|
|
||||||
|
|||||||
@ -2288,6 +2288,9 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
|
//Select mail models is same action as presend
|
||||||
|
if (GETPOST('modelselected')) $action = 'presend';
|
||||||
|
|
||||||
if ($action != 'presend')
|
if ($action != 'presend')
|
||||||
{
|
{
|
||||||
print '<div class="fichecenter"><div class="fichehalfleft">';
|
print '<div class="fichecenter"><div class="fichehalfleft">';
|
||||||
@ -2330,10 +2333,6 @@ if ($action == 'create')
|
|||||||
/*
|
/*
|
||||||
* Action presend
|
* Action presend
|
||||||
*/
|
*/
|
||||||
//Select mail models is same action as presend
|
|
||||||
if (GETPOST('modelselected')) {
|
|
||||||
$action = 'presend';
|
|
||||||
}
|
|
||||||
if ($action == 'presend')
|
if ($action == 'presend')
|
||||||
{
|
{
|
||||||
$object->fetch_projet();
|
$object->fetch_projet();
|
||||||
@ -2369,8 +2368,11 @@ if ($action == 'create')
|
|||||||
$file = $fileparams['fullname'];
|
$file = $fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans('SendPropalByMail'));
|
print_fiche_titre($langs->trans('SendPropalByMail'));
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Create form object
|
// Create form object
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
||||||
@ -2439,7 +2441,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
@ -272,7 +272,7 @@ if ($result)
|
|||||||
$langs->load("commercial");
|
$langs->load("commercial");
|
||||||
$moreforfilter.='<div class="divsearchfield">';
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
|
$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
|
||||||
$moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user);
|
$moreforfilter.=$formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth300');
|
||||||
$moreforfilter.='</div>';
|
$moreforfilter.='</div>';
|
||||||
}
|
}
|
||||||
// If the user can view prospects other than his'
|
// If the user can view prospects other than his'
|
||||||
@ -280,7 +280,7 @@ if ($result)
|
|||||||
{
|
{
|
||||||
$moreforfilter.='<div class="divsearchfield">';
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
$moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
|
$moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
|
||||||
$moreforfilter.=$form->select_dolusers($search_user,'search_user',1);
|
$moreforfilter.=$form->select_dolusers($search_user, 'search_user', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
|
||||||
$moreforfilter.='</div>';
|
$moreforfilter.='</div>';
|
||||||
}
|
}
|
||||||
// If the user can view prospects other than his'
|
// If the user can view prospects other than his'
|
||||||
|
|||||||
@ -32,6 +32,7 @@
|
|||||||
* \ingroup commande
|
* \ingroup commande
|
||||||
* \brief Page to show customer order
|
* \brief Page to show customer order
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../main.inc.php';
|
require '../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formorder.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formorder.class.php';
|
||||||
@ -2362,8 +2363,11 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
$file = $fileparams['fullname'];
|
$file = $fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans('SendOrderByMail'));
|
print_fiche_titre($langs->trans('SendOrderByMail'));
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Cree l'objet formulaire mail
|
// Cree l'objet formulaire mail
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
|
||||||
@ -2402,8 +2406,10 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
$contactarr = array();
|
$contactarr = array();
|
||||||
$contactarr = $object->liste_contact(- 1, 'external');
|
$contactarr = $object->liste_contact(- 1, 'external');
|
||||||
|
|
||||||
if (is_array($contactarr) && count($contactarr) > 0) {
|
if (is_array($contactarr) && count($contactarr) > 0)
|
||||||
foreach ($contactarr as $contact) {
|
{
|
||||||
|
foreach ($contactarr as $contact)
|
||||||
|
{
|
||||||
if ($contact['libelle'] == $langs->trans('TypeContact_commande_external_CUSTOMER')) { // TODO Use code and not label
|
if ($contact['libelle'] == $langs->trans('TypeContact_commande_external_CUSTOMER')) { // TODO Use code and not label
|
||||||
$contactstatic = new Contact($db);
|
$contactstatic = new Contact($db);
|
||||||
$contactstatic->fetch($contact ['id']);
|
$contactstatic->fetch($contact ['id']);
|
||||||
@ -2432,7 +2438,7 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
// Show form
|
// Show form
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,6 +46,7 @@ $orderyear=GETPOST("orderyear","int");
|
|||||||
$ordermonth=GETPOST("ordermonth","int");
|
$ordermonth=GETPOST("ordermonth","int");
|
||||||
$deliveryyear=GETPOST("deliveryyear","int");
|
$deliveryyear=GETPOST("deliveryyear","int");
|
||||||
$deliverymonth=GETPOST("deliverymonth","int");
|
$deliverymonth=GETPOST("deliverymonth","int");
|
||||||
|
$search_product_category=GETPOST('search_product_category','int');
|
||||||
$search_ref=GETPOST('search_ref','alpha')!=''?GETPOST('search_ref','alpha'):GETPOST('sref','alpha');
|
$search_ref=GETPOST('search_ref','alpha')!=''?GETPOST('search_ref','alpha'):GETPOST('sref','alpha');
|
||||||
$search_ref_customer=GETPOST('search_ref_customer','alpha');
|
$search_ref_customer=GETPOST('search_ref_customer','alpha');
|
||||||
$search_company=GETPOST('search_company','alpha');
|
$search_company=GETPOST('search_company','alpha');
|
||||||
@ -79,6 +80,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both
|
|||||||
$search_categ='';
|
$search_categ='';
|
||||||
$search_user='';
|
$search_user='';
|
||||||
$search_sale='';
|
$search_sale='';
|
||||||
|
$search_product_category='';
|
||||||
$search_ref='';
|
$search_ref='';
|
||||||
$search_ref_customer='';
|
$search_ref_customer='';
|
||||||
$search_company='';
|
$search_company='';
|
||||||
@ -115,10 +117,14 @@ $companystatic = new Societe($db);
|
|||||||
$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes";
|
$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes";
|
||||||
llxHeader('',$langs->trans("Orders"),$help_url);
|
llxHeader('',$langs->trans("Orders"),$help_url);
|
||||||
|
|
||||||
$sql = 'SELECT s.nom as name, s.rowid as socid, s.client, s.code_client, c.rowid, c.ref, c.total_ht, c.tva as total_tva, c.total_ttc, c.ref_client,';
|
$sql = 'SELECT';
|
||||||
|
if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT';
|
||||||
|
$sql.= ' s.nom as name, s.rowid as socid, s.client, s.code_client, c.rowid, c.ref, c.total_ht, c.tva as total_tva, c.total_ttc, c.ref_client,';
|
||||||
$sql.= ' c.date_valid, c.date_commande, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as facturee';
|
$sql.= ' c.date_valid, c.date_commande, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as facturee';
|
||||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s';
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s';
|
||||||
$sql.= ', '.MAIN_DB_PREFIX.'commande as c';
|
$sql.= ', '.MAIN_DB_PREFIX.'commande as c';
|
||||||
|
if ($sall || $search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'commandedet as pd ON c.rowid=pd.fk_commande';
|
||||||
|
if ($search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=pd.fk_product';
|
||||||
// We'll need this table joined to the select in order to filter by sale
|
// We'll need this table joined to the select in order to filter by sale
|
||||||
if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||||
if ($search_user > 0)
|
if ($search_user > 0)
|
||||||
@ -128,7 +134,8 @@ if ($search_user > 0)
|
|||||||
}
|
}
|
||||||
$sql.= ' WHERE c.fk_soc = s.rowid';
|
$sql.= ' WHERE c.fk_soc = s.rowid';
|
||||||
$sql.= ' AND c.entity IN ('.getEntity('commande', 1).')';
|
$sql.= ' AND c.entity IN ('.getEntity('commande', 1).')';
|
||||||
if ($socid) $sql.= ' AND s.rowid = '.$socid;
|
if ($search_product_category > 0) $sql.=" AND cp.fk_categorie = ".$search_product_category;
|
||||||
|
if ($socid > 0) $sql.= ' AND s.rowid = '.$socid;
|
||||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||||
if ($search_ref) $sql .= natural_search('c.ref', $search_ref);
|
if ($search_ref) $sql .= natural_search('c.ref', $search_ref);
|
||||||
if ($sall) $sql .= natural_search(array('c.ref', 'c.note_private'), $sall);
|
if ($sall) $sql .= natural_search(array('c.ref', 'c.note_private'), $sall);
|
||||||
@ -260,15 +267,28 @@ if ($resql)
|
|||||||
if ($user->rights->societe->client->voir || $socid)
|
if ($user->rights->societe->client->voir || $socid)
|
||||||
{
|
{
|
||||||
$langs->load("commercial");
|
$langs->load("commercial");
|
||||||
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
|
$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
|
||||||
$moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user);
|
$moreforfilter.=$formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth300');
|
||||||
$moreforfilter.=' ';
|
$moreforfilter.='</div>';
|
||||||
}
|
}
|
||||||
// If the user can view prospects other than his'
|
// If the user can view prospects other than his'
|
||||||
if ($user->rights->societe->client->voir || $socid)
|
if ($user->rights->societe->client->voir || $socid)
|
||||||
{
|
{
|
||||||
$moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
$moreforfilter.=$form->select_dolusers($search_user,'search_user',1);
|
$moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
|
||||||
|
$moreforfilter.=$form->select_dolusers($search_user, 'search_user', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
|
||||||
|
$moreforfilter.='</div>';
|
||||||
|
}
|
||||||
|
// If the user can view prospects other than his'
|
||||||
|
if ($conf->categorie->enabled && $user->rights->produit->lire)
|
||||||
|
{
|
||||||
|
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
|
$moreforfilter.=$langs->trans('IncludingProductWithTag'). ': ';
|
||||||
|
$cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1);
|
||||||
|
$moreforfilter.=$form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, '', 1);
|
||||||
|
$moreforfilter.='</div>';
|
||||||
}
|
}
|
||||||
if (! empty($moreforfilter))
|
if (! empty($moreforfilter))
|
||||||
{
|
{
|
||||||
@ -311,7 +331,10 @@ if ($resql)
|
|||||||
print '<td class="liste_titre" align="right">';
|
print '<td class="liste_titre" align="right">';
|
||||||
print '<input class="flat" type="text" size="6" name="search_total_ht" value="'.$search_total_ht.'">';
|
print '<input class="flat" type="text" size="6" name="search_total_ht" value="'.$search_total_ht.'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td></td>';
|
print '<td align="right">';
|
||||||
|
$liststatus=array('0'=>$langs->trans("StatusOrderDraftShort"), '1'=>$langs->trans("StatusOrderValidated"), '2'=>$langs->trans("StatusOrderSentShort"), '3'=>$langs->trans("StatusOrderToBill"), '4'=>$langs->trans("StatusOrderProcessed"), '-1'=>$langs->trans("StatusOrderCanceledShort"));
|
||||||
|
print $form->selectarray('viewstatut', $liststatus, $viewstatut, 1);
|
||||||
|
print '</td>';
|
||||||
print '<td class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
print '<td class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||||
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|||||||
@ -374,43 +374,34 @@ if ($id > 0 || ! empty($ref))
|
|||||||
* Boutons actions
|
* Boutons actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action != 'delete')
|
if ($action != 'delete') {
|
||||||
{
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
if ($object->type != 2 && $object->rappro) // If not cash account and can be reconciliate
|
if ($object->type != 2 && $object->rappro) { // If not cash account and can be reconciliate
|
||||||
{
|
if ($user->rights->banque->consolidate) {
|
||||||
if ($user->rights->banque->consolidate)
|
|
||||||
{
|
|
||||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/rappro.php?account='.$object->id.($vline?'&vline='.$vline:'').'">'.$langs->trans("Conciliate").'</a>';
|
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/rappro.php?account='.$object->id.($vline?'&vline='.$vline:'').'">'.$langs->trans("Conciliate").'</a>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action != 'addline')
|
if ($action != 'addline') {
|
||||||
{
|
if (empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) {
|
||||||
if (empty($conf->global->BANK_DISABLE_DIRECT_INPUT))
|
if (empty($conf->accounting->enabled)) {
|
||||||
{
|
if ($user->rights->banque->modifier) {
|
||||||
if ($user->rights->banque->modifier)
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=addline&id='.$object->id.'&page='.$page.($vline?'&vline='.$vline:'').'">'.$langs->trans("AddBankRecord").'</a>';
|
||||||
{
|
} else {
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=addline&id='.$object->id.'&page='.$page.($vline?'&vline='.$vline:'').'">'.$langs->trans("AddBankRecord").'</a>';
|
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("AddBankRecord").'</a>';
|
||||||
}
|
}
|
||||||
else
|
} else {
|
||||||
{
|
print '<a class="butActionRefused" title="'.$langs->trans("FeatureDisabled").'" href="#">'.$langs->trans("AddBankRecord").'</a>';
|
||||||
print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("AddBankRecord").'</a>';
|
}
|
||||||
}
|
} else {
|
||||||
}
|
print '<a class="butActionRefused" title="'.$langs->trans("FeatureDisabled").'" href="#">'.$langs->trans("AddBankRecord").'</a>';
|
||||||
else
|
}
|
||||||
{
|
}
|
||||||
print '<a class="butActionRefused" title="'.$langs->trans("FeatureDisabled").'" href="#">'.$langs->trans("AddBankRecord").'</a>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
print '</div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
@ -466,15 +457,12 @@ if ($id > 0 || ! empty($ref))
|
|||||||
print '<div class="floatright">'.$navig.'</div>';
|
print '<div class="floatright">'.$navig.'</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
|
||||||
|
|
||||||
// Form to add a transaction with no invoice
|
// Form to add a transaction with no invoice
|
||||||
if ($user->rights->banque->modifier && $action == 'addline')
|
if ($user->rights->banque->modifier && $action == 'addline')
|
||||||
{
|
{
|
||||||
print '<tr>';
|
print_fiche_titre($langs->trans("AddBankRecordLong"),'','');
|
||||||
print '<td align="left" colspan="10"><b>'.$langs->trans("AddBankRecordLong").'</b></td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Date").'</td>';
|
print '<td>'.$langs->trans("Date").'</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
@ -507,11 +495,13 @@ if ($id > 0 || ! empty($ref))
|
|||||||
print '<input type="submit" name="save" class="button" value="'.$langs->trans("Add").'"><br>';
|
print '<input type="submit" name="save" class="button" value="'.$langs->trans("Add").'"><br>';
|
||||||
print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'">';
|
print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'">';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
print "</form>";
|
print '</table>';
|
||||||
|
print '</form>';
|
||||||
print '<tr class="noborder"><td colspan="10"> </td></tr>'."\n";
|
print '<br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<table class="noborder" width="100%">';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Affiche tableau des transactions bancaires
|
* Affiche tableau des transactions bancaires
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -2502,8 +2502,8 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
}
|
||||||
else if ($id > 0 || ! empty($ref))
|
else if ($id > 0 || ! empty($ref))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Show object in view mode
|
* Show object in view mode
|
||||||
@ -2860,7 +2860,7 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
$outstandingBills = $soc->get_OutstandingBill();
|
$outstandingBills = $soc->get_OutstandingBill();
|
||||||
print ' - ' . $langs->trans('CurrentOutstandingBill') . ': ';
|
print ' - ' . $langs->trans('CurrentOutstandingBill') . ': ';
|
||||||
print price($outstandingBills, '', $langs, 0, 0, - 1, $conf->currency);
|
print price($outstandingBills, '', $langs, 0, 0, - 1, $conf->currency);
|
||||||
if ($soc->outstanding_limit != '')
|
if ($soc->outstanding_limit != '')
|
||||||
{
|
{
|
||||||
if ($outstandingBills > $soc->outstanding_limit)
|
if ($outstandingBills > $soc->outstanding_limit)
|
||||||
print img_warning($langs->trans("OutstandingBillReached"));
|
print img_warning($langs->trans("OutstandingBillReached"));
|
||||||
@ -2950,7 +2950,7 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
} else
|
} else
|
||||||
print '. ';
|
print '. ';
|
||||||
}
|
}
|
||||||
if ($absolute_creditnote > 0)
|
if ($absolute_creditnote > 0)
|
||||||
{
|
{
|
||||||
// If validated, we show link "add credit note to payment"
|
// If validated, we show link "add credit note to payment"
|
||||||
if ($object->statut != 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) {
|
if ($object->statut != 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) {
|
||||||
@ -3855,8 +3855,9 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
$file = $fileparams['fullname'];
|
$file = $fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans($titreform));
|
print_fiche_titre($langs->trans($titreform));
|
||||||
|
|
||||||
// Cree l'objet formulaire mail
|
// Cree l'objet formulaire mail
|
||||||
dol_fiche_head();
|
dol_fiche_head();
|
||||||
|
|||||||
@ -2721,7 +2721,10 @@ class Facture extends CommonInvoice
|
|||||||
$dir = dol_buildpath($reldir."core/modules/facture/");
|
$dir = dol_buildpath($reldir."core/modules/facture/");
|
||||||
|
|
||||||
// Load file with numbering class (if found)
|
// Load file with numbering class (if found)
|
||||||
$mybool|=@include_once $dir.$file;
|
if (is_file($dir.$file) && is_readable($dir.$file))
|
||||||
|
{
|
||||||
|
$mybool |= include_once $dir . $file;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// For compatibility
|
// For compatibility
|
||||||
@ -2734,8 +2737,11 @@ class Facture extends CommonInvoice
|
|||||||
foreach ($conf->file->dol_document_root as $dirroot)
|
foreach ($conf->file->dol_document_root as $dirroot)
|
||||||
{
|
{
|
||||||
$dir = $dirroot."/core/modules/facture/";
|
$dir = $dirroot."/core/modules/facture/";
|
||||||
|
|
||||||
// Load file with numbering class (if found)
|
// Load file with numbering class (if found)
|
||||||
$mybool|=@include_once $dir.$file;
|
if (is_file($dir.$file) && is_readable($dir.$file)) {
|
||||||
|
$mybool |= include_once $dir . $file;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -63,6 +63,7 @@ $action=GETPOST('action','alpha');
|
|||||||
$confirm=GETPOST('confirm','alpha');
|
$confirm=GETPOST('confirm','alpha');
|
||||||
$lineid=GETPOST('lineid','int');
|
$lineid=GETPOST('lineid','int');
|
||||||
$userid=GETPOST('userid','int');
|
$userid=GETPOST('userid','int');
|
||||||
|
$search_product_category=GETPOST('search_product_category','int');
|
||||||
$search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha');
|
$search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha');
|
||||||
$search_refcustomer=GETPOST('search_refcustomer','alpha');
|
$search_refcustomer=GETPOST('search_refcustomer','alpha');
|
||||||
$search_societe=GETPOST('search_societe','alpha');
|
$search_societe=GETPOST('search_societe','alpha');
|
||||||
@ -121,6 +122,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both
|
|||||||
$search_categ='';
|
$search_categ='';
|
||||||
$search_user='';
|
$search_user='';
|
||||||
$search_sale='';
|
$search_sale='';
|
||||||
|
$search_product_category='';
|
||||||
$search_ref='';
|
$search_ref='';
|
||||||
$search_refcustomer='';
|
$search_refcustomer='';
|
||||||
$search_societe='';
|
$search_societe='';
|
||||||
@ -144,8 +146,8 @@ $formfile = new FormFile($db);
|
|||||||
$bankaccountstatic=new Account($db);
|
$bankaccountstatic=new Account($db);
|
||||||
$facturestatic=new Facture($db);
|
$facturestatic=new Facture($db);
|
||||||
|
|
||||||
if (! $sall) $sql = 'SELECT';
|
$sql = 'SELECT';
|
||||||
else $sql = 'SELECT DISTINCT';
|
if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT';
|
||||||
$sql.= ' f.rowid as facid, f.facnumber, f.ref_client, f.type, f.note_private, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc,';
|
$sql.= ' f.rowid as facid, f.facnumber, f.ref_client, f.type, f.note_private, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc,';
|
||||||
$sql.= ' f.datef as df, f.date_lim_reglement as datelimite,';
|
$sql.= ' f.datef as df, f.date_lim_reglement as datelimite,';
|
||||||
$sql.= ' f.paye as paye, f.fk_statut,';
|
$sql.= ' f.paye as paye, f.fk_statut,';
|
||||||
@ -155,6 +157,8 @@ $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s';
|
|||||||
$sql.= ', '.MAIN_DB_PREFIX.'facture as f';
|
$sql.= ', '.MAIN_DB_PREFIX.'facture as f';
|
||||||
if (! $sall) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiement_facture as pf ON pf.fk_facture = f.rowid';
|
if (! $sall) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiement_facture as pf ON pf.fk_facture = f.rowid';
|
||||||
else $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'facturedet as fd ON fd.fk_facture = f.rowid';
|
else $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'facturedet as fd ON fd.fk_facture = f.rowid';
|
||||||
|
if ($sall || $search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'facturedet as pd ON f.rowid=pd.fk_facture';
|
||||||
|
if ($search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=pd.fk_product';
|
||||||
// We'll need this table joined to the select in order to filter by sale
|
// We'll need this table joined to the select in order to filter by sale
|
||||||
if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||||
if ($search_user > 0)
|
if ($search_user > 0)
|
||||||
@ -165,7 +169,8 @@ if ($search_user > 0)
|
|||||||
$sql.= ' WHERE f.fk_soc = s.rowid';
|
$sql.= ' WHERE f.fk_soc = s.rowid';
|
||||||
$sql.= " AND f.entity = ".$conf->entity;
|
$sql.= " AND f.entity = ".$conf->entity;
|
||||||
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||||
if ($socid) $sql.= ' AND s.rowid = '.$socid;
|
if ($search_product_category > 0) $sql.=" AND cp.fk_categorie = ".$search_product_category;
|
||||||
|
if ($socid > 0) $sql.= ' AND s.rowid = '.$socid;
|
||||||
if ($userid)
|
if ($userid)
|
||||||
{
|
{
|
||||||
if ($userid == -1) $sql.=' AND f.fk_user_author IS NULL';
|
if ($userid == -1) $sql.=' AND f.fk_user_author IS NULL';
|
||||||
@ -275,16 +280,30 @@ if ($resql)
|
|||||||
if ($user->rights->societe->client->voir || $socid)
|
if ($user->rights->societe->client->voir || $socid)
|
||||||
{
|
{
|
||||||
$langs->load("commercial");
|
$langs->load("commercial");
|
||||||
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
|
$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
|
||||||
$moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user);
|
$moreforfilter.=$formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth300');
|
||||||
$moreforfilter.=' ';
|
$moreforfilter.='</div>';
|
||||||
}
|
}
|
||||||
// If the user can view prospects other than his'
|
// If the user can view prospects other than his'
|
||||||
if ($user->rights->societe->client->voir || $socid)
|
if ($user->rights->societe->client->voir || $socid)
|
||||||
{
|
{
|
||||||
$moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
$moreforfilter.=$form->select_dolusers($search_user,'search_user',1);
|
$moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
|
||||||
|
$moreforfilter.=$form->select_dolusers($search_user, 'search_user', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
|
||||||
|
$moreforfilter.='</div>';
|
||||||
}
|
}
|
||||||
|
// If the user can view prospects other than his'
|
||||||
|
if ($conf->categorie->enabled && $user->rights->produit->lire)
|
||||||
|
{
|
||||||
|
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
|
$moreforfilter.='<div class="divsearchfield">';
|
||||||
|
$moreforfilter.=$langs->trans('IncludingProductWithTag'). ': ';
|
||||||
|
$cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1);
|
||||||
|
$moreforfilter.=$form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, '', 1);
|
||||||
|
$moreforfilter.='</div>';
|
||||||
|
}
|
||||||
|
|
||||||
if ($moreforfilter)
|
if ($moreforfilter)
|
||||||
{
|
{
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -330,7 +349,10 @@ if ($resql)
|
|||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre" align="right"><input class="flat" type="text" size="6" name="search_montant_ttc" value="'.$search_montant_ttc.'"></td>';
|
print '<td class="liste_titre" align="right"><input class="flat" type="text" size="6" name="search_montant_ttc" value="'.$search_montant_ttc.'"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre" align="right">';
|
||||||
|
$liststatus=array('0'=>$langs->trans("Draft"), '1'=>$langs->trans("Unpaid"), '2'=>$langs->trans("Paid"), '3'=>$langs->trans("Cancel"));
|
||||||
|
print $form->selectarray('search_status', $liststatus, $search_status, 1);
|
||||||
|
print '</td>';
|
||||||
print '<td class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
print '<td class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||||
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|||||||
@ -203,7 +203,7 @@ if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire)
|
|||||||
|
|
||||||
if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire)
|
if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire)
|
||||||
{
|
{
|
||||||
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, x.rowid, x.date_debut as date, x.tms as dm, x.total_ttc, x.fk_statut as status";
|
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, x.rowid, x.ref, x.date_debut as date, x.tms as dm, x.total_ttc, x.fk_statut as status";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as x, ".MAIN_DB_PREFIX."user as u";
|
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as x, ".MAIN_DB_PREFIX."user as u";
|
||||||
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||||
$sql.= " WHERE u.rowid = x.fk_user_author";
|
$sql.= " WHERE u.rowid = x.fk_user_author";
|
||||||
@ -238,8 +238,8 @@ if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire
|
|||||||
while ($i < $num && $i < $max)
|
while ($i < $num && $i < $max)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
$expensereportstatic->ref=$obj->rowid;
|
|
||||||
$expensereportstatic->id=$obj->rowid;
|
$expensereportstatic->id=$obj->rowid;
|
||||||
|
$expensereportstatic->ref=$obj->ref;
|
||||||
$userstatic->id=$obj->uid;
|
$userstatic->id=$obj->uid;
|
||||||
$userstatic->lastname=$obj->lastname;
|
$userstatic->lastname=$obj->lastname;
|
||||||
$userstatic->firstname=$obj->firstname;
|
$userstatic->firstname=$obj->firstname;
|
||||||
|
|||||||
@ -221,7 +221,26 @@ if ($action == 'confirm_valide' && $confirm == 'yes' && $user->rights->banque->c
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setEventMessage($paiement->error, 'errors');
|
setEventMessage($object->error, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action == 'confirm_reject_check' && $confirm == 'yes' && $user->rights->banque->cheque)
|
||||||
|
{
|
||||||
|
$reject_date = dol_mktime(0, 0, 0, GETPOST('rejectdate_month'), GETPOST('rejectdate_day'), GETPOST('rejectdate_year'));
|
||||||
|
$rejected_check = GETPOST('bankid');
|
||||||
|
|
||||||
|
$object->fetch($id);
|
||||||
|
$paiement_id = $object->reject_check($rejected_check, $reject_date);
|
||||||
|
if ($paiement_id > 0)
|
||||||
|
{
|
||||||
|
setEventMessage($langs->trans("CheckRejectedAndInvoicesReopened"));
|
||||||
|
header("Location: ".DOL_URL_ROOT.'/compta/paiement/card.php?id='.$paiement_id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setEventMessage($object->error, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,6 +353,18 @@ else
|
|||||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans("ValidateCheckReceipt"), $langs->trans("ConfirmValidateCheckReceipt"), 'confirm_valide','','',1);
|
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans("ValidateCheckReceipt"), $langs->trans("ConfirmValidateCheckReceipt"), 'confirm_valide','','',1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Confirm check rejection
|
||||||
|
*/
|
||||||
|
if ($action == 'reject_check')
|
||||||
|
{
|
||||||
|
$formquestion = array(
|
||||||
|
array('type' => 'hidden','name' => 'bankid','value' => GETPOST('lineid')),
|
||||||
|
array('type' => 'date','name' => 'rejectdate_','label' => $langs->trans("RejectCheckDate"),'value' => dol_now())
|
||||||
|
);
|
||||||
|
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans("RejectCheck"), $langs->trans("ConfirmRejectCheck"), 'confirm_reject_check',$formquestion,'',1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$accounts = array();
|
$accounts = array();
|
||||||
@ -350,7 +381,7 @@ if ($action == 'new')
|
|||||||
print '<input type="hidden" name="action" value="new">';
|
print '<input type="hidden" name="action" value="new">';
|
||||||
|
|
||||||
dol_fiche_head();
|
dol_fiche_head();
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
//print '<tr><td width="30%">'.$langs->trans('Date').'</td><td width="70%">'.dol_print_date($now,'day').'</td></tr>';
|
//print '<tr><td width="30%">'.$langs->trans('Date').'</td><td width="70%">'.dol_print_date($now,'day').'</td></tr>';
|
||||||
// Filter
|
// Filter
|
||||||
@ -361,9 +392,9 @@ if ($action == 'new')
|
|||||||
$form->select_comptes($filteraccountid,'accountid',0,'courant <> 2',1);
|
$form->select_comptes($filteraccountid,'accountid',0,'courant <> 2',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
|
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
print '<input type="submit" class="button" name="filter" value="'.dol_escape_htmltag($langs->trans("ToFilter")).'">';
|
print '<input type="submit" class="button" name="filter" value="'.dol_escape_htmltag($langs->trans("ToFilter")).'">';
|
||||||
if ($filterdate || $filteraccountid > 0)
|
if ($filterdate || $filteraccountid > 0)
|
||||||
@ -377,10 +408,9 @@ if ($action == 'new')
|
|||||||
|
|
||||||
$sql = "SELECT ba.rowid as bid, b.datec as datec, b.dateo as date, b.rowid as chqid, ";
|
$sql = "SELECT ba.rowid as bid, b.datec as datec, b.dateo as date, b.rowid as chqid, ";
|
||||||
$sql.= " b.amount, ba.label, b.emetteur, b.num_chq, b.banque";
|
$sql.= " b.amount, ba.label, b.emetteur, b.num_chq, b.banque";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b,";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."bank_account as ba";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON (b.fk_account = ba.rowid)";
|
||||||
$sql.= " WHERE b.fk_type = 'CHQ'";
|
$sql.= " WHERE b.fk_type = 'CHQ'";
|
||||||
$sql.= " AND b.fk_account = ba.rowid";
|
|
||||||
$sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")";
|
$sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")";
|
||||||
$sql.= " AND b.fk_bordereau = 0";
|
$sql.= " AND b.fk_bordereau = 0";
|
||||||
$sql.= " AND b.amount > 0";
|
$sql.= " AND b.amount > 0";
|
||||||
@ -599,12 +629,11 @@ else
|
|||||||
// Liste des cheques
|
// Liste des cheques
|
||||||
$sql = "SELECT b.rowid, b.amount, b.num_chq, b.emetteur,";
|
$sql = "SELECT b.rowid, b.amount, b.num_chq, b.emetteur,";
|
||||||
$sql.= " b.dateo as date, b.datec as datec, b.banque,";
|
$sql.= " b.dateo as date, b.datec as datec, b.banque,";
|
||||||
$sql.= " p.rowid as pid, ba.rowid as bid";
|
$sql.= " p.rowid as pid, ba.rowid as bid, p.statut";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba";
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."bank as b";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON (b.fk_account = ba.rowid)";
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement as p ON p.fk_bank = b.rowid";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement as p ON p.fk_bank = b.rowid";
|
||||||
$sql.= " WHERE ba.rowid = b.fk_account";
|
$sql.= " WHERE ba.entity IN (".getEntity('bank_account', 1).")";
|
||||||
$sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")";
|
|
||||||
$sql.= " AND b.fk_type= 'CHQ'";
|
$sql.= " AND b.fk_type= 'CHQ'";
|
||||||
$sql.= " AND b.fk_bordereau = ".$object->id;
|
$sql.= " AND b.fk_bordereau = ".$object->id;
|
||||||
$sql.= " ORDER BY $sortfield $sortorder";
|
$sql.= " ORDER BY $sortfield $sortorder";
|
||||||
@ -625,7 +654,8 @@ else
|
|||||||
print_liste_field_titre($langs->trans("Bank"),$_SERVER["PHP_SELF"],"b.banque", "",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Bank"),$_SERVER["PHP_SELF"],"b.banque", "",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"b.amount", "",$param,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"b.amount", "",$param,'align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("LineRecord"),$_SERVER["PHP_SELF"],"b.rowid", "",$param,'align="center"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("LineRecord"),$_SERVER["PHP_SELF"],"b.rowid", "",$param,'align="center"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre('');
|
print_liste_field_titre($langs->trans("Payment"),$_SERVER["PHP_SELF"],"p.rowid", "",$param,'align="center"',$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i=1;
|
$i=1;
|
||||||
$var=false;
|
$var=false;
|
||||||
@ -654,13 +684,25 @@ else
|
|||||||
print ' ';
|
print ' ';
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($object->statut == 0)
|
print '<td align="center">';
|
||||||
|
$paymentstatic->id=$objp->pid;
|
||||||
|
$paymentstatic->ref=$objp->pid;
|
||||||
|
if ($paymentstatic->id)
|
||||||
{
|
{
|
||||||
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=remove&lineid='.$objp->rowid.'">'.img_delete().'</a></td>';
|
print $paymentstatic->getNomUrl(1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td> </td>';
|
print ' ';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
if ($object->statut == 0)
|
||||||
|
{
|
||||||
|
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=remove&lineid='.$objp->rowid.'">'.img_delete().'</a>';
|
||||||
|
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reject_check&lineid='.$objp->rowid.'">'.img_picto($langs->trans("RejectCheck"),'disable').'</a></td>';
|
||||||
|
}
|
||||||
|
else if($objp->statut == 2) {
|
||||||
|
print '<td align="right">'.img_picto($langs->trans('CheckRejected'),'statut8').'</a></td>';
|
||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
* \brief File with class to manage cheque delivery receipts
|
* \brief File with class to manage cheque delivery receipts
|
||||||
*/
|
*/
|
||||||
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
|
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -647,17 +648,83 @@ class RemiseCheque extends CommonObject
|
|||||||
|
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$this->updateAmount();
|
$this->updateAmount();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->errno = -1032;
|
$this->errno = -1032;
|
||||||
dol_syslog("RemiseCheque::removeCheck ERREUR UPDATE ($this->errno)");
|
dol_syslog("RemiseCheque::removeCheck ERREUR UPDATE ($this->errno)");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check rejection management
|
||||||
|
* Reopen linked invoices and saves a new negative payment
|
||||||
|
*
|
||||||
|
* @param int $bank_id Id of bank line concerned
|
||||||
|
* @param date $rejection_date Date to use on the negative payment
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
function reject_check($bank_id, $rejection_date)
|
||||||
|
{
|
||||||
|
global $db, $user;
|
||||||
|
|
||||||
|
$payment = new Paiement($db);
|
||||||
|
$payment->fetch(0,0,$bank_id);
|
||||||
|
|
||||||
|
$bankaccount = $payment->fk_account;
|
||||||
|
|
||||||
|
// Get invoice list to reopen them
|
||||||
|
$sql = 'SELECT pf.fk_facture, pf.amount';
|
||||||
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf';
|
||||||
|
$sql.= ' WHERE pf.fk_paiement = '.$payment->id;
|
||||||
|
|
||||||
|
$resql=$db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$rejectedPayment = new Paiement($db);
|
||||||
|
$rejectedPayment->amounts = array();
|
||||||
|
$rejectedPayment->datepaye = $rejection_date;
|
||||||
|
$rejectedPayment->paiementid = dol_getIdFromCode($this->db, 'CHQ', 'c_paiement');
|
||||||
|
$rejectedPayment->num_paiement = $payment->numero;
|
||||||
|
|
||||||
|
while($obj = $db->fetch_object($resql))
|
||||||
|
{
|
||||||
|
$invoice = new Facture($db);
|
||||||
|
$invoice->fetch($obj->fk_facture);
|
||||||
|
$invoice->set_unpaid($user);
|
||||||
|
|
||||||
|
$rejectedPayment->amounts[$obj->fk_facture] = price2num($obj->amount) * -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rejectedPayment->create($user) > 0)
|
||||||
|
{
|
||||||
|
$result=$rejectedPayment->addPaymentToBank($user,'payment','(CheckRejected)',$bankaccount,'','');
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$payment->reject();
|
||||||
|
return $rejectedPayment->id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Charge les proprietes ref_previous et ref_next
|
* Charge les proprietes ref_previous et ref_next
|
||||||
*
|
*
|
||||||
@ -747,7 +814,7 @@ class RemiseCheque extends CommonObject
|
|||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."bordereau_cheque";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."bordereau_cheque";
|
||||||
$sql.= " SET number = '".$number."'" ;
|
$sql.= " SET number = '".$number."'" ;
|
||||||
$sql.= " WHERE rowid = ".$this->id;
|
$sql.= " WHERE rowid = ".$this->id;
|
||||||
|
|
||||||
dol_syslog("RemiseCheque::set_number", LOG_DEBUG);
|
dol_syslog("RemiseCheque::set_number", LOG_DEBUG);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
|
|||||||
@ -78,11 +78,12 @@ class Paiement extends CommonObject
|
|||||||
/**
|
/**
|
||||||
* Load payment from database
|
* Load payment from database
|
||||||
*
|
*
|
||||||
* @param int $id Id of payment to get
|
* @param int $id Id of payment to get
|
||||||
* @param int $ref Ref of payment to get (same as $id)
|
* @param string $ref Ref of payment to get (currently ref = id but this may change in future)
|
||||||
* @return int <0 if KO, 0 if not found, >0 if OK
|
* @param int $fk_bank Id of bank line associated to payment
|
||||||
|
* @return int <0 if KO, 0 if not found, >0 if OK
|
||||||
*/
|
*/
|
||||||
function fetch($id, $ref='')
|
function fetch($id, $ref='', $fk_bank='')
|
||||||
{
|
{
|
||||||
$sql = 'SELECT p.rowid, p.datep as dp, p.amount, p.statut, p.fk_bank,';
|
$sql = 'SELECT p.rowid, p.datep as dp, p.amount, p.statut, p.fk_bank,';
|
||||||
$sql.= ' c.code as type_code, c.libelle as type_libelle,';
|
$sql.= ' c.code as type_code, c.libelle as type_libelle,';
|
||||||
@ -91,10 +92,12 @@ class Paiement extends CommonObject
|
|||||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'c_paiement as c, '.MAIN_DB_PREFIX.'paiement as p';
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'c_paiement as c, '.MAIN_DB_PREFIX.'paiement as p';
|
||||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank as b ON p.fk_bank = b.rowid ';
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank as b ON p.fk_bank = b.rowid ';
|
||||||
$sql.= ' WHERE p.fk_paiement = c.id';
|
$sql.= ' WHERE p.fk_paiement = c.id';
|
||||||
if ($ref)
|
if ($id > 0)
|
||||||
$sql.= ' AND p.rowid = '.$ref;
|
|
||||||
else
|
|
||||||
$sql.= ' AND p.rowid = '.$id;
|
$sql.= ' AND p.rowid = '.$id;
|
||||||
|
else if ($ref)
|
||||||
|
$sql.= ' AND p.rowid = '.$ref;
|
||||||
|
else if ($fk_bank)
|
||||||
|
$sql.= ' AND p.fk_bank = '.$fk_bank;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
@ -116,7 +119,8 @@ class Paiement extends CommonObject
|
|||||||
$this->type_code = $obj->type_code;
|
$this->type_code = $obj->type_code;
|
||||||
$this->statut = $obj->statut;
|
$this->statut = $obj->statut;
|
||||||
|
|
||||||
$this->bank_account = $obj->fk_account;
|
$this->bank_account = $obj->fk_account; // deprecated
|
||||||
|
$this->fk_account = $obj->fk_account;
|
||||||
$this->bank_line = $obj->fk_bank;
|
$this->bank_line = $obj->fk_bank;
|
||||||
|
|
||||||
$this->db->free($result);
|
$this->db->free($result);
|
||||||
@ -670,6 +674,29 @@ class Paiement extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reject payment
|
||||||
|
*
|
||||||
|
* @return int <0 if KO, >0 if OK
|
||||||
|
*/
|
||||||
|
function reject()
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET statut = 2 WHERE rowid = '.$this->id;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this).'::reject', LOG_DEBUG);
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
dol_syslog(get_class($this).'::reject '.$this->error);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* \brief Information sur l'objet
|
* \brief Information sur l'objet
|
||||||
* \param id id du paiement dont il faut afficher les infos
|
* \param id id du paiement dont il faut afficher les infos
|
||||||
|
|||||||
@ -176,6 +176,8 @@ if ($_GET["action"] == 'create')
|
|||||||
print '<input type="hidden" name="chid" value="'.$chid.'">';
|
print '<input type="hidden" name="chid" value="'.$chid.'">';
|
||||||
print '<input type="hidden" name="action" value="add_payment">';
|
print '<input type="hidden" name="action" value="add_payment">';
|
||||||
|
|
||||||
|
dol_fiche_head('', '');
|
||||||
|
|
||||||
print '<table cellspacing="0" class="border" width="100%" cellpadding="2">';
|
print '<table cellspacing="0" class="border" width="100%" cellpadding="2">';
|
||||||
|
|
||||||
print "<tr class=\"liste_titre\"><td colspan=\"3\">".$langs->trans("SocialContribution")."</td>";
|
print "<tr class=\"liste_titre\"><td colspan=\"3\">".$langs->trans("SocialContribution")."</td>";
|
||||||
@ -235,7 +237,7 @@ if ($_GET["action"] == 'create')
|
|||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Autres charges impayees
|
* Autres charges impayees
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/compta/tva/clients.php
|
* \file htdocs/compta/tva/clients.php
|
||||||
* \ingroup tax
|
* \ingroup tax
|
||||||
* \brief Page des societes
|
* \brief Page des societes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -30,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/ccountry.class.php';
|
||||||
|
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$langs->load("compta");
|
$langs->load("compta");
|
||||||
@ -39,8 +40,7 @@ $langs->load("other");
|
|||||||
|
|
||||||
// Date range
|
// Date range
|
||||||
$year=GETPOST("year");
|
$year=GETPOST("year");
|
||||||
if (empty($year))
|
if (empty($year)) {
|
||||||
{
|
|
||||||
$year_current = strftime("%Y",dol_now());
|
$year_current = strftime("%Y",dol_now());
|
||||||
$year_start = $year_current;
|
$year_start = $year_current;
|
||||||
} else {
|
} else {
|
||||||
@ -50,38 +50,55 @@ if (empty($year))
|
|||||||
$date_start=dol_mktime(0,0,0,$_REQUEST["date_startmonth"],$_REQUEST["date_startday"],$_REQUEST["date_startyear"]);
|
$date_start=dol_mktime(0,0,0,$_REQUEST["date_startmonth"],$_REQUEST["date_startday"],$_REQUEST["date_startyear"]);
|
||||||
$date_end=dol_mktime(23,59,59,$_REQUEST["date_endmonth"],$_REQUEST["date_endday"],$_REQUEST["date_endyear"]);
|
$date_end=dol_mktime(23,59,59,$_REQUEST["date_endmonth"],$_REQUEST["date_endday"],$_REQUEST["date_endyear"]);
|
||||||
// Quarter
|
// Quarter
|
||||||
if (empty($date_start) || empty($date_end)) // We define date_start and date_end
|
if (empty($date_start) || empty($date_end)) {// We define date_start and date_end
|
||||||
{
|
$q=GETPOST("q");
|
||||||
$q=GETPOST("q");
|
if (empty($q)) {
|
||||||
if (empty($q))
|
if (isset($_REQUEST["month"])) {
|
||||||
{
|
$date_start=dol_get_first_day($year_start,$_REQUEST["month"],false);
|
||||||
if (isset($_REQUEST["month"])) { $date_start=dol_get_first_day($year_start,$_REQUEST["month"],false); $date_end=dol_get_last_day($year_start,$_REQUEST["month"],false); }
|
$date_end=dol_get_last_day($year_start,$_REQUEST["month"],false);
|
||||||
else
|
} else {
|
||||||
{
|
$month_current = strftime("%m",dol_now());
|
||||||
$month_current = strftime("%m",dol_now());
|
if ($month_current >= 10) $q=4;
|
||||||
if ($month_current >= 10) $q=4;
|
elseif ($month_current >= 7) $q=3;
|
||||||
elseif ($month_current >= 7) $q=3;
|
elseif ($month_current >= 4) $q=2;
|
||||||
elseif ($month_current >= 4) $q=2;
|
else $q=1;
|
||||||
else $q=1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($q==1) { $date_start=dol_get_first_day($year_start,1,false); $date_end=dol_get_last_day($year_start,3,false); }
|
if ($q==1) {
|
||||||
if ($q==2) { $date_start=dol_get_first_day($year_start,4,false); $date_end=dol_get_last_day($year_start,6,false); }
|
$date_start=dol_get_first_day($year_start,1,false);
|
||||||
if ($q==3) { $date_start=dol_get_first_day($year_start,7,false); $date_end=dol_get_last_day($year_start,9,false); }
|
$date_end=dol_get_last_day($year_start,3,false);
|
||||||
if ($q==4) { $date_start=dol_get_first_day($year_start,10,false); $date_end=dol_get_last_day($year_start,12,false); }
|
}
|
||||||
|
if ($q==2) {
|
||||||
|
$date_start=dol_get_first_day($year_start,4,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,6,false);
|
||||||
|
}
|
||||||
|
if ($q==3) {
|
||||||
|
$date_start=dol_get_first_day($year_start,7,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,9,false);
|
||||||
|
}
|
||||||
|
if ($q==4) {
|
||||||
|
$date_start=dol_get_first_day($year_start,10,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,12,false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$min = GETPOST("min");
|
$min = GETPOST("min");
|
||||||
if (empty($min)) $min = 0;
|
if (empty($min)) {
|
||||||
|
$min = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Define modetax (0 or 1)
|
// Define modetax (0 or 1)
|
||||||
// 0=normal, 1=option vat for services is on debit
|
// 0=normal, 1=option vat for services is on debit
|
||||||
$modetax = $conf->global->TAX_MODE;
|
$modetax = $conf->global->TAX_MODE;
|
||||||
if (isset($_REQUEST["modetax"])) $modetax=$_REQUEST["modetax"];
|
if (isset($_REQUEST["modetax"])) {
|
||||||
|
$modetax=$_REQUEST["modetax"];
|
||||||
|
}
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$socid = GETPOST('socid','int');
|
$socid = GETPOST('socid','int');
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) {
|
||||||
|
$socid=$user->societe_id;
|
||||||
|
}
|
||||||
$result = restrictedArea($user, 'tax', '', '', 'charges');
|
$result = restrictedArea($user, 'tax', '', '', 'charges');
|
||||||
|
|
||||||
|
|
||||||
@ -95,9 +112,15 @@ $company_static=new Societe($db);
|
|||||||
|
|
||||||
$morequerystring='';
|
$morequerystring='';
|
||||||
$listofparams=array('date_startmonth','date_startyear','date_startday','date_endmonth','date_endyear','date_endday');
|
$listofparams=array('date_startmonth','date_startyear','date_startday','date_endmonth','date_endyear','date_endday');
|
||||||
foreach($listofparams as $param)
|
foreach($listofparams as $param) {
|
||||||
{
|
if (GETPOST($param)!='') {
|
||||||
if (GETPOST($param)!='') $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param);
|
$morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$special_report = false;
|
||||||
|
if (isset($_REQUEST['extra_report']) && $_REQUEST['extra_report'] == 1) {
|
||||||
|
$special_report = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
llxHeader('','','','',0,0,'','',$morequerystring);
|
llxHeader('','','','',0,0,'','',$morequerystring);
|
||||||
@ -109,62 +132,92 @@ $fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': ';
|
|||||||
$fsearch.=' <input type="text" name="min" id="min" value="'.$min.'" size="6">';
|
$fsearch.=' <input type="text" name="min" id="min" value="'.$min.'" size="6">';
|
||||||
|
|
||||||
// Affiche en-tete du rapport
|
// Affiche en-tete du rapport
|
||||||
if ($modetax==1) // Calculate on invoice for goods and services
|
if ($modetax==1) { // Calculate on invoice for goods and services
|
||||||
{
|
$name=$langs->trans("VATReportByCustomersInDueDebtMode");
|
||||||
$name=$langs->trans("VATReportByCustomersInDueDebtMode");
|
|
||||||
$calcmode=$langs->trans("CalcModeVATDebt");
|
$calcmode=$langs->trans("CalcModeVATDebt");
|
||||||
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||||
//$name.='<br>('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')';
|
//$name.='<br>('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')';
|
||||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||||
//$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":"");
|
//$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":"");
|
||||||
$description=$langs->trans("RulesVATDueServices");
|
$description=$langs->trans("RulesVATDueServices");
|
||||||
$description.='<br>';
|
$description.='<br>';
|
||||||
$description.=$langs->trans("RulesVATDueProducts");
|
$description.=$langs->trans("RulesVATDueProducts");
|
||||||
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
||||||
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.='<br>'.$langs->trans("DepositsAreNotIncluded");
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
else $description.='<br>'.$langs->trans("DepositsAreIncluded");
|
$description.='<br>'.$langs->trans("DepositsAreNotIncluded");
|
||||||
|
} else {
|
||||||
|
$description.='<br>'.$langs->trans("DepositsAreIncluded");
|
||||||
|
}
|
||||||
$description.=$fsearch;
|
$description.=$fsearch;
|
||||||
|
$description.='<br>'
|
||||||
|
. '<input type="radio" name="extra_report" value="0" '.($special_report?'':'checked="checked"').'> '
|
||||||
|
. $langs->trans('SimpleReport')
|
||||||
|
. '</input>'
|
||||||
|
. '<br>'
|
||||||
|
. '<input type="radio" name="extra_report" value="1" '.($special_report?'checked="checked"':'').'> '
|
||||||
|
. $langs->trans('AddExtraReport')
|
||||||
|
. '</input>'
|
||||||
|
. '<br>';
|
||||||
$builddate=time();
|
$builddate=time();
|
||||||
//$exportlink=$langs->trans("NotYetAvailable");
|
//$exportlink=$langs->trans("NotYetAvailable");
|
||||||
|
|
||||||
$elementcust=$langs->trans("CustomersInvoices");
|
$elementcust=$langs->trans("CustomersInvoices");
|
||||||
$productcust=$langs->trans("Description");
|
$productcust=$langs->trans("Description");
|
||||||
$amountcust=$langs->trans("AmountHT");
|
$amountcust=$langs->trans("AmountHT");
|
||||||
if ($mysoc->tva_assuj) $vatcust.=' ('.$langs->trans("ToPay").')';
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatcust.=' ('.$langs->trans("ToPay").')';
|
||||||
|
}
|
||||||
$elementsup=$langs->trans("SuppliersInvoices");
|
$elementsup=$langs->trans("SuppliersInvoices");
|
||||||
$productsup=$langs->trans("Description");
|
$productsup=$langs->trans("Description");
|
||||||
$amountsup=$langs->trans("AmountHT");
|
$amountsup=$langs->trans("AmountHT");
|
||||||
if ($mysoc->tva_assuj) $vatsup.=' ('.$langs->trans("ToGetBack").')';
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($modetax==0) // Invoice for goods, payment for services
|
if ($modetax==0) { // Invoice for goods, payment for services
|
||||||
{
|
$name=$langs->trans("VATReportByCustomersInInputOutputMode");
|
||||||
$name=$langs->trans("VATReportByCustomersInInputOutputMode");
|
$calcmode=$langs->trans("CalcModeVATEngagement");
|
||||||
$calcmode=$langs->trans("CalcModeVATEngagement");
|
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||||
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
//$name.='<br>('.$langs->trans("SeeVATReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=1">','</a>').')';
|
||||||
//$name.='<br>('.$langs->trans("SeeVATReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=1">','</a>').')';
|
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
//$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":"");
|
||||||
//$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":"");
|
$description=$langs->trans("RulesVATInServices");
|
||||||
$description=$langs->trans("RulesVATInServices");
|
$description.=' '.$langs->trans("DepositsAreIncluded");
|
||||||
$description.=' '.$langs->trans("DepositsAreIncluded");
|
$description.='<br>';
|
||||||
$description.='<br>';
|
$description.=$langs->trans("RulesVATInProducts");
|
||||||
$description.=$langs->trans("RulesVATInProducts");
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.=' '.$langs->trans("DepositsAreNotIncluded");
|
$description .= ' ' . $langs->trans("DepositsAreNotIncluded");
|
||||||
else $description.=' '.$langs->trans("DepositsAreIncluded");
|
} else {
|
||||||
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
$description .= ' ' . $langs->trans("DepositsAreIncluded");
|
||||||
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
}
|
||||||
$description.=$fsearch;
|
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
||||||
$builddate=time();
|
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||||
//$exportlink=$langs->trans("NotYetAvailable");
|
$description.=$fsearch;
|
||||||
|
$description.='<br>'
|
||||||
|
. '<input type="radio" name="extra_report" value="0" '.($special_report?'':'checked="checked"').'> '
|
||||||
|
. $langs->trans('SimpleReport')
|
||||||
|
. '</input>'
|
||||||
|
. '<br>'
|
||||||
|
. '<input type="radio" name="extra_report" value="1" '.($special_report?'checked="checked"':'').'> '
|
||||||
|
. $langs->trans('AddExtraReport')
|
||||||
|
. '</input>'
|
||||||
|
. '<br>';
|
||||||
|
$builddate=time();
|
||||||
|
//$exportlink=$langs->trans("NotYetAvailable");
|
||||||
|
|
||||||
$elementcust=$langs->trans("CustomersInvoices");
|
$elementcust=$langs->trans("CustomersInvoices");
|
||||||
$productcust=$langs->trans("Description");
|
$productcust=$langs->trans("Description");
|
||||||
$amountcust=$langs->trans("AmountHT");
|
$amountcust=$langs->trans("AmountHT");
|
||||||
if ($mysoc->tva_assuj) $vatcust.=' ('.$langs->trans("ToPay").')';
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatcust.=' ('.$langs->trans("ToPay").')';
|
||||||
|
}
|
||||||
$elementsup=$langs->trans("SuppliersInvoices");
|
$elementsup=$langs->trans("SuppliersInvoices");
|
||||||
$productsup=$langs->trans("Description");
|
$productsup=$langs->trans("Description");
|
||||||
$amountsup=$langs->trans("AmountHT");
|
$amountsup=$langs->trans("AmountHT");
|
||||||
if ($mysoc->tva_assuj) $vatsup.=' ('.$langs->trans("ToGetBack").')';
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
report_header($name,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode);
|
report_header($name,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode);
|
||||||
|
|
||||||
@ -198,25 +251,18 @@ $parameters["direction"] = 'sell';
|
|||||||
$hookmanager->initHooks(array('externalbalance'));
|
$hookmanager->initHooks(array('externalbalance'));
|
||||||
$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
|
||||||
if (is_array($coll_list))
|
if (is_array($coll_list)) {
|
||||||
{
|
|
||||||
$var=true;
|
$var=true;
|
||||||
$total = 0; $totalamount = 0;
|
$total = 0; $totalamount = 0;
|
||||||
$i = 1;
|
$i = 1;
|
||||||
foreach($coll_list as $coll)
|
foreach ($coll_list as $coll) {
|
||||||
{
|
if ($min == 0 or ($min > 0 && $coll->amount > $min)) {
|
||||||
if($min == 0 or ($min > 0 && $coll->amount > $min))
|
|
||||||
{
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
$intra = str_replace($find,$replace,$coll->tva_intra);
|
$intra = str_replace($find,$replace,$coll->tva_intra);
|
||||||
if(empty($intra))
|
if(empty($intra)) {
|
||||||
{
|
if($coll->assuj == '1') {
|
||||||
if($coll->assuj == '1')
|
|
||||||
{
|
|
||||||
$intra = $langs->trans('Unknown');
|
$intra = $langs->trans('Unknown');
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
//$intra = $langs->trans('NotRegistered');
|
//$intra = $langs->trans('NotRegistered');
|
||||||
$intra = '';
|
$intra = '';
|
||||||
}
|
}
|
||||||
@ -232,28 +278,27 @@ if (is_array($coll_list))
|
|||||||
print '<td class="nowrap">'.$intra."</td>";
|
print '<td class="nowrap">'.$intra."</td>";
|
||||||
print "<td class=\"nowrap\" align=\"right\">".price($coll->amount)."</td>";
|
print "<td class=\"nowrap\" align=\"right\">".price($coll->amount)."</td>";
|
||||||
print "<td class=\"nowrap\" align=\"right\">".price($coll->tva)."</td>";
|
print "<td class=\"nowrap\" align=\"right\">".price($coll->tva)."</td>";
|
||||||
$totalamount = $totalamount + $coll->amount;
|
$totalamount = $totalamount + $coll->amount;
|
||||||
$total = $total + $coll->tva;
|
$total = $total + $coll->tva;
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$x_coll_sum = $total;
|
$x_coll_sum = $total;
|
||||||
|
|
||||||
print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").':</td>';
|
print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").':</td>';
|
||||||
print '<td class="nowrap" align="right">'.price($totalamount).'</td>';
|
print '<td class="nowrap" align="right">'.price($totalamount).'</td>';
|
||||||
print '<td class="nowrap" align="right">'.price($total).'</td>';
|
print '<td class="nowrap" align="right">'.price($total).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
if ($coll_list == -1)
|
if ($coll_list == -1) {
|
||||||
print '<tr><td colspan="5">'.$langs->trans("ErrorNoAccountancyModuleLoaded").'</td></tr>';
|
print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>';
|
||||||
else if ($coll_list == -2)
|
} else if ($coll_list == -2) {
|
||||||
print '<tr><td colspan="5">'.$langs->trans("FeatureNotYetAvailable").'</td></tr>';
|
print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>';
|
||||||
else
|
} else {
|
||||||
print '<tr><td colspan="5">'.$langs->trans("Error").'</td></tr>';
|
print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//print '</table>';
|
//print '</table>';
|
||||||
@ -279,25 +324,18 @@ $coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'buy');
|
|||||||
|
|
||||||
$parameters["direction"] = 'buy';
|
$parameters["direction"] = 'buy';
|
||||||
$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
if (is_array($coll_list))
|
if (is_array($coll_list)) {
|
||||||
{
|
|
||||||
$var=true;
|
$var=true;
|
||||||
$total = 0; $totalamount = 0;
|
$total = 0; $totalamount = 0;
|
||||||
$i = 1;
|
$i = 1;
|
||||||
foreach($coll_list as $coll)
|
foreach ($coll_list as $coll) {
|
||||||
{
|
if ($min == 0 or ($min > 0 && $coll->amount > $min)) {
|
||||||
if($min == 0 or ($min > 0 && $coll->amount > $min))
|
|
||||||
{
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
$intra = str_replace($find,$replace,$coll->tva_intra);
|
$intra = str_replace($find,$replace,$coll->tva_intra);
|
||||||
if(empty($intra))
|
if (empty($intra)) {
|
||||||
{
|
if ($coll->assuj == '1') {
|
||||||
if($coll->assuj == '1')
|
|
||||||
{
|
|
||||||
$intra = $langs->trans('Unknown');
|
$intra = $langs->trans('Unknown');
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
//$intra = $langs->trans('NotRegistered');
|
//$intra = $langs->trans('NotRegistered');
|
||||||
$intra = '';
|
$intra = '';
|
||||||
}
|
}
|
||||||
@ -313,44 +351,197 @@ if (is_array($coll_list))
|
|||||||
print '<td class="nowrap">'.$intra."</td>";
|
print '<td class="nowrap">'.$intra."</td>";
|
||||||
print "<td class=\"nowrap\" align=\"right\">".price($coll->amount)."</td>";
|
print "<td class=\"nowrap\" align=\"right\">".price($coll->amount)."</td>";
|
||||||
print "<td class=\"nowrap\" align=\"right\">".price($coll->tva)."</td>";
|
print "<td class=\"nowrap\" align=\"right\">".price($coll->tva)."</td>";
|
||||||
$totalamount = $totalamount + $coll->amount;
|
$totalamount = $totalamount + $coll->amount;
|
||||||
$total = $total + $coll->tva;
|
$total = $total + $coll->tva;
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$x_paye_sum = $total;
|
$x_paye_sum = $total;
|
||||||
|
|
||||||
print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").':</td>';
|
print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").':</td>';
|
||||||
print '<td class="nowrap" align="right">'.price($totalamount).'</td>';
|
print '<td class="nowrap" align="right">'.price($totalamount).'</td>';
|
||||||
print '<td class="nowrap" align="right">'.price($total).'</td>';
|
print '<td class="nowrap" align="right">'.price($total).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
// Total to pay
|
// Total to pay
|
||||||
print '<br><br>';
|
print '<br><br>';
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
$diff = $x_coll_sum - $x_paye_sum;
|
$diff = $x_coll_sum - $x_paye_sum;
|
||||||
print '<tr class="liste_total">';
|
print '<tr class="liste_total">';
|
||||||
print '<td class="liste_total" colspan="4">'.$langs->trans("TotalToPay").($q?', '.$langs->trans("Quadri").' '.$q:'').'</td>';
|
print '<td class="liste_total" colspan="4">'.$langs->trans("TotalToPay").($q?', '.$langs->trans("Quadri").' '.$q:'').'</td>';
|
||||||
print '<td class="liste_total nowrap" align="right"><b>'.price(price2num($diff,'MT'))."</b></td>\n";
|
print '<td class="liste_total nowrap" align="right"><b>'.price(price2num($diff,'MT'))."</b></td>\n";
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
if ($coll_list == -1)
|
if ($coll_list == -1) {
|
||||||
print '<tr><td colspan="5">'.$langs->trans("ErrorNoAccountancyModuleLoaded").'</td></tr>';
|
print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>';
|
||||||
else if ($coll_list == -2)
|
} else if ($coll_list == -2) {
|
||||||
print '<tr><td colspan="5">'.$langs->trans("FeatureNotYetAvailable").'</td></tr>';
|
print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>';
|
||||||
else
|
} else {
|
||||||
print '<tr><td colspan="5">'.$langs->trans("Error").'</td></tr>';
|
print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
if ($special_report) {
|
||||||
|
// Get country 2-letters code
|
||||||
|
global $mysoc;
|
||||||
|
$country_id = $mysoc->country_id;
|
||||||
|
$country = new Ccountry($db);
|
||||||
|
$country->fetch($country_id);
|
||||||
|
|
||||||
|
// Print listing of other-country customers as additional report
|
||||||
|
// This matches tax requirements to list all same-country customers (only)
|
||||||
|
print '<h3>'.$langs->trans('OtherCountriesCustomersReport').'</h3>';
|
||||||
|
print $langs->trans('BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry');
|
||||||
|
$coll_list = vat_by_thirdparty($db, 0, $date_start, $date_end, $modetax, 'sell');
|
||||||
|
|
||||||
|
print "<table class=\"noborder\" width=\"100%\">";
|
||||||
|
print "<tr class=\"liste_titre\">";
|
||||||
|
print '<td align="left">' . $langs->trans("Num") . "</td>";
|
||||||
|
print '<td align="left">' . $langs->trans("Customer") . "</td>";
|
||||||
|
print "<td>" . $langs->trans("VATIntra") . "</td>";
|
||||||
|
print "<td align=\"right\">" . $langs->trans("AmountHTVATRealReceived") . "</td>";
|
||||||
|
print "<td align=\"right\">" . $vatcust . "</td>";
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
if (is_array($coll_list)) {
|
||||||
|
$var = true;
|
||||||
|
$total = 0;
|
||||||
|
$totalamount = 0;
|
||||||
|
$i = 1;
|
||||||
|
foreach ($coll_list as $coll) {
|
||||||
|
if (substr($coll->tva_intra, 0, 2) == $country->code) {
|
||||||
|
// Only use different-country VAT codes
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ($min == 0 or ($min > 0 && $coll->amount > $min)) {
|
||||||
|
$var = !$var;
|
||||||
|
$intra = str_replace($find, $replace, $coll->tva_intra);
|
||||||
|
if (empty($intra)) {
|
||||||
|
if ($coll->assuj == '1') {
|
||||||
|
$intra = $langs->trans('Unknown');
|
||||||
|
} else {
|
||||||
|
//$intra = $langs->trans('NotRegistered');
|
||||||
|
$intra = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print "<tr " . $bc[$var] . ">";
|
||||||
|
print '<td class="nowrap">' . $i . "</td>";
|
||||||
|
$company_static->id = $coll->socid;
|
||||||
|
$company_static->name = $coll->name;
|
||||||
|
$company_static->client = 1;
|
||||||
|
print '<td class="nowrap">' . $company_static->getNomUrl(1,
|
||||||
|
'customer') . '</td>';
|
||||||
|
$find = array(' ', '.');
|
||||||
|
$replace = array('', '');
|
||||||
|
print '<td class="nowrap">' . $intra . "</td>";
|
||||||
|
print "<td class=\"nowrap\" align=\"right\">" . price($coll->amount) . "</td>";
|
||||||
|
print "<td class=\"nowrap\" align=\"right\">" . price($coll->tva) . "</td>";
|
||||||
|
$totalamount = $totalamount + $coll->amount;
|
||||||
|
$total = $total + $coll->tva;
|
||||||
|
print "</tr>\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$x_coll_sum = $total;
|
||||||
|
|
||||||
|
print '<tr class="liste_total"><td align="right" colspan="3">' . $langs->trans("Total") . ':</td>';
|
||||||
|
print '<td class="nowrap" align="right">' . price($totalamount) . '</td>';
|
||||||
|
print '<td class="nowrap" align="right">' . price($total) . '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
} else {
|
||||||
|
$langs->load("errors");
|
||||||
|
if ($coll_list == -1) {
|
||||||
|
print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>';
|
||||||
|
} else {
|
||||||
|
if ($coll_list == -2) {
|
||||||
|
print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>';
|
||||||
|
} else {
|
||||||
|
print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print '</table>';
|
||||||
|
|
||||||
|
// Print listing of same-country customers as additional report
|
||||||
|
// This matches tax requirements to list all same-country customers (only)
|
||||||
|
print '<h3>'.$langs->trans('SameCountryCustomersWithVAT').'</h3>';
|
||||||
|
print $langs->trans('BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry');
|
||||||
|
$coll_list = vat_by_thirdparty($db, 0, $date_start, $date_end, $modetax, 'sell');
|
||||||
|
|
||||||
|
print "<table class=\"noborder\" width=\"100%\">";
|
||||||
|
print "<tr class=\"liste_titre\">";
|
||||||
|
print '<td align="left">' . $langs->trans("Num") . "</td>";
|
||||||
|
print '<td align="left">' . $langs->trans("Customer") . "</td>";
|
||||||
|
print "<td>" . $langs->trans("VATIntra") . "</td>";
|
||||||
|
print "<td align=\"right\">" . $langs->trans("AmountHTVATRealReceived") . "</td>";
|
||||||
|
print "<td align=\"right\">" . $vatcust . "</td>";
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
if (is_array($coll_list)) {
|
||||||
|
$var = true;
|
||||||
|
$total = 0;
|
||||||
|
$totalamount = 0;
|
||||||
|
$i = 1;
|
||||||
|
foreach ($coll_list as $coll) {
|
||||||
|
if (substr($coll->tva_intra, 0, 2) != $country->code) {
|
||||||
|
// Only use same-country VAT codes
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ($min == 0 or ($min > 0 && $coll->amount > $min)) {
|
||||||
|
$var = !$var;
|
||||||
|
$intra = str_replace($find, $replace, $coll->tva_intra);
|
||||||
|
if (empty($intra)) {
|
||||||
|
if ($coll->assuj == '1') {
|
||||||
|
$intra = $langs->trans('Unknown');
|
||||||
|
} else {
|
||||||
|
//$intra = $langs->trans('NotRegistered');
|
||||||
|
$intra = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print "<tr " . $bc[$var] . ">";
|
||||||
|
print '<td class="nowrap">' . $i . "</td>";
|
||||||
|
$company_static->id = $coll->socid;
|
||||||
|
$company_static->name = $coll->name;
|
||||||
|
$company_static->client = 1;
|
||||||
|
print '<td class="nowrap">' . $company_static->getNomUrl(1, 'customer') . '</td>';
|
||||||
|
$find = array(' ', '.');
|
||||||
|
$replace = array('', '');
|
||||||
|
print '<td class="nowrap">' . $intra . "</td>";
|
||||||
|
print "<td class=\"nowrap\" align=\"right\">" . price($coll->amount) . "</td>";
|
||||||
|
print "<td class=\"nowrap\" align=\"right\">" . price($coll->tva) . "</td>";
|
||||||
|
$totalamount = $totalamount + $coll->amount;
|
||||||
|
$total = $total + $coll->tva;
|
||||||
|
print "</tr>\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$x_coll_sum = $total;
|
||||||
|
|
||||||
|
print '<tr class="liste_total"><td align="right" colspan="3">' . $langs->trans("Total") . ':</td>';
|
||||||
|
print '<td class="nowrap" align="right">' . price($totalamount) . '</td>';
|
||||||
|
print '<td class="nowrap" align="right">' . price($total) . '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
} else {
|
||||||
|
$langs->load("errors");
|
||||||
|
if ($coll_list == -1) {
|
||||||
|
print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>';
|
||||||
|
} else {
|
||||||
|
if ($coll_list == -2) {
|
||||||
|
print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>';
|
||||||
|
} else {
|
||||||
|
print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print '</table>';
|
||||||
|
}
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
|
|||||||
@ -72,8 +72,8 @@ function tva_coll($db,$y,$q)
|
|||||||
$sql.= " AND f.fk_statut in (1,2)";
|
$sql.= " AND f.fk_statut in (1,2)";
|
||||||
$sql.= " AND f.rowid = d.fk_facture ";
|
$sql.= " AND f.rowid = d.fk_facture ";
|
||||||
$sql.= " AND date_format(f.datef,'%Y') = '".$y."'";
|
$sql.= " AND date_format(f.datef,'%Y') = '".$y."'";
|
||||||
$sql.= " AND (round(date_format(f.datef,'%m') > ".(($q-1)*3);
|
$sql.= " AND (date_format(f.datef,'%m') > ".(($q-1)*3);
|
||||||
$sql.= " AND round(date_format(f.datef,'%m')) <= ".($q*3).")";
|
$sql.= " AND date_format(f.datef,'%m') <= ".($q*3).")";
|
||||||
$sql.= " ORDER BY rate, facid";
|
$sql.= " ORDER BY rate, facid";
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -131,7 +131,7 @@ function tva_paye($db, $y,$q)
|
|||||||
if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES")
|
if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES")
|
||||||
{
|
{
|
||||||
// Si on paye la tva sur les factures dues (non brouillon)
|
// Si on paye la tva sur les factures dues (non brouillon)
|
||||||
$sql = "SELECT d.fk_facture_fourn as facid, f.facnumber as facnum, d.tva_tx as rate, d.total_ht as totalht, d.tva as amount";
|
$sql = "SELECT d.fk_facture_fourn as facid, f.ref_supplier as facnum, d.tva_tx as rate, d.total_ht as totalht, d.tva as amount";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f";
|
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f";
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."facture_fourn_det as d" ;
|
$sql.= ", ".MAIN_DB_PREFIX."facture_fourn_det as d" ;
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||||
@ -222,8 +222,7 @@ if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES")
|
|||||||
$subtot_coll_vat = 0;
|
$subtot_coll_vat = 0;
|
||||||
$subtot_paye_total = 0;
|
$subtot_paye_total = 0;
|
||||||
$subtot_paye_vat = 0;
|
$subtot_paye_vat = 0;
|
||||||
for ($q = 1 ; $q <= 4 ; $q++)
|
for ($q = 1 ; $q <= 4 ; $q++) {
|
||||||
{
|
|
||||||
print "<tr class=\"liste_titre\"><td colspan=\"8\">".$langs->trans("Quadri")." $q (".dol_print_date(dol_mktime(0,0,0,(($q-1)*3)+1,1,$y),"%b %Y").' - '.dol_print_date(dol_mktime(0,0,0,($q*3),1,$y),"%b %Y").")</td></tr>";
|
print "<tr class=\"liste_titre\"><td colspan=\"8\">".$langs->trans("Quadri")." $q (".dol_print_date(dol_mktime(0,0,0,(($q-1)*3)+1,1,$y),"%b %Y").' - '.dol_print_date(dol_mktime(0,0,0,($q*3),1,$y),"%b %Y").")</td></tr>";
|
||||||
$var=true;
|
$var=true;
|
||||||
|
|
||||||
|
|||||||
713
htdocs/compta/tva/quarter_report.php
Normal file
713
htdocs/compta/tva/quarter_report.php
Normal file
@ -0,0 +1,713 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
|
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
|
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2006-2007, 2015 Yannick Warnier <ywarnier@beeznest.org>
|
||||||
|
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/compta/tva/quadri_detail.php
|
||||||
|
* \ingroup tax
|
||||||
|
* \brief Trimestrial page - detailed version
|
||||||
|
* TODO Deal with recurrent invoices as well
|
||||||
|
*/
|
||||||
|
|
||||||
|
require '../../main.inc.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php';
|
||||||
|
|
||||||
|
$langs->load("main");
|
||||||
|
$langs->load("bills");
|
||||||
|
$langs->load("compta");
|
||||||
|
$langs->load("companies");
|
||||||
|
$langs->load("products");
|
||||||
|
$langs->load("other");
|
||||||
|
|
||||||
|
// Date range
|
||||||
|
$year=GETPOST('year', 'int');
|
||||||
|
if (empty($year)) {
|
||||||
|
$year_current = strftime("%Y",dol_now());
|
||||||
|
$year_start = $year_current;
|
||||||
|
} else {
|
||||||
|
$year_current = $year;
|
||||||
|
$year_start = $year;
|
||||||
|
}
|
||||||
|
$date_start=dol_mktime(0,0,0,$_REQUEST["date_startmonth"],$_REQUEST["date_startday"],$_REQUEST["date_startyear"]);
|
||||||
|
$date_end=dol_mktime(23,59,59,$_REQUEST["date_endmonth"],$_REQUEST["date_endday"],$_REQUEST["date_endyear"]);
|
||||||
|
// Quarter
|
||||||
|
if (empty($date_start) || empty($date_end)) { // We define date_start and date_end
|
||||||
|
$q=GETPOST('q', 'int');
|
||||||
|
if (empty($q)) {
|
||||||
|
if (isset($_REQUEST["month"])) {
|
||||||
|
$date_start=dol_get_first_day($year_start,$_REQUEST["month"],false);
|
||||||
|
$date_end=dol_get_last_day($year_start,$_REQUEST["month"],false);
|
||||||
|
} else {
|
||||||
|
$month_current = strftime("%m",dol_now());
|
||||||
|
if ($month_current >= 10) $q=4;
|
||||||
|
elseif ($month_current >= 7) $q=3;
|
||||||
|
elseif ($month_current >= 4) $q=2;
|
||||||
|
else $q=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($q==1) {
|
||||||
|
$date_start=dol_get_first_day($year_start,1,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,3,false);
|
||||||
|
}
|
||||||
|
if ($q==2) {
|
||||||
|
$date_start=dol_get_first_day($year_start,4,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,6,false);
|
||||||
|
}
|
||||||
|
if ($q==3) {
|
||||||
|
$date_start=dol_get_first_day($year_start,7,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,9,false);
|
||||||
|
}
|
||||||
|
if ($q==4) {
|
||||||
|
$date_start=dol_get_first_day($year_start,10,false);
|
||||||
|
$date_end=dol_get_last_day($year_start,12,false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$min = GETPOST("min");
|
||||||
|
if (empty($min)) {
|
||||||
|
$min = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Define modetax (0 or 1)
|
||||||
|
// 0=normal, 1=option vat for services is on debit
|
||||||
|
$modetax = $conf->global->TAX_MODE;
|
||||||
|
if (isset($_REQUEST["modetax"])) {
|
||||||
|
$modetax=$_REQUEST["modetax"];
|
||||||
|
}
|
||||||
|
if (empty($modetax)) {
|
||||||
|
$modetax=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Security check
|
||||||
|
$socid = GETPOST('socid','int');
|
||||||
|
if ($user->societe_id) {
|
||||||
|
$socid=$user->societe_id;
|
||||||
|
}
|
||||||
|
$result = restrictedArea($user, 'tax', '', '', 'charges');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$morequerystring='';
|
||||||
|
$listofparams=array('date_startmonth','date_startyear','date_startday','date_endmonth','date_endyear','date_endday');
|
||||||
|
foreach ($listofparams as $param) {
|
||||||
|
if (GETPOST($param)!='') {
|
||||||
|
$morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
llxHeader('','','','',0,0,'','',$morequerystring);
|
||||||
|
|
||||||
|
$form=new Form($db);
|
||||||
|
|
||||||
|
$company_static=new Societe($db);
|
||||||
|
$invoice_customer=new Facture($db);
|
||||||
|
$invoice_supplier=new FactureFournisseur($db);
|
||||||
|
$product_static=new Product($db);
|
||||||
|
$payment_static=new Paiement($db);
|
||||||
|
$paymentfourn_static=new PaiementFourn($db);
|
||||||
|
|
||||||
|
//print_fiche_titre($langs->trans("VAT"),"");
|
||||||
|
|
||||||
|
//$fsearch.='<br>';
|
||||||
|
$fsearch.=' <input type="hidden" name="year" value="'.$year.'">';
|
||||||
|
$fsearch.=' <input type="hidden" name="modetax" value="'.$modetax.'">';
|
||||||
|
//$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': ';
|
||||||
|
//$fsearch.=' <input type="text" name="min" value="'.$min.'">';
|
||||||
|
|
||||||
|
|
||||||
|
// Affiche en-tete du rapport
|
||||||
|
if ($modetax==1) { // Calculate on invoice for goods and services
|
||||||
|
$nom=$langs->trans("VATReportByQuartersInDueDebtMode");
|
||||||
|
$calcmode=$langs->trans("CalcModeVATDebt");
|
||||||
|
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||||
|
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||||
|
$prevyear=$year_start; $prevquarter=$q;
|
||||||
|
if ($prevquarter > 1) {
|
||||||
|
$prevquarter--;
|
||||||
|
} else {
|
||||||
|
$prevquarter=4; $prevyear--;
|
||||||
|
}
|
||||||
|
$nextyear=$year_start; $nextquarter=$q;
|
||||||
|
if ($nextquarter < 4) {
|
||||||
|
$nextquarter++;
|
||||||
|
} else {
|
||||||
|
$nextquarter=1; $nextyear++;
|
||||||
|
}
|
||||||
|
//$periodlink=($prevyear?"<a href='".$_SERVER["PHP_SELF"]."?year=".$prevyear."&q=".$prevquarter."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".$nextyear."&q=".$nextquarter."&modetax=".$modetax."'>".img_next()."</a>":"");
|
||||||
|
$description=$langs->trans("RulesVATDueServices");
|
||||||
|
$description.='<br>';
|
||||||
|
$description.=$langs->trans("RulesVATDueProducts");
|
||||||
|
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
||||||
|
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||||
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
|
$description.='<br>'.$langs->trans("DepositsAreNotIncluded");
|
||||||
|
} else {
|
||||||
|
$description.='<br>'.$langs->trans("DepositsAreIncluded");
|
||||||
|
}
|
||||||
|
$description.=$fsearch;
|
||||||
|
$builddate=time();
|
||||||
|
//$exportlink=$langs->trans("NotYetAvailable");
|
||||||
|
|
||||||
|
$elementcust=$langs->trans("CustomersInvoices");
|
||||||
|
$productcust=$langs->trans("ProductOrService");
|
||||||
|
$amountcust=$langs->trans("AmountHT");
|
||||||
|
$vatcust=$langs->trans("VATReceived");
|
||||||
|
$namecust=$langs->trans("Name");
|
||||||
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatcust.=' ('.$langs->trans("ToPay").')';
|
||||||
|
}
|
||||||
|
$elementsup=$langs->trans("SuppliersInvoices");
|
||||||
|
$productsup=$langs->trans("ProductOrService");
|
||||||
|
$amountsup=$langs->trans("AmountHT");
|
||||||
|
$vatsup=$langs->trans("VATPaid");
|
||||||
|
$namesup=$namecust;
|
||||||
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($modetax==0) { // Invoice for goods, payment for services
|
||||||
|
$nom=$langs->trans("VATReportByQuartersInInputOutputMode");
|
||||||
|
$calcmode=$langs->trans("CalcModeVATEngagement");
|
||||||
|
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||||
|
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||||
|
$prevyear=$year_start; $prevquarter=$q;
|
||||||
|
if ($prevquarter > 1) {
|
||||||
|
$prevquarter--;
|
||||||
|
} else {
|
||||||
|
$prevquarter=4; $prevyear--;
|
||||||
|
}
|
||||||
|
$nextyear=$year_start; $nextquarter=$q;
|
||||||
|
if ($nextquarter < 4) {
|
||||||
|
$nextquarter++;
|
||||||
|
} else {
|
||||||
|
$nextquarter=1; $nextyear++;
|
||||||
|
}
|
||||||
|
//$periodlink=($prevyear?"<a href='".$_SERVER["PHP_SELF"]."?year=".$prevyear."&q=".$prevquarter."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".$nextyear."&q=".$nextquarter."&modetax=".$modetax."'>".img_next()."</a>":"");
|
||||||
|
$description=$langs->trans("RulesVATInServices");
|
||||||
|
$description.=' '.$langs->trans("DepositsAreIncluded");
|
||||||
|
$description.='<br>';
|
||||||
|
$description.=$langs->trans("RulesVATInProducts");
|
||||||
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
|
$description.=' '.$langs->trans("DepositsAreNotIncluded");
|
||||||
|
} else {
|
||||||
|
$description.=' '.$langs->trans("DepositsAreIncluded");
|
||||||
|
}
|
||||||
|
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
||||||
|
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||||
|
$description.=$fsearch;
|
||||||
|
$builddate=time();
|
||||||
|
//$exportlink=$langs->trans("NotYetAvailable");
|
||||||
|
|
||||||
|
$elementcust=$langs->trans("CustomersInvoices");
|
||||||
|
$productcust=$langs->trans("ProductOrService");
|
||||||
|
$amountcust=$langs->trans("AmountHT");
|
||||||
|
$vatcust=$langs->trans("VATReceived");
|
||||||
|
$namecust=$langs->trans("Name");
|
||||||
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatcust.=' ('.$langs->trans("ToPay").')';
|
||||||
|
}
|
||||||
|
$elementsup=$langs->trans("SuppliersInvoices");
|
||||||
|
$productsup=$productcust;
|
||||||
|
$amountsup=$amountcust;
|
||||||
|
$vatsup=$langs->trans("VATPaid");
|
||||||
|
$namesup=$namecust;
|
||||||
|
if ($mysoc->tva_assuj) {
|
||||||
|
$vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode);
|
||||||
|
|
||||||
|
$vatcust=$langs->trans("VATReceived");
|
||||||
|
$vatsup=$langs->trans("VATPaid");
|
||||||
|
|
||||||
|
|
||||||
|
// VAT Received and paid
|
||||||
|
|
||||||
|
echo '<table class="noborder" width="100%">';
|
||||||
|
|
||||||
|
$y = $year_current;
|
||||||
|
$total = 0;
|
||||||
|
$i=0;
|
||||||
|
$columns = 6;
|
||||||
|
|
||||||
|
// Load arrays of datas
|
||||||
|
$x_coll = vat_by_date($db, 0, 0, $date_start, $date_end, $modetax, 'sell');
|
||||||
|
$x_paye = vat_by_date($db, 0, 0, $date_start, $date_end, $modetax, 'buy');
|
||||||
|
|
||||||
|
if (!is_array($x_coll) || !is_array($x_paye)) {
|
||||||
|
$langs->load("errors");
|
||||||
|
if ($x_coll == -1) {
|
||||||
|
print '<tr><td colspan="' . $columns . '">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>';
|
||||||
|
} else if ($x_coll == -2) {
|
||||||
|
print '<tr><td colspan="' . $columns . '">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>';
|
||||||
|
} else {
|
||||||
|
print '<tr><td colspan="' . $columns . '">' . $langs->trans("Error") . '</td></tr>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$x_both = array();
|
||||||
|
//now, from these two arrays, get another array with one rate per line
|
||||||
|
foreach(array_keys($x_coll) as $my_coll_rate) {
|
||||||
|
$x_both[$my_coll_rate]['coll']['totalht'] = $x_coll[$my_coll_rate]['totalht'];
|
||||||
|
$x_both[$my_coll_rate]['coll']['vat'] = $x_coll[$my_coll_rate]['vat'];
|
||||||
|
$x_both[$my_coll_rate]['paye']['totalht'] = 0;
|
||||||
|
$x_both[$my_coll_rate]['paye']['vat'] = 0;
|
||||||
|
$x_both[$my_coll_rate]['coll']['links'] = '';
|
||||||
|
$x_both[$my_coll_rate]['coll']['detail'] = array();
|
||||||
|
foreach($x_coll[$my_coll_rate]['facid'] as $id=>$dummy) {
|
||||||
|
$invoice_customer->id=$x_coll[$my_coll_rate]['facid'][$id];
|
||||||
|
$invoice_customer->ref=$x_coll[$my_coll_rate]['facnum'][$id];
|
||||||
|
$invoice_customer->type=$x_coll[$my_coll_rate]['type'][$id];
|
||||||
|
$company_static->fetch($x_coll[$my_coll_rate]['company_id'][$id]);
|
||||||
|
$x_both[$my_coll_rate]['coll']['detail'][] = array(
|
||||||
|
'id' =>$x_coll[$my_coll_rate]['facid'][$id],
|
||||||
|
'descr' =>$x_coll[$my_coll_rate]['descr'][$id],
|
||||||
|
'pid' =>$x_coll[$my_coll_rate]['pid'][$id],
|
||||||
|
'pref' =>$x_coll[$my_coll_rate]['pref'][$id],
|
||||||
|
'ptype' =>$x_coll[$my_coll_rate]['ptype'][$id],
|
||||||
|
'payment_id'=>$x_coll[$my_coll_rate]['payment_id'][$id],
|
||||||
|
'payment_amount'=>$x_coll[$my_coll_rate]['payment_amount'][$id],
|
||||||
|
'ftotal_ttc'=>$x_coll[$my_coll_rate]['ftotal_ttc'][$id],
|
||||||
|
'dtotal_ttc'=>$x_coll[$my_coll_rate]['dtotal_ttc'][$id],
|
||||||
|
'dtype' =>$x_coll[$my_coll_rate]['dtype'][$id],
|
||||||
|
'datef' =>$x_coll[$my_coll_rate]['datef'][$id],
|
||||||
|
'company_link'=>$company_static->getNomUrl(1,'',20),
|
||||||
|
'ddate_start'=>$x_coll[$my_coll_rate]['ddate_start'][$id],
|
||||||
|
'ddate_end' =>$x_coll[$my_coll_rate]['ddate_end'][$id],
|
||||||
|
'totalht' =>$x_coll[$my_coll_rate]['totalht_list'][$id],
|
||||||
|
'vat' =>$x_coll[$my_coll_rate]['vat_list'][$id],
|
||||||
|
'link' =>$invoice_customer->getNomUrl(1,'',12)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// tva paid
|
||||||
|
foreach (array_keys($x_paye) as $my_paye_rate) {
|
||||||
|
$x_both[$my_paye_rate]['paye']['totalht'] = $x_paye[$my_paye_rate]['totalht'];
|
||||||
|
$x_both[$my_paye_rate]['paye']['vat'] = $x_paye[$my_paye_rate]['vat'];
|
||||||
|
if (!isset($x_both[$my_paye_rate]['coll']['totalht'])) {
|
||||||
|
$x_both[$my_paye_rate]['coll']['totalht'] = 0;
|
||||||
|
$x_both[$my_paye_rate]['coll']['vat'] = 0;
|
||||||
|
}
|
||||||
|
$x_both[$my_paye_rate]['paye']['links'] = '';
|
||||||
|
$x_both[$my_paye_rate]['paye']['detail'] = array();
|
||||||
|
|
||||||
|
foreach ($x_paye[$my_paye_rate]['facid'] as $id=>$dummy) {
|
||||||
|
$invoice_supplier->id=$x_paye[$my_paye_rate]['facid'][$id];
|
||||||
|
$invoice_supplier->ref=$x_paye[$my_paye_rate]['facnum'][$id];
|
||||||
|
$invoice_supplier->type=$x_paye[$my_paye_rate]['type'][$id];
|
||||||
|
$company_static->fetch($x_paye[$my_paye_rate]['company_id'][$id]);
|
||||||
|
$x_both[$my_paye_rate]['paye']['detail'][] = array(
|
||||||
|
'id' =>$x_paye[$my_paye_rate]['facid'][$id],
|
||||||
|
'descr' =>$x_paye[$my_paye_rate]['descr'][$id],
|
||||||
|
'pid' =>$x_paye[$my_paye_rate]['pid'][$id],
|
||||||
|
'pref' =>$x_paye[$my_paye_rate]['pref'][$id],
|
||||||
|
'ptype' =>$x_paye[$my_paye_rate]['ptype'][$id],
|
||||||
|
'payment_id'=>$x_paye[$my_paye_rate]['payment_id'][$id],
|
||||||
|
'payment_amount'=>$x_paye[$my_paye_rate]['payment_amount'][$id],
|
||||||
|
'ftotal_ttc'=>price2num($x_paye[$my_paye_rate]['ftotal_ttc'][$id]),
|
||||||
|
'dtotal_ttc'=>price2num($x_paye[$my_paye_rate]['dtotal_ttc'][$id]),
|
||||||
|
'dtype' =>$x_paye[$my_paye_rate]['dtype'][$id],
|
||||||
|
'datef' =>$x_paye[$my_paye_rate]['datef'][$id],
|
||||||
|
'company_link'=>$company_static->getNomUrl(1,'',20),
|
||||||
|
'ddate_start'=>$x_paye[$my_paye_rate]['ddate_start'][$id],
|
||||||
|
'ddate_end' =>$x_paye[$my_paye_rate]['ddate_end'][$id],
|
||||||
|
'totalht' =>price2num($x_paye[$my_paye_rate]['totalht_list'][$id]),
|
||||||
|
'vat' =>$x_paye[$my_paye_rate]['vat_list'][$id],
|
||||||
|
'link' =>$invoice_supplier->getNomUrl(1,'',12)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//now we have an array (x_both) indexed by rates for coll and paye
|
||||||
|
|
||||||
|
|
||||||
|
//print table headers for this quadri - incomes first
|
||||||
|
|
||||||
|
$x_coll_sum = 0;
|
||||||
|
$x_coll_ht = 0;
|
||||||
|
$x_paye_sum = 0;
|
||||||
|
$x_paye_ht = 0;
|
||||||
|
|
||||||
|
$span=$columns-3;
|
||||||
|
if ($modetax == 0) $span+=2;
|
||||||
|
|
||||||
|
//print '<tr><td colspan="'.($span+1).'">'..')</td></tr>';
|
||||||
|
|
||||||
|
// Customers invoices
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td align="left">'.$elementcust.'</td>';
|
||||||
|
print '<td align="left">'.$langs->trans("Date").'</td>';
|
||||||
|
print '<td align="left">'.$namecust.'</td>';
|
||||||
|
print '<td align="left">'.$productcust.'</td>';
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td align="right">'.$amountcust.'</td>';
|
||||||
|
print '<td align="right">'.$langs->trans("Payment").' ('.$langs->trans("PercentOfInvoice").')</td>';
|
||||||
|
}
|
||||||
|
print '<td align="right">'.$langs->trans("AmountHTVATRealReceived").'</td>';
|
||||||
|
print '<td align="right">'.$vatcust.'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
$action = "tvadetail";
|
||||||
|
$parameters["mode"] = $modetax;
|
||||||
|
$parameters["start"] = $date_start;
|
||||||
|
$parameters["end"] = $date_end;
|
||||||
|
$object = array(&$x_coll, &$x_paye, &$x_both);
|
||||||
|
// Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array
|
||||||
|
$hookmanager->initHooks(array('externalbalance'));
|
||||||
|
$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
|
||||||
|
foreach (array_keys($x_coll) as $rate) {
|
||||||
|
$subtot_coll_total_ht = 0;
|
||||||
|
$subtot_coll_vat = 0;
|
||||||
|
|
||||||
|
if (is_array($x_both[$rate]['coll']['detail'])) {
|
||||||
|
// VAT Rate
|
||||||
|
$var=true;
|
||||||
|
print "<tr>";
|
||||||
|
print '<td class="tax_rate">'.$langs->trans("Rate").': '.vatrate($rate).'%</td><td colspan="'.$span.'"></td>';
|
||||||
|
print '</tr>'."\n";
|
||||||
|
|
||||||
|
foreach ($x_both[$rate]['coll']['detail'] as $index => $fields) {
|
||||||
|
// Define type
|
||||||
|
$type=($fields['dtype']?$fields['dtype']:$fields['ptype']);
|
||||||
|
// Try to enhance type detection using date_start and date_end for free lines where type
|
||||||
|
// was not saved.
|
||||||
|
if (!empty($fields['ddate_start'])) {
|
||||||
|
$type=1;
|
||||||
|
}
|
||||||
|
if (!empty($fields['ddate_end'])) {
|
||||||
|
$type=1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$var=!$var;
|
||||||
|
print '<tr '.$bc[$var].'>';
|
||||||
|
|
||||||
|
// Ref
|
||||||
|
print '<td class="nowrap" align="left">'.$fields['link'].'</td>';
|
||||||
|
|
||||||
|
// Invoice date
|
||||||
|
print '<td align="left">' . $fields['datef'] . '</td>';
|
||||||
|
// Company name
|
||||||
|
print '<td align="left">' . $fields['company_link'] . '</td>';
|
||||||
|
|
||||||
|
// Description
|
||||||
|
print '<td align="left">';
|
||||||
|
if ($fields['pid']) {
|
||||||
|
$product_static->id=$fields['pid'];
|
||||||
|
$product_static->ref=$fields['pref'];
|
||||||
|
$product_static->type=$fields['ptype'];
|
||||||
|
print $product_static->getNomUrl(1);
|
||||||
|
if (dol_string_nohtmltag($fields['descr'])) {
|
||||||
|
print ' - '.dol_trunc(dol_string_nohtmltag($fields['descr']),16);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($type) {
|
||||||
|
$text = img_object($langs->trans('Service'),'service');
|
||||||
|
} else {
|
||||||
|
$text = img_object($langs->trans('Product'),'product');
|
||||||
|
}
|
||||||
|
if (preg_match('/^\((.*)\)$/',$fields['descr'],$reg)) {
|
||||||
|
if ($reg[1]=='DEPOSIT') {
|
||||||
|
$fields['descr']=$langs->transnoentitiesnoconv('Deposit');
|
||||||
|
} elseif ($reg[1]=='CREDIT_NOTE') {
|
||||||
|
$fields['descr']=$langs->transnoentitiesnoconv('CreditNote');
|
||||||
|
} else {
|
||||||
|
$fields['descr']=$langs->transnoentitiesnoconv($reg[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print $text.' '.dol_trunc(dol_string_nohtmltag($fields['descr']),16);
|
||||||
|
|
||||||
|
// Show range
|
||||||
|
print_date_range($fields['ddate_start'],$fields['ddate_end']);
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// Total HT
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
print price($fields['totalht']);
|
||||||
|
if (price2num($fields['ftotal_ttc'])) {
|
||||||
|
//print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - ";
|
||||||
|
$ratiolineinvoice=($fields['dtotal_ttc']/$fields['ftotal_ttc']);
|
||||||
|
//print ' ('.round($ratiolineinvoice*100,2).'%)';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Payment
|
||||||
|
$ratiopaymentinvoice=1;
|
||||||
|
if ($modetax == 0) {
|
||||||
|
if (isset($fields['payment_amount']) && $fields['ftotal_ttc']) {
|
||||||
|
$ratiopaymentinvoice=($fields['payment_amount']/$fields['ftotal_ttc']);
|
||||||
|
}
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
//print $fields['totalht']."-".$fields['payment_amount']."-".$fields['ftotal_ttc'];
|
||||||
|
if ($fields['payment_amount'] && $fields['ftotal_ttc']) {
|
||||||
|
$payment_static->id=$fields['payment_id'];
|
||||||
|
print $payment_static->getNomUrl(2);
|
||||||
|
}
|
||||||
|
if ($type == 0) {
|
||||||
|
print $langs->trans("NotUsedForGoods");
|
||||||
|
} else {
|
||||||
|
print $fields['payment_amount'];
|
||||||
|
if (isset($fields['payment_amount'])) {
|
||||||
|
print ' ('.round($ratiopaymentinvoice*100,2).'%)';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Total collected
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
$temp_ht=$fields['totalht'];
|
||||||
|
if ($type == 1) {
|
||||||
|
$temp_ht=$fields['totalht']*$ratiopaymentinvoice;
|
||||||
|
}
|
||||||
|
print price(price2num($temp_ht,'MT'),1);
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// VAT
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
$temp_vat=$fields['vat'];
|
||||||
|
if ($type == 1) {
|
||||||
|
$temp_vat=$fields['vat']*$ratiopaymentinvoice;
|
||||||
|
}
|
||||||
|
print price(price2num($temp_vat,'MT'),1);
|
||||||
|
//print price($fields['vat']);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
$subtot_coll_total_ht += $temp_ht;
|
||||||
|
$subtot_coll_vat += $temp_vat;
|
||||||
|
$x_coll_sum += $temp_vat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Total customers for this vat rate
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
print '<td colspan="'.$span.'"></td>';
|
||||||
|
print '<td align="right">'.$langs->trans("Total").':</td>';
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td class="nowrap" align="right"> </td>';
|
||||||
|
print '<td align="right"> </td>';
|
||||||
|
}
|
||||||
|
print '<td align="right">'.price(price2num($subtot_coll_total_ht,'MT')).'</td>';
|
||||||
|
print '<td class="nowrap" align="right">'.price(price2num($subtot_coll_vat,'MT')).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($x_coll) == 0) { // Show a total ine if nothing shown
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
print '<td colspan="'.$span.'"></td>';
|
||||||
|
print '<td align="right">'.$langs->trans("Total").':</td>';
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td class="nowrap" align="right"> </td>';
|
||||||
|
print '<td align="right"> </td>';
|
||||||
|
}
|
||||||
|
print '<td align="right">'.price(price2num(0,'MT')).'</td>';
|
||||||
|
print '<td class="nowrap" align="right">'.price(price2num(0,'MT')).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blank line
|
||||||
|
print '<tr><td colspan="'.($span+1).'"> </td></tr>';
|
||||||
|
|
||||||
|
//print table headers for this quadri - expenses now
|
||||||
|
//imprime les en-tete de tables pour ce quadri - maintenant les d<>penses
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td align="left">'.$elementsup.'</td>';
|
||||||
|
print '<td align="left">'.$langs->trans("Date").'</td>';
|
||||||
|
print '<td align="left">'.$namesup.'</td>';
|
||||||
|
print '<td align="left">'.$productsup.'</td>';
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td align="right">'.$amountsup.'</td>';
|
||||||
|
print '<td align="right">'.$langs->trans("Payment").' ('.$langs->trans("PercentOfInvoice").')</td>';
|
||||||
|
}
|
||||||
|
print '<td align="right">'.$langs->trans("AmountHTVATRealPaid").'</td>';
|
||||||
|
print '<td align="right">'.$vatsup.'</td>';
|
||||||
|
print '</tr>'."\n";
|
||||||
|
|
||||||
|
foreach (array_keys($x_paye) as $rate) {
|
||||||
|
$subtot_paye_total_ht = 0;
|
||||||
|
$subtot_paye_vat = 0;
|
||||||
|
|
||||||
|
if (is_array($x_both[$rate]['paye']['detail'])) {
|
||||||
|
$var=true;
|
||||||
|
print "<tr>";
|
||||||
|
print '<td class="tax_rate">'.$langs->trans("Rate").': '.vatrate($rate).'%</td><td colspan="'.$span.'"></td>';
|
||||||
|
print '</tr>'."\n";
|
||||||
|
|
||||||
|
foreach ($x_both[$rate]['paye']['detail'] as $index=>$fields) {
|
||||||
|
// Define type
|
||||||
|
$type=($fields['dtype']?$fields['dtype']:$fields['ptype']);
|
||||||
|
// Try to enhance type detection using date_start and date_end for free lines where type
|
||||||
|
// was not saved.
|
||||||
|
if (!empty($fields['ddate_start'])) {
|
||||||
|
$type=1;
|
||||||
|
}
|
||||||
|
if (!empty($fields['ddate_end'])) {
|
||||||
|
$type=1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$var=!$var;
|
||||||
|
print '<tr '.$bc[$var].'>';
|
||||||
|
|
||||||
|
// Ref
|
||||||
|
print '<td class="nowrap" align="left">'.$fields['link'].'</td>';
|
||||||
|
// Invoice date
|
||||||
|
print '<td align="left">' . $fields['datef'] . '</td>';
|
||||||
|
// Company name
|
||||||
|
print '<td align="left">' . $fields['company_link'] . '</td>';
|
||||||
|
|
||||||
|
// Description
|
||||||
|
print '<td align="left">';
|
||||||
|
if ($fields['pid']) {
|
||||||
|
$product_static->id=$fields['pid'];
|
||||||
|
$product_static->ref=$fields['pref'];
|
||||||
|
$product_static->type=$fields['ptype'];
|
||||||
|
print $product_static->getNomUrl(1);
|
||||||
|
if (dol_string_nohtmltag($fields['descr'])) {
|
||||||
|
print ' - '.dol_trunc(dol_string_nohtmltag($fields['descr']),16);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($type) {
|
||||||
|
$text = img_object($langs->trans('Service'),'service');
|
||||||
|
} else {
|
||||||
|
$text = img_object($langs->trans('Product'),'product');
|
||||||
|
}
|
||||||
|
print $text.' '.dol_trunc(dol_string_nohtmltag($fields['descr']),16);
|
||||||
|
|
||||||
|
// Show range
|
||||||
|
print_date_range($fields['ddate_start'],$fields['ddate_end']);
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// Total HT
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
print price($fields['totalht']);
|
||||||
|
if (price2num($fields['ftotal_ttc'])) {
|
||||||
|
//print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - ";
|
||||||
|
$ratiolineinvoice=($fields['dtotal_ttc']/$fields['ftotal_ttc']);
|
||||||
|
//print ' ('.round($ratiolineinvoice*100,2).'%)';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Payment
|
||||||
|
$ratiopaymentinvoice=1;
|
||||||
|
if ($modetax == 0) {
|
||||||
|
if (isset($fields['payment_amount']) && $fields['ftotal_ttc']) {
|
||||||
|
$ratiopaymentinvoice=($fields['payment_amount']/$fields['ftotal_ttc']);
|
||||||
|
}
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
if ($fields['payment_amount'] && $fields['ftotal_ttc']) {
|
||||||
|
$paymentfourn_static->id=$fields['payment_id'];
|
||||||
|
print $paymentfourn_static->getNomUrl(2);
|
||||||
|
}
|
||||||
|
if ($type == 0) {
|
||||||
|
print $langs->trans("NotUsedForGoods");
|
||||||
|
} else {
|
||||||
|
print $fields['payment_amount'];
|
||||||
|
if (isset($fields['payment_amount'])) {
|
||||||
|
print ' ('.round($ratiopaymentinvoice*100,2).'%)';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// VAT paid
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
$temp_ht=$fields['totalht'];
|
||||||
|
if ($type == 1) {
|
||||||
|
$temp_ht=$fields['totalht']*$ratiopaymentinvoice;
|
||||||
|
}
|
||||||
|
print price(price2num($temp_ht,'MT'),1);
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// VAT
|
||||||
|
print '<td class="nowrap" align="right">';
|
||||||
|
$temp_vat=$fields['vat'];
|
||||||
|
if ($type == 1) {
|
||||||
|
$temp_vat=$fields['vat']*$ratiopaymentinvoice;
|
||||||
|
}
|
||||||
|
print price(price2num($temp_vat,'MT'),1);
|
||||||
|
//print price($fields['vat']);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
$subtot_paye_total_ht += $temp_ht;
|
||||||
|
$subtot_paye_vat += $temp_vat;
|
||||||
|
$x_paye_sum += $temp_vat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Total suppliers for this vat rate
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
print '<td colspan="'.$span.'"></td>';
|
||||||
|
print '<td align="right">'.$langs->trans("Total").':</td>';
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td class="nowrap" align="right"> </td>';
|
||||||
|
print '<td align="right"> </td>';
|
||||||
|
}
|
||||||
|
print '<td align="right">'.price(price2num($subtot_paye_total_ht,'MT')).'</td>';
|
||||||
|
print '<td class="nowrap" align="right">'.price(price2num($subtot_paye_vat,'MT')).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($x_paye) == 0) { // Show a total ine if nothing shown
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
print '<td colspan="'.$span.'"></td>';
|
||||||
|
print '<td align="right">'.$langs->trans("Total").':</td>';
|
||||||
|
if ($modetax == 0) {
|
||||||
|
print '<td class="nowrap" align="right"> </td>';
|
||||||
|
print '<td align="right"> </td>';
|
||||||
|
}
|
||||||
|
print '<td align="right">'.price(price2num(0,'MT')).'</td>';
|
||||||
|
print '<td class="nowrap" align="right">'.price(price2num(0,'MT')).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
print '</table>';
|
||||||
|
|
||||||
|
// Total to pay
|
||||||
|
print '<br><br>';
|
||||||
|
print '<table class="noborder" width="100%">';
|
||||||
|
$diff = $x_coll_sum - $x_paye_sum;
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
print '<td class="liste_total" colspan="'.$span.'">'.$langs->trans("TotalToPay").($q?', '.$langs->trans("Quadri").' '.$q:'').'</td>';
|
||||||
|
print '<td class="liste_total nowrap" align="right"><b>'.price(price2num($diff,'MT'))."</b></td>\n";
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
echo '</table>';
|
||||||
|
|
||||||
|
$db->close();
|
||||||
|
|
||||||
|
llxFooter();
|
||||||
@ -1254,10 +1254,11 @@ class Form
|
|||||||
* @param string $morefilter Add more filters into sql request
|
* @param string $morefilter Add more filters into sql request
|
||||||
* @param string $show_every 0=default list, 1=add also a value "Everybody" at beginning of list
|
* @param string $show_every 0=default list, 1=add also a value "Everybody" at beginning of list
|
||||||
* @param string $enableonlytext If option $enableonly is set, we use this text to explain into label why record is disabled. Not used if enableonly is empty.
|
* @param string $enableonlytext If option $enableonly is set, we use this text to explain into label why record is disabled. Not used if enableonly is empty.
|
||||||
|
* @param string $morecss More css
|
||||||
* @return string HTML select string
|
* @return string HTML select string
|
||||||
* @see select_dolgroups
|
* @see select_dolgroups
|
||||||
*/
|
*/
|
||||||
function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0, $showstatus=0, $morefilter='', $show_every=0, $enableonlytext='')
|
function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0, $showstatus=0, $morefilter='', $show_every=0, $enableonlytext='', $morecss='')
|
||||||
{
|
{
|
||||||
global $conf,$user,$langs;
|
global $conf,$user,$langs;
|
||||||
|
|
||||||
@ -1339,7 +1340,7 @@ class Form
|
|||||||
$nodatarole=($comboenhancement?' data-role="none"':'');
|
$nodatarole=($comboenhancement?' data-role="none"':'');
|
||||||
}
|
}
|
||||||
|
|
||||||
$out.= '<select class="flat minwidth200" id="'.$htmlname.'" name="'.$htmlname.'"'.($disabled?' disabled':'').$nodatarole.'>';
|
$out.= '<select class="flat minwidth200'.($morecss?' '.$morecss:'').'" id="'.$htmlname.'" name="'.$htmlname.'"'.($disabled?' disabled':'').$nodatarole.'>';
|
||||||
if ($show_empty) $out.= '<option value="-1"'.((empty($selected) || $selected==-1)?' selected':'').'> </option>'."\n";
|
if ($show_empty) $out.= '<option value="-1"'.((empty($selected) || $selected==-1)?' selected':'').'> </option>'."\n";
|
||||||
if ($show_every) $out.= '<option value="-2"'.(($selected==-2)?' selected':'').'>-- '.$langs->trans("Everybody").' --</option>'."\n";
|
if ($show_every) $out.= '<option value="-2"'.(($selected==-2)?' selected':'').'>-- '.$langs->trans("Everybody").' --</option>'."\n";
|
||||||
|
|
||||||
@ -3167,6 +3168,18 @@ class Form
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ($input['type'] == 'date')
|
||||||
|
{
|
||||||
|
$more.='<tr><td>'.$input['label'].'</td>';
|
||||||
|
$more.='<td colspan="2" align="left">';
|
||||||
|
$more.=$this->select_date($input['value'],$input['name'],0,0,0,'',1,0,1);
|
||||||
|
$more.='</td></tr>'."\n";
|
||||||
|
$formquestion[] = array('name'=>$input['name'].'day');
|
||||||
|
$formquestion[] = array('name'=>$input['name'].'month');
|
||||||
|
$formquestion[] = array('name'=>$input['name'].'year');
|
||||||
|
$formquestion[] = array('name'=>$input['name'].'hour');
|
||||||
|
$formquestion[] = array('name'=>$input['name'].'min');
|
||||||
|
}
|
||||||
else if ($input['type'] == 'other')
|
else if ($input['type'] == 'other')
|
||||||
{
|
{
|
||||||
$more.='<tr><td>';
|
$more.='<tr><td>';
|
||||||
@ -4296,7 +4309,7 @@ class Form
|
|||||||
$retstring.='</button> ';
|
$retstring.='</button> ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($nooutput)) return $retstring;
|
if (! empty($nooutput)) return $retstring;
|
||||||
|
|
||||||
print $retstring;
|
print $retstring;
|
||||||
|
|||||||
@ -276,7 +276,8 @@ class FormMail extends Form
|
|||||||
|
|
||||||
// Get message template
|
// Get message template
|
||||||
$model_id=0;
|
$model_id=0;
|
||||||
if (array_key_exists('models_id',$this->param)) {
|
if (array_key_exists('models_id',$this->param))
|
||||||
|
{
|
||||||
$model_id=$this->param["models_id"];
|
$model_id=$this->param["models_id"];
|
||||||
}
|
}
|
||||||
$arraydefaultmessage=$this->getEMailTemplate($this->db, $this->param["models"], $user, $outputlangs, $model_id);
|
$arraydefaultmessage=$this->getEMailTemplate($this->db, $this->param["models"], $user, $outputlangs, $model_id);
|
||||||
@ -295,23 +296,26 @@ class FormMail extends Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
$result = $this->fetchAllEMailTemplate($this->param["models"], $user, $outputlangs);
|
$result = $this->fetchAllEMailTemplate($this->param["models"], $user, $outputlangs);
|
||||||
if ($result<0) {
|
if ($result<0)
|
||||||
|
{
|
||||||
setEventMessage($this->error,'errors');
|
setEventMessage($this->error,'errors');
|
||||||
}
|
}
|
||||||
$modelmail_array=array();
|
$modelmail_array=array();
|
||||||
foreach($this->lines_model as $line) {
|
foreach($this->lines_model as $line)
|
||||||
|
{
|
||||||
$modelmail_array[$line->id]=$line->label;
|
$modelmail_array[$line->id]=$line->label;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($modelmail_array)>0) {
|
// Zone to select its email template
|
||||||
$out.= '<table class="nobordernopadding" width="100%"><tr><td width="20%">'."\n";
|
if (count($modelmail_array)>0)
|
||||||
|
{
|
||||||
|
$out.= '<div style="padding: 3px 0 3px 0">'."\n";
|
||||||
$out.= $langs->trans('SelectMailModel').':'.$this->selectarray('modelmailselected', $modelmail_array,$model_id);
|
$out.= $langs->trans('SelectMailModel').':'.$this->selectarray('modelmailselected', $modelmail_array,$model_id);
|
||||||
$out.= '</td>';
|
|
||||||
$out.= '<td width="5px">';
|
|
||||||
if ($user->admin) $out.= info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
|
if ($user->admin) $out.= info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
|
||||||
$out.= '</td>';
|
$out.= ' ';
|
||||||
$out.= '<td><input class="flat" type="submit" value="'.$langs->trans('Valid').'" name="modelselected" id="modelselected"></td>';
|
$out.= '<input class="button" type="submit" value="'.$langs->trans('Valid').'" name="modelselected" id="modelselected">';
|
||||||
$out.= '</tr></table>';
|
$out.= ' ';
|
||||||
|
$out.= '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -361,9 +361,10 @@ class FormOther
|
|||||||
* @param User $user Object user
|
* @param User $user Object user
|
||||||
* @param int $showstatus 0=show user status only if status is disabled, 1=always show user status into label, -1=never show user status
|
* @param int $showstatus 0=show user status only if status is disabled, 1=always show user status into label, -1=never show user status
|
||||||
* @param int $showempty 1=show also an empty value
|
* @param int $showempty 1=show also an empty value
|
||||||
|
* @param string $morecss More CSS
|
||||||
* @return string Html combo list code
|
* @return string Html combo list code
|
||||||
*/
|
*/
|
||||||
function select_salesrepresentatives($selected,$htmlname,$user,$showstatus=0,$showempty=1)
|
function select_salesrepresentatives($selected,$htmlname,$user,$showstatus=0,$showempty=1,$morecss='')
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf,$langs;
|
||||||
$langs->load('users');
|
$langs->load('users');
|
||||||
@ -383,7 +384,7 @@ class FormOther
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Select each sales and print them in a select input
|
// Select each sales and print them in a select input
|
||||||
$out.='<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"'.$nodatarole.'>';
|
$out.='<select class="flat'.($morecss?' '.$morecss:'').'" id="'.$htmlname.'" name="'.$htmlname.'"'.$nodatarole.'>';
|
||||||
if ($showempty) $out.='<option value="0"> </option>';
|
if ($showempty) $out.='<option value="0"> </option>';
|
||||||
|
|
||||||
// Get list of users allowed to be viewed
|
// Get list of users allowed to be viewed
|
||||||
|
|||||||
@ -261,7 +261,7 @@ class FormProjets
|
|||||||
*
|
*
|
||||||
* @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id)
|
* @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id)
|
||||||
* @param int $selected Id task preselected
|
* @param int $selected Id task preselected
|
||||||
* @param string $htmlname Nom de la zone html
|
* @param string $htmlname Name of HTML select
|
||||||
* @param int $maxlength Maximum length of label
|
* @param int $maxlength Maximum length of label
|
||||||
* @param int $option_only Return only html options lines without the select tag
|
* @param int $option_only Return only html options lines without the select tag
|
||||||
* @param int $show_empty Add an empty line
|
* @param int $show_empty Add an empty line
|
||||||
@ -270,7 +270,7 @@ class FormProjets
|
|||||||
* @param int $disabled Disabled
|
* @param int $disabled Disabled
|
||||||
* @return int Nber of project if OK, <0 if KO
|
* @return int Nber of project if OK, <0 if KO
|
||||||
*/
|
*/
|
||||||
function select_task($socid=-1, $selected='', $htmlname='taskid', $maxlength=24, $option_only=0, $show_empty=1, $discard_closed=0, $forcefocus=0, $disabled=0)
|
function selectTasks($socid=-1, $selected='', $htmlname='taskid', $maxlength=24, $option_only=0, $show_empty=1, $discard_closed=0, $forcefocus=0, $disabled=0)
|
||||||
{
|
{
|
||||||
global $user,$conf,$langs;
|
global $user,$conf,$langs;
|
||||||
|
|
||||||
@ -289,8 +289,11 @@ class FormProjets
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Search all projects
|
// Search all projects
|
||||||
$sql = 'SELECT t.rowid, t.ref as tref, t.label as tlabel, p.ref, p.title, p.fk_soc, p.fk_statut, p.public';
|
$sql = 'SELECT t.rowid, t.ref as tref, t.label as tlabel, p.ref, p.title, p.fk_soc, p.fk_statut, p.public,';
|
||||||
$sql.= ' FROM '.MAIN_DB_PREFIX .'projet as p, '.MAIN_DB_PREFIX.'projet_task as t';
|
$sql.= ' s.nom as name';
|
||||||
|
$sql.= ' FROM '.MAIN_DB_PREFIX .'projet as p';
|
||||||
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON s.rowid = p.fk_soc';
|
||||||
|
$sql.= ', '.MAIN_DB_PREFIX.'projet_task as t';
|
||||||
$sql.= " WHERE p.entity = ".$conf->entity;
|
$sql.= " WHERE p.entity = ".$conf->entity;
|
||||||
$sql.= " AND t.fk_projet = p.rowid";
|
$sql.= " AND t.fk_projet = p.rowid";
|
||||||
if ($projectsListId !== false) $sql.= " AND p.rowid IN (".$projectsListId.")";
|
if ($projectsListId !== false) $sql.= " AND p.rowid IN (".$projectsListId.")";
|
||||||
@ -312,7 +315,7 @@ class FormProjets
|
|||||||
$comboenhancement = ajax_combobox($htmlname, '', 0, $forcefocus);
|
$comboenhancement = ajax_combobox($htmlname, '', 0, $forcefocus);
|
||||||
$out.=$comboenhancement;
|
$out.=$comboenhancement;
|
||||||
$nodatarole=($comboenhancement?' data-role="none"':'');
|
$nodatarole=($comboenhancement?' data-role="none"':'');
|
||||||
$minmax='minwidth100';
|
$minmax='minwidth200';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($option_only)) {
|
if (empty($option_only)) {
|
||||||
@ -346,6 +349,8 @@ class FormProjets
|
|||||||
//else $labeltoshow.=' ('.$langs->trans("Private").')';
|
//else $labeltoshow.=' ('.$langs->trans("Private").')';
|
||||||
$labeltoshow.=' '.dol_trunc($obj->title,$maxlength);
|
$labeltoshow.=' '.dol_trunc($obj->title,$maxlength);
|
||||||
|
|
||||||
|
if ($obj->name) $labeltoshow.=' ('.$obj->name.')';
|
||||||
|
|
||||||
$disabled=0;
|
$disabled=0;
|
||||||
if ($obj->fk_statut == 0)
|
if ($obj->fk_statut == 0)
|
||||||
{
|
{
|
||||||
@ -512,7 +517,7 @@ class FormProjets
|
|||||||
*
|
*
|
||||||
* @param string $htmlname HTML name
|
* @param string $htmlname HTML name
|
||||||
* @param int $preselected Preselected
|
* @param int $preselected Preselected
|
||||||
* @param int $shwoempty Add an empty line
|
* @param int $showempty Add an empty line
|
||||||
* @param int $useshortlabel Use short label
|
* @param int $useshortlabel Use short label
|
||||||
* @return int|string The HTML select list of element or '' if nothing or -1 if KO
|
* @return int|string The HTML select list of element or '' if nothing or -1 if KO
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -58,11 +58,12 @@ class Menu
|
|||||||
* @param string $target Target lien
|
* @param string $target Target lien
|
||||||
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
||||||
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
||||||
|
* @param int $position Position (not used yet)
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function add($url, $titre, $level=0, $enabled=1, $target='',$mainmenu='',$leftmenu='')
|
function add($url, $titre, $level=0, $enabled=1, $target='',$mainmenu='',$leftmenu='',$position=0)
|
||||||
{
|
{
|
||||||
$this->liste[]=array('url'=>$url,'titre'=>$titre,'level'=>$level,'enabled'=>$enabled,'target'=>$target,'mainmenu'=>$mainmenu,'leftmenu'=>$leftmenu);
|
$this->liste[]=array('url'=>$url,'titre'=>$titre,'level'=>$level,'enabled'=>$enabled,'target'=>$target,'mainmenu'=>$mainmenu,'leftmenu'=>$leftmenu, 'position'=>$position);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,12 +77,13 @@ class Menu
|
|||||||
* @param string $target Target lien
|
* @param string $target Target lien
|
||||||
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
||||||
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
||||||
|
* @param int $position Position (not used yet)
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function insert($idafter, $url, $titre, $level=0, $enabled=1, $target='',$mainmenu='',$leftmenu='')
|
function insert($idafter, $url, $titre, $level=0, $enabled=1, $target='',$mainmenu='',$leftmenu='',$position=0)
|
||||||
{
|
{
|
||||||
$array_start = array_slice($this->liste,0,($idafter+1));
|
$array_start = array_slice($this->liste,0,($idafter+1));
|
||||||
$array_new = array(0=>array('url'=>$url,'titre'=>$titre,'level'=>$level,'enabled'=>$enabled,'target'=>$target,'mainmenu'=>$mainmenu,'leftmenu'=>$leftmenu));
|
$array_new = array(0=>array('url'=>$url,'titre'=>$titre,'level'=>$level,'enabled'=>$enabled,'target'=>$target,'mainmenu'=>$mainmenu,'leftmenu'=>$leftmenu,'position'=>$position));
|
||||||
$array_end = array_slice($this->liste,($idafter+1));
|
$array_end = array_slice($this->liste,($idafter+1));
|
||||||
$this->liste=array_merge($array_start,$array_new,$array_end);
|
$this->liste=array_merge($array_start,$array_new,$array_end);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,6 +95,7 @@ class Menubase
|
|||||||
$this->perms=trim($this->perms);
|
$this->perms=trim($this->perms);
|
||||||
$this->enabled=trim($this->enabled);
|
$this->enabled=trim($this->enabled);
|
||||||
$this->user=trim($this->user);
|
$this->user=trim($this->user);
|
||||||
|
$this->position=trim($this->position);
|
||||||
if (! $this->level) $this->level=0;
|
if (! $this->level) $this->level=0;
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
|
|||||||
@ -57,7 +57,8 @@ function showDP(base,dateFieldID,format,codelang)
|
|||||||
|
|
||||||
showDP.box=document.createElement("div");
|
showDP.box=document.createElement("div");
|
||||||
showDP.box.className="bodyline";
|
showDP.box.className="bodyline";
|
||||||
showDP.box.style.siplay="block";
|
showDP.box.style.display="block";
|
||||||
|
showDP.box.style.zIndex="1000";
|
||||||
showDP.box.style.position="absolute";
|
showDP.box.style.position="absolute";
|
||||||
showDP.box.style.top=thetop + "px";
|
showDP.box.style.top=thetop + "px";
|
||||||
showDP.box.style.left=theleft + "px";
|
showDP.box.style.left=theleft + "px";
|
||||||
|
|||||||
@ -2901,11 +2901,11 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so
|
|||||||
* @param string $file Page URL (in most cases provided with $_SERVER["PHP_SELF"])
|
* @param string $file Page URL (in most cases provided with $_SERVER["PHP_SELF"])
|
||||||
* @param string $options Other url paramaters to propagate ("" by default)
|
* @param string $options Other url paramaters to propagate ("" by default)
|
||||||
* @param integer $nextpage Do we show a next page button
|
* @param integer $nextpage Do we show a next page button
|
||||||
* @param string $betweenarrows HTML content to show between arrows. Must contains '<li> </li>' tags.
|
* @param string $betweenarrows HTML content to show between arrows. MUST contains '<li> </li>' tags or '<li><span> </span></li>'.
|
||||||
* @param string $afterarrows HTML content to show after arrows. Must NOT contains '<li> </li>' tags.
|
* @param string $afterarrows HTML content to show after arrows. Must NOT contains '<li> </li>' tags.
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function print_fleche_navigation($page,$file,$options='',$nextpage=0,$betweenarrows='',$afterarrows='')
|
function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betweenarrows='', $afterarrows='')
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -2915,8 +2915,10 @@ function print_fleche_navigation($page,$file,$options='',$nextpage=0,$betweenarr
|
|||||||
if (empty($conf->dol_use_jmobile)) print '<li class="pagination"><a class="paginationprevious" href="'.$file.'?page='.($page-1).$options.'"><</a></li>';
|
if (empty($conf->dol_use_jmobile)) print '<li class="pagination"><a class="paginationprevious" href="'.$file.'?page='.($page-1).$options.'"><</a></li>';
|
||||||
else print '<li><a data-role="button" data-icon="arrow-l" data-iconpos="left" href="'.$file.'?page='.($page-1).$options.'">'.$langs->trans("Previous").'</a></li>';
|
else print '<li><a data-role="button" data-icon="arrow-l" data-iconpos="left" href="'.$file.'?page='.($page-1).$options.'">'.$langs->trans("Previous").'</a></li>';
|
||||||
}
|
}
|
||||||
//if ($betweenarrows) print ($page > 0?' ':'').$betweenarrows.($nextpage>0?' ':'');
|
if ($betweenarrows)
|
||||||
print $betweenarrows;
|
{
|
||||||
|
print $betweenarrows;
|
||||||
|
}
|
||||||
if ($nextpage > 0)
|
if ($nextpage > 0)
|
||||||
{
|
{
|
||||||
if (empty($conf->dol_use_jmobile)) print '<li class="pagination"><a class="paginationnext" href="'.$file.'?page='.($page+1).$options.'">></a></li>';
|
if (empty($conf->dol_use_jmobile)) print '<li class="pagination"><a class="paginationnext" href="'.$file.'?page='.($page+1).$options.'">></a></li>';
|
||||||
|
|||||||
@ -24,18 +24,18 @@
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show header of a VAT report
|
* Show header of a VAT report
|
||||||
*
|
*
|
||||||
* @param string $nom Name of report
|
* @param string $nom Name of report
|
||||||
* @param string $variante Link for alternate report
|
* @param string $variante Link for alternate report
|
||||||
* @param string $period Period of report
|
* @param string $period Period of report
|
||||||
* @param string $periodlink Link to switch period
|
* @param string $periodlink Link to switch period
|
||||||
* @param string $description Description
|
* @param string $description Description
|
||||||
* @param timestamp|integer $builddate Date generation
|
* @param timestamp|integer $builddate Date generation
|
||||||
* @param string $exportlink Link for export or ''
|
* @param string $exportlink Link for export or ''
|
||||||
* @param array $moreparam Array with list of params to add into form
|
* @param array $moreparam Array with list of params to add into form
|
||||||
* @param string $calcmode Calculation mode
|
* @param string $calcmode Calculation mode
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function report_header($nom,$variante,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array(),$calcmode='')
|
function report_header($nom,$variante,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array(),$calcmode='')
|
||||||
{
|
{
|
||||||
@ -55,7 +55,7 @@ function report_header($nom,$variante,$period,$periodlink,$description,$builddat
|
|||||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
foreach($moreparam as $key => $value)
|
foreach($moreparam as $key => $value)
|
||||||
{
|
{
|
||||||
print '<input type="hidden" name="'.$key.'" value="'.$value.'">';
|
print '<input type="hidden" name="'.$key.'" value="'.$value.'">';
|
||||||
}
|
}
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
|
|
||||||
|
|||||||
@ -280,10 +280,11 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
||||||
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
||||||
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
||||||
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,";
|
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef, s.nom as company_name, s.rowid as company_id,";
|
||||||
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
||||||
$sql.= " 0 as payment_id, 0 as payment_amount";
|
$sql.= " 0 as payment_id, 0 as payment_amount";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
||||||
|
$sql.= " ".MAIN_DB_PREFIX."societe as s,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ;
|
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ;
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
||||||
$sql.= " WHERE f.entity = " . $conf->entity;
|
$sql.= " WHERE f.entity = " . $conf->entity;
|
||||||
@ -291,6 +292,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
||||||
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
||||||
$sql.= " AND f.rowid = d.".$fk_facture;
|
$sql.= " AND f.rowid = d.".$fk_facture;
|
||||||
|
$sql.= " AND s.rowid = f.fk_soc";
|
||||||
if ($y && $m)
|
if ($y && $m)
|
||||||
{
|
{
|
||||||
$sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'";
|
$sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'";
|
||||||
@ -325,10 +327,11 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
||||||
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
||||||
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
||||||
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,";
|
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef as date_f, s.nom as company_name, s.rowid as company_id,";
|
||||||
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
||||||
$sql.= " 0 as payment_id, 0 as payment_amount";
|
$sql.= " 0 as payment_id, 0 as payment_amount";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
||||||
|
$sql.= " ".MAIN_DB_PREFIX."societe as s,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ;
|
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ;
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
||||||
$sql.= " WHERE f.entity = " . $conf->entity;
|
$sql.= " WHERE f.entity = " . $conf->entity;
|
||||||
@ -336,6 +339,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
||||||
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
||||||
$sql.= " AND f.rowid = d.".$fk_facture;
|
$sql.= " AND f.rowid = d.".$fk_facture;
|
||||||
|
$sql.= " AND s.rowid = f.fk_soc";
|
||||||
if ($y && $m)
|
if ($y && $m)
|
||||||
{
|
{
|
||||||
$sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'";
|
$sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'";
|
||||||
@ -384,6 +388,9 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
}
|
}
|
||||||
$list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc'];
|
$list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc'];
|
||||||
$list[$assoc['rate']]['dtype'][] = $assoc['dtype'];
|
$list[$assoc['rate']]['dtype'][] = $assoc['dtype'];
|
||||||
|
$list[$assoc['rate']]['datef'][] = $assoc['datef'];
|
||||||
|
$list[$assoc['rate']]['company_name'][] = $assoc['company_name'];
|
||||||
|
$list[$assoc['rate']]['company_id'][] = $assoc['company_id'];
|
||||||
$list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']);
|
$list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']);
|
||||||
$list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']);
|
$list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']);
|
||||||
|
|
||||||
@ -438,10 +445,11 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
||||||
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
||||||
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
||||||
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,";
|
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef, s.nom as company_name, s.rowid as company_id,";
|
||||||
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
||||||
$sql.= " 0 as payment_id, 0 as payment_amount";
|
$sql.= " 0 as payment_id, 0 as payment_amount";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
||||||
|
$sql.= " ".MAIN_DB_PREFIX."societe as s,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ;
|
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ;
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
||||||
$sql.= " WHERE f.entity = " . $conf->entity;
|
$sql.= " WHERE f.entity = " . $conf->entity;
|
||||||
@ -449,6 +457,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
||||||
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
||||||
$sql.= " AND f.rowid = d.".$fk_facture;
|
$sql.= " AND f.rowid = d.".$fk_facture;
|
||||||
|
$sql.= " AND s.rowid = f.fk_soc";
|
||||||
if ($y && $m)
|
if ($y && $m)
|
||||||
{
|
{
|
||||||
$sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'";
|
$sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'";
|
||||||
@ -484,12 +493,13 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
$sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
|
||||||
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
$sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, ";
|
||||||
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
$sql.= " d.date_start as date_start, d.date_end as date_end,";
|
||||||
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,";
|
$sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef, s.nom as company_name, s.rowid as company_id,";
|
||||||
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
$sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
|
||||||
$sql.= " pf.".$fk_payment." as payment_id, pf.amount as payment_amount";
|
$sql.= " pf.".$fk_payment." as payment_id, pf.amount as payment_amount";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
$sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX.$paymentfacturetable." as pf,";
|
$sql.= " ".MAIN_DB_PREFIX.$paymentfacturetable." as pf,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX.$paymenttable." as pa,";
|
$sql.= " ".MAIN_DB_PREFIX.$paymenttable." as pa,";
|
||||||
|
$sql.= " ".MAIN_DB_PREFIX."societe as s,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d";
|
$sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d";
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
|
||||||
$sql.= " WHERE f.entity = " . $conf->entity;
|
$sql.= " WHERE f.entity = " . $conf->entity;
|
||||||
@ -497,6 +507,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)";
|
||||||
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
else $sql.= " AND f.type IN (0,1,2,3,5)";
|
||||||
$sql.= " AND f.rowid = d.".$fk_facture;
|
$sql.= " AND f.rowid = d.".$fk_facture;
|
||||||
|
$sql.= " AND s.rowid = f.fk_soc";
|
||||||
$sql.= " AND pf.".$fk_facture2." = f.rowid";
|
$sql.= " AND pf.".$fk_facture2." = f.rowid";
|
||||||
$sql.= " AND pa.rowid = pf.".$fk_payment;
|
$sql.= " AND pa.rowid = pf.".$fk_payment;
|
||||||
if ($y && $m)
|
if ($y && $m)
|
||||||
@ -548,6 +559,9 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction,
|
|||||||
}
|
}
|
||||||
$list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc'];
|
$list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc'];
|
||||||
$list[$assoc['rate']]['dtype'][] = $assoc['dtype'];
|
$list[$assoc['rate']]['dtype'][] = $assoc['dtype'];
|
||||||
|
$list[$assoc['rate']]['datef'][] = $assoc['datef'];
|
||||||
|
$list[$assoc['rate']]['company_name'][] = $assoc['company_name'];
|
||||||
|
$list[$assoc['rate']]['company_id'][] = $assoc['company_id'];
|
||||||
$list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']);
|
$list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']);
|
||||||
$list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']);
|
$list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']);
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
|||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
* @param string $atarget Target (Example: '' or '_top')
|
* @param string $atarget Target (Example: '' or '_top')
|
||||||
* @param int $type_user 0=Menu for backoffice, 1=Menu for front office
|
* @param int $type_user 0=Menu for backoffice, 1=Menu for front office
|
||||||
* @param array $tabMenu If array with menu entries already loaded, we put this array here (in most cases, it's empty)
|
* @param array $tabMenu If array with menu entries already loaded, we put this array here (in most cases, it's empty)
|
||||||
* @param array $menu Object Menu to return back list of menu entries
|
* @param array $menu Object Menu to return back list of menu entries
|
||||||
* @param int $noout Disable output (Initialise &$menu only).
|
* @param int $noout Disable output (Initialise &$menu only).
|
||||||
* @return int 0
|
* @return int 0
|
||||||
@ -732,9 +732,9 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
if (! empty($conf->ficheinter->enabled))
|
if (! empty($conf->ficheinter->enabled))
|
||||||
{
|
{
|
||||||
$langs->load("interventions");
|
$langs->load("interventions");
|
||||||
$newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("Interventions"), 0, $user->rights->ficheinter->lire, '', $mainmenu, 'ficheinter');
|
$newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("Interventions"), 0, $user->rights->ficheinter->lire, '', $mainmenu, 'ficheinter', 200);
|
||||||
$newmenu->add("/fichinter/card.php?action=create&leftmenu=ficheinter", $langs->trans("NewIntervention"), 1, $user->rights->ficheinter->creer);
|
$newmenu->add("/fichinter/card.php?action=create&leftmenu=ficheinter", $langs->trans("NewIntervention"), 1, $user->rights->ficheinter->creer, '', '', '', 201);
|
||||||
$newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("List"), 1, $user->rights->ficheinter->lire);
|
$newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("List"), 1, $user->rights->ficheinter->lire, '', '', '', 202);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1000,7 +1000,18 @@ print $sql;
|
|||||||
$i=0;
|
$i=0;
|
||||||
foreach ($this->tabs as $key => $value)
|
foreach ($this->tabs as $key => $value)
|
||||||
{
|
{
|
||||||
if ($value)
|
if (is_array($value) && count($value) == 0) continue; // Discard empty arrays
|
||||||
|
|
||||||
|
$entity=$conf->entity;
|
||||||
|
$newvalue = $value;
|
||||||
|
|
||||||
|
if (is_array($value))
|
||||||
|
{
|
||||||
|
$newvalue = $value['data'];
|
||||||
|
if (isset($value['entity'])) $entity = $value['entity'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($newvalue)
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (";
|
||||||
$sql.= "name";
|
$sql.= "name";
|
||||||
@ -1370,10 +1381,11 @@ print $sql;
|
|||||||
$menu->target=$this->menu[$key]['target'];
|
$menu->target=$this->menu[$key]['target'];
|
||||||
$menu->user=$this->menu[$key]['user'];
|
$menu->user=$this->menu[$key]['user'];
|
||||||
$menu->enabled=isset($this->menu[$key]['enabled'])?$this->menu[$key]['enabled']:0;
|
$menu->enabled=isset($this->menu[$key]['enabled'])?$this->menu[$key]['enabled']:0;
|
||||||
|
$menu->position=$this->menu[$key]['position'];
|
||||||
|
|
||||||
if (! $err)
|
if (! $err)
|
||||||
{
|
{
|
||||||
$result=$menu->create($user);
|
$result=$menu->create($user); // Save menu entry into table llx_menu
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
$this->menu[$key]['rowid']=$result;
|
$this->menu[$key]['rowid']=$result;
|
||||||
|
|||||||
@ -148,7 +148,8 @@ class modAskPriceSupplier extends DolibarrModules
|
|||||||
'langs'=>'askpricesupplier', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
'langs'=>'askpricesupplier', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
||||||
'enabled'=>'$conf->askpricesupplier->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
|
'enabled'=>'$conf->askpricesupplier->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
|
||||||
'perms'=>'$user->rights->askpricesupplier->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
'perms'=>'$user->rights->askpricesupplier->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
||||||
'user'=>2 // 0=Menu for internal users, 1=external users, 2=both
|
'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
|
||||||
|
'position'=>30
|
||||||
);
|
);
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
@ -160,7 +161,8 @@ class modAskPriceSupplier extends DolibarrModules
|
|||||||
'langs'=>'askpricesupplier',
|
'langs'=>'askpricesupplier',
|
||||||
'enabled'=>'$conf->askpricesupplier->enabled',
|
'enabled'=>'$conf->askpricesupplier->enabled',
|
||||||
'perms'=>'$user->rights->askpricesupplier->creer',
|
'perms'=>'$user->rights->askpricesupplier->creer',
|
||||||
'user'=>2
|
'user'=>2,
|
||||||
|
'position'=>31
|
||||||
);
|
);
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
@ -172,7 +174,8 @@ class modAskPriceSupplier extends DolibarrModules
|
|||||||
'langs'=>'askpricesupplier',
|
'langs'=>'askpricesupplier',
|
||||||
'enabled'=>'$conf->askpricesupplier->enabled',
|
'enabled'=>'$conf->askpricesupplier->enabled',
|
||||||
'perms'=>'$user->rights->askpricesupplier->lire',
|
'perms'=>'$user->rights->askpricesupplier->lire',
|
||||||
'user'=>2
|
'user'=>2,
|
||||||
|
'position'=>32
|
||||||
);
|
);
|
||||||
$r++;
|
$r++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -75,6 +75,8 @@
|
|||||||
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>">
|
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>">
|
||||||
<input type="hidden" name="action" value="add">
|
<input type="hidden" name="action" value="add">
|
||||||
|
|
||||||
|
<?php dol_fiche_head(); ?>
|
||||||
|
|
||||||
<table summary="listofattributes" class="border centpercent">
|
<table summary="listofattributes" class="border centpercent">
|
||||||
<!-- Label -->
|
<!-- Label -->
|
||||||
<tr><td class="fieldrequired"><?php echo $langs->trans("Label"); ?></td><td class="valeur"><input type="text" name="label" size="40" value="<?php echo GETPOST('label'); ?>"></td></tr>
|
<tr><td class="fieldrequired"><?php echo $langs->trans("Label"); ?></td><td class="valeur"><input type="text" name="label" size="40" value="<?php echo GETPOST('label'); ?>"></td></tr>
|
||||||
@ -121,7 +123,9 @@
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div align="center"><br><input type="submit" name="button" class="button" value="<?php echo $langs->trans("Save"); ?>">
|
<?php dol_fiche_end(); ?>
|
||||||
|
|
||||||
|
<div align="center"><input type="submit" name="button" class="button" value="<?php echo $langs->trans("Save"); ?>">
|
||||||
<input type="submit" name="button" class="button" value="<?php echo $langs->trans("Cancel"); ?>"></div>
|
<input type="submit" name="button" class="button" value="<?php echo $langs->trans("Cancel"); ?>"></div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -46,6 +46,8 @@
|
|||||||
<input type="hidden" name="action" value="update">
|
<input type="hidden" name="action" value="update">
|
||||||
<input type="hidden" name="rowid" value="<?php echo $rowid ?>">
|
<input type="hidden" name="rowid" value="<?php echo $rowid ?>">
|
||||||
|
|
||||||
|
<?php dol_fiche_head(); ?>
|
||||||
|
|
||||||
<table summary="listofattributes" class="border centpercent">
|
<table summary="listofattributes" class="border centpercent">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
@ -123,7 +125,9 @@ if(($type == 'select') || ($type == 'sellist') || ($type == 'checkbox') || ($typ
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div align="center"><br><input type="submit" name="button" class="button" value="<?php echo $langs->trans("Save"); ?>">
|
<?php dol_fiche_end(); ?>
|
||||||
|
|
||||||
|
<div align="center"><input type="submit" name="button" class="button" value="<?php echo $langs->trans("Save"); ?>">
|
||||||
<input type="submit" name="button" class="button" value="<?php echo $langs->trans("Cancel"); ?>"></div>
|
<input type="submit" name="button" class="button" value="<?php echo $langs->trans("Cancel"); ?>"></div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -1561,8 +1561,11 @@ else if ($id || $ref)
|
|||||||
$file=$fileparams['fullname'];
|
$file=$fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans('SendShippingByEMail'));
|
print_fiche_titre($langs->trans('SendShippingByEMail'));
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Cree l'objet formulaire mail
|
// Cree l'objet formulaire mail
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
@ -1638,7 +1641,7 @@ else if ($id || $ref)
|
|||||||
// Show form
|
// Show form
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action != 'presend' && ! empty($origin) && $object->$origin->id)
|
if ($action != 'presend' && ! empty($origin) && $object->$origin->id)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -245,16 +245,21 @@ if ($resql)
|
|||||||
$total_total_ht = 0;
|
$total_total_ht = 0;
|
||||||
$total_total_ttc = 0;
|
$total_total_ttc = 0;
|
||||||
$total_total_tva = 0;
|
$total_total_tva = 0;
|
||||||
|
|
||||||
|
$expensereportstatic=new ExpenseReport($db);
|
||||||
|
|
||||||
if($num > 0)
|
if($num > 0)
|
||||||
{
|
{
|
||||||
while ($i < min($num,$limit))
|
while ($i < min($num,$limit))
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
$expensereportstatic->id=$objp->rowid;
|
||||||
|
$expensereportstatic->ref=$objp->ref;
|
||||||
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print "<tr ".$bc[$var].">";
|
print "<tr ".$bc[$var].">";
|
||||||
print '<td><a href="card.php?id='.$objp->rowid.'">'.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->ref.'</a></td>';
|
print '<td>'.$expensereportstatic->getNomUrl(1).'</td>';
|
||||||
print '<td align="center">'.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').'</td>';
|
print '<td align="center">'.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').'</td>';
|
||||||
print '<td align="center">'.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').'</td>';
|
print '<td align="center">'.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').'</td>';
|
||||||
print '<td align="left"><a href="'.DOL_URL_ROOT.'/user/card.php?id='.$objp->id_user.'">'.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).'</a></td>';
|
print '<td align="left"><a href="'.DOL_URL_ROOT.'/user/card.php?id='.$objp->id_user.'">'.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).'</a></td>';
|
||||||
|
|||||||
@ -1795,8 +1795,11 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
$file=$fileparams['fullname'];
|
$file=$fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans('SendInterventionByMail'));
|
print_fiche_titre($langs->trans('SendInterventionByMail'));
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Create form object
|
// Create form object
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
@ -1860,7 +1863,7 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
|
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -504,39 +504,41 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql_rows);
|
$obj = $this->db->fetch_object($resql_rows);
|
||||||
|
|
||||||
$this->lines[$i] = new SupplierInvoiceLine($this->db);
|
$line = new SupplierInvoiceLine($this->db);
|
||||||
|
|
||||||
$this->lines[$i]->id = $obj->rowid;
|
$line->id = $obj->rowid;
|
||||||
$this->lines[$i]->rowid = $obj->rowid;
|
$line->rowid = $obj->rowid;
|
||||||
$this->lines[$i]->description = $obj->description;
|
$line->description = $obj->description;
|
||||||
$this->lines[$i]->product_ref = $obj->product_ref; // Internal reference
|
$line->product_ref = $obj->product_ref;
|
||||||
$this->lines[$i]->ref = $obj->product_ref; // deprecated.
|
$line->ref = $obj->product_ref;
|
||||||
$this->lines[$i]->ref_supplier = $obj->ref_supplier; // Reference product supplier TODO Rename field ref to ref_supplier into table llx_facture_fourn_det and llx_commande_fournisseurdet and update fields it into updateline
|
$line->ref_supplier = $obj->ref_supplier;
|
||||||
$this->lines[$i]->libelle = $obj->label; // Deprecated
|
$line->libelle = $obj->label;
|
||||||
$this->lines[$i]->label = $obj->label; // This field may contains label of product (when invoice create from order)
|
$line->label = $obj->label;
|
||||||
$this->lines[$i]->product_desc = $obj->product_desc; // Description du produit
|
$line->product_desc = $obj->product_desc;
|
||||||
$this->lines[$i]->subprice = $obj->pu_ht;
|
$line->subprice = $obj->pu_ht;
|
||||||
$this->lines[$i]->pu_ht = $obj->pu_ht;
|
$line->pu_ht = $obj->pu_ht;
|
||||||
$this->lines[$i]->pu_ttc = $obj->pu_ttc;
|
$line->pu_ttc = $obj->pu_ttc;
|
||||||
$this->lines[$i]->tva_tx = $obj->tva_tx;
|
$line->tva_tx = $obj->tva_tx;
|
||||||
$this->lines[$i]->localtax1_tx = $obj->localtax1_tx;
|
$line->localtax1_tx = $obj->localtax1_tx;
|
||||||
$this->lines[$i]->localtax2_tx = $obj->localtax2_tx;
|
$line->localtax2_tx = $obj->localtax2_tx;
|
||||||
$this->lines[$i]->qty = $obj->qty;
|
$line->qty = $obj->qty;
|
||||||
$this->lines[$i]->remise_percent = $obj->remise_percent;
|
$line->remise_percent = $obj->remise_percent;
|
||||||
$this->lines[$i]->tva = $obj->total_tva;
|
$line->tva = $obj->total_tva;
|
||||||
$this->lines[$i]->total_ht = $obj->total_ht;
|
$line->total_ht = $obj->total_ht;
|
||||||
$this->lines[$i]->total_tva = $obj->total_tva;
|
$line->total_tva = $obj->total_tva;
|
||||||
$this->lines[$i]->total_localtax1 = $obj->total_localtax1;
|
$line->total_localtax1 = $obj->total_localtax1;
|
||||||
$this->lines[$i]->total_localtax2 = $obj->total_localtax2;
|
$line->total_localtax2 = $obj->total_localtax2;
|
||||||
$this->lines[$i]->total_ttc = $obj->total_ttc;
|
$line->total_ttc = $obj->total_ttc;
|
||||||
$this->lines[$i]->fk_product = $obj->fk_product;
|
$line->fk_product = $obj->fk_product;
|
||||||
$this->lines[$i]->product_type = $obj->product_type;
|
$line->product_type = $obj->product_type;
|
||||||
$this->lines[$i]->product_label = $obj->label;
|
$line->product_label = $obj->label;
|
||||||
$this->lines[$i]->info_bits = $obj->info_bits;
|
$line->info_bits = $obj->info_bits;
|
||||||
$this->lines[$i]->fk_parent_line = $obj->fk_parent_line;
|
$line->fk_parent_line = $obj->fk_parent_line;
|
||||||
$this->lines[$i]->special_code = $obj->special_code;
|
$line->special_code = $obj->special_code;
|
||||||
$this->lines[$i]->rang = $obj->rang;
|
$line->rang = $obj->rang;
|
||||||
$this->lines[$i]->fk_unit = $obj->fk_unit;
|
$line->fk_unit = $obj->fk_unit;
|
||||||
|
|
||||||
|
$this->lines[$i] = $line;
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -1368,53 +1370,25 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
*/
|
*/
|
||||||
function deleteline($rowid, $notrigger=0)
|
function deleteline($rowid, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $user, $langs, $conf;
|
if (!$rowid) {
|
||||||
|
$rowid = $this->id;
|
||||||
if (! $rowid) $rowid=$this->id;
|
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::delete rowid=".$rowid, LOG_DEBUG);
|
|
||||||
|
|
||||||
$error=0;
|
|
||||||
$this->db->begin();
|
|
||||||
|
|
||||||
if (! $error && ! $notrigger)
|
|
||||||
{
|
|
||||||
// Call trigger
|
|
||||||
$result=$this->call_trigger('LINEBILL_SUPPLIER_DELETE',$user);
|
|
||||||
if ($result < 0) $error++;
|
|
||||||
// End call triggers
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $error)
|
$line = new SupplierInvoiceLine($this->db);
|
||||||
{
|
|
||||||
// Supprime ligne
|
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture_fourn_det ';
|
|
||||||
$sql.= ' WHERE rowid = '.$rowid;
|
|
||||||
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if (! $resql)
|
|
||||||
{
|
|
||||||
$error++;
|
|
||||||
$this->error=$this->db->lasterror();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $error)
|
if ($line->fetch($rowid) < 1) {
|
||||||
{
|
return -1;
|
||||||
// Mise a jour prix facture
|
}
|
||||||
$result=$this->update_price();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $error)
|
$res = $line->delete($notrigger);
|
||||||
{
|
|
||||||
$this->db->commit();
|
if ($res < 1) {
|
||||||
return 1;
|
$this->errors[] = $line->error;
|
||||||
}
|
} else {
|
||||||
else
|
$res = $this->update_price();
|
||||||
{
|
}
|
||||||
$this->db->rollback();
|
|
||||||
return -1;
|
return $res;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1905,13 +1879,26 @@ class SupplierInvoiceLine extends CommonObjectLine
|
|||||||
* @see product_ref
|
* @see product_ref
|
||||||
*/
|
*/
|
||||||
public $ref;
|
public $ref;
|
||||||
|
/**
|
||||||
|
* Internal ref
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
public $product_ref;
|
public $product_ref;
|
||||||
|
/**
|
||||||
|
* Reference product supplier
|
||||||
|
* TODO Rename field ref to ref_supplier into table llx_facture_fourn_det and llx_commande_fournisseurdet and update fields it into updateline
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
public $ref_supplier;
|
public $ref_supplier;
|
||||||
/**
|
/**
|
||||||
* @deprecated
|
* @deprecated
|
||||||
* @see label
|
* @see label
|
||||||
*/
|
*/
|
||||||
public $libelle;
|
public $libelle;
|
||||||
|
/**
|
||||||
|
* Product description
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
public $product_desc;
|
public $product_desc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1946,6 +1933,7 @@ class SupplierInvoiceLine extends CommonObjectLine
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Product label
|
* Product label
|
||||||
|
* This field may contains label of product (when invoice create from order)
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $label;
|
var $label;
|
||||||
@ -1968,6 +1956,24 @@ class SupplierInvoiceLine extends CommonObjectLine
|
|||||||
*/
|
*/
|
||||||
public $fk_prev_id;
|
public $fk_prev_id;
|
||||||
|
|
||||||
|
public $tva_tx;
|
||||||
|
public $localtax1_tx;
|
||||||
|
public $localtax2_tx;
|
||||||
|
public $qty;
|
||||||
|
public $remise_percent;
|
||||||
|
public $total_ht;
|
||||||
|
public $total_ttc;
|
||||||
|
public $total_localtax1;
|
||||||
|
public $total_localtax2;
|
||||||
|
public $fk_product;
|
||||||
|
public $product_type;
|
||||||
|
public $product_label;
|
||||||
|
public $info_bits;
|
||||||
|
public $fk_parent_line;
|
||||||
|
public $special_code;
|
||||||
|
public $rang;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
@ -1978,6 +1984,116 @@ class SupplierInvoiceLine extends CommonObjectLine
|
|||||||
$this->db= $db;
|
$this->db= $db;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a supplier invoice line
|
||||||
|
*
|
||||||
|
* @param int $rowid Line id
|
||||||
|
* @return int <0 KO; 0 NOT FOUND; 1 OK
|
||||||
|
*/
|
||||||
|
public function fetch($rowid)
|
||||||
|
{
|
||||||
|
$sql = 'SELECT f.rowid, f.ref as ref_supplier, f.description, f.pu_ht, f.pu_ttc, f.qty, f.remise_percent, f.tva_tx';
|
||||||
|
$sql.= ', f.localtax1_tx, f.localtax2_tx, f.total_localtax1, f.total_localtax2 ';
|
||||||
|
$sql.= ', f.total_ht, f.tva as total_tva, f.total_ttc, f.fk_product, f.product_type, f.info_bits, f.rang, f.special_code, f.fk_parent_line, f.fk_unit';
|
||||||
|
$sql.= ', p.rowid as product_id, p.ref as product_ref, p.label as label, p.description as product_desc';
|
||||||
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn_det as f';
|
||||||
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON f.fk_product = p.rowid';
|
||||||
|
$sql.= ' WHERE rowid = '.$rowid;
|
||||||
|
$sql.= ' ORDER BY f.rang, f.rowid';
|
||||||
|
|
||||||
|
$query = $this->db->query($sql);
|
||||||
|
|
||||||
|
if (!$query) {
|
||||||
|
$this->errors[] = $this->db->error();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$this->db->num_rows($query)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$obj = $this->db->fetch_object($query);
|
||||||
|
|
||||||
|
$this->id = $obj->rowid;
|
||||||
|
$this->rowid = $obj->rowid;
|
||||||
|
$this->description = $obj->description;
|
||||||
|
$this->product_ref = $obj->product_ref;
|
||||||
|
$this->ref = $obj->product_ref;
|
||||||
|
$this->ref_supplier = $obj->ref_supplier;
|
||||||
|
$this->libelle = $obj->label;
|
||||||
|
$this->label = $obj->label;
|
||||||
|
$this->product_desc = $obj->product_desc;
|
||||||
|
$this->subprice = $obj->pu_ht;
|
||||||
|
$this->pu_ht = $obj->pu_ht;
|
||||||
|
$this->pu_ttc = $obj->pu_ttc;
|
||||||
|
$this->tva_tx = $obj->tva_tx;
|
||||||
|
$this->localtax1_tx = $obj->localtax1_tx;
|
||||||
|
$this->localtax2_tx = $obj->localtax2_tx;
|
||||||
|
$this->qty = $obj->qty;
|
||||||
|
$this->remise_percent = $obj->remise_percent;
|
||||||
|
$this->tva = $obj->total_tva;
|
||||||
|
$this->total_ht = $obj->total_ht;
|
||||||
|
$this->total_tva = $obj->total_tva;
|
||||||
|
$this->total_localtax1 = $obj->total_localtax1;
|
||||||
|
$this->total_localtax2 = $obj->total_localtax2;
|
||||||
|
$this->total_ttc = $obj->total_ttc;
|
||||||
|
$this->fk_product = $obj->fk_product;
|
||||||
|
$this->product_type = $obj->product_type;
|
||||||
|
$this->product_label = $obj->label;
|
||||||
|
$this->info_bits = $obj->info_bits;
|
||||||
|
$this->fk_parent_line = $obj->fk_parent_line;
|
||||||
|
$this->special_code = $obj->special_code;
|
||||||
|
$this->rang = $obj->rang;
|
||||||
|
$this->fk_unit = $obj->fk_unit;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a line
|
||||||
|
*
|
||||||
|
* @param bool|int $notrigger
|
||||||
|
* @return int -1 KO; 1 OK
|
||||||
|
*/
|
||||||
|
public function delete($notrigger = 0)
|
||||||
|
{
|
||||||
|
global $user;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::deleteline rowid=".$this->id, LOG_DEBUG);
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
if (!$notrigger) {
|
||||||
|
if ($this->call_trigger('LINEBILL_SUPPLIER_DELETE',$user) < 0) {
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
|
// Supprime ligne
|
||||||
|
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture_fourn_det ';
|
||||||
|
$sql .= ' WHERE rowid = '.$this->id;
|
||||||
|
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (!$resql) {
|
||||||
|
$error++;
|
||||||
|
$this->error = $this->db->lasterror();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1754,7 +1754,7 @@ elseif (! empty($object->id))
|
|||||||
*/
|
*/
|
||||||
if ($action == 'commande')
|
if ($action == 'commande')
|
||||||
{
|
{
|
||||||
$date_com = dol_mktime(0,0,0,$_POST["remonth"],$_POST["reday"],$_POST["reyear"]);
|
$date_com = dol_mktime(GETPOST('rehour'),GETPOST('remin'),GETPOST('resec'),GETPOST("remonth"),GETPOST("reday"),GETPOST("reyear"));
|
||||||
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=".$object->id."&datecommande=".$date_com."&methode=".$_POST["methodecommande"]."&comment=".urlencode($_POST["comment"]), $langs->trans("MakeOrder"),$langs->trans("ConfirmMakeOrder",dol_print_date($date_com,'day')),"confirm_commande",'',0,2);
|
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=".$object->id."&datecommande=".$date_com."&methode=".$_POST["methodecommande"]."&comment=".urlencode($_POST["comment"]), $langs->trans("MakeOrder"),$langs->trans("ConfirmMakeOrder",dol_print_date($date_com,'day')),"confirm_commande",'',0,2);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2296,9 +2296,11 @@ elseif (! empty($object->id))
|
|||||||
$file=$fileparams['fullname'];
|
$file=$fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
print_fiche_titre($langs->trans('SendOrderByMail'));
|
||||||
|
|
||||||
print_titre($langs->trans('SendOrderByMail'));
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Cree l'objet formulaire mail
|
// Cree l'objet formulaire mail
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
@ -2367,7 +2369,7 @@ elseif (! empty($object->id))
|
|||||||
// Show form
|
// Show form
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Action webservice
|
* Action webservice
|
||||||
|
|||||||
@ -2313,6 +2313,11 @@ else
|
|||||||
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
|
$parameters = array();
|
||||||
|
$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been
|
||||||
|
// modified by hook
|
||||||
|
if (empty($reshook)) {
|
||||||
|
|
||||||
// Modify a validated invoice with no payments
|
// Modify a validated invoice with no payments
|
||||||
if ($object->statut == FactureFournisseur::STATUS_VALIDATED && $action != 'edit' && $object->getSommePaiement() == 0 && $user->rights->fournisseur->facture->creer)
|
if ($object->statut == FactureFournisseur::STATUS_VALIDATED && $action != 'edit' && $object->getSommePaiement() == 0 && $user->rights->fournisseur->facture->creer)
|
||||||
{
|
{
|
||||||
@ -2432,6 +2437,7 @@ else
|
|||||||
print '</div></div></div>';
|
print '</div></div></div>';
|
||||||
//print '</td></tr></table>';
|
//print '</td></tr></table>';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Show mail form
|
* Show mail form
|
||||||
@ -2474,8 +2480,11 @@ else
|
|||||||
$file=$fileparams['fullname'];
|
$file=$fileparams['fullname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<div class="clearboth"></div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print_titre($langs->trans('SendBillByMail'));
|
print_fiche_titre($langs->trans('SendBillByMail'));
|
||||||
|
|
||||||
|
dol_fiche_head('');
|
||||||
|
|
||||||
// Cree l'objet formulaire mail
|
// Cree l'objet formulaire mail
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
@ -2539,7 +2548,7 @@ else
|
|||||||
// Show form
|
// Show form
|
||||||
print $formmail->get_form();
|
print $formmail->get_form();
|
||||||
|
|
||||||
print '<br>';
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -886,9 +886,10 @@ if ($step == 4 && $datatoimport)
|
|||||||
if ($objimport->array_import_convertvalue[0][$code]['rule']=='fetchidfromcodeid') $htmltext.=$langs->trans("DataComeFromIdFoundFromCodeId",$filecolumn,$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$code]['dict'])).'<br>';
|
if ($objimport->array_import_convertvalue[0][$code]['rule']=='fetchidfromcodeid') $htmltext.=$langs->trans("DataComeFromIdFoundFromCodeId",$filecolumn,$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$code]['dict'])).'<br>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Source required
|
||||||
$htmltext.=$langs->trans("SourceRequired").': <b>'.yn(preg_match('/\*$/',$label)).'</b><br>';
|
$htmltext.=$langs->trans("SourceRequired").': <b>'.yn(preg_match('/\*$/',$label)).'</b><br>';
|
||||||
$example=$objimport->array_import_examplevalues[0][$code];
|
$example=$objimport->array_import_examplevalues[0][$code];
|
||||||
|
// Example
|
||||||
if (empty($objimport->array_import_convertvalue[0][$code])) // If source file does not need convertion
|
if (empty($objimport->array_import_convertvalue[0][$code])) // If source file does not need convertion
|
||||||
{
|
{
|
||||||
if ($example) $htmltext.=$langs->trans("SourceExample").': <b>'.$example.'</b><br>';
|
if ($example) $htmltext.=$langs->trans("SourceExample").': <b>'.$example.'</b><br>';
|
||||||
@ -898,6 +899,11 @@ if ($step == 4 && $datatoimport)
|
|||||||
if ($objimport->array_import_convertvalue[0][$code]['rule']=='fetchidfromref') $htmltext.=$langs->trans("SourceExample").': <b>'.$langs->transnoentitiesnoconv("ExampleAnyRefFoundIntoElement",$entitylang).($example?' ('.$langs->transnoentitiesnoconv("Example").': '.$example.')':'').'</b><br>';
|
if ($objimport->array_import_convertvalue[0][$code]['rule']=='fetchidfromref') $htmltext.=$langs->trans("SourceExample").': <b>'.$langs->transnoentitiesnoconv("ExampleAnyRefFoundIntoElement",$entitylang).($example?' ('.$langs->transnoentitiesnoconv("Example").': '.$example.')':'').'</b><br>';
|
||||||
if ($objimport->array_import_convertvalue[0][$code]['rule']=='fetchidfromcodeid') $htmltext.=$langs->trans("SourceExample").': <b>'.$langs->trans("ExampleAnyCodeOrIdFoundIntoDictionary",$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$code]['dict'])).($example?' ('.$langs->transnoentitiesnoconv("Example").': '.$example.')':'').'</b><br>';
|
if ($objimport->array_import_convertvalue[0][$code]['rule']=='fetchidfromcodeid') $htmltext.=$langs->trans("SourceExample").': <b>'.$langs->trans("ExampleAnyCodeOrIdFoundIntoDictionary",$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$code]['dict'])).($example?' ('.$langs->transnoentitiesnoconv("Example").': '.$example.')':'').'</b><br>';
|
||||||
}
|
}
|
||||||
|
// Format control rule
|
||||||
|
if (! empty($objimport->array_import_regex[0][$code]))
|
||||||
|
{
|
||||||
|
$htmltext.=$langs->trans("FormatControlRule").': <b>'.$objimport->array_import_regex[0][$code].'</b><br>';
|
||||||
|
}
|
||||||
$htmltext.='<br>';
|
$htmltext.='<br>';
|
||||||
// Target field info
|
// Target field info
|
||||||
$htmltext.='<b><u>'.$langs->trans("FieldTarget").'</u></b><br>';
|
$htmltext.='<b><u>'.$langs->trans("FieldTarget").'</u></b><br>';
|
||||||
|
|||||||
@ -489,11 +489,11 @@ IMG;
|
|||||||
$name=preg_replace('/\.odt/i', '', $name);
|
$name=preg_replace('/\.odt/i', '', $name);
|
||||||
if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT))
|
if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT))
|
||||||
{
|
{
|
||||||
$command = $conf->global->MAIN_DOL_SCRIPTS_ROOT.'/scripts/odt2pdf/odt2pdf.sh '.$name.' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF);
|
$command = $conf->global->MAIN_DOL_SCRIPTS_ROOT.'/scripts/odt2pdf/odt2pdf.sh '.escapeshellcmd($name).' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$command = '../../scripts/odt2pdf/odt2pdf.sh '.$name.' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF);
|
$command = '../../scripts/odt2pdf/odt2pdf.sh '.escapeshellcmd($name).' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -227,3 +227,6 @@ update llx_facturedet set product_type = 1 where product_type = 2;
|
|||||||
delete from llx_commande_fournisseur_dispatch where fk_commandefourndet = 0 or fk_commandefourndet IS NULL;
|
delete from llx_commande_fournisseur_dispatch where fk_commandefourndet = 0 or fk_commandefourndet IS NULL;
|
||||||
|
|
||||||
|
|
||||||
|
delete from llx_menu where menu_handler = 'smartphone';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -429,8 +429,8 @@ Module20Name=مقترحات
|
|||||||
Module20Desc=مقترحات تجارية إدارة
|
Module20Desc=مقترحات تجارية إدارة
|
||||||
Module22Name=كتلة بالبريد الإلكتروني
|
Module22Name=كتلة بالبريد الإلكتروني
|
||||||
Module22Desc=البريد الإلكتروني الدمار إدارة
|
Module22Desc=البريد الإلكتروني الدمار إدارة
|
||||||
Module23Name= طاقة
|
Module23Name=طاقة
|
||||||
Module23Desc= مراقبة استهلاك الطاقة
|
Module23Desc=مراقبة استهلاك الطاقة
|
||||||
Module25Name=طلبات الزبائن
|
Module25Name=طلبات الزبائن
|
||||||
Module25Desc=طلبات الزبائن إدارة
|
Module25Desc=طلبات الزبائن إدارة
|
||||||
Module30Name=فواتير
|
Module30Name=فواتير
|
||||||
@ -492,7 +492,7 @@ Module400Desc=Management of projects, opportunities or leads. You can then assig
|
|||||||
Module410Name=Webcalendar
|
Module410Name=Webcalendar
|
||||||
Module410Desc=Webcalendar التكامل
|
Module410Desc=Webcalendar التكامل
|
||||||
Module500Name=Special expenses
|
Module500Name=Special expenses
|
||||||
Module500Desc=Management of special expenses (taxes, social contribution, dividends)
|
Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends)
|
||||||
Module510Name=Salaries
|
Module510Name=Salaries
|
||||||
Module510Desc=Management of employees salaries and payments
|
Module510Desc=Management of employees salaries and payments
|
||||||
Module520Name=Loan
|
Module520Name=Loan
|
||||||
@ -501,7 +501,7 @@ Module600Name=الإخطارات
|
|||||||
Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty)
|
Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty)
|
||||||
Module700Name=التبرعات
|
Module700Name=التبرعات
|
||||||
Module700Desc=التبرعات إدارة
|
Module700Desc=التبرعات إدارة
|
||||||
Module770Name=Expense Report
|
Module770Name=Expense reports
|
||||||
Module770Desc=Management and claim expense reports (transportation, meal, ...)
|
Module770Desc=Management and claim expense reports (transportation, meal, ...)
|
||||||
Module1120Name=Supplier commercial proposal
|
Module1120Name=Supplier commercial proposal
|
||||||
Module1120Desc=Request supplier commercial proposal and prices
|
Module1120Desc=Request supplier commercial proposal and prices
|
||||||
@ -579,7 +579,7 @@ Permission32=إنشاء / تعديل المنتجات
|
|||||||
Permission34=حذف المنتجات
|
Permission34=حذف المنتجات
|
||||||
Permission36=انظر / إدارة المنتجات المخفية
|
Permission36=انظر / إدارة المنتجات المخفية
|
||||||
Permission38=منتجات التصدير
|
Permission38=منتجات التصدير
|
||||||
Permission41=قراءة المشاريع والمهام
|
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
||||||
Permission42=إنشاء / تعديل مشاريع تعديل مهام بلدي المشاريع
|
Permission42=إنشاء / تعديل مشاريع تعديل مهام بلدي المشاريع
|
||||||
Permission44=حذف مشاريع
|
Permission44=حذف مشاريع
|
||||||
Permission61=قراءة التدخلات
|
Permission61=قراءة التدخلات
|
||||||
@ -600,10 +600,10 @@ Permission86=إرسال أوامر العملاء
|
|||||||
Permission87=وثيقة أوامر العملاء
|
Permission87=وثيقة أوامر العملاء
|
||||||
Permission88=إلغاء أوامر العملاء
|
Permission88=إلغاء أوامر العملاء
|
||||||
Permission89=حذف أوامر العملاء
|
Permission89=حذف أوامر العملاء
|
||||||
Permission91=قراءة المساهمات الاجتماعية وضريبة القيمة المضافة
|
Permission91=Read social or fiscal taxes and vat
|
||||||
Permission92=إنشاء / تعديل المساهمات الاجتماعية وضريبة القيمة المضافة
|
Permission92=Create/modify social or fiscal taxes and vat
|
||||||
Permission93=حذف المساهمات الاجتماعية وضريبة القيمة المضافة
|
Permission93=Delete social or fiscal taxes and vat
|
||||||
Permission94=تصدير المساهمات الاجتماعية
|
Permission94=Export social or fiscal taxes
|
||||||
Permission95=قراءة تقارير
|
Permission95=قراءة تقارير
|
||||||
Permission101=قراءة الإرسال
|
Permission101=قراءة الإرسال
|
||||||
Permission102=إنشاء / تعديل الإرسال
|
Permission102=إنشاء / تعديل الإرسال
|
||||||
@ -621,9 +621,9 @@ Permission121=قراءة الغير مرتبطة المستخدم
|
|||||||
Permission122=إنشاء / تغيير الغير مرتبطة المستخدم
|
Permission122=إنشاء / تغيير الغير مرتبطة المستخدم
|
||||||
Permission125=حذف الغير مرتبطة المستخدم
|
Permission125=حذف الغير مرتبطة المستخدم
|
||||||
Permission126=الصادرات الغير
|
Permission126=الصادرات الغير
|
||||||
Permission141=المهام اقرأ
|
Permission141=Read all projects and tasks (also private projects i am not contact for)
|
||||||
Permission142=إنشاء / تعديل المهام
|
Permission142=Create/modify all projects and tasks (also private projects i am not contact for)
|
||||||
Permission144=حذف المهام
|
Permission144=Delete all projects and tasks (also private projects i am not contact for)
|
||||||
Permission146=قراءة موفري
|
Permission146=قراءة موفري
|
||||||
Permission147=قراءة احصائيات
|
Permission147=قراءة احصائيات
|
||||||
Permission151=قراءة أوامر دائمة
|
Permission151=قراءة أوامر دائمة
|
||||||
@ -801,7 +801,7 @@ DictionaryCountry=Countries
|
|||||||
DictionaryCurrency=Currencies
|
DictionaryCurrency=Currencies
|
||||||
DictionaryCivility=Civility title
|
DictionaryCivility=Civility title
|
||||||
DictionaryActions=Type of agenda events
|
DictionaryActions=Type of agenda events
|
||||||
DictionarySocialContributions=Social contributions types
|
DictionarySocialContributions=Social or fiscal taxes types
|
||||||
DictionaryVAT=VAT Rates or Sales Tax Rates
|
DictionaryVAT=VAT Rates or Sales Tax Rates
|
||||||
DictionaryRevenueStamp=Amount of revenue stamps
|
DictionaryRevenueStamp=Amount of revenue stamps
|
||||||
DictionaryPaymentConditions=Payment terms
|
DictionaryPaymentConditions=Payment terms
|
||||||
@ -820,6 +820,7 @@ DictionaryAccountancysystem=Models for chart of accounts
|
|||||||
DictionaryEMailTemplates=Emails templates
|
DictionaryEMailTemplates=Emails templates
|
||||||
DictionaryUnits=Units
|
DictionaryUnits=Units
|
||||||
DictionaryProspectStatus=Prospection status
|
DictionaryProspectStatus=Prospection status
|
||||||
|
DictionaryHolidayTypes=Type of leaves
|
||||||
SetupSaved=الإعداد المحفوظة
|
SetupSaved=الإعداد المحفوظة
|
||||||
BackToModuleList=العودة إلى قائمة الوحدات
|
BackToModuleList=العودة إلى قائمة الوحدات
|
||||||
BackToDictionaryList=Back to dictionaries list
|
BackToDictionaryList=Back to dictionaries list
|
||||||
@ -1510,7 +1511,7 @@ ConfirmDeleteMenu=هل أنت متأكد من أنك تريد حذف القائ
|
|||||||
DeleteLine=حذف السطر
|
DeleteLine=حذف السطر
|
||||||
ConfirmDeleteLine=هل أنت متأكد من أنك تريد حذف هذا الخط؟
|
ConfirmDeleteLine=هل أنت متأكد من أنك تريد حذف هذا الخط؟
|
||||||
##### Tax #####
|
##### Tax #####
|
||||||
TaxSetup=الضرائب والمساهمات الاجتماعية والأرباح وحدة الإعداد
|
TaxSetup=Taxes, social or fiscal taxes and dividends module setup
|
||||||
OptionVatMode=ضريبة القيمة المضافة المستحقة
|
OptionVatMode=ضريبة القيمة المضافة المستحقة
|
||||||
OptionVATDefault=Cash basis
|
OptionVATDefault=Cash basis
|
||||||
OptionVATDebitOption=Accrual basis
|
OptionVATDebitOption=Accrual basis
|
||||||
@ -1564,9 +1565,11 @@ EndPointIs=الصابون العملاء يجب إرسال الطلبات إلى
|
|||||||
ApiSetup=API module setup
|
ApiSetup=API module setup
|
||||||
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
|
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
|
||||||
KeyForApiAccess=Key to use API (parameter "api_key")
|
KeyForApiAccess=Key to use API (parameter "api_key")
|
||||||
|
ApiProductionMode=Enable production mode
|
||||||
ApiEndPointIs=You can access to the API at url
|
ApiEndPointIs=You can access to the API at url
|
||||||
ApiExporerIs=You can explore the API at url
|
ApiExporerIs=You can explore the API at url
|
||||||
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
|
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
|
||||||
|
ApiKey=Key for API
|
||||||
##### Bank #####
|
##### Bank #####
|
||||||
BankSetupModule=إعداد وحدة مصرفية
|
BankSetupModule=إعداد وحدة مصرفية
|
||||||
FreeLegalTextOnChequeReceipts=نص حر على الشيكات والإيصالات
|
FreeLegalTextOnChequeReceipts=نص حر على الشيكات والإيصالات
|
||||||
@ -1596,6 +1599,7 @@ ProjectsSetup=مشروع إعداد وحدة
|
|||||||
ProjectsModelModule=المشروع نموذج التقرير وثيقة
|
ProjectsModelModule=المشروع نموذج التقرير وثيقة
|
||||||
TasksNumberingModules=Tasks numbering module
|
TasksNumberingModules=Tasks numbering module
|
||||||
TaskModelModule=Tasks reports document model
|
TaskModelModule=Tasks reports document model
|
||||||
|
UseSearchToSelectProject=Use autocompletion fields to choose project (instead of using a list box)
|
||||||
##### ECM (GED) #####
|
##### ECM (GED) #####
|
||||||
ECMSetup = GED Setup
|
ECMSetup = GED Setup
|
||||||
ECMAutoTree = Automatic tree folder and document
|
ECMAutoTree = Automatic tree folder and document
|
||||||
@ -1640,3 +1644,9 @@ ConfFileMuseContainCustom=Installing an external module from application save th
|
|||||||
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
||||||
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
||||||
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
||||||
|
BackgroundColor=Background color
|
||||||
|
TopMenuBackgroundColor=Background color for Top menu
|
||||||
|
LeftMenuBackgroundColor=Background color for Left menu
|
||||||
|
BackgroundTableTitleColor=Background color for table title line
|
||||||
|
BackgroundTableLineOddColor=Background color for odd table lines
|
||||||
|
BackgroundTableLineEvenColor=Background color for even table lines
|
||||||
|
|||||||
@ -55,7 +55,6 @@ OrderBilledInDolibarr=Order %s classified billed
|
|||||||
OrderApprovedInDolibarr=تم الموافقة على %s من الطلب
|
OrderApprovedInDolibarr=تم الموافقة على %s من الطلب
|
||||||
OrderRefusedInDolibarr=Order %s refused
|
OrderRefusedInDolibarr=Order %s refused
|
||||||
OrderBackToDraftInDolibarr=الطلب %s للذهاب بها إلى حالة المسودة
|
OrderBackToDraftInDolibarr=الطلب %s للذهاب بها إلى حالة المسودة
|
||||||
OrderCanceledInDolibarr=تم إلغاء %s من الطلب
|
|
||||||
ProposalSentByEMail=تم إرسال العرض الرسمي %s بواسطة البريد الإلكتروني
|
ProposalSentByEMail=تم إرسال العرض الرسمي %s بواسطة البريد الإلكتروني
|
||||||
OrderSentByEMail=تم إرسال طلبية العميل %s بواسطة البريد الإلكتروني
|
OrderSentByEMail=تم إرسال طلبية العميل %s بواسطة البريد الإلكتروني
|
||||||
InvoiceSentByEMail=تم إرسال فاتروة العميل %s بواسطة البريد الإلكتروني
|
InvoiceSentByEMail=تم إرسال فاتروة العميل %s بواسطة البريد الإلكتروني
|
||||||
@ -96,3 +95,5 @@ AddEvent=Create event
|
|||||||
MyAvailability=My availability
|
MyAvailability=My availability
|
||||||
ActionType=Event type
|
ActionType=Event type
|
||||||
DateActionBegin=Start event date
|
DateActionBegin=Start event date
|
||||||
|
CloneAction=Clone event
|
||||||
|
ConfirmCloneEvent=Are you sure you want to clone the event <b>%s</b> ?
|
||||||
|
|||||||
@ -113,7 +113,7 @@ CustomerInvoicePayment=عملاء الدفع
|
|||||||
CustomerInvoicePaymentBack=Customer payment back
|
CustomerInvoicePaymentBack=Customer payment back
|
||||||
SupplierInvoicePayment=المورد الدفع
|
SupplierInvoicePayment=المورد الدفع
|
||||||
WithdrawalPayment=انسحاب الدفع
|
WithdrawalPayment=انسحاب الدفع
|
||||||
SocialContributionPayment=دفع المساهمة الاجتماعية
|
SocialContributionPayment=Social/fiscal tax payment
|
||||||
FinancialAccountJournal=مجلة الحساب المالي
|
FinancialAccountJournal=مجلة الحساب المالي
|
||||||
BankTransfer=حوالة مصرفية
|
BankTransfer=حوالة مصرفية
|
||||||
BankTransfers=التحويلات المصرفية
|
BankTransfers=التحويلات المصرفية
|
||||||
|
|||||||
@ -178,7 +178,7 @@ NumberOfBills=ملاحظة : من الفواتير
|
|||||||
NumberOfBillsByMonth=ملحوظة من الفواتير من قبل شهر
|
NumberOfBillsByMonth=ملحوظة من الفواتير من قبل شهر
|
||||||
AmountOfBills=مبلغ الفواتير
|
AmountOfBills=مبلغ الفواتير
|
||||||
AmountOfBillsByMonthHT=كمية من الفواتير من قبل شهر (بعد خصم الضرائب)
|
AmountOfBillsByMonthHT=كمية من الفواتير من قبل شهر (بعد خصم الضرائب)
|
||||||
ShowSocialContribution=وتظهر مساهمة الاجتماعية
|
ShowSocialContribution=Show social/fiscal tax
|
||||||
ShowBill=وتظهر الفاتورة
|
ShowBill=وتظهر الفاتورة
|
||||||
ShowInvoice=وتظهر الفاتورة
|
ShowInvoice=وتظهر الفاتورة
|
||||||
ShowInvoiceReplace=وتظهر استبدال الفاتورة
|
ShowInvoiceReplace=وتظهر استبدال الفاتورة
|
||||||
@ -270,7 +270,7 @@ BillAddress=مشروع قانون معالجة
|
|||||||
HelpEscompte=هذا الخصم هو الخصم الممنوح للعميل لأن الدفع قبل البعيد.
|
HelpEscompte=هذا الخصم هو الخصم الممنوح للعميل لأن الدفع قبل البعيد.
|
||||||
HelpAbandonBadCustomer=هذا المبلغ قد تم التخلي عنها (وذكر أن العملاء سيئة العملاء) ، ويعتبر أحد exceptionnal فضفاضة.
|
HelpAbandonBadCustomer=هذا المبلغ قد تم التخلي عنها (وذكر أن العملاء سيئة العملاء) ، ويعتبر أحد exceptionnal فضفاضة.
|
||||||
HelpAbandonOther=هذا المبلغ قد تم التخلي عنها لأنها كانت خطأ (خطأ أو فاتورة العميل أي بعبارة أخرى على سبيل المثال)
|
HelpAbandonOther=هذا المبلغ قد تم التخلي عنها لأنها كانت خطأ (خطأ أو فاتورة العميل أي بعبارة أخرى على سبيل المثال)
|
||||||
IdSocialContribution=المساهمة الاجتماعية معرف
|
IdSocialContribution=Social/fiscal tax payment id
|
||||||
PaymentId=دفع معرف
|
PaymentId=دفع معرف
|
||||||
InvoiceId=فاتورة معرف
|
InvoiceId=فاتورة معرف
|
||||||
InvoiceRef=المرجع الفاتورة.
|
InvoiceRef=المرجع الفاتورة.
|
||||||
|
|||||||
@ -30,6 +30,7 @@ ThirdPartyContact=طرف ثالث اتصال
|
|||||||
StatusContactValidated=مركز الاتصال
|
StatusContactValidated=مركز الاتصال
|
||||||
Company=شركة
|
Company=شركة
|
||||||
CompanyName=اسم الشركة
|
CompanyName=اسم الشركة
|
||||||
|
AliasNames=Alias names (commercial, trademark, ...)
|
||||||
Companies=الشركات
|
Companies=الشركات
|
||||||
CountryIsInEEC=البلد داخل المجموعة الاقتصادية الأوروبية
|
CountryIsInEEC=البلد داخل المجموعة الاقتصادية الأوروبية
|
||||||
ThirdPartyName=اسم طرف ثالث
|
ThirdPartyName=اسم طرف ثالث
|
||||||
|
|||||||
@ -56,23 +56,23 @@ VATCollected=جمعت ضريبة القيمة المضافة
|
|||||||
ToPay=دفع
|
ToPay=دفع
|
||||||
ToGet=العودة
|
ToGet=العودة
|
||||||
SpecialExpensesArea=Area for all special payments
|
SpecialExpensesArea=Area for all special payments
|
||||||
TaxAndDividendsArea=ضريبة أرباح الأسهم والمساهمات الاجتماعية ، ومنطقة
|
TaxAndDividendsArea=Sale taxes, social/fiscal taxes contributions and dividends area
|
||||||
SocialContribution=المساهمة الاجتماعية
|
SocialContribution=Social or fiscal tax
|
||||||
SocialContributions=المساهمات الاجتماعية
|
SocialContributions=Social or fiscal taxes
|
||||||
MenuSpecialExpenses=Special expenses
|
MenuSpecialExpenses=Special expenses
|
||||||
MenuTaxAndDividends=الضرائب وعوائد
|
MenuTaxAndDividends=الضرائب وعوائد
|
||||||
MenuSalaries=Salaries
|
MenuSalaries=Salaries
|
||||||
MenuSocialContributions=المساهمات الاجتماعية
|
MenuSocialContributions=Social/fiscal taxes
|
||||||
MenuNewSocialContribution=مساهمة جديدة
|
MenuNewSocialContribution=New tax payment
|
||||||
NewSocialContribution=المساهمة الاجتماعية الجديدة
|
NewSocialContribution=New social/fiscal tax
|
||||||
ContributionsToPay=دفع الاشتراكات
|
ContributionsToPay=Social/fiscal taxes to pay
|
||||||
AccountancyTreasuryArea=المحاسبة / الخزانة المنطقة
|
AccountancyTreasuryArea=المحاسبة / الخزانة المنطقة
|
||||||
AccountancySetup=المحاسبة الإعداد
|
AccountancySetup=المحاسبة الإعداد
|
||||||
NewPayment=دفع جديدة
|
NewPayment=دفع جديدة
|
||||||
Payments=المدفوعات
|
Payments=المدفوعات
|
||||||
PaymentCustomerInvoice=الزبون تسديد الفاتورة
|
PaymentCustomerInvoice=الزبون تسديد الفاتورة
|
||||||
PaymentSupplierInvoice=دفع فاتورة المورد
|
PaymentSupplierInvoice=دفع فاتورة المورد
|
||||||
PaymentSocialContribution=دفع المساهمة الاجتماعية
|
PaymentSocialContribution=Social/fiscal tax payment
|
||||||
PaymentVat=دفع ضريبة القيمة المضافة
|
PaymentVat=دفع ضريبة القيمة المضافة
|
||||||
PaymentSalary=Salary payment
|
PaymentSalary=Salary payment
|
||||||
ListPayment=قائمة المدفوعات
|
ListPayment=قائمة المدفوعات
|
||||||
@ -91,7 +91,7 @@ LT1PaymentES=RE Payment
|
|||||||
LT1PaymentsES=RE Payments
|
LT1PaymentsES=RE Payments
|
||||||
VATPayment=دفع ضريبة القيمة المضافة
|
VATPayment=دفع ضريبة القيمة المضافة
|
||||||
VATPayments=دفع ضريبة القيمة المضافة
|
VATPayments=دفع ضريبة القيمة المضافة
|
||||||
SocialContributionsPayments=المساهمات الاجتماعية المدفوعات
|
SocialContributionsPayments=Social/fiscal taxes payments
|
||||||
ShowVatPayment=وتظهر دفع ضريبة القيمة المضافة
|
ShowVatPayment=وتظهر دفع ضريبة القيمة المضافة
|
||||||
TotalToPay=على دفع ما مجموعه
|
TotalToPay=على دفع ما مجموعه
|
||||||
TotalVATReceived=تلقى مجموع الضريبة على القيمة المضافة
|
TotalVATReceived=تلقى مجموع الضريبة على القيمة المضافة
|
||||||
@ -116,11 +116,11 @@ NewCheckDepositOn=تهيئة لتلقي الودائع على حساب : ٪ ق
|
|||||||
NoWaitingChecks=لم ينتظر إيداع الشيكات.
|
NoWaitingChecks=لم ينتظر إيداع الشيكات.
|
||||||
DateChequeReceived=استقبال المدخلات تاريخ الشيك
|
DateChequeReceived=استقبال المدخلات تاريخ الشيك
|
||||||
NbOfCheques=ملاحظة : للشيكات
|
NbOfCheques=ملاحظة : للشيكات
|
||||||
PaySocialContribution=دفع المساهمات الاجتماعية
|
PaySocialContribution=Pay a social/fiscal tax
|
||||||
ConfirmPaySocialContribution=هل أنت متأكد من أن يصنف هذه المساهمة paid الاجتماعية؟
|
ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid?
|
||||||
DeleteSocialContribution=حذف المساهمات الاجتماعية
|
DeleteSocialContribution=Delete a social or fiscal tax payment
|
||||||
ConfirmDeleteSocialContribution=هل أنت متأكد من أنك تريد حذف هذه المساهمة الاجتماعية؟
|
ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment?
|
||||||
ExportDataset_tax_1=المساهمات الاجتماعية والمدفوعات
|
ExportDataset_tax_1=Social and fiscal taxes and payments
|
||||||
CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
||||||
CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
||||||
CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
||||||
@ -198,10 +198,10 @@ CalculationRuleDescSupplier=according to supplier, choose appropriate method to
|
|||||||
TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
||||||
CalculationMode=Calculation mode
|
CalculationMode=Calculation mode
|
||||||
AccountancyJournal=Accountancy code journal
|
AccountancyJournal=Accountancy code journal
|
||||||
ACCOUNTING_VAT_ACCOUNT=Default accountancy code for collecting VAT
|
ACCOUNTING_VAT_SOLD_ACCOUNT=Default accountancy code for collecting VAT
|
||||||
ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT
|
ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT
|
||||||
ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
||||||
ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
||||||
CloneTax=Clone a social contribution
|
CloneTax=Clone a social/fiscal tax
|
||||||
ConfirmCloneTax=Confirm the clone of a social contribution
|
ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment
|
||||||
CloneTaxForNextMonth=Clone it for next month
|
CloneTaxForNextMonth=Clone it for next month
|
||||||
|
|||||||
@ -76,6 +76,7 @@ CronMethodHelp=The object method to launch. <BR> For exemple to fetch method of
|
|||||||
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
|
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
|
||||||
CronCommandHelp=The system command line to execute.
|
CronCommandHelp=The system command line to execute.
|
||||||
CronCreateJob=Create new Scheduled Job
|
CronCreateJob=Create new Scheduled Job
|
||||||
|
CronFrom=From
|
||||||
# Info
|
# Info
|
||||||
CronInfoPage=Information
|
CronInfoPage=Information
|
||||||
# Common
|
# Common
|
||||||
|
|||||||
@ -35,7 +35,7 @@ ECMSearchByEntity=بحث عن وجوه
|
|||||||
ECMSectionOfDocuments=أدلة وثائق
|
ECMSectionOfDocuments=أدلة وثائق
|
||||||
ECMTypeManual=دليل
|
ECMTypeManual=دليل
|
||||||
ECMTypeAuto=التلقائي
|
ECMTypeAuto=التلقائي
|
||||||
ECMDocsBySocialContributions=Documents linked to social contributions
|
ECMDocsBySocialContributions=Documents linked to social or fiscal taxes
|
||||||
ECMDocsByThirdParties=وثائق مرتبطة أطراف ثالثة
|
ECMDocsByThirdParties=وثائق مرتبطة أطراف ثالثة
|
||||||
ECMDocsByProposals=وثائق مرتبطة مقترحات
|
ECMDocsByProposals=وثائق مرتبطة مقترحات
|
||||||
ECMDocsByOrders=وثائق مرتبطة أوامر العملاء
|
ECMDocsByOrders=وثائق مرتبطة أوامر العملاء
|
||||||
|
|||||||
@ -191,3 +191,4 @@ WarningNotRelevant=Irrelevant operation for this dataset
|
|||||||
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers.
|
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers.
|
||||||
WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s.
|
WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s.
|
||||||
WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters
|
WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters
|
||||||
|
WarningSomeLinesWithNullHourlyRate=Some times were recorded by users when their hourly rate was not defined. A value of 0 was used but this may result in wrong valuation of time spent.
|
||||||
|
|||||||
@ -3,7 +3,7 @@ HRM=HRM
|
|||||||
Holidays=Leaves
|
Holidays=Leaves
|
||||||
CPTitreMenu=Leaves
|
CPTitreMenu=Leaves
|
||||||
MenuReportMonth=Monthly statement
|
MenuReportMonth=Monthly statement
|
||||||
MenuAddCP=Make a leave request
|
MenuAddCP=New leave request
|
||||||
NotActiveModCP=You must enable the module Leaves to view this page.
|
NotActiveModCP=You must enable the module Leaves to view this page.
|
||||||
NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
NoCPforUser=You don't have any available day.
|
NoCPforUser=You don't have any available day.
|
||||||
@ -71,7 +71,7 @@ MotifCP=سبب
|
|||||||
UserCP=مستخدم
|
UserCP=مستخدم
|
||||||
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
MenuLogCP=View logs of leave requests
|
MenuLogCP=View change logs
|
||||||
LogCP=Log of updates of available vacation days
|
LogCP=Log of updates of available vacation days
|
||||||
ActionByCP=Performed by
|
ActionByCP=Performed by
|
||||||
UserUpdateCP=For the user
|
UserUpdateCP=For the user
|
||||||
@ -93,6 +93,7 @@ ValueOptionCP=القيمة
|
|||||||
GroupToValidateCP=Group with the ability to approve leave requests
|
GroupToValidateCP=Group with the ability to approve leave requests
|
||||||
ConfirmConfigCP=Validate the configuration
|
ConfirmConfigCP=Validate the configuration
|
||||||
LastUpdateCP=Last automatic update of leaves allocation
|
LastUpdateCP=Last automatic update of leaves allocation
|
||||||
|
MonthOfLastMonthlyUpdate=Month of last automatic update of leaves allocation
|
||||||
UpdateConfCPOK=Updated successfully.
|
UpdateConfCPOK=Updated successfully.
|
||||||
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
||||||
AddCPforUsers=Please add the balance of leaves allocation of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of leaves allocation of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
@ -127,6 +128,7 @@ ErrorMailNotSend=An error occurred while sending email:
|
|||||||
NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
nbJours=Number days
|
nbJours=Number days
|
||||||
TitleAdminCP=Configuration of Leaves
|
TitleAdminCP=Configuration of Leaves
|
||||||
|
NoticePeriod=Notice period
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hello
|
Hello=Hello
|
||||||
HolidaysToValidate=Validate leave requests
|
HolidaysToValidate=Validate leave requests
|
||||||
@ -139,10 +141,11 @@ HolidaysRefused=Request denied
|
|||||||
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
|
||||||
HolidaysCanceled=Canceled leaved request
|
HolidaysCanceled=Canceled leaved request
|
||||||
HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
|
HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
|
||||||
Permission20000=Read you own leave requests
|
Permission20001=Read you own leave requests
|
||||||
Permission20001=Create/modify your leave requests
|
Permission20002=Create/modify your leave requests
|
||||||
Permission20002=Create/modify leave requests for everybody
|
|
||||||
Permission20003=Delete leave requests
|
Permission20003=Delete leave requests
|
||||||
Permission20004=Setup users available vacation days
|
Permission20004=Read leave requests for everybody
|
||||||
Permission20005=Review log of modified leave requests
|
Permission20005=Create/modify leave requests for everybody
|
||||||
Permission20006=Read leaves monthly report
|
Permission20006=Admin leave requests (setup and update balance)
|
||||||
|
NewByMonth=Added per month
|
||||||
|
GoIntoDictionaryHolidayTypes=Go into <strong>Home - Setup - Dictionaries - Type of leaves</strong> to setup the different types of leaves.
|
||||||
|
|||||||
@ -128,6 +128,7 @@ TagCheckMail=Track mail opening
|
|||||||
TagUnsubscribe=Unsubscribe link
|
TagUnsubscribe=Unsubscribe link
|
||||||
TagSignature=Signature sending user
|
TagSignature=Signature sending user
|
||||||
TagMailtoEmail=Recipient EMail
|
TagMailtoEmail=Recipient EMail
|
||||||
|
NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile.
|
||||||
# Module Notifications
|
# Module Notifications
|
||||||
Notifications=الإخطارات
|
Notifications=الإخطارات
|
||||||
NoNotificationsWillBeSent=إشعارات البريد الإلكتروني لا يجري التخطيط لهذا الحدث ، وشركة
|
NoNotificationsWillBeSent=إشعارات البريد الإلكتروني لا يجري التخطيط لهذا الحدث ، وشركة
|
||||||
|
|||||||
@ -57,7 +57,7 @@ ErrorSomeErrorWereFoundRollbackIsDone=تم العثور على بعض الأخط
|
|||||||
ErrorConfigParameterNotDefined=المعلم <b>ل ٪</b> غير محدد Dolibarr داخل ملف <b>conf.php.</b>
|
ErrorConfigParameterNotDefined=المعلم <b>ل ٪</b> غير محدد Dolibarr داخل ملف <b>conf.php.</b>
|
||||||
ErrorCantLoadUserFromDolibarrDatabase=فشلت في العثور على المستخدم <b>٪ ق</b> Dolibarr في قاعدة البيانات.
|
ErrorCantLoadUserFromDolibarrDatabase=فشلت في العثور على المستخدم <b>٪ ق</b> Dolibarr في قاعدة البيانات.
|
||||||
ErrorNoVATRateDefinedForSellerCountry=خطأ ، لم يعرف لمعدلات ضريبة القيمة المضافة فى البلاد ٪ ق.
|
ErrorNoVATRateDefinedForSellerCountry=خطأ ، لم يعرف لمعدلات ضريبة القيمة المضافة فى البلاد ٪ ق.
|
||||||
ErrorNoSocialContributionForSellerCountry=خطأ ، لا يوجد نوع المساهمة الاجتماعية المحددة للبلد '%s'.
|
ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'.
|
||||||
ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف.
|
ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف.
|
||||||
SetDate=Set date
|
SetDate=Set date
|
||||||
SelectDate=Select a date
|
SelectDate=Select a date
|
||||||
@ -302,7 +302,7 @@ UnitPriceTTC=سعر الوحدة
|
|||||||
PriceU=ارتفاع
|
PriceU=ارتفاع
|
||||||
PriceUHT=ارتفاع (صافي)
|
PriceUHT=ارتفاع (صافي)
|
||||||
AskPriceSupplierUHT=U.P. net Requested
|
AskPriceSupplierUHT=U.P. net Requested
|
||||||
PriceUTTC=ارتفاع
|
PriceUTTC=U.P. (inc. tax)
|
||||||
Amount=مبلغ
|
Amount=مبلغ
|
||||||
AmountInvoice=مبلغ الفاتورة
|
AmountInvoice=مبلغ الفاتورة
|
||||||
AmountPayment=دفع مبلغ
|
AmountPayment=دفع مبلغ
|
||||||
@ -339,6 +339,7 @@ IncludedVAT=وتشمل الضريبة على القيمة المضافة
|
|||||||
HT=بعد خصم الضرائب
|
HT=بعد خصم الضرائب
|
||||||
TTC=شركة ضريبة على القيمة المضافة
|
TTC=شركة ضريبة على القيمة المضافة
|
||||||
VAT=ضريبة القيمة المضافة
|
VAT=ضريبة القيمة المضافة
|
||||||
|
VATs=Sales taxes
|
||||||
LT1ES=تعاود
|
LT1ES=تعاود
|
||||||
LT2ES=IRPF
|
LT2ES=IRPF
|
||||||
VATRate=سعر الضريبة على القيمة المضافة
|
VATRate=سعر الضريبة على القيمة المضافة
|
||||||
|
|||||||
@ -199,7 +199,8 @@ Entreprises=الشركات
|
|||||||
DOLIBARRFOUNDATION_PAYMENT_FORM=أن يسدد الاشتراك باستخدام حوالة مصرفية، راجع صفحة <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a> . <br> الدفع باستخدام بطاقة ائتمان أو باي بال، وانقر على زر في أسفل هذه الصفحة. <br>
|
DOLIBARRFOUNDATION_PAYMENT_FORM=أن يسدد الاشتراك باستخدام حوالة مصرفية، راجع صفحة <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a> . <br> الدفع باستخدام بطاقة ائتمان أو باي بال، وانقر على زر في أسفل هذه الصفحة. <br>
|
||||||
ByProperties=By characteristics
|
ByProperties=By characteristics
|
||||||
MembersStatisticsByProperties=Members statistics by characteristics
|
MembersStatisticsByProperties=Members statistics by characteristics
|
||||||
MembersByNature=Members by nature
|
MembersByNature=This screen show you statistics on members by nature.
|
||||||
|
MembersByRegion=This screen show you statistics on members by region.
|
||||||
VATToUseForSubscriptions=VAT rate to use for subscriptions
|
VATToUseForSubscriptions=VAT rate to use for subscriptions
|
||||||
NoVatOnSubscription=No TVA for subscriptions
|
NoVatOnSubscription=No TVA for subscriptions
|
||||||
MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription
|
MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription
|
||||||
|
|||||||
@ -294,3 +294,5 @@ LastUpdated=Last updated
|
|||||||
CorrectlyUpdated=Correctly updated
|
CorrectlyUpdated=Correctly updated
|
||||||
PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is
|
PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is
|
||||||
PropalMergePdfProductChooseFile=Select PDF files
|
PropalMergePdfProductChooseFile=Select PDF files
|
||||||
|
IncludingProductWithTag=Including product with tag
|
||||||
|
DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer
|
||||||
|
|||||||
@ -14,7 +14,8 @@ MyTasksDesc=ويقتصر هذا الرأي على المشروعات أو الم
|
|||||||
OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible).
|
OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible).
|
||||||
TasksPublicDesc=هذا الرأي يعرض جميع المشاريع والمهام ويسمح لك قراءة.
|
TasksPublicDesc=هذا الرأي يعرض جميع المشاريع والمهام ويسمح لك قراءة.
|
||||||
TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء).
|
TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء).
|
||||||
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on.
|
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. Assign task to you if you want to enter time on it.
|
||||||
|
OnlyYourTaskAreVisible=Only tasks you are assigned on are visible. Assign task to you if you want to enter time on it.
|
||||||
ProjectsArea=مشاريع المنطقة
|
ProjectsArea=مشاريع المنطقة
|
||||||
NewProject=مشروع جديد
|
NewProject=مشروع جديد
|
||||||
AddProject=إنشاء مشروع
|
AddProject=إنشاء مشروع
|
||||||
@ -76,6 +77,7 @@ ListExpenseReportsAssociatedProject=List of expense reports associated with the
|
|||||||
ListDonationsAssociatedProject=List of donations associated with the project
|
ListDonationsAssociatedProject=List of donations associated with the project
|
||||||
ListActionsAssociatedProject=قائمة الإجراءات المرتبطة بالمشروع
|
ListActionsAssociatedProject=قائمة الإجراءات المرتبطة بالمشروع
|
||||||
ListTaskTimeUserProject=List of time consumed on tasks of project
|
ListTaskTimeUserProject=List of time consumed on tasks of project
|
||||||
|
TaskTimeUserProject=Time consumed on tasks of project
|
||||||
ActivityOnProjectThisWeek=نشاط المشروع هذا الاسبوع
|
ActivityOnProjectThisWeek=نشاط المشروع هذا الاسبوع
|
||||||
ActivityOnProjectThisMonth=نشاط المشروع هذا الشهر
|
ActivityOnProjectThisMonth=نشاط المشروع هذا الشهر
|
||||||
ActivityOnProjectThisYear=نشاط المشروع هذا العام
|
ActivityOnProjectThisYear=نشاط المشروع هذا العام
|
||||||
@ -149,3 +151,6 @@ ProjectsWithThisUserAsContact=Projects with this user as contact
|
|||||||
TasksWithThisUserAsContact=Tasks assigned to this user
|
TasksWithThisUserAsContact=Tasks assigned to this user
|
||||||
ResourceNotAssignedToProject=Not assigned to project
|
ResourceNotAssignedToProject=Not assigned to project
|
||||||
ResourceNotAssignedToTask=Not assigned to task
|
ResourceNotAssignedToTask=Not assigned to task
|
||||||
|
AssignTaskToMe=Assign task to me
|
||||||
|
AssignTask=Assign
|
||||||
|
ProjectOverview=Overview
|
||||||
|
|||||||
@ -76,6 +76,7 @@ BROUILLONNER=Reopen
|
|||||||
SendToValid=Sent on approval
|
SendToValid=Sent on approval
|
||||||
ModifyInfoGen=Edit
|
ModifyInfoGen=Edit
|
||||||
ValidateAndSubmit=Validate and submit for approval
|
ValidateAndSubmit=Validate and submit for approval
|
||||||
|
ValidatedWaitingApproval=Validated (waiting for approval)
|
||||||
|
|
||||||
NOT_VALIDATOR=You are not allowed to approve this expense report
|
NOT_VALIDATOR=You are not allowed to approve this expense report
|
||||||
NOT_AUTHOR=You are not the author of this expense report. Operation cancelled.
|
NOT_AUTHOR=You are not the author of this expense report. Operation cancelled.
|
||||||
|
|||||||
@ -84,6 +84,11 @@ WithdrawalFile=Withdrawal file
|
|||||||
SetToStatusSent=Set to status "File Sent"
|
SetToStatusSent=Set to status "File Sent"
|
||||||
ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid"
|
ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid"
|
||||||
StatisticsByLineStatus=Statistics by status of lines
|
StatisticsByLineStatus=Statistics by status of lines
|
||||||
|
RUM=RUM
|
||||||
|
RUMWillBeGenerated=RUM number will be generated once bank account information are saved
|
||||||
|
WithdrawMode=Withdraw mode (FRST or RECUR)
|
||||||
|
WithdrawRequestAmount=Withdraw request amount:
|
||||||
|
WithdrawRequestErrorNilAmount=Unable to create withdraw request for nil amount.
|
||||||
|
|
||||||
### Notifications
|
### Notifications
|
||||||
InfoCreditSubject=دفع %s النظام الدائمة من قبل البنك
|
InfoCreditSubject=دفع %s النظام الدائمة من قبل البنك
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Dolibarr language file - Source file is en_US - admin
|
# Dolibarr language file - Source file is en_US - admin
|
||||||
WorkflowSetup=سير العمل وحدة الإعداد
|
WorkflowSetup=سير العمل وحدة الإعداد
|
||||||
WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in.
|
WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in.
|
||||||
ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module.
|
ThereIsNoWorkflowToModify=There is no workflow modifications available with the activated modules.
|
||||||
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed
|
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed
|
||||||
descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed
|
descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed
|
||||||
descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated
|
descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated
|
||||||
|
|||||||
@ -429,8 +429,8 @@ Module20Name=Предложения
|
|||||||
Module20Desc=Търговско предложение управление
|
Module20Desc=Търговско предложение управление
|
||||||
Module22Name=Масови имейли
|
Module22Name=Масови имейли
|
||||||
Module22Desc=Управление на масови имейли
|
Module22Desc=Управление на масови имейли
|
||||||
Module23Name= Енергия
|
Module23Name=Енергия
|
||||||
Module23Desc= Наблюдение на консумацията на енергия
|
Module23Desc=Наблюдение на консумацията на енергия
|
||||||
Module25Name=Поръчки от клиенти
|
Module25Name=Поръчки от клиенти
|
||||||
Module25Desc=Управление на поръчка на клиента
|
Module25Desc=Управление на поръчка на клиента
|
||||||
Module30Name=Фактури
|
Module30Name=Фактури
|
||||||
@ -492,7 +492,7 @@ Module400Desc=Management of projects, opportunities or leads. You can then assig
|
|||||||
Module410Name=Webcalendar
|
Module410Name=Webcalendar
|
||||||
Module410Desc=Webcalendar интеграция
|
Module410Desc=Webcalendar интеграция
|
||||||
Module500Name=Special expenses
|
Module500Name=Special expenses
|
||||||
Module500Desc=Management of special expenses (taxes, social contribution, dividends)
|
Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends)
|
||||||
Module510Name=Salaries
|
Module510Name=Salaries
|
||||||
Module510Desc=Management of employees salaries and payments
|
Module510Desc=Management of employees salaries and payments
|
||||||
Module520Name=Loan
|
Module520Name=Loan
|
||||||
@ -501,7 +501,7 @@ Module600Name=Известия
|
|||||||
Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty)
|
Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty)
|
||||||
Module700Name=Дарения
|
Module700Name=Дарения
|
||||||
Module700Desc=Управление на дарения
|
Module700Desc=Управление на дарения
|
||||||
Module770Name=Expense Report
|
Module770Name=Expense reports
|
||||||
Module770Desc=Management and claim expense reports (transportation, meal, ...)
|
Module770Desc=Management and claim expense reports (transportation, meal, ...)
|
||||||
Module1120Name=Supplier commercial proposal
|
Module1120Name=Supplier commercial proposal
|
||||||
Module1120Desc=Request supplier commercial proposal and prices
|
Module1120Desc=Request supplier commercial proposal and prices
|
||||||
@ -579,7 +579,7 @@ Permission32=Създаване / промяна на продукти
|
|||||||
Permission34=Изтриване на продукти
|
Permission34=Изтриване на продукти
|
||||||
Permission36=Преглед / управление на скрити продукти
|
Permission36=Преглед / управление на скрити продукти
|
||||||
Permission38=Износ на продукти
|
Permission38=Износ на продукти
|
||||||
Permission41=Четене на проекти (общи проекти и проекти съм се с нас за)
|
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
||||||
Permission42=Създаване / промяна на проекти (общи проекти и проекти съм се с нас за)
|
Permission42=Създаване / промяна на проекти (общи проекти и проекти съм се с нас за)
|
||||||
Permission44=Изтриване на проекти (общи проекти и проекти съм се с нас за)
|
Permission44=Изтриване на проекти (общи проекти и проекти съм се с нас за)
|
||||||
Permission61=Прочети интервенции
|
Permission61=Прочети интервенции
|
||||||
@ -600,10 +600,10 @@ Permission86=Изпрати клиенти поръчки
|
|||||||
Permission87=Затваряне на поръчките на клиентите
|
Permission87=Затваряне на поръчките на клиентите
|
||||||
Permission88=Отказ клиенти поръчки
|
Permission88=Отказ клиенти поръчки
|
||||||
Permission89=Изтриване на клиенти поръчки
|
Permission89=Изтриване на клиенти поръчки
|
||||||
Permission91=Социалноосигурителните вноски и ДДС
|
Permission91=Read social or fiscal taxes and vat
|
||||||
Permission92=Създаване / промяна на социалните вноски и ДДС
|
Permission92=Create/modify social or fiscal taxes and vat
|
||||||
Permission93=Изтриване на социалноосигурителните вноски и ДДС
|
Permission93=Delete social or fiscal taxes and vat
|
||||||
Permission94=Експортиране на социалноосигурителните вноски
|
Permission94=Export social or fiscal taxes
|
||||||
Permission95=Прочети доклада
|
Permission95=Прочети доклада
|
||||||
Permission101=Прочети sendings
|
Permission101=Прочети sendings
|
||||||
Permission102=Създаване / промяна sendings
|
Permission102=Създаване / промяна sendings
|
||||||
@ -621,9 +621,9 @@ Permission121=Четене на трети лица, свързани с пот
|
|||||||
Permission122=Създаване / промяна трети страни, свързани с потребителя
|
Permission122=Създаване / промяна трети страни, свързани с потребителя
|
||||||
Permission125=Изтриване на трети лица, свързани с потребителя
|
Permission125=Изтриване на трети лица, свързани с потребителя
|
||||||
Permission126=Трети страни за износ
|
Permission126=Трети страни за износ
|
||||||
Permission141=Прочетете проекти (лично аз не съм се с нас за)
|
Permission141=Read all projects and tasks (also private projects i am not contact for)
|
||||||
Permission142=Създаване / промяна проекти (лично аз не съм се свържете)
|
Permission142=Create/modify all projects and tasks (also private projects i am not contact for)
|
||||||
Permission144=Изтриване на проекти (лично аз не съм се с нас за)
|
Permission144=Delete all projects and tasks (also private projects i am not contact for)
|
||||||
Permission146=Прочети доставчици
|
Permission146=Прочети доставчици
|
||||||
Permission147=Прочети статистиката
|
Permission147=Прочети статистиката
|
||||||
Permission151=Нареждания за периодични преводи
|
Permission151=Нареждания за периодични преводи
|
||||||
@ -801,7 +801,7 @@ DictionaryCountry=Countries
|
|||||||
DictionaryCurrency=Currencies
|
DictionaryCurrency=Currencies
|
||||||
DictionaryCivility=Civility title
|
DictionaryCivility=Civility title
|
||||||
DictionaryActions=Type of agenda events
|
DictionaryActions=Type of agenda events
|
||||||
DictionarySocialContributions=Social contributions types
|
DictionarySocialContributions=Social or fiscal taxes types
|
||||||
DictionaryVAT=VAT Rates or Sales Tax Rates
|
DictionaryVAT=VAT Rates or Sales Tax Rates
|
||||||
DictionaryRevenueStamp=Amount of revenue stamps
|
DictionaryRevenueStamp=Amount of revenue stamps
|
||||||
DictionaryPaymentConditions=Payment terms
|
DictionaryPaymentConditions=Payment terms
|
||||||
@ -820,6 +820,7 @@ DictionaryAccountancysystem=Models for chart of accounts
|
|||||||
DictionaryEMailTemplates=Emails templates
|
DictionaryEMailTemplates=Emails templates
|
||||||
DictionaryUnits=Units
|
DictionaryUnits=Units
|
||||||
DictionaryProspectStatus=Prospection status
|
DictionaryProspectStatus=Prospection status
|
||||||
|
DictionaryHolidayTypes=Type of leaves
|
||||||
SetupSaved=Setup спаси
|
SetupSaved=Setup спаси
|
||||||
BackToModuleList=Обратно към списъка с модули
|
BackToModuleList=Обратно към списъка с модули
|
||||||
BackToDictionaryList=Back to dictionaries list
|
BackToDictionaryList=Back to dictionaries list
|
||||||
@ -1510,7 +1511,7 @@ ConfirmDeleteMenu=Сигурен ли сте, че искате да изтри
|
|||||||
DeleteLine=Изтриване на ред
|
DeleteLine=Изтриване на ред
|
||||||
ConfirmDeleteLine=Сигурни ли сте, че желаете да изтриете този ред?
|
ConfirmDeleteLine=Сигурни ли сте, че желаете да изтриете този ред?
|
||||||
##### Tax #####
|
##### Tax #####
|
||||||
TaxSetup=Данъци, социални осигуровки и дивиденти модул за настройка
|
TaxSetup=Taxes, social or fiscal taxes and dividends module setup
|
||||||
OptionVatMode=Дължимия ДДС
|
OptionVatMode=Дължимия ДДС
|
||||||
OptionVATDefault=Cash basis
|
OptionVATDefault=Cash basis
|
||||||
OptionVATDebitOption=Accrual basis
|
OptionVATDebitOption=Accrual basis
|
||||||
@ -1564,9 +1565,11 @@ EndPointIs=SOAP клиентите трябва да изпратят своит
|
|||||||
ApiSetup=API module setup
|
ApiSetup=API module setup
|
||||||
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
|
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
|
||||||
KeyForApiAccess=Key to use API (parameter "api_key")
|
KeyForApiAccess=Key to use API (parameter "api_key")
|
||||||
|
ApiProductionMode=Enable production mode
|
||||||
ApiEndPointIs=You can access to the API at url
|
ApiEndPointIs=You can access to the API at url
|
||||||
ApiExporerIs=You can explore the API at url
|
ApiExporerIs=You can explore the API at url
|
||||||
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
|
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
|
||||||
|
ApiKey=Key for API
|
||||||
##### Bank #####
|
##### Bank #####
|
||||||
BankSetupModule=Модул за настройка на банката
|
BankSetupModule=Модул за настройка на банката
|
||||||
FreeLegalTextOnChequeReceipts=Свободен текст чековите разписки
|
FreeLegalTextOnChequeReceipts=Свободен текст чековите разписки
|
||||||
@ -1596,6 +1599,7 @@ ProjectsSetup=Инсталационния проект модул
|
|||||||
ProjectsModelModule=Проект доклади документ модел
|
ProjectsModelModule=Проект доклади документ модел
|
||||||
TasksNumberingModules=Tasks numbering module
|
TasksNumberingModules=Tasks numbering module
|
||||||
TaskModelModule=Tasks reports document model
|
TaskModelModule=Tasks reports document model
|
||||||
|
UseSearchToSelectProject=Use autocompletion fields to choose project (instead of using a list box)
|
||||||
##### ECM (GED) #####
|
##### ECM (GED) #####
|
||||||
ECMSetup = GED Setup
|
ECMSetup = GED Setup
|
||||||
ECMAutoTree = Automatic tree folder and document
|
ECMAutoTree = Automatic tree folder and document
|
||||||
@ -1640,3 +1644,9 @@ ConfFileMuseContainCustom=Installing an external module from application save th
|
|||||||
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
||||||
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
||||||
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
||||||
|
BackgroundColor=Background color
|
||||||
|
TopMenuBackgroundColor=Background color for Top menu
|
||||||
|
LeftMenuBackgroundColor=Background color for Left menu
|
||||||
|
BackgroundTableTitleColor=Background color for table title line
|
||||||
|
BackgroundTableLineOddColor=Background color for odd table lines
|
||||||
|
BackgroundTableLineEvenColor=Background color for even table lines
|
||||||
|
|||||||
@ -55,7 +55,6 @@ OrderBilledInDolibarr=Order %s classified billed
|
|||||||
OrderApprovedInDolibarr=Поръчка %s одобрен
|
OrderApprovedInDolibarr=Поръчка %s одобрен
|
||||||
OrderRefusedInDolibarr=Order %s refused
|
OrderRefusedInDolibarr=Order %s refused
|
||||||
OrderBackToDraftInDolibarr=Поръчка %s се върне в състояние на чернова
|
OrderBackToDraftInDolibarr=Поръчка %s се върне в състояние на чернова
|
||||||
OrderCanceledInDolibarr=Поръчка %s отменен
|
|
||||||
ProposalSentByEMail=Търговски %s предложението, изпратено по електронна поща
|
ProposalSentByEMail=Търговски %s предложението, изпратено по електронна поща
|
||||||
OrderSentByEMail=, Изпратени по електронната поща %s поръчка на клиента
|
OrderSentByEMail=, Изпратени по електронната поща %s поръчка на клиента
|
||||||
InvoiceSentByEMail=, Изпратени по електронната поща %s клиенти фактура
|
InvoiceSentByEMail=, Изпратени по електронната поща %s клиенти фактура
|
||||||
@ -96,3 +95,5 @@ AddEvent=Create event
|
|||||||
MyAvailability=My availability
|
MyAvailability=My availability
|
||||||
ActionType=Event type
|
ActionType=Event type
|
||||||
DateActionBegin=Start event date
|
DateActionBegin=Start event date
|
||||||
|
CloneAction=Clone event
|
||||||
|
ConfirmCloneEvent=Are you sure you want to clone the event <b>%s</b> ?
|
||||||
|
|||||||
@ -113,7 +113,7 @@ CustomerInvoicePayment=Клиентско плащане
|
|||||||
CustomerInvoicePaymentBack=Customer payment back
|
CustomerInvoicePaymentBack=Customer payment back
|
||||||
SupplierInvoicePayment=Доставчик плащане
|
SupplierInvoicePayment=Доставчик плащане
|
||||||
WithdrawalPayment=Оттегляне плащане
|
WithdrawalPayment=Оттегляне плащане
|
||||||
SocialContributionPayment=Осигурителната вноска за плащане
|
SocialContributionPayment=Social/fiscal tax payment
|
||||||
FinancialAccountJournal=Финансова сметка списание
|
FinancialAccountJournal=Финансова сметка списание
|
||||||
BankTransfer=Банков превод
|
BankTransfer=Банков превод
|
||||||
BankTransfers=Банкови преводи
|
BankTransfers=Банкови преводи
|
||||||
|
|||||||
@ -178,7 +178,7 @@ NumberOfBills=Nb на фактури
|
|||||||
NumberOfBillsByMonth=Nb на фактури по месец
|
NumberOfBillsByMonth=Nb на фактури по месец
|
||||||
AmountOfBills=Размер на фактури
|
AmountOfBills=Размер на фактури
|
||||||
AmountOfBillsByMonthHT=Размер на фактури от месец (нетно от данъци)
|
AmountOfBillsByMonthHT=Размер на фактури от месец (нетно от данъци)
|
||||||
ShowSocialContribution=Показване на осигурителната вноска
|
ShowSocialContribution=Show social/fiscal tax
|
||||||
ShowBill=Покажи фактура
|
ShowBill=Покажи фактура
|
||||||
ShowInvoice=Покажи фактура
|
ShowInvoice=Покажи фактура
|
||||||
ShowInvoiceReplace=Покажи замяна фактура
|
ShowInvoiceReplace=Покажи замяна фактура
|
||||||
@ -270,7 +270,7 @@ BillAddress=Бил адрес
|
|||||||
HelpEscompte=Тази отстъпка е отстъпка, предоставена на клиента, тъй като плащането е извършено преди термина.
|
HelpEscompte=Тази отстъпка е отстъпка, предоставена на клиента, тъй като плащането е извършено преди термина.
|
||||||
HelpAbandonBadCustomer=Тази сума е бил изоставен (клиент казва, че е лош клиент) и се счита като извънредна в насипно състояние.
|
HelpAbandonBadCustomer=Тази сума е бил изоставен (клиент казва, че е лош клиент) и се счита като извънредна в насипно състояние.
|
||||||
HelpAbandonOther=Тази сума е изоставена, тъй като тя е грешка (грешен клиент или фактура, заменен от друг например)
|
HelpAbandonOther=Тази сума е изоставена, тъй като тя е грешка (грешен клиент или фактура, заменен от друг например)
|
||||||
IdSocialContribution=Социален принос ID
|
IdSocialContribution=Social/fiscal tax payment id
|
||||||
PaymentId=Плащане ID
|
PaymentId=Плащане ID
|
||||||
InvoiceId=Фактура номер
|
InvoiceId=Фактура номер
|
||||||
InvoiceRef=Фактура с реф.
|
InvoiceRef=Фактура с реф.
|
||||||
|
|||||||
@ -30,6 +30,7 @@ ThirdPartyContact=От страна на трети лица за контакт
|
|||||||
StatusContactValidated=Състояние на контакт/адрес
|
StatusContactValidated=Състояние на контакт/адрес
|
||||||
Company=Фирма
|
Company=Фирма
|
||||||
CompanyName=Име на фирмата
|
CompanyName=Име на фирмата
|
||||||
|
AliasNames=Alias names (commercial, trademark, ...)
|
||||||
Companies=Фирми
|
Companies=Фирми
|
||||||
CountryIsInEEC=Държавата е част от Европейската икономическа общност
|
CountryIsInEEC=Държавата е част от Европейската икономическа общност
|
||||||
ThirdPartyName=Име на Трета страна
|
ThirdPartyName=Име на Трета страна
|
||||||
|
|||||||
@ -56,23 +56,23 @@ VATCollected=Събраният ДДС
|
|||||||
ToPay=За да платите
|
ToPay=За да платите
|
||||||
ToGet=За да се върнете
|
ToGet=За да се върнете
|
||||||
SpecialExpensesArea=Area for all special payments
|
SpecialExpensesArea=Area for all special payments
|
||||||
TaxAndDividendsArea=Данъци, вноски за социално и дивиденти площ
|
TaxAndDividendsArea=Sale taxes, social/fiscal taxes contributions and dividends area
|
||||||
SocialContribution=Социален принос
|
SocialContribution=Social or fiscal tax
|
||||||
SocialContributions=Социалноосигурителни вноски
|
SocialContributions=Social or fiscal taxes
|
||||||
MenuSpecialExpenses=Special expenses
|
MenuSpecialExpenses=Special expenses
|
||||||
MenuTaxAndDividends=Данъци и дивиденти
|
MenuTaxAndDividends=Данъци и дивиденти
|
||||||
MenuSalaries=Salaries
|
MenuSalaries=Salaries
|
||||||
MenuSocialContributions=Социалноосигурителни вноски
|
MenuSocialContributions=Social/fiscal taxes
|
||||||
MenuNewSocialContribution=Нов принос
|
MenuNewSocialContribution=New tax payment
|
||||||
NewSocialContribution=Нова социална принос
|
NewSocialContribution=New social/fiscal tax
|
||||||
ContributionsToPay=Вноски за плащане
|
ContributionsToPay=Social/fiscal taxes to pay
|
||||||
AccountancyTreasuryArea=Счетоводство / Каса
|
AccountancyTreasuryArea=Счетоводство / Каса
|
||||||
AccountancySetup=Настройки на счетоводството
|
AccountancySetup=Настройки на счетоводството
|
||||||
NewPayment=Нов плащане
|
NewPayment=Нов плащане
|
||||||
Payments=Плащания
|
Payments=Плащания
|
||||||
PaymentCustomerInvoice=Плащане на клиенти фактура
|
PaymentCustomerInvoice=Плащане на клиенти фактура
|
||||||
PaymentSupplierInvoice=Плащане доставчик фактура
|
PaymentSupplierInvoice=Плащане доставчик фактура
|
||||||
PaymentSocialContribution=Осигурителната вноска за плащане
|
PaymentSocialContribution=Social/fiscal tax payment
|
||||||
PaymentVat=Плащането на ДДС
|
PaymentVat=Плащането на ДДС
|
||||||
PaymentSalary=Salary payment
|
PaymentSalary=Salary payment
|
||||||
ListPayment=Списък на плащанията
|
ListPayment=Списък на плащанията
|
||||||
@ -91,7 +91,7 @@ LT1PaymentES=RE Payment
|
|||||||
LT1PaymentsES=RE Payments
|
LT1PaymentsES=RE Payments
|
||||||
VATPayment=Плащането на ДДС
|
VATPayment=Плащането на ДДС
|
||||||
VATPayments=Плащанията по ДДС
|
VATPayments=Плащанията по ДДС
|
||||||
SocialContributionsPayments=Социални плащания вноски
|
SocialContributionsPayments=Social/fiscal taxes payments
|
||||||
ShowVatPayment=Покажи плащане на ДДС
|
ShowVatPayment=Покажи плащане на ДДС
|
||||||
TotalToPay=Всичко за плащане
|
TotalToPay=Всичко за плащане
|
||||||
TotalVATReceived=Общо ДДС
|
TotalVATReceived=Общо ДДС
|
||||||
@ -116,11 +116,11 @@ NewCheckDepositOn=Създаване на разписка за депозит
|
|||||||
NoWaitingChecks=Няма проверки за депозит.
|
NoWaitingChecks=Няма проверки за депозит.
|
||||||
DateChequeReceived=Проверете датата рецепция
|
DateChequeReceived=Проверете датата рецепция
|
||||||
NbOfCheques=Nb на проверките
|
NbOfCheques=Nb на проверките
|
||||||
PaySocialContribution=Заплащане на осигурителната вноска
|
PaySocialContribution=Pay a social/fiscal tax
|
||||||
ConfirmPaySocialContribution=Сигурен ли сте, че искате да класифицира този осигурителната вноска като платен?
|
ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid?
|
||||||
DeleteSocialContribution=Изтриване на осигурителната вноска
|
DeleteSocialContribution=Delete a social or fiscal tax payment
|
||||||
ConfirmDeleteSocialContribution=Сигурен ли сте, че искате да изтриете тази осигурителната вноска?
|
ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment?
|
||||||
ExportDataset_tax_1=Социални вноски и плащания
|
ExportDataset_tax_1=Social and fiscal taxes and payments
|
||||||
CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
||||||
CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
||||||
CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
||||||
@ -198,10 +198,10 @@ CalculationRuleDescSupplier=according to supplier, choose appropriate method to
|
|||||||
TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
||||||
CalculationMode=Calculation mode
|
CalculationMode=Calculation mode
|
||||||
AccountancyJournal=Accountancy code journal
|
AccountancyJournal=Accountancy code journal
|
||||||
ACCOUNTING_VAT_ACCOUNT=Счетоводен код по подразбиране за начисляване на ДДС
|
ACCOUNTING_VAT_SOLD_ACCOUNT=Default accountancy code for collecting VAT
|
||||||
ACCOUNTING_VAT_BUY_ACCOUNT=Счетоводен код по подразбиране за плащане на ДДС
|
ACCOUNTING_VAT_BUY_ACCOUNT=Счетоводен код по подразбиране за плащане на ДДС
|
||||||
ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
||||||
ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
||||||
CloneTax=Клониране на социално-осигурителни вноски
|
CloneTax=Clone a social/fiscal tax
|
||||||
ConfirmCloneTax=Потвърдете клонирането на социално-осигурителните вноски
|
ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment
|
||||||
CloneTaxForNextMonth=Клониране за следващ месец
|
CloneTaxForNextMonth=Клониране за следващ месец
|
||||||
|
|||||||
@ -76,6 +76,7 @@ CronMethodHelp=The object method to launch. <BR> For exemple to fetch method of
|
|||||||
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
|
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
|
||||||
CronCommandHelp=Системния команден ред за стартиране.
|
CronCommandHelp=Системния команден ред за стартиране.
|
||||||
CronCreateJob=Create new Scheduled Job
|
CronCreateJob=Create new Scheduled Job
|
||||||
|
CronFrom=From
|
||||||
# Info
|
# Info
|
||||||
CronInfoPage=Информация
|
CronInfoPage=Информация
|
||||||
# Common
|
# Common
|
||||||
|
|||||||
@ -35,7 +35,7 @@ ECMSearchByEntity=Търсене по обект
|
|||||||
ECMSectionOfDocuments=Директории на документи
|
ECMSectionOfDocuments=Директории на документи
|
||||||
ECMTypeManual=Ръчно
|
ECMTypeManual=Ръчно
|
||||||
ECMTypeAuto=Автоматично
|
ECMTypeAuto=Автоматично
|
||||||
ECMDocsBySocialContributions=Документи, които се отнасят до социални вноски
|
ECMDocsBySocialContributions=Documents linked to social or fiscal taxes
|
||||||
ECMDocsByThirdParties=Документи, свързани с трети страни
|
ECMDocsByThirdParties=Документи, свързани с трети страни
|
||||||
ECMDocsByProposals=Документи, свързани с предложения
|
ECMDocsByProposals=Документи, свързани с предложения
|
||||||
ECMDocsByOrders=Документи, свързани с поръчки на клиенти
|
ECMDocsByOrders=Документи, свързани с поръчки на клиенти
|
||||||
|
|||||||
@ -191,3 +191,4 @@ WarningNotRelevant=Irrelevant operation for this dataset
|
|||||||
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers.
|
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers.
|
||||||
WarningPaymentDateLowerThanInvoiceDate=Датата на плащане (%s) е по-ранна от датата на фактуриране (%s) за фактура %s.
|
WarningPaymentDateLowerThanInvoiceDate=Датата на плащане (%s) е по-ранна от датата на фактуриране (%s) за фактура %s.
|
||||||
WarningTooManyDataPleaseUseMoreFilters=Твърде много данни. Моля, използвайте повече филтри
|
WarningTooManyDataPleaseUseMoreFilters=Твърде много данни. Моля, използвайте повече филтри
|
||||||
|
WarningSomeLinesWithNullHourlyRate=Some times were recorded by users when their hourly rate was not defined. A value of 0 was used but this may result in wrong valuation of time spent.
|
||||||
|
|||||||
@ -3,7 +3,7 @@ HRM=ЧР
|
|||||||
Holidays=Leaves
|
Holidays=Leaves
|
||||||
CPTitreMenu=Leaves
|
CPTitreMenu=Leaves
|
||||||
MenuReportMonth=Месечно извлечение
|
MenuReportMonth=Месечно извлечение
|
||||||
MenuAddCP=Make a leave request
|
MenuAddCP=New leave request
|
||||||
NotActiveModCP=You must enable the module Leaves to view this page.
|
NotActiveModCP=You must enable the module Leaves to view this page.
|
||||||
NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
NoCPforUser=You don't have any available day.
|
NoCPforUser=You don't have any available day.
|
||||||
@ -71,7 +71,7 @@ MotifCP=Причина
|
|||||||
UserCP=Потребител
|
UserCP=Потребител
|
||||||
ErrorAddEventToUserCP=Възникна грешка при добавяне на изключително отпуск.
|
ErrorAddEventToUserCP=Възникна грешка при добавяне на изключително отпуск.
|
||||||
AddEventToUserOkCP=Добавянето на извънредния отпуск е завършена.
|
AddEventToUserOkCP=Добавянето на извънредния отпуск е завършена.
|
||||||
MenuLogCP=View logs of leave requests
|
MenuLogCP=View change logs
|
||||||
LogCP=Log of updates of available vacation days
|
LogCP=Log of updates of available vacation days
|
||||||
ActionByCP=В изпълнение на
|
ActionByCP=В изпълнение на
|
||||||
UserUpdateCP=За потребителя
|
UserUpdateCP=За потребителя
|
||||||
@ -93,6 +93,7 @@ ValueOptionCP=Стойност
|
|||||||
GroupToValidateCP=Group with the ability to approve leave requests
|
GroupToValidateCP=Group with the ability to approve leave requests
|
||||||
ConfirmConfigCP=Потвърждаване на конфигурацията
|
ConfirmConfigCP=Потвърждаване на конфигурацията
|
||||||
LastUpdateCP=Last automatic update of leaves allocation
|
LastUpdateCP=Last automatic update of leaves allocation
|
||||||
|
MonthOfLastMonthlyUpdate=Month of last automatic update of leaves allocation
|
||||||
UpdateConfCPOK=Актуализира се успешно.
|
UpdateConfCPOK=Актуализира се успешно.
|
||||||
ErrorUpdateConfCP=Възникна грешка по време на актуализацията, моля опитайте отново.
|
ErrorUpdateConfCP=Възникна грешка по време на актуализацията, моля опитайте отново.
|
||||||
AddCPforUsers=Please add the balance of leaves allocation of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of leaves allocation of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
@ -127,6 +128,7 @@ ErrorMailNotSend=Възникна грешка при изпращане на и
|
|||||||
NoCPforMonth=Не оставяйте този месец.
|
NoCPforMonth=Не оставяйте този месец.
|
||||||
nbJours=Брой дни
|
nbJours=Брой дни
|
||||||
TitleAdminCP=Configuration of Leaves
|
TitleAdminCP=Configuration of Leaves
|
||||||
|
NoticePeriod=Notice period
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hello
|
Hello=Hello
|
||||||
HolidaysToValidate=Validate leave requests
|
HolidaysToValidate=Validate leave requests
|
||||||
@ -139,10 +141,11 @@ HolidaysRefused=Request denied
|
|||||||
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
|
||||||
HolidaysCanceled=Canceled leaved request
|
HolidaysCanceled=Canceled leaved request
|
||||||
HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
|
HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
|
||||||
Permission20000=Read you own leave requests
|
Permission20001=Read you own leave requests
|
||||||
Permission20001=Create/modify your leave requests
|
Permission20002=Create/modify your leave requests
|
||||||
Permission20002=Create/modify leave requests for everybody
|
|
||||||
Permission20003=Delete leave requests
|
Permission20003=Delete leave requests
|
||||||
Permission20004=Setup users available vacation days
|
Permission20004=Read leave requests for everybody
|
||||||
Permission20005=Review log of modified leave requests
|
Permission20005=Create/modify leave requests for everybody
|
||||||
Permission20006=Read leaves monthly report
|
Permission20006=Admin leave requests (setup and update balance)
|
||||||
|
NewByMonth=Added per month
|
||||||
|
GoIntoDictionaryHolidayTypes=Go into <strong>Home - Setup - Dictionaries - Type of leaves</strong> to setup the different types of leaves.
|
||||||
|
|||||||
@ -128,6 +128,7 @@ TagCheckMail=Tracker поща отвори
|
|||||||
TagUnsubscribe=Отписване връзка
|
TagUnsubscribe=Отписване връзка
|
||||||
TagSignature=Подпис изпращане на потребителя
|
TagSignature=Подпис изпращане на потребителя
|
||||||
TagMailtoEmail=E-mail на получателя
|
TagMailtoEmail=E-mail на получателя
|
||||||
|
NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile.
|
||||||
# Module Notifications
|
# Module Notifications
|
||||||
Notifications=Известия
|
Notifications=Известия
|
||||||
NoNotificationsWillBeSent=Не са планирани за това събитие и компания известия по имейл
|
NoNotificationsWillBeSent=Не са планирани за това събитие и компания известия по имейл
|
||||||
|
|||||||
@ -57,7 +57,7 @@ ErrorSomeErrorWereFoundRollbackIsDone=Някои бяха открити гре
|
|||||||
ErrorConfigParameterNotDefined=Параметъра <b>%s</b> не е дефиниран в конфигурационния файл на Dolibarr <b>conf.php</b>.
|
ErrorConfigParameterNotDefined=Параметъра <b>%s</b> не е дефиниран в конфигурационния файл на Dolibarr <b>conf.php</b>.
|
||||||
ErrorCantLoadUserFromDolibarrDatabase=Не можа да се намери потребител <b>%s</b> в базата данни на Dolibarr.
|
ErrorCantLoadUserFromDolibarrDatabase=Не можа да се намери потребител <b>%s</b> в базата данни на Dolibarr.
|
||||||
ErrorNoVATRateDefinedForSellerCountry=Грешка, няма дефинирани ДДС ставки, за държавата '%s'.
|
ErrorNoVATRateDefinedForSellerCountry=Грешка, няма дефинирани ДДС ставки, за държавата '%s'.
|
||||||
ErrorNoSocialContributionForSellerCountry=Грешка, не е социален тип участие, определено за "%s" страна.
|
ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'.
|
||||||
ErrorFailedToSaveFile=Грешка, файла не е записан.
|
ErrorFailedToSaveFile=Грешка, файла не е записан.
|
||||||
SetDate=Set date
|
SetDate=Set date
|
||||||
SelectDate=Select a date
|
SelectDate=Select a date
|
||||||
@ -302,7 +302,7 @@ UnitPriceTTC=Единична цена
|
|||||||
PriceU=U.P.
|
PriceU=U.P.
|
||||||
PriceUHT=U.P. (нето)
|
PriceUHT=U.P. (нето)
|
||||||
AskPriceSupplierUHT=U.P. net Requested
|
AskPriceSupplierUHT=U.P. net Requested
|
||||||
PriceUTTC=U.P.
|
PriceUTTC=U.P. (inc. tax)
|
||||||
Amount=Размер
|
Amount=Размер
|
||||||
AmountInvoice=Фактурирана стойност
|
AmountInvoice=Фактурирана стойност
|
||||||
AmountPayment=Сума за плащане
|
AmountPayment=Сума за плащане
|
||||||
@ -339,6 +339,7 @@ IncludedVAT=С включен данък
|
|||||||
HT=без данък
|
HT=без данък
|
||||||
TTC=с данък
|
TTC=с данък
|
||||||
VAT=Данък върху продажбите
|
VAT=Данък върху продажбите
|
||||||
|
VATs=Sales taxes
|
||||||
LT1ES=RE
|
LT1ES=RE
|
||||||
LT2ES=IRPF
|
LT2ES=IRPF
|
||||||
VATRate=Данъчната ставка
|
VATRate=Данъчната ставка
|
||||||
|
|||||||
@ -199,7 +199,8 @@ Entreprises=Фирми
|
|||||||
DOLIBARRFOUNDATION_PAYMENT_FORM=За да направите абонамент на плащане чрез банков превод, вижте стр. <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a> . <br> За да платите чрез кредитна карта или Paypal, кликнете върху бутона в долната част на тази страница. <br>
|
DOLIBARRFOUNDATION_PAYMENT_FORM=За да направите абонамент на плащане чрез банков превод, вижте стр. <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a> . <br> За да платите чрез кредитна карта или Paypal, кликнете върху бутона в долната част на тази страница. <br>
|
||||||
ByProperties=By characteristics
|
ByProperties=By characteristics
|
||||||
MembersStatisticsByProperties=Members statistics by characteristics
|
MembersStatisticsByProperties=Members statistics by characteristics
|
||||||
MembersByNature=Members by nature
|
MembersByNature=This screen show you statistics on members by nature.
|
||||||
|
MembersByRegion=This screen show you statistics on members by region.
|
||||||
VATToUseForSubscriptions=VAT rate to use for subscriptions
|
VATToUseForSubscriptions=VAT rate to use for subscriptions
|
||||||
NoVatOnSubscription=No TVA for subscriptions
|
NoVatOnSubscription=No TVA for subscriptions
|
||||||
MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription
|
MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription
|
||||||
|
|||||||
@ -294,3 +294,5 @@ LastUpdated=Last updated
|
|||||||
CorrectlyUpdated=Correctly updated
|
CorrectlyUpdated=Correctly updated
|
||||||
PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is
|
PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is
|
||||||
PropalMergePdfProductChooseFile=Select PDF files
|
PropalMergePdfProductChooseFile=Select PDF files
|
||||||
|
IncludingProductWithTag=Including product with tag
|
||||||
|
DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer
|
||||||
|
|||||||
@ -14,7 +14,8 @@ MyTasksDesc=Тази гледна точка е ограничена до про
|
|||||||
OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible).
|
OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible).
|
||||||
TasksPublicDesc=Този възглед представя всички проекти и задачи, които може да чете.
|
TasksPublicDesc=Този възглед представя всички проекти и задачи, които може да чете.
|
||||||
TasksDesc=Този възглед представя всички проекти и задачи (потребителски разрешения ви даде разрешение да видите всичко).
|
TasksDesc=Този възглед представя всички проекти и задачи (потребителски разрешения ви даде разрешение да видите всичко).
|
||||||
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on.
|
AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. Assign task to you if you want to enter time on it.
|
||||||
|
OnlyYourTaskAreVisible=Only tasks you are assigned on are visible. Assign task to you if you want to enter time on it.
|
||||||
ProjectsArea=Проекти област
|
ProjectsArea=Проекти област
|
||||||
NewProject=Нов проект
|
NewProject=Нов проект
|
||||||
AddProject=Create project
|
AddProject=Create project
|
||||||
@ -76,6 +77,7 @@ ListExpenseReportsAssociatedProject=List of expense reports associated with the
|
|||||||
ListDonationsAssociatedProject=List of donations associated with the project
|
ListDonationsAssociatedProject=List of donations associated with the project
|
||||||
ListActionsAssociatedProject=Списък на събития, свързани с проекта
|
ListActionsAssociatedProject=Списък на събития, свързани с проекта
|
||||||
ListTaskTimeUserProject=List of time consumed on tasks of project
|
ListTaskTimeUserProject=List of time consumed on tasks of project
|
||||||
|
TaskTimeUserProject=Time consumed on tasks of project
|
||||||
ActivityOnProjectThisWeek=Дейности в проекта тази седмица
|
ActivityOnProjectThisWeek=Дейности в проекта тази седмица
|
||||||
ActivityOnProjectThisMonth=Дейност по проект, този месец
|
ActivityOnProjectThisMonth=Дейност по проект, този месец
|
||||||
ActivityOnProjectThisYear=Дейности в проекта тази година
|
ActivityOnProjectThisYear=Дейности в проекта тази година
|
||||||
@ -149,3 +151,6 @@ ProjectsWithThisUserAsContact=Projects with this user as contact
|
|||||||
TasksWithThisUserAsContact=Tasks assigned to this user
|
TasksWithThisUserAsContact=Tasks assigned to this user
|
||||||
ResourceNotAssignedToProject=Not assigned to project
|
ResourceNotAssignedToProject=Not assigned to project
|
||||||
ResourceNotAssignedToTask=Not assigned to task
|
ResourceNotAssignedToTask=Not assigned to task
|
||||||
|
AssignTaskToMe=Assign task to me
|
||||||
|
AssignTask=Assign
|
||||||
|
ProjectOverview=Overview
|
||||||
|
|||||||
@ -76,6 +76,7 @@ BROUILLONNER=Reopen
|
|||||||
SendToValid=Sent on approval
|
SendToValid=Sent on approval
|
||||||
ModifyInfoGen=Edit
|
ModifyInfoGen=Edit
|
||||||
ValidateAndSubmit=Validate and submit for approval
|
ValidateAndSubmit=Validate and submit for approval
|
||||||
|
ValidatedWaitingApproval=Validated (waiting for approval)
|
||||||
|
|
||||||
NOT_VALIDATOR=You are not allowed to approve this expense report
|
NOT_VALIDATOR=You are not allowed to approve this expense report
|
||||||
NOT_AUTHOR=You are not the author of this expense report. Operation cancelled.
|
NOT_AUTHOR=You are not the author of this expense report. Operation cancelled.
|
||||||
|
|||||||
@ -84,6 +84,11 @@ WithdrawalFile=Withdrawal file
|
|||||||
SetToStatusSent=Set to status "File Sent"
|
SetToStatusSent=Set to status "File Sent"
|
||||||
ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid"
|
ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid"
|
||||||
StatisticsByLineStatus=Statistics by status of lines
|
StatisticsByLineStatus=Statistics by status of lines
|
||||||
|
RUM=RUM
|
||||||
|
RUMWillBeGenerated=RUM number will be generated once bank account information are saved
|
||||||
|
WithdrawMode=Withdraw mode (FRST or RECUR)
|
||||||
|
WithdrawRequestAmount=Withdraw request amount:
|
||||||
|
WithdrawRequestErrorNilAmount=Unable to create withdraw request for nil amount.
|
||||||
|
|
||||||
### Notifications
|
### Notifications
|
||||||
InfoCreditSubject=Плащане на постоянно нареждане %s от банката
|
InfoCreditSubject=Плащане на постоянно нареждане %s от банката
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Dolibarr language file - Source file is en_US - admin
|
# Dolibarr language file - Source file is en_US - admin
|
||||||
WorkflowSetup=Настройки на модул Workflow
|
WorkflowSetup=Настройки на модул Workflow
|
||||||
WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in.
|
WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in.
|
||||||
ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module.
|
ThereIsNoWorkflowToModify=There is no workflow modifications available with the activated modules.
|
||||||
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed
|
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed
|
||||||
descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed
|
descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed
|
||||||
descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated
|
descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated
|
||||||
|
|||||||
@ -429,8 +429,8 @@ Module20Name=Proposals
|
|||||||
Module20Desc=Commercial proposal management
|
Module20Desc=Commercial proposal management
|
||||||
Module22Name=Mass E-mailings
|
Module22Name=Mass E-mailings
|
||||||
Module22Desc=Mass E-mailing management
|
Module22Desc=Mass E-mailing management
|
||||||
Module23Name= Energy
|
Module23Name=Energy
|
||||||
Module23Desc= Monitoring the consumption of energies
|
Module23Desc=Monitoring the consumption of energies
|
||||||
Module25Name=Customer Orders
|
Module25Name=Customer Orders
|
||||||
Module25Desc=Customer order management
|
Module25Desc=Customer order management
|
||||||
Module30Name=Invoices
|
Module30Name=Invoices
|
||||||
@ -492,7 +492,7 @@ Module400Desc=Management of projects, opportunities or leads. You can then assig
|
|||||||
Module410Name=Webcalendar
|
Module410Name=Webcalendar
|
||||||
Module410Desc=Webcalendar integration
|
Module410Desc=Webcalendar integration
|
||||||
Module500Name=Special expenses
|
Module500Name=Special expenses
|
||||||
Module500Desc=Management of special expenses (taxes, social contribution, dividends)
|
Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends)
|
||||||
Module510Name=Salaries
|
Module510Name=Salaries
|
||||||
Module510Desc=Management of employees salaries and payments
|
Module510Desc=Management of employees salaries and payments
|
||||||
Module520Name=Loan
|
Module520Name=Loan
|
||||||
@ -501,7 +501,7 @@ Module600Name=Notifications
|
|||||||
Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty)
|
Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty)
|
||||||
Module700Name=Donations
|
Module700Name=Donations
|
||||||
Module700Desc=Donation management
|
Module700Desc=Donation management
|
||||||
Module770Name=Expense Report
|
Module770Name=Expense reports
|
||||||
Module770Desc=Management and claim expense reports (transportation, meal, ...)
|
Module770Desc=Management and claim expense reports (transportation, meal, ...)
|
||||||
Module1120Name=Supplier commercial proposal
|
Module1120Name=Supplier commercial proposal
|
||||||
Module1120Desc=Request supplier commercial proposal and prices
|
Module1120Desc=Request supplier commercial proposal and prices
|
||||||
@ -579,7 +579,7 @@ Permission32=Create/modify products
|
|||||||
Permission34=Delete products
|
Permission34=Delete products
|
||||||
Permission36=See/manage hidden products
|
Permission36=See/manage hidden products
|
||||||
Permission38=Export products
|
Permission38=Export products
|
||||||
Permission41=Read projects (shared project and projects i'm contact for)
|
Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
|
||||||
Permission42=Create/modify projects (shared project and projects i'm contact for)
|
Permission42=Create/modify projects (shared project and projects i'm contact for)
|
||||||
Permission44=Delete projects (shared project and projects i'm contact for)
|
Permission44=Delete projects (shared project and projects i'm contact for)
|
||||||
Permission61=Read interventions
|
Permission61=Read interventions
|
||||||
@ -600,10 +600,10 @@ Permission86=Send customers orders
|
|||||||
Permission87=Close customers orders
|
Permission87=Close customers orders
|
||||||
Permission88=Cancel customers orders
|
Permission88=Cancel customers orders
|
||||||
Permission89=Delete customers orders
|
Permission89=Delete customers orders
|
||||||
Permission91=Read social contributions and vat
|
Permission91=Read social or fiscal taxes and vat
|
||||||
Permission92=Create/modify social contributions and vat
|
Permission92=Create/modify social or fiscal taxes and vat
|
||||||
Permission93=Delete social contributions and vat
|
Permission93=Delete social or fiscal taxes and vat
|
||||||
Permission94=Export social contributions
|
Permission94=Export social or fiscal taxes
|
||||||
Permission95=Read reports
|
Permission95=Read reports
|
||||||
Permission101=Read sendings
|
Permission101=Read sendings
|
||||||
Permission102=Create/modify sendings
|
Permission102=Create/modify sendings
|
||||||
@ -621,9 +621,9 @@ Permission121=Read third parties linked to user
|
|||||||
Permission122=Create/modify third parties linked to user
|
Permission122=Create/modify third parties linked to user
|
||||||
Permission125=Delete third parties linked to user
|
Permission125=Delete third parties linked to user
|
||||||
Permission126=Export third parties
|
Permission126=Export third parties
|
||||||
Permission141=Read projects (also private i am not contact for)
|
Permission141=Read all projects and tasks (also private projects i am not contact for)
|
||||||
Permission142=Create/modify projects (also private i am not contact for)
|
Permission142=Create/modify all projects and tasks (also private projects i am not contact for)
|
||||||
Permission144=Delete projects (also private i am not contact for)
|
Permission144=Delete all projects and tasks (also private projects i am not contact for)
|
||||||
Permission146=Read providers
|
Permission146=Read providers
|
||||||
Permission147=Read stats
|
Permission147=Read stats
|
||||||
Permission151=Read standing orders
|
Permission151=Read standing orders
|
||||||
@ -801,7 +801,7 @@ DictionaryCountry=Countries
|
|||||||
DictionaryCurrency=Currencies
|
DictionaryCurrency=Currencies
|
||||||
DictionaryCivility=Civility title
|
DictionaryCivility=Civility title
|
||||||
DictionaryActions=Type of agenda events
|
DictionaryActions=Type of agenda events
|
||||||
DictionarySocialContributions=Social contributions types
|
DictionarySocialContributions=Social or fiscal taxes types
|
||||||
DictionaryVAT=VAT Rates or Sales Tax Rates
|
DictionaryVAT=VAT Rates or Sales Tax Rates
|
||||||
DictionaryRevenueStamp=Amount of revenue stamps
|
DictionaryRevenueStamp=Amount of revenue stamps
|
||||||
DictionaryPaymentConditions=Payment terms
|
DictionaryPaymentConditions=Payment terms
|
||||||
@ -820,6 +820,7 @@ DictionaryAccountancysystem=Models for chart of accounts
|
|||||||
DictionaryEMailTemplates=Emails templates
|
DictionaryEMailTemplates=Emails templates
|
||||||
DictionaryUnits=Units
|
DictionaryUnits=Units
|
||||||
DictionaryProspectStatus=Prospection status
|
DictionaryProspectStatus=Prospection status
|
||||||
|
DictionaryHolidayTypes=Type of leaves
|
||||||
SetupSaved=Setup saved
|
SetupSaved=Setup saved
|
||||||
BackToModuleList=Back to modules list
|
BackToModuleList=Back to modules list
|
||||||
BackToDictionaryList=Back to dictionaries list
|
BackToDictionaryList=Back to dictionaries list
|
||||||
@ -1510,7 +1511,7 @@ ConfirmDeleteMenu=Are you sure you want to delete menu entry <b>%s</b> ?
|
|||||||
DeleteLine=Delete line
|
DeleteLine=Delete line
|
||||||
ConfirmDeleteLine=Are you sure you want to delete this line ?
|
ConfirmDeleteLine=Are you sure you want to delete this line ?
|
||||||
##### Tax #####
|
##### Tax #####
|
||||||
TaxSetup=Taxes, social contributions and dividends module setup
|
TaxSetup=Taxes, social or fiscal taxes and dividends module setup
|
||||||
OptionVatMode=VAT due
|
OptionVatMode=VAT due
|
||||||
OptionVATDefault=Cash basis
|
OptionVATDefault=Cash basis
|
||||||
OptionVATDebitOption=Accrual basis
|
OptionVATDebitOption=Accrual basis
|
||||||
@ -1564,9 +1565,11 @@ EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint availa
|
|||||||
ApiSetup=API module setup
|
ApiSetup=API module setup
|
||||||
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
|
ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services.
|
||||||
KeyForApiAccess=Key to use API (parameter "api_key")
|
KeyForApiAccess=Key to use API (parameter "api_key")
|
||||||
|
ApiProductionMode=Enable production mode
|
||||||
ApiEndPointIs=You can access to the API at url
|
ApiEndPointIs=You can access to the API at url
|
||||||
ApiExporerIs=You can explore the API at url
|
ApiExporerIs=You can explore the API at url
|
||||||
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
|
OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed
|
||||||
|
ApiKey=Key for API
|
||||||
##### Bank #####
|
##### Bank #####
|
||||||
BankSetupModule=Bank module setup
|
BankSetupModule=Bank module setup
|
||||||
FreeLegalTextOnChequeReceipts=Free text on cheque receipts
|
FreeLegalTextOnChequeReceipts=Free text on cheque receipts
|
||||||
@ -1596,6 +1599,7 @@ ProjectsSetup=Project module setup
|
|||||||
ProjectsModelModule=Project reports document model
|
ProjectsModelModule=Project reports document model
|
||||||
TasksNumberingModules=Tasks numbering module
|
TasksNumberingModules=Tasks numbering module
|
||||||
TaskModelModule=Tasks reports document model
|
TaskModelModule=Tasks reports document model
|
||||||
|
UseSearchToSelectProject=Use autocompletion fields to choose project (instead of using a list box)
|
||||||
##### ECM (GED) #####
|
##### ECM (GED) #####
|
||||||
ECMSetup = GED Setup
|
ECMSetup = GED Setup
|
||||||
ECMAutoTree = Automatic tree folder and document
|
ECMAutoTree = Automatic tree folder and document
|
||||||
@ -1640,3 +1644,9 @@ ConfFileMuseContainCustom=Installing an external module from application save th
|
|||||||
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over
|
||||||
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective
|
||||||
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes
|
||||||
|
BackgroundColor=Background color
|
||||||
|
TopMenuBackgroundColor=Background color for Top menu
|
||||||
|
LeftMenuBackgroundColor=Background color for Left menu
|
||||||
|
BackgroundTableTitleColor=Background color for table title line
|
||||||
|
BackgroundTableLineOddColor=Background color for odd table lines
|
||||||
|
BackgroundTableLineEvenColor=Background color for even table lines
|
||||||
|
|||||||
@ -48,11 +48,13 @@ InvoiceValidatedInDolibarr=Invoice %s validated
|
|||||||
InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS
|
InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS
|
||||||
InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status
|
InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status
|
||||||
InvoiceDeleteDolibarr=Invoice %s deleted
|
InvoiceDeleteDolibarr=Invoice %s deleted
|
||||||
OrderValidatedInDolibarr= Order %s validated
|
OrderValidatedInDolibarr=Order %s validated
|
||||||
|
OrderDeliveredInDolibarr=Order %s classified delivered
|
||||||
|
OrderCanceledInDolibarr=Order %s canceled
|
||||||
|
OrderBilledInDolibarr=Order %s classified billed
|
||||||
OrderApprovedInDolibarr=Order %s approved
|
OrderApprovedInDolibarr=Order %s approved
|
||||||
OrderRefusedInDolibarr=Order %s refused
|
OrderRefusedInDolibarr=Order %s refused
|
||||||
OrderBackToDraftInDolibarr=Order %s go back to draft status
|
OrderBackToDraftInDolibarr=Order %s go back to draft status
|
||||||
OrderCanceledInDolibarr=Order %s canceled
|
|
||||||
ProposalSentByEMail=Commercial proposal %s sent by EMail
|
ProposalSentByEMail=Commercial proposal %s sent by EMail
|
||||||
OrderSentByEMail=Customer order %s sent by EMail
|
OrderSentByEMail=Customer order %s sent by EMail
|
||||||
InvoiceSentByEMail=Customer invoice %s sent by EMail
|
InvoiceSentByEMail=Customer invoice %s sent by EMail
|
||||||
@ -91,3 +93,7 @@ WorkingTimeRange=Working time range
|
|||||||
WorkingDaysRange=Working days range
|
WorkingDaysRange=Working days range
|
||||||
AddEvent=Create event
|
AddEvent=Create event
|
||||||
MyAvailability=My availability
|
MyAvailability=My availability
|
||||||
|
ActionType=Event type
|
||||||
|
DateActionBegin=Start event date
|
||||||
|
CloneAction=Clone event
|
||||||
|
ConfirmCloneEvent=Are you sure you want to clone the event <b>%s</b> ?
|
||||||
|
|||||||
@ -113,7 +113,7 @@ CustomerInvoicePayment=Customer payment
|
|||||||
CustomerInvoicePaymentBack=Customer payment back
|
CustomerInvoicePaymentBack=Customer payment back
|
||||||
SupplierInvoicePayment=Supplier payment
|
SupplierInvoicePayment=Supplier payment
|
||||||
WithdrawalPayment=Withdrawal payment
|
WithdrawalPayment=Withdrawal payment
|
||||||
SocialContributionPayment=Social contribution payment
|
SocialContributionPayment=Social/fiscal tax payment
|
||||||
FinancialAccountJournal=Financial account journal
|
FinancialAccountJournal=Financial account journal
|
||||||
BankTransfer=Bank transfer
|
BankTransfer=Bank transfer
|
||||||
BankTransfers=Bank transfers
|
BankTransfers=Bank transfers
|
||||||
|
|||||||
@ -178,7 +178,7 @@ NumberOfBills=Nb of invoices
|
|||||||
NumberOfBillsByMonth=Nb of invoices by month
|
NumberOfBillsByMonth=Nb of invoices by month
|
||||||
AmountOfBills=Amount of invoices
|
AmountOfBills=Amount of invoices
|
||||||
AmountOfBillsByMonthHT=Amount of invoices by month (net of tax)
|
AmountOfBillsByMonthHT=Amount of invoices by month (net of tax)
|
||||||
ShowSocialContribution=Show social contribution
|
ShowSocialContribution=Show social/fiscal tax
|
||||||
ShowBill=Show invoice
|
ShowBill=Show invoice
|
||||||
ShowInvoice=Show invoice
|
ShowInvoice=Show invoice
|
||||||
ShowInvoiceReplace=Show replacing invoice
|
ShowInvoiceReplace=Show replacing invoice
|
||||||
@ -270,7 +270,7 @@ BillAddress=Bill address
|
|||||||
HelpEscompte=This discount is a discount granted to customer because its payment was made before term.
|
HelpEscompte=This discount is a discount granted to customer because its payment was made before term.
|
||||||
HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loose.
|
HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loose.
|
||||||
HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by an other for example)
|
HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by an other for example)
|
||||||
IdSocialContribution=Social contribution id
|
IdSocialContribution=Social/fiscal tax payment id
|
||||||
PaymentId=Payment id
|
PaymentId=Payment id
|
||||||
InvoiceId=Invoice id
|
InvoiceId=Invoice id
|
||||||
InvoiceRef=Invoice ref.
|
InvoiceRef=Invoice ref.
|
||||||
|
|||||||
@ -30,6 +30,7 @@ ThirdPartyContact=Third party contact/address
|
|||||||
StatusContactValidated=Status of contact/address
|
StatusContactValidated=Status of contact/address
|
||||||
Company=Company
|
Company=Company
|
||||||
CompanyName=Company name
|
CompanyName=Company name
|
||||||
|
AliasNames=Alias names (commercial, trademark, ...)
|
||||||
Companies=Companies
|
Companies=Companies
|
||||||
CountryIsInEEC=Country is inside European Economic Community
|
CountryIsInEEC=Country is inside European Economic Community
|
||||||
ThirdPartyName=Third party name
|
ThirdPartyName=Third party name
|
||||||
|
|||||||
@ -56,23 +56,23 @@ VATCollected=VAT collected
|
|||||||
ToPay=To pay
|
ToPay=To pay
|
||||||
ToGet=To get back
|
ToGet=To get back
|
||||||
SpecialExpensesArea=Area for all special payments
|
SpecialExpensesArea=Area for all special payments
|
||||||
TaxAndDividendsArea=Tax, social contributions and dividends area
|
TaxAndDividendsArea=Sale taxes, social/fiscal taxes contributions and dividends area
|
||||||
SocialContribution=Social contribution
|
SocialContribution=Social or fiscal tax
|
||||||
SocialContributions=Social contributions
|
SocialContributions=Social or fiscal taxes
|
||||||
MenuSpecialExpenses=Special expenses
|
MenuSpecialExpenses=Special expenses
|
||||||
MenuTaxAndDividends=Taxes and dividends
|
MenuTaxAndDividends=Taxes and dividends
|
||||||
MenuSalaries=Salaries
|
MenuSalaries=Salaries
|
||||||
MenuSocialContributions=Social contributions
|
MenuSocialContributions=Social/fiscal taxes
|
||||||
MenuNewSocialContribution=New contribution
|
MenuNewSocialContribution=New tax payment
|
||||||
NewSocialContribution=New social contribution
|
NewSocialContribution=New social/fiscal tax
|
||||||
ContributionsToPay=Contributions to pay
|
ContributionsToPay=Social/fiscal taxes to pay
|
||||||
AccountancyTreasuryArea=Accountancy/Treasury area
|
AccountancyTreasuryArea=Accountancy/Treasury area
|
||||||
AccountancySetup=Accountancy setup
|
AccountancySetup=Accountancy setup
|
||||||
NewPayment=New payment
|
NewPayment=New payment
|
||||||
Payments=Payments
|
Payments=Payments
|
||||||
PaymentCustomerInvoice=Customer invoice payment
|
PaymentCustomerInvoice=Customer invoice payment
|
||||||
PaymentSupplierInvoice=Supplier invoice payment
|
PaymentSupplierInvoice=Supplier invoice payment
|
||||||
PaymentSocialContribution=Social contribution payment
|
PaymentSocialContribution=Social/fiscal tax payment
|
||||||
PaymentVat=VAT payment
|
PaymentVat=VAT payment
|
||||||
PaymentSalary=Salary payment
|
PaymentSalary=Salary payment
|
||||||
ListPayment=List of payments
|
ListPayment=List of payments
|
||||||
@ -91,7 +91,7 @@ LT1PaymentES=RE Payment
|
|||||||
LT1PaymentsES=RE Payments
|
LT1PaymentsES=RE Payments
|
||||||
VATPayment=VAT Payment
|
VATPayment=VAT Payment
|
||||||
VATPayments=VAT Payments
|
VATPayments=VAT Payments
|
||||||
SocialContributionsPayments=Social contributions payments
|
SocialContributionsPayments=Social/fiscal taxes payments
|
||||||
ShowVatPayment=Show VAT payment
|
ShowVatPayment=Show VAT payment
|
||||||
TotalToPay=Total to pay
|
TotalToPay=Total to pay
|
||||||
TotalVATReceived=Total VAT received
|
TotalVATReceived=Total VAT received
|
||||||
@ -116,11 +116,11 @@ NewCheckDepositOn=Create receipt for deposit on account: %s
|
|||||||
NoWaitingChecks=No checks waiting for deposit.
|
NoWaitingChecks=No checks waiting for deposit.
|
||||||
DateChequeReceived=Check reception date
|
DateChequeReceived=Check reception date
|
||||||
NbOfCheques=Nb of checks
|
NbOfCheques=Nb of checks
|
||||||
PaySocialContribution=Pay a social contribution
|
PaySocialContribution=Pay a social/fiscal tax
|
||||||
ConfirmPaySocialContribution=Are you sure you want to classify this social contribution as paid?
|
ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid?
|
||||||
DeleteSocialContribution=Delete a social contribution
|
DeleteSocialContribution=Delete a social or fiscal tax payment
|
||||||
ConfirmDeleteSocialContribution=Are you sure you want to delete this social contribution?
|
ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment?
|
||||||
ExportDataset_tax_1=Social contributions and payments
|
ExportDataset_tax_1=Social and fiscal taxes and payments
|
||||||
CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
||||||
CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
||||||
CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
||||||
@ -198,10 +198,10 @@ CalculationRuleDescSupplier=according to supplier, choose appropriate method to
|
|||||||
TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
||||||
CalculationMode=Calculation mode
|
CalculationMode=Calculation mode
|
||||||
AccountancyJournal=Accountancy code journal
|
AccountancyJournal=Accountancy code journal
|
||||||
ACCOUNTING_VAT_ACCOUNT=Default accountancy code for collecting VAT
|
ACCOUNTING_VAT_SOLD_ACCOUNT=Default accountancy code for collecting VAT
|
||||||
ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT
|
ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT
|
||||||
ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
||||||
ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
||||||
CloneTax=Clone a social contribution
|
CloneTax=Clone a social/fiscal tax
|
||||||
ConfirmCloneTax=Confirm the clone of a social contribution
|
ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment
|
||||||
CloneTaxForNextMonth=Clone it for next month
|
CloneTaxForNextMonth=Clone it for next month
|
||||||
|
|||||||
@ -76,6 +76,7 @@ CronMethodHelp=The object method to launch. <BR> For exemple to fetch method of
|
|||||||
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
|
CronArgsHelp=The method arguments. <BR> For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be <i>0, ProductRef</i>
|
||||||
CronCommandHelp=The system command line to execute.
|
CronCommandHelp=The system command line to execute.
|
||||||
CronCreateJob=Create new Scheduled Job
|
CronCreateJob=Create new Scheduled Job
|
||||||
|
CronFrom=From
|
||||||
# Info
|
# Info
|
||||||
CronInfoPage=Information
|
CronInfoPage=Information
|
||||||
# Common
|
# Common
|
||||||
|
|||||||
@ -35,7 +35,7 @@ ECMSearchByEntity=Search by object
|
|||||||
ECMSectionOfDocuments=Directories of documents
|
ECMSectionOfDocuments=Directories of documents
|
||||||
ECMTypeManual=Manual
|
ECMTypeManual=Manual
|
||||||
ECMTypeAuto=Automatic
|
ECMTypeAuto=Automatic
|
||||||
ECMDocsBySocialContributions=Documents linked to social contributions
|
ECMDocsBySocialContributions=Documents linked to social or fiscal taxes
|
||||||
ECMDocsByThirdParties=Documents linked to third parties
|
ECMDocsByThirdParties=Documents linked to third parties
|
||||||
ECMDocsByProposals=Documents linked to proposals
|
ECMDocsByProposals=Documents linked to proposals
|
||||||
ECMDocsByOrders=Documents linked to customers orders
|
ECMDocsByOrders=Documents linked to customers orders
|
||||||
|
|||||||
@ -191,3 +191,4 @@ WarningNotRelevant=Irrelevant operation for this dataset
|
|||||||
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers.
|
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers.
|
||||||
WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s.
|
WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s.
|
||||||
WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters
|
WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters
|
||||||
|
WarningSomeLinesWithNullHourlyRate=Some times were recorded by users when their hourly rate was not defined. A value of 0 was used but this may result in wrong valuation of time spent.
|
||||||
|
|||||||
@ -3,7 +3,7 @@ HRM=HRM
|
|||||||
Holidays=Leaves
|
Holidays=Leaves
|
||||||
CPTitreMenu=Leaves
|
CPTitreMenu=Leaves
|
||||||
MenuReportMonth=Monthly statement
|
MenuReportMonth=Monthly statement
|
||||||
MenuAddCP=Make a leave request
|
MenuAddCP=New leave request
|
||||||
NotActiveModCP=You must enable the module Leaves to view this page.
|
NotActiveModCP=You must enable the module Leaves to view this page.
|
||||||
NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module Leaves to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
NoCPforUser=You don't have any available day.
|
NoCPforUser=You don't have any available day.
|
||||||
@ -71,7 +71,7 @@ MotifCP=Reason
|
|||||||
UserCP=User
|
UserCP=User
|
||||||
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
MenuLogCP=View logs of leave requests
|
MenuLogCP=View change logs
|
||||||
LogCP=Log of updates of available vacation days
|
LogCP=Log of updates of available vacation days
|
||||||
ActionByCP=Performed by
|
ActionByCP=Performed by
|
||||||
UserUpdateCP=For the user
|
UserUpdateCP=For the user
|
||||||
@ -93,6 +93,7 @@ ValueOptionCP=Value
|
|||||||
GroupToValidateCP=Group with the ability to approve leave requests
|
GroupToValidateCP=Group with the ability to approve leave requests
|
||||||
ConfirmConfigCP=Validate the configuration
|
ConfirmConfigCP=Validate the configuration
|
||||||
LastUpdateCP=Last automatic update of leaves allocation
|
LastUpdateCP=Last automatic update of leaves allocation
|
||||||
|
MonthOfLastMonthlyUpdate=Month of last automatic update of leaves allocation
|
||||||
UpdateConfCPOK=Updated successfully.
|
UpdateConfCPOK=Updated successfully.
|
||||||
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
||||||
AddCPforUsers=Please add the balance of leaves allocation of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of leaves allocation of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
@ -127,6 +128,7 @@ ErrorMailNotSend=An error occurred while sending email:
|
|||||||
NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
nbJours=Number days
|
nbJours=Number days
|
||||||
TitleAdminCP=Configuration of Leaves
|
TitleAdminCP=Configuration of Leaves
|
||||||
|
NoticePeriod=Notice period
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hello
|
Hello=Hello
|
||||||
HolidaysToValidate=Validate leave requests
|
HolidaysToValidate=Validate leave requests
|
||||||
@ -139,10 +141,11 @@ HolidaysRefused=Request denied
|
|||||||
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason :
|
||||||
HolidaysCanceled=Canceled leaved request
|
HolidaysCanceled=Canceled leaved request
|
||||||
HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
|
HolidaysCanceledBody=Your leave request for %s to %s has been canceled.
|
||||||
Permission20000=Read you own leave requests
|
Permission20001=Read you own leave requests
|
||||||
Permission20001=Create/modify your leave requests
|
Permission20002=Create/modify your leave requests
|
||||||
Permission20002=Create/modify leave requests for everybody
|
|
||||||
Permission20003=Delete leave requests
|
Permission20003=Delete leave requests
|
||||||
Permission20004=Setup users available vacation days
|
Permission20004=Read leave requests for everybody
|
||||||
Permission20005=Review log of modified leave requests
|
Permission20005=Create/modify leave requests for everybody
|
||||||
Permission20006=Read leaves monthly report
|
Permission20006=Admin leave requests (setup and update balance)
|
||||||
|
NewByMonth=Added per month
|
||||||
|
GoIntoDictionaryHolidayTypes=Go into <strong>Home - Setup - Dictionaries - Type of leaves</strong> to setup the different types of leaves.
|
||||||
|
|||||||
@ -128,6 +128,7 @@ TagCheckMail=Track mail opening
|
|||||||
TagUnsubscribe=Unsubscribe link
|
TagUnsubscribe=Unsubscribe link
|
||||||
TagSignature=Signature sending user
|
TagSignature=Signature sending user
|
||||||
TagMailtoEmail=Recipient EMail
|
TagMailtoEmail=Recipient EMail
|
||||||
|
NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile.
|
||||||
# Module Notifications
|
# Module Notifications
|
||||||
Notifications=Notifications
|
Notifications=Notifications
|
||||||
NoNotificationsWillBeSent=No email notifications are planned for this event and company
|
NoNotificationsWillBeSent=No email notifications are planned for this event and company
|
||||||
|
|||||||
@ -57,7 +57,7 @@ ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback change
|
|||||||
ErrorConfigParameterNotDefined=Parameter <b>%s</b> is not defined inside Dolibarr config file <b>conf.php</b>.
|
ErrorConfigParameterNotDefined=Parameter <b>%s</b> is not defined inside Dolibarr config file <b>conf.php</b>.
|
||||||
ErrorCantLoadUserFromDolibarrDatabase=Failed to find user <b>%s</b> in Dolibarr database.
|
ErrorCantLoadUserFromDolibarrDatabase=Failed to find user <b>%s</b> in Dolibarr database.
|
||||||
ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'.
|
ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'.
|
||||||
ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'.
|
ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'.
|
||||||
ErrorFailedToSaveFile=Error, failed to save file.
|
ErrorFailedToSaveFile=Error, failed to save file.
|
||||||
SetDate=Set date
|
SetDate=Set date
|
||||||
SelectDate=Select a date
|
SelectDate=Select a date
|
||||||
@ -302,7 +302,7 @@ UnitPriceTTC=Unit price
|
|||||||
PriceU=U.P.
|
PriceU=U.P.
|
||||||
PriceUHT=U.P. (net)
|
PriceUHT=U.P. (net)
|
||||||
AskPriceSupplierUHT=U.P. net Requested
|
AskPriceSupplierUHT=U.P. net Requested
|
||||||
PriceUTTC=U.P.
|
PriceUTTC=U.P. (inc. tax)
|
||||||
Amount=Amount
|
Amount=Amount
|
||||||
AmountInvoice=Invoice amount
|
AmountInvoice=Invoice amount
|
||||||
AmountPayment=Payment amount
|
AmountPayment=Payment amount
|
||||||
@ -339,6 +339,7 @@ IncludedVAT=Included tax
|
|||||||
HT=Net of tax
|
HT=Net of tax
|
||||||
TTC=Inc. tax
|
TTC=Inc. tax
|
||||||
VAT=Sales tax
|
VAT=Sales tax
|
||||||
|
VATs=Sales taxes
|
||||||
LT1ES=RE
|
LT1ES=RE
|
||||||
LT2ES=IRPF
|
LT2ES=IRPF
|
||||||
VATRate=Tax Rate
|
VATRate=Tax Rate
|
||||||
|
|||||||
@ -199,7 +199,8 @@ Entreprises=Companies
|
|||||||
DOLIBARRFOUNDATION_PAYMENT_FORM=To make your subscription payment using a bank transfer, see page <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a>.<br>To pay using a Credit Card or Paypal, click on button at bottom of this page.<br>
|
DOLIBARRFOUNDATION_PAYMENT_FORM=To make your subscription payment using a bank transfer, see page <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a>.<br>To pay using a Credit Card or Paypal, click on button at bottom of this page.<br>
|
||||||
ByProperties=By characteristics
|
ByProperties=By characteristics
|
||||||
MembersStatisticsByProperties=Members statistics by characteristics
|
MembersStatisticsByProperties=Members statistics by characteristics
|
||||||
MembersByNature=Members by nature
|
MembersByNature=This screen show you statistics on members by nature.
|
||||||
|
MembersByRegion=This screen show you statistics on members by region.
|
||||||
VATToUseForSubscriptions=VAT rate to use for subscriptions
|
VATToUseForSubscriptions=VAT rate to use for subscriptions
|
||||||
NoVatOnSubscription=No TVA for subscriptions
|
NoVatOnSubscription=No TVA for subscriptions
|
||||||
MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription
|
MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user